@phnx-labs/agents-cli 0.1.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/CHANGELOG.md +316 -0
- package/LICENSE +21 -0
- package/README.md +537 -0
- package/dist/commands/__tests__/sessions.test.d.ts +2 -0
- package/dist/commands/__tests__/sessions.test.d.ts.map +1 -0
- package/dist/commands/__tests__/sessions.test.js +636 -0
- package/dist/commands/__tests__/sessions.test.js.map +1 -0
- package/dist/commands/cloud.d.ts +3 -0
- package/dist/commands/cloud.d.ts.map +1 -0
- package/dist/commands/cloud.js +322 -0
- package/dist/commands/cloud.js.map +1 -0
- package/dist/commands/commands.d.ts +3 -0
- package/dist/commands/commands.d.ts.map +1 -0
- package/dist/commands/commands.js +628 -0
- package/dist/commands/commands.js.map +1 -0
- package/dist/commands/daemon.d.ts +3 -0
- package/dist/commands/daemon.d.ts.map +1 -0
- package/dist/commands/daemon.js +110 -0
- package/dist/commands/daemon.js.map +1 -0
- package/dist/commands/drive.d.ts +3 -0
- package/dist/commands/drive.d.ts.map +1 -0
- package/dist/commands/drive.js +166 -0
- package/dist/commands/drive.js.map +1 -0
- package/dist/commands/exec.d.ts +3 -0
- package/dist/commands/exec.d.ts.map +1 -0
- package/dist/commands/exec.js +241 -0
- package/dist/commands/exec.js.map +1 -0
- package/dist/commands/fork.d.ts +3 -0
- package/dist/commands/fork.d.ts.map +1 -0
- package/dist/commands/fork.js +139 -0
- package/dist/commands/fork.js.map +1 -0
- package/dist/commands/hooks.d.ts +3 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +689 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +127 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +581 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/models.d.ts +3 -0
- package/dist/commands/models.d.ts.map +1 -0
- package/dist/commands/models.js +158 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/packages.d.ts +3 -0
- package/dist/commands/packages.d.ts.map +1 -0
- package/dist/commands/packages.js +541 -0
- package/dist/commands/packages.js.map +1 -0
- package/dist/commands/permissions.d.ts +3 -0
- package/dist/commands/permissions.d.ts.map +1 -0
- package/dist/commands/permissions.js +723 -0
- package/dist/commands/permissions.js.map +1 -0
- package/dist/commands/plugins.d.ts +3 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +382 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/profiles.d.ts +3 -0
- package/dist/commands/profiles.d.ts.map +1 -0
- package/dist/commands/profiles.js +242 -0
- package/dist/commands/profiles.js.map +1 -0
- package/dist/commands/pty.d.ts +20 -0
- package/dist/commands/pty.d.ts.map +1 -0
- package/dist/commands/pty.js +389 -0
- package/dist/commands/pty.js.map +1 -0
- package/dist/commands/pull.d.ts +3 -0
- package/dist/commands/pull.d.ts.map +1 -0
- package/dist/commands/pull.js +448 -0
- package/dist/commands/pull.js.map +1 -0
- package/dist/commands/push.d.ts +3 -0
- package/dist/commands/push.d.ts.map +1 -0
- package/dist/commands/push.js +180 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/commands/refresh-memory.d.ts +9 -0
- package/dist/commands/refresh-memory.d.ts.map +1 -0
- package/dist/commands/refresh-memory.js +45 -0
- package/dist/commands/refresh-memory.js.map +1 -0
- package/dist/commands/resource-view.d.ts +31 -0
- package/dist/commands/resource-view.d.ts.map +1 -0
- package/dist/commands/resource-view.js +183 -0
- package/dist/commands/resource-view.js.map +1 -0
- package/dist/commands/routines.d.ts +3 -0
- package/dist/commands/routines.d.ts.map +1 -0
- package/dist/commands/routines.js +579 -0
- package/dist/commands/routines.js.map +1 -0
- package/dist/commands/rules.d.ts +3 -0
- package/dist/commands/rules.d.ts.map +1 -0
- package/dist/commands/rules.js +488 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/commands/secrets.d.ts +3 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/secrets.js +339 -0
- package/dist/commands/secrets.js.map +1 -0
- package/dist/commands/sessions-picker.d.ts +16 -0
- package/dist/commands/sessions-picker.d.ts.map +1 -0
- package/dist/commands/sessions-picker.js +256 -0
- package/dist/commands/sessions-picker.js.map +1 -0
- package/dist/commands/sessions.d.ts +16 -0
- package/dist/commands/sessions.d.ts.map +1 -0
- package/dist/commands/sessions.js +1077 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/skills.d.ts +3 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +716 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +19 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/subagents.d.ts +3 -0
- package/dist/commands/subagents.d.ts.map +1 -0
- package/dist/commands/subagents.js +350 -0
- package/dist/commands/subagents.js.map +1 -0
- package/dist/commands/sync.d.ts +3 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +62 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/teams-picker.d.ts +14 -0
- package/dist/commands/teams-picker.d.ts.map +1 -0
- package/dist/commands/teams-picker.js +278 -0
- package/dist/commands/teams-picker.js.map +1 -0
- package/dist/commands/teams.d.ts +3 -0
- package/dist/commands/teams.d.ts.map +1 -0
- package/dist/commands/teams.js +917 -0
- package/dist/commands/teams.js.map +1 -0
- package/dist/commands/utils.d.ts +39 -0
- package/dist/commands/utils.d.ts.map +1 -0
- package/dist/commands/utils.js +100 -0
- package/dist/commands/utils.js.map +1 -0
- package/dist/commands/versions.d.ts +3 -0
- package/dist/commands/versions.d.ts.map +1 -0
- package/dist/commands/versions.js +700 -0
- package/dist/commands/versions.js.map +1 -0
- package/dist/commands/view.d.ts +8 -0
- package/dist/commands/view.d.ts.map +1 -0
- package/dist/commands/view.js +626 -0
- package/dist/commands/view.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +484 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/__tests__/bugfixes.test.d.ts +2 -0
- package/dist/lib/__tests__/bugfixes.test.d.ts.map +1 -0
- package/dist/lib/__tests__/bugfixes.test.js +192 -0
- package/dist/lib/__tests__/bugfixes.test.js.map +1 -0
- package/dist/lib/__tests__/exec.test.d.ts +2 -0
- package/dist/lib/__tests__/exec.test.d.ts.map +1 -0
- package/dist/lib/__tests__/exec.test.js +446 -0
- package/dist/lib/__tests__/exec.test.js.map +1 -0
- package/dist/lib/__tests__/git-sync.test.d.ts +2 -0
- package/dist/lib/__tests__/git-sync.test.d.ts.map +1 -0
- package/dist/lib/__tests__/git-sync.test.js +138 -0
- package/dist/lib/__tests__/git-sync.test.js.map +1 -0
- 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.d.ts +2 -0
- package/dist/lib/__tests__/usage.test.d.ts.map +1 -0
- package/dist/lib/__tests__/usage.test.js +220 -0
- package/dist/lib/__tests__/usage.test.js.map +1 -0
- 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 +107 -0
- package/dist/lib/agents.d.ts.map +1 -0
- package/dist/lib/agents.js +1096 -0
- package/dist/lib/agents.js.map +1 -0
- package/dist/lib/artifact-actions.d.ts +22 -0
- package/dist/lib/artifact-actions.d.ts.map +1 -0
- package/dist/lib/artifact-actions.js +55 -0
- package/dist/lib/artifact-actions.js.map +1 -0
- package/dist/lib/cloud/codex.d.ts +19 -0
- package/dist/lib/cloud/codex.d.ts.map +1 -0
- package/dist/lib/cloud/codex.js +210 -0
- package/dist/lib/cloud/codex.js.map +1 -0
- package/dist/lib/cloud/factory.d.ts +26 -0
- package/dist/lib/cloud/factory.d.ts.map +1 -0
- package/dist/lib/cloud/factory.js +37 -0
- package/dist/lib/cloud/factory.js.map +1 -0
- package/dist/lib/cloud/registry.d.ts +6 -0
- package/dist/lib/cloud/registry.d.ts.map +1 -0
- package/dist/lib/cloud/registry.js +56 -0
- package/dist/lib/cloud/registry.js.map +1 -0
- package/dist/lib/cloud/rush.d.ts +15 -0
- package/dist/lib/cloud/rush.d.ts.map +1 -0
- package/dist/lib/cloud/rush.js +185 -0
- package/dist/lib/cloud/rush.js.map +1 -0
- package/dist/lib/cloud/store.d.ts +10 -0
- package/dist/lib/cloud/store.d.ts.map +1 -0
- package/dist/lib/cloud/store.js +96 -0
- package/dist/lib/cloud/store.js.map +1 -0
- package/dist/lib/cloud/stream.d.ts +18 -0
- package/dist/lib/cloud/stream.d.ts.map +1 -0
- package/dist/lib/cloud/stream.js +138 -0
- package/dist/lib/cloud/stream.js.map +1 -0
- package/dist/lib/cloud/types.d.ts +60 -0
- package/dist/lib/cloud/types.d.ts.map +1 -0
- package/dist/lib/cloud/types.js +2 -0
- package/dist/lib/cloud/types.js.map +1 -0
- package/dist/lib/commands.d.ts +121 -0
- package/dist/lib/commands.d.ts.map +1 -0
- package/dist/lib/commands.js +499 -0
- package/dist/lib/commands.js.map +1 -0
- package/dist/lib/convert.d.ts +11 -0
- package/dist/lib/convert.d.ts.map +1 -0
- package/dist/lib/convert.js +45 -0
- package/dist/lib/convert.js.map +1 -0
- package/dist/lib/daemon.d.ts +22 -0
- package/dist/lib/daemon.d.ts.map +1 -0
- package/dist/lib/daemon.js +311 -0
- package/dist/lib/daemon.js.map +1 -0
- package/dist/lib/drive-sync.d.ts +28 -0
- package/dist/lib/drive-sync.d.ts.map +1 -0
- package/dist/lib/drive-sync.js +193 -0
- package/dist/lib/drive-sync.js.map +1 -0
- package/dist/lib/exec.d.ts +85 -0
- package/dist/lib/exec.d.ts.map +1 -0
- package/dist/lib/exec.js +423 -0
- package/dist/lib/exec.js.map +1 -0
- package/dist/lib/factory.d.ts +57 -0
- package/dist/lib/factory.d.ts.map +1 -0
- package/dist/lib/factory.js +110 -0
- package/dist/lib/factory.js.map +1 -0
- package/dist/lib/git.d.ts +146 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +635 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/help.d.ts +3 -0
- package/dist/lib/help.d.ts.map +1 -0
- package/dist/lib/help.js +63 -0
- package/dist/lib/help.js.map +1 -0
- package/dist/lib/hooks.d.ts +116 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/hooks.js +837 -0
- package/dist/lib/hooks.js.map +1 -0
- package/dist/lib/manifest.d.ts +8 -0
- package/dist/lib/manifest.d.ts.map +1 -0
- package/dist/lib/manifest.js +36 -0
- package/dist/lib/manifest.js.map +1 -0
- package/dist/lib/markdown.d.ts +5 -0
- package/dist/lib/markdown.d.ts.map +1 -0
- package/dist/lib/markdown.js +11 -0
- package/dist/lib/markdown.js.map +1 -0
- package/dist/lib/mcp.d.ts +64 -0
- package/dist/lib/mcp.d.ts.map +1 -0
- package/dist/lib/mcp.js +327 -0
- package/dist/lib/mcp.js.map +1 -0
- package/dist/lib/memory-compile.d.ts +56 -0
- package/dist/lib/memory-compile.d.ts.map +1 -0
- package/dist/lib/memory-compile.js +167 -0
- package/dist/lib/memory-compile.js.map +1 -0
- package/dist/lib/memory.d.ts +56 -0
- package/dist/lib/memory.d.ts.map +1 -0
- package/dist/lib/memory.js +267 -0
- package/dist/lib/memory.js.map +1 -0
- package/dist/lib/models.d.ts +91 -0
- package/dist/lib/models.d.ts.map +1 -0
- package/dist/lib/models.js +706 -0
- package/dist/lib/models.js.map +1 -0
- package/dist/lib/permissions.d.ts +204 -0
- package/dist/lib/permissions.d.ts.map +1 -0
- package/dist/lib/permissions.js +1022 -0
- package/dist/lib/permissions.js.map +1 -0
- package/dist/lib/picker.d.ts +17 -0
- package/dist/lib/picker.d.ts.map +1 -0
- package/dist/lib/picker.js +95 -0
- package/dist/lib/picker.js.map +1 -0
- package/dist/lib/plugins.d.ts +73 -0
- package/dist/lib/plugins.d.ts.map +1 -0
- package/dist/lib/plugins.js +549 -0
- package/dist/lib/plugins.js.map +1 -0
- package/dist/lib/profiles-keychain.d.ts +3 -0
- package/dist/lib/profiles-keychain.d.ts.map +1 -0
- package/dist/lib/profiles-keychain.js +10 -0
- package/dist/lib/profiles-keychain.js.map +1 -0
- package/dist/lib/profiles-presets.d.ts +15 -0
- package/dist/lib/profiles-presets.d.ts.map +1 -0
- package/dist/lib/profiles-presets.js +95 -0
- package/dist/lib/profiles-presets.js.map +1 -0
- package/dist/lib/profiles.d.ts +35 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +123 -0
- package/dist/lib/profiles.js.map +1 -0
- package/dist/lib/pty-client.d.ts +22 -0
- package/dist/lib/pty-client.d.ts.map +1 -0
- package/dist/lib/pty-client.js +181 -0
- package/dist/lib/pty-client.js.map +1 -0
- package/dist/lib/pty-server.d.ts +16 -0
- package/dist/lib/pty-server.d.ts.map +1 -0
- package/dist/lib/pty-server.js +422 -0
- package/dist/lib/pty-server.js.map +1 -0
- package/dist/lib/registry.d.ts +28 -0
- package/dist/lib/registry.d.ts.map +1 -0
- package/dist/lib/registry.js +203 -0
- package/dist/lib/registry.js.map +1 -0
- package/dist/lib/resources.d.ts +50 -0
- package/dist/lib/resources.d.ts.map +1 -0
- package/dist/lib/resources.js +103 -0
- package/dist/lib/resources.js.map +1 -0
- package/dist/lib/rotate.d.ts +52 -0
- package/dist/lib/rotate.d.ts.map +1 -0
- package/dist/lib/rotate.js +87 -0
- package/dist/lib/rotate.js.map +1 -0
- package/dist/lib/routines.d.ts +70 -0
- package/dist/lib/routines.d.ts.map +1 -0
- package/dist/lib/routines.js +325 -0
- package/dist/lib/routines.js.map +1 -0
- package/dist/lib/runner.d.ts +12 -0
- package/dist/lib/runner.d.ts.map +1 -0
- package/dist/lib/runner.js +311 -0
- package/dist/lib/runner.js.map +1 -0
- package/dist/lib/sandbox.d.ts +10 -0
- package/dist/lib/sandbox.d.ts.map +1 -0
- package/dist/lib/sandbox.js +201 -0
- package/dist/lib/sandbox.js.map +1 -0
- package/dist/lib/scheduler.d.ts +18 -0
- package/dist/lib/scheduler.d.ts.map +1 -0
- package/dist/lib/scheduler.js +69 -0
- package/dist/lib/scheduler.js.map +1 -0
- package/dist/lib/secrets-bundles.d.ts +29 -0
- package/dist/lib/secrets-bundles.d.ts.map +1 -0
- package/dist/lib/secrets-bundles.js +168 -0
- package/dist/lib/secrets-bundles.js.map +1 -0
- package/dist/lib/secrets.d.ts +27 -0
- package/dist/lib/secrets.d.ts.map +1 -0
- package/dist/lib/secrets.js +127 -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.d.ts +2 -0
- package/dist/lib/session/__tests__/discover.test.d.ts.map +1 -0
- package/dist/lib/session/__tests__/discover.test.js +63 -0
- package/dist/lib/session/__tests__/discover.test.js.map +1 -0
- 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 +5 -0
- package/dist/lib/session/artifacts.d.ts.map +1 -0
- package/dist/lib/session/artifacts.js +75 -0
- package/dist/lib/session/artifacts.js.map +1 -0
- package/dist/lib/session/db.d.ts +118 -0
- package/dist/lib/session/db.d.ts.map +1 -0
- package/dist/lib/session/db.js +576 -0
- package/dist/lib/session/db.js.map +1 -0
- package/dist/lib/session/discover.d.ts +60 -0
- package/dist/lib/session/discover.d.ts.map +1 -0
- package/dist/lib/session/discover.js +1272 -0
- package/dist/lib/session/discover.js.map +1 -0
- package/dist/lib/session/parse.d.ts +23 -0
- package/dist/lib/session/parse.d.ts.map +1 -0
- package/dist/lib/session/parse.js +650 -0
- package/dist/lib/session/parse.js.map +1 -0
- package/dist/lib/session/prompt.d.ts +4 -0
- package/dist/lib/session/prompt.d.ts.map +1 -0
- package/dist/lib/session/prompt.js +64 -0
- package/dist/lib/session/prompt.js.map +1 -0
- 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 +90 -0
- package/dist/lib/session/render.d.ts.map +1 -0
- package/dist/lib/session/render.js +778 -0
- package/dist/lib/session/render.js.map +1 -0
- package/dist/lib/session/team-filter.d.ts +26 -0
- package/dist/lib/session/team-filter.d.ts.map +1 -0
- package/dist/lib/session/team-filter.js +66 -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 +69 -0
- package/dist/lib/session/types.d.ts.map +1 -0
- package/dist/lib/session/types.js +2 -0
- package/dist/lib/session/types.js.map +1 -0
- package/dist/lib/shims.d.ts +228 -0
- package/dist/lib/shims.d.ts.map +1 -0
- package/dist/lib/shims.js +1170 -0
- package/dist/lib/shims.js.map +1 -0
- package/dist/lib/skills.d.ts +134 -0
- package/dist/lib/skills.d.ts.map +1 -0
- package/dist/lib/skills.js +783 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/lib/state.d.ts +53 -0
- package/dist/lib/state.d.ts.map +1 -0
- package/dist/lib/state.js +299 -0
- package/dist/lib/state.js.map +1 -0
- package/dist/lib/subagents.d.ts +75 -0
- package/dist/lib/subagents.d.ts.map +1 -0
- package/dist/lib/subagents.js +402 -0
- package/dist/lib/subagents.js.map +1 -0
- package/dist/lib/teams/agents.d.ts +146 -0
- package/dist/lib/teams/agents.d.ts.map +1 -0
- package/dist/lib/teams/agents.js +1072 -0
- package/dist/lib/teams/agents.js.map +1 -0
- package/dist/lib/teams/api.d.ts +77 -0
- package/dist/lib/teams/api.d.ts.map +1 -0
- package/dist/lib/teams/api.js +229 -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 +2 -0
- package/dist/lib/teams/debug.d.ts.map +1 -0
- package/dist/lib/teams/debug.js +6 -0
- package/dist/lib/teams/debug.js.map +1 -0
- package/dist/lib/teams/file_ops.d.ts +6 -0
- package/dist/lib/teams/file_ops.d.ts.map +1 -0
- package/dist/lib/teams/file_ops.js +59 -0
- package/dist/lib/teams/file_ops.js.map +1 -0
- package/dist/lib/teams/parsers.d.ts +5 -0
- package/dist/lib/teams/parsers.d.ts.map +1 -0
- package/dist/lib/teams/parsers.js +826 -0
- package/dist/lib/teams/parsers.js.map +1 -0
- package/dist/lib/teams/persistence.d.ts +28 -0
- package/dist/lib/teams/persistence.d.ts.map +1 -0
- package/dist/lib/teams/persistence.js +289 -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 +11 -0
- package/dist/lib/teams/registry.d.ts.map +1 -0
- package/dist/lib/teams/registry.js +56 -0
- package/dist/lib/teams/registry.js.map +1 -0
- package/dist/lib/teams/summarizer.d.ts +58 -0
- package/dist/lib/teams/summarizer.d.ts.map +1 -0
- package/dist/lib/teams/summarizer.js +766 -0
- package/dist/lib/teams/summarizer.js.map +1 -0
- package/dist/lib/template.d.ts +24 -0
- package/dist/lib/template.d.ts.map +1 -0
- package/dist/lib/template.js +57 -0
- package/dist/lib/template.js.map +1 -0
- package/dist/lib/types.d.ts +282 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +18 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/usage.d.ts +73 -0
- package/dist/lib/usage.d.ts.map +1 -0
- package/dist/lib/usage.js +623 -0
- package/dist/lib/usage.js.map +1 -0
- package/dist/lib/versions.d.ts +248 -0
- package/dist/lib/versions.d.ts.map +1 -0
- package/dist/lib/versions.js +1737 -0
- package/dist/lib/versions.js.map +1 -0
- package/package.json +82 -0
- package/scripts/postinstall.js +72 -0
- package/scripts/rebuild-sqlite.sh +46 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { generateShimScript, SHIM_SCHEMA_VERSION } from '../shims.js';
|
|
3
|
+
describe('SHIM_SCHEMA_VERSION', () => {
|
|
4
|
+
it('is 4', () => {
|
|
5
|
+
expect(SHIM_SCHEMA_VERSION).toBe(4);
|
|
6
|
+
});
|
|
7
|
+
});
|
|
8
|
+
describe('generateShimScript', () => {
|
|
9
|
+
it('contains no reference to .agents-version', () => {
|
|
10
|
+
const script = generateShimScript('claude');
|
|
11
|
+
expect(script).not.toContain('.agents-version');
|
|
12
|
+
});
|
|
13
|
+
it('embeds the shim schema version marker matching SHIM_SCHEMA_VERSION', () => {
|
|
14
|
+
const script = generateShimScript('claude');
|
|
15
|
+
expect(script).toContain(`agents-shim-version: ${SHIM_SCHEMA_VERSION}`);
|
|
16
|
+
});
|
|
17
|
+
it('walks up looking for agents.yaml (not .agents-version)', () => {
|
|
18
|
+
const script = generateShimScript('claude');
|
|
19
|
+
expect(script).toContain('agents.yaml');
|
|
20
|
+
});
|
|
21
|
+
it('skips $HOME/.agents/agents.yaml when walking up', () => {
|
|
22
|
+
const script = generateShimScript('claude');
|
|
23
|
+
expect(script).toContain('user_agents_yaml');
|
|
24
|
+
expect(script).toContain('"$candidate" != "$user_agents_yaml"');
|
|
25
|
+
});
|
|
26
|
+
it('error message references agents.yaml not .agents-version', () => {
|
|
27
|
+
const script = generateShimScript('claude');
|
|
28
|
+
expect(script).toContain('required by agents.yaml but not installed');
|
|
29
|
+
expect(script).not.toContain('required by .agents-version');
|
|
30
|
+
});
|
|
31
|
+
it('find_project_agents_dir stops at agents.yaml or .git', () => {
|
|
32
|
+
const script = generateShimScript('claude');
|
|
33
|
+
// Boundary detection should check agents.yaml
|
|
34
|
+
expect(script).toContain('[ -f "$dir/agents.yaml" ]');
|
|
35
|
+
// And should NOT check .agents-version as a boundary
|
|
36
|
+
expect(script).not.toContain('[ -f "$dir/.agents-version" ]');
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=shims.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shims.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/shims.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACd,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,mBAAmB,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACtD,qDAAqD;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/usage.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as os from 'os';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import { describe, expect, it } from 'vitest';
|
|
5
|
+
import { buildCanonicalUsageContext, formatUsageSummary, getClaudeKeychainService, readClaudeUsageCache, isClaudeUsageOrgMatch, writeClaudeUsageCache, } from '../usage.js';
|
|
6
|
+
function makeAccountInfo(overrides = {}) {
|
|
7
|
+
return {
|
|
8
|
+
accountKey: null,
|
|
9
|
+
usageKey: null,
|
|
10
|
+
accountId: null,
|
|
11
|
+
organizationId: null,
|
|
12
|
+
userId: null,
|
|
13
|
+
email: null,
|
|
14
|
+
plan: null,
|
|
15
|
+
usageStatus: null,
|
|
16
|
+
overageCredits: null,
|
|
17
|
+
lastActive: null,
|
|
18
|
+
...overrides,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function stripAnsi(value) {
|
|
22
|
+
return value.replace(/\u001b\[[0-9;]*m/g, '');
|
|
23
|
+
}
|
|
24
|
+
describe('usage formatting', () => {
|
|
25
|
+
it('renders compact S:/W: bars and skips the sonnet-only window', () => {
|
|
26
|
+
const snapshot = {
|
|
27
|
+
source: 'live',
|
|
28
|
+
sourceLabel: 'live account data',
|
|
29
|
+
capturedAt: new Date('2026-04-17T12:00:00Z'),
|
|
30
|
+
windows: [
|
|
31
|
+
{
|
|
32
|
+
key: 'session',
|
|
33
|
+
label: 'Current session',
|
|
34
|
+
shortLabel: 'S',
|
|
35
|
+
usedPercent: 40,
|
|
36
|
+
resetsAt: null,
|
|
37
|
+
windowMinutes: 300,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: 'week',
|
|
41
|
+
label: 'Current week',
|
|
42
|
+
shortLabel: 'W',
|
|
43
|
+
usedPercent: 80,
|
|
44
|
+
resetsAt: null,
|
|
45
|
+
windowMinutes: 10080,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: 'sonnet_week',
|
|
49
|
+
label: 'Current week (Sonnet only)',
|
|
50
|
+
shortLabel: 'So',
|
|
51
|
+
usedPercent: 55,
|
|
52
|
+
resetsAt: null,
|
|
53
|
+
windowMinutes: 10080,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
const summary = stripAnsi(formatUsageSummary(null, snapshot));
|
|
58
|
+
expect(summary).toContain('S:');
|
|
59
|
+
expect(summary).toContain('W:');
|
|
60
|
+
expect(summary).not.toContain('So:');
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe('usage identity deduping', () => {
|
|
64
|
+
it('keeps only the freshest version home per usage identity', () => {
|
|
65
|
+
const older = makeAccountInfo({
|
|
66
|
+
usageKey: 'claude:org=shared',
|
|
67
|
+
accountKey: 'claude:account=one',
|
|
68
|
+
organizationId: 'org-old',
|
|
69
|
+
plan: 'Pro',
|
|
70
|
+
lastActive: new Date('2026-04-17T10:00:00Z'),
|
|
71
|
+
});
|
|
72
|
+
const newer = makeAccountInfo({
|
|
73
|
+
usageKey: 'claude:org=shared',
|
|
74
|
+
accountKey: 'claude:account=two',
|
|
75
|
+
organizationId: 'org-new',
|
|
76
|
+
plan: 'Max',
|
|
77
|
+
lastActive: new Date('2026-04-17T11:00:00Z'),
|
|
78
|
+
});
|
|
79
|
+
const fallback = makeAccountInfo({
|
|
80
|
+
usageKey: null,
|
|
81
|
+
accountKey: 'codex:account=fallback',
|
|
82
|
+
organizationId: 'org-codex',
|
|
83
|
+
lastActive: new Date('2026-04-17T09:00:00Z'),
|
|
84
|
+
});
|
|
85
|
+
const { canonicalByUsageKey, usageFetchInputs } = buildCanonicalUsageContext([
|
|
86
|
+
{
|
|
87
|
+
agentId: 'claude',
|
|
88
|
+
home: '/tmp/old',
|
|
89
|
+
cliVersion: '2.1.80',
|
|
90
|
+
info: older,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
agentId: 'claude',
|
|
94
|
+
home: '/tmp/new',
|
|
95
|
+
cliVersion: '2.1.98',
|
|
96
|
+
info: newer,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
agentId: 'codex',
|
|
100
|
+
home: '/tmp/codex',
|
|
101
|
+
cliVersion: '0.113.0',
|
|
102
|
+
info: fallback,
|
|
103
|
+
},
|
|
104
|
+
]);
|
|
105
|
+
expect(canonicalByUsageKey.size).toBe(2);
|
|
106
|
+
expect(canonicalByUsageKey.get('claude:org=shared')).toEqual(newer);
|
|
107
|
+
expect(canonicalByUsageKey.get('codex:account=fallback')).toEqual(fallback);
|
|
108
|
+
expect(usageFetchInputs.get('claude:org=shared')).toEqual({
|
|
109
|
+
agentId: 'claude',
|
|
110
|
+
home: '/tmp/new',
|
|
111
|
+
cliVersion: '2.1.98',
|
|
112
|
+
organizationId: 'org-new',
|
|
113
|
+
});
|
|
114
|
+
expect(usageFetchInputs.get('codex:account=fallback')).toEqual({
|
|
115
|
+
agentId: 'codex',
|
|
116
|
+
home: '/tmp/codex',
|
|
117
|
+
cliVersion: '0.113.0',
|
|
118
|
+
organizationId: 'org-codex',
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('Claude usage scoping', () => {
|
|
123
|
+
it('uses the shared keychain service without a managed home', () => {
|
|
124
|
+
expect(getClaudeKeychainService()).toBe('Claude Code-credentials');
|
|
125
|
+
});
|
|
126
|
+
it('derives distinct keychain services for distinct Claude homes', () => {
|
|
127
|
+
const first = getClaudeKeychainService('/tmp/claude-a');
|
|
128
|
+
const second = getClaudeKeychainService('/tmp/claude-b');
|
|
129
|
+
expect(first).toMatch(/^Claude Code-credentials-[0-9a-f]{8}$/);
|
|
130
|
+
expect(second).toMatch(/^Claude Code-credentials-[0-9a-f]{8}$/);
|
|
131
|
+
expect(first).not.toBe(second);
|
|
132
|
+
});
|
|
133
|
+
it('does not reuse the shared keychain service for managed Claude homes', () => {
|
|
134
|
+
expect(getClaudeKeychainService('/tmp/claude-a')).not.toBe('Claude Code-credentials');
|
|
135
|
+
});
|
|
136
|
+
it('keeps usage eligible when the live org is missing', () => {
|
|
137
|
+
expect(isClaudeUsageOrgMatch('org-requested', null)).toBe(true);
|
|
138
|
+
});
|
|
139
|
+
it('rejects usage only when both org ids exist and mismatch', () => {
|
|
140
|
+
expect(isClaudeUsageOrgMatch('org-requested', 'org-live')).toBe(false);
|
|
141
|
+
expect(isClaudeUsageOrgMatch('org-requested', 'org-requested')).toBe(true);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
describe('Claude usage cache', () => {
|
|
145
|
+
it('persists and reloads the last seen live snapshot by usage key', () => {
|
|
146
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-usage-cache-'));
|
|
147
|
+
const cachePath = path.join(tempDir, 'claude-usage.json');
|
|
148
|
+
const snapshot = {
|
|
149
|
+
source: 'live',
|
|
150
|
+
sourceLabel: 'live account data',
|
|
151
|
+
capturedAt: new Date('2026-04-17T12:00:00Z'),
|
|
152
|
+
windows: [
|
|
153
|
+
{
|
|
154
|
+
key: 'session',
|
|
155
|
+
label: 'Current session',
|
|
156
|
+
shortLabel: 'S',
|
|
157
|
+
usedPercent: 40,
|
|
158
|
+
resetsAt: new Date('2026-04-17T16:00:00Z'),
|
|
159
|
+
windowMinutes: 300,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
key: 'week',
|
|
163
|
+
label: 'Current week',
|
|
164
|
+
shortLabel: 'W',
|
|
165
|
+
usedPercent: 80,
|
|
166
|
+
resetsAt: new Date('2026-04-23T12:00:00Z'),
|
|
167
|
+
windowMinutes: 10080,
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
};
|
|
171
|
+
try {
|
|
172
|
+
writeClaudeUsageCache('claude:org=shared', snapshot, cachePath);
|
|
173
|
+
const cached = readClaudeUsageCache('claude:org=shared', cachePath, new Date('2026-04-17T13:00:00Z'));
|
|
174
|
+
expect(cached?.source).toBe('last_seen');
|
|
175
|
+
expect(cached?.sourceLabel).toBe('last seen live account data');
|
|
176
|
+
expect(cached?.windows.map((window) => window.shortLabel)).toEqual(['S', 'W']);
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
it('resets expired cached windows to 0%', () => {
|
|
183
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-usage-cache-'));
|
|
184
|
+
const cachePath = path.join(tempDir, 'claude-usage.json');
|
|
185
|
+
const snapshot = {
|
|
186
|
+
source: 'live',
|
|
187
|
+
sourceLabel: 'live account data',
|
|
188
|
+
capturedAt: new Date('2026-04-17T12:00:00Z'),
|
|
189
|
+
windows: [
|
|
190
|
+
{
|
|
191
|
+
key: 'session',
|
|
192
|
+
label: 'Current session',
|
|
193
|
+
shortLabel: 'S',
|
|
194
|
+
usedPercent: 40,
|
|
195
|
+
resetsAt: new Date('2026-04-17T13:00:00Z'),
|
|
196
|
+
windowMinutes: 300,
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
key: 'week',
|
|
200
|
+
label: 'Current week',
|
|
201
|
+
shortLabel: 'W',
|
|
202
|
+
usedPercent: 80,
|
|
203
|
+
resetsAt: new Date('2026-04-23T12:00:00Z'),
|
|
204
|
+
windowMinutes: 10080,
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
};
|
|
208
|
+
try {
|
|
209
|
+
writeClaudeUsageCache('claude:org=shared', snapshot, cachePath);
|
|
210
|
+
const cached = readClaudeUsageCache('claude:org=shared', cachePath, new Date('2026-04-17T14:00:00Z'));
|
|
211
|
+
expect(cached?.windows.map((window) => window.shortLabel)).toEqual(['S', 'W']);
|
|
212
|
+
expect(cached?.windows.find((w) => w.shortLabel === 'S')?.usedPercent).toBe(0);
|
|
213
|
+
expect(cached?.windows.find((w) => w.shortLabel === 'W')?.usedPercent).toBe(80);
|
|
214
|
+
}
|
|
215
|
+
finally {
|
|
216
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
//# sourceMappingURL=usage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/usage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/versions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import * as os from 'os';
|
|
5
|
+
import { getProjectVersion } from '../versions.js';
|
|
6
|
+
let tmpDir;
|
|
7
|
+
beforeEach(() => {
|
|
8
|
+
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'versions-test-'));
|
|
9
|
+
});
|
|
10
|
+
afterEach(() => {
|
|
11
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
12
|
+
});
|
|
13
|
+
describe('getProjectVersion', () => {
|
|
14
|
+
it('resolves version from agents.yaml in startPath', () => {
|
|
15
|
+
fs.writeFileSync(path.join(tmpDir, 'agents.yaml'), 'agents:\n claude: "1.2.3"\n');
|
|
16
|
+
expect(getProjectVersion('claude', tmpDir)).toBe('1.2.3');
|
|
17
|
+
});
|
|
18
|
+
it('walks up to find agents.yaml in a parent directory', () => {
|
|
19
|
+
const nested = path.join(tmpDir, 'a', 'b', 'c');
|
|
20
|
+
fs.mkdirSync(nested, { recursive: true });
|
|
21
|
+
fs.writeFileSync(path.join(tmpDir, 'agents.yaml'), 'agents:\n claude: "2.0.0"\n');
|
|
22
|
+
expect(getProjectVersion('claude', nested)).toBe('2.0.0');
|
|
23
|
+
});
|
|
24
|
+
it('returns null when no agents.yaml exists', () => {
|
|
25
|
+
const nested = path.join(tmpDir, 'empty');
|
|
26
|
+
fs.mkdirSync(nested, { recursive: true });
|
|
27
|
+
expect(getProjectVersion('claude', nested)).toBeNull();
|
|
28
|
+
});
|
|
29
|
+
it('returns null when agents.yaml exists but agent key is absent', () => {
|
|
30
|
+
fs.writeFileSync(path.join(tmpDir, 'agents.yaml'), 'agents:\n codex: "0.9.0"\n');
|
|
31
|
+
expect(getProjectVersion('claude', tmpDir)).toBeNull();
|
|
32
|
+
});
|
|
33
|
+
it('ignores ~/.agents/agents.yaml (user file) when walking up', () => {
|
|
34
|
+
// Simulate the user agents.yaml path being encountered during the walk.
|
|
35
|
+
// We cannot mutate os.homedir(), but we CAN verify that passing the
|
|
36
|
+
// actual user file path returns null (no version extracted from it).
|
|
37
|
+
const userAgentsYaml = path.join(os.homedir(), '.agents', 'agents.yaml');
|
|
38
|
+
// If the file actually exists on this machine, starting from its directory
|
|
39
|
+
// must NOT return its contents as a project version.
|
|
40
|
+
if (fs.existsSync(userAgentsYaml)) {
|
|
41
|
+
const result = getProjectVersion('claude', path.dirname(userAgentsYaml));
|
|
42
|
+
// The function should skip ~/.agents/agents.yaml itself
|
|
43
|
+
// so result is null (no sibling agents.yaml) or a version from a
|
|
44
|
+
// higher-up project agents.yaml — either way it must not come from the
|
|
45
|
+
// user file at ~/.agents/agents.yaml.
|
|
46
|
+
// We just confirm no error is thrown and type is correct.
|
|
47
|
+
expect(typeof result === 'string' || result === null).toBe(true);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// If the file doesn't exist, the test is vacuously satisfied.
|
|
51
|
+
expect(true).toBe(true);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
it('parses agents.yaml with quoted version string', () => {
|
|
55
|
+
fs.writeFileSync(path.join(tmpDir, 'agents.yaml'), 'agents:\n claude: \'1.5.0\'\n');
|
|
56
|
+
expect(getProjectVersion('claude', tmpDir)).toBe('1.5.0');
|
|
57
|
+
});
|
|
58
|
+
it('parses agents.yaml with unquoted version string', () => {
|
|
59
|
+
fs.writeFileSync(path.join(tmpDir, 'agents.yaml'), 'agents:\n claude: 1.7.2\n');
|
|
60
|
+
expect(getProjectVersion('claude', tmpDir)).toBe('1.7.2');
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=versions.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/versions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { AgentConfig, AgentId } from './types.js';
|
|
2
|
+
export interface CliState {
|
|
3
|
+
installed: boolean;
|
|
4
|
+
version: string | null;
|
|
5
|
+
path: string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare const CODEX_HOOKS_MIN_VERSION = "0.116.0";
|
|
8
|
+
export declare const AGENTS: Record<AgentId, AgentConfig>;
|
|
9
|
+
export declare const ALL_AGENT_IDS: AgentId[];
|
|
10
|
+
export declare const MCP_CAPABLE_AGENTS: AgentId[];
|
|
11
|
+
export declare const SKILLS_CAPABLE_AGENTS: AgentId[];
|
|
12
|
+
export declare const COMMANDS_CAPABLE_AGENTS: AgentId[];
|
|
13
|
+
export declare const HOOKS_CAPABLE_AGENTS: readonly ["claude", "codex", "gemini", "openclaw"];
|
|
14
|
+
export declare const PLUGINS_CAPABLE_AGENTS: AgentId[];
|
|
15
|
+
/** Get the chalk color function for an agent. Works for any AgentId or SessionAgentId. */
|
|
16
|
+
export declare function colorAgent(agentId: string): (s: string) => string;
|
|
17
|
+
/** Return the agent's display name, colored. */
|
|
18
|
+
export declare function agentLabel(agentId: string): string;
|
|
19
|
+
export declare function isCliInstalled(agentId: AgentId): Promise<boolean>;
|
|
20
|
+
export declare function getCliVersion(agentId: AgentId): Promise<string | null>;
|
|
21
|
+
export declare function getCliPath(agentId: AgentId): Promise<string | null>;
|
|
22
|
+
export declare function getCliState(agentId: AgentId): Promise<CliState>;
|
|
23
|
+
export declare function getAllCliStates(): Promise<Partial<Record<AgentId, CliState>>>;
|
|
24
|
+
export declare function isConfigured(agentId: AgentId): boolean;
|
|
25
|
+
export declare function ensureCommandsDir(agentId: AgentId): void;
|
|
26
|
+
export declare function ensureSkillsDir(agentId: AgentId): void;
|
|
27
|
+
export interface AccountInfo {
|
|
28
|
+
accountKey: string | null;
|
|
29
|
+
usageKey: string | null;
|
|
30
|
+
accountId: string | null;
|
|
31
|
+
organizationId: string | null;
|
|
32
|
+
userId: string | null;
|
|
33
|
+
email: string | null;
|
|
34
|
+
plan: string | null;
|
|
35
|
+
usageStatus: 'available' | 'rate_limited' | 'out_of_credits' | null;
|
|
36
|
+
overageCredits: {
|
|
37
|
+
amount: number;
|
|
38
|
+
currency: string;
|
|
39
|
+
} | null;
|
|
40
|
+
lastActive: Date | null;
|
|
41
|
+
}
|
|
42
|
+
export declare function getAccountEmail(agentId: AgentId, home?: string): Promise<string | null>;
|
|
43
|
+
export declare function getAccountInfo(agentId: AgentId, home?: string): Promise<AccountInfo>;
|
|
44
|
+
export declare function isMcpRegistered(agentId: AgentId, mcpName: string): Promise<boolean>;
|
|
45
|
+
export declare function registerMcp(agentId: AgentId, name: string, command: string, scope?: 'user' | 'project', transport?: string, options?: {
|
|
46
|
+
home?: string;
|
|
47
|
+
binary?: string;
|
|
48
|
+
}): Promise<{
|
|
49
|
+
success: boolean;
|
|
50
|
+
error?: string;
|
|
51
|
+
}>;
|
|
52
|
+
export declare function unregisterMcp(agentId: AgentId, name: string, options?: {
|
|
53
|
+
home?: string;
|
|
54
|
+
binary?: string;
|
|
55
|
+
}): Promise<{
|
|
56
|
+
success: boolean;
|
|
57
|
+
error?: string;
|
|
58
|
+
}>;
|
|
59
|
+
export interface McpTargetOperationResult {
|
|
60
|
+
agentId: AgentId;
|
|
61
|
+
version?: string;
|
|
62
|
+
success: boolean;
|
|
63
|
+
error?: string;
|
|
64
|
+
}
|
|
65
|
+
export declare function registerMcpToTargets(targets: {
|
|
66
|
+
directAgents: AgentId[];
|
|
67
|
+
versionSelections: Map<AgentId, string[]>;
|
|
68
|
+
}, name: string, command: string, scope?: 'user' | 'project', transport?: string): Promise<McpTargetOperationResult[]>;
|
|
69
|
+
export declare function unregisterMcpFromTargets(targets: {
|
|
70
|
+
directAgents: AgentId[];
|
|
71
|
+
versionSelections: Map<AgentId, string[]>;
|
|
72
|
+
}, name: string): Promise<McpTargetOperationResult[]>;
|
|
73
|
+
export type McpScope = 'user' | 'project';
|
|
74
|
+
export interface InstalledMcp {
|
|
75
|
+
name: string;
|
|
76
|
+
scope: McpScope;
|
|
77
|
+
command?: string;
|
|
78
|
+
version?: string;
|
|
79
|
+
}
|
|
80
|
+
interface McpConfigEntry {
|
|
81
|
+
command?: string;
|
|
82
|
+
args?: string[];
|
|
83
|
+
env?: Record<string, string>;
|
|
84
|
+
type?: string;
|
|
85
|
+
url?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get MCP config path for a specific HOME directory (used for version-managed agents).
|
|
89
|
+
*/
|
|
90
|
+
export declare function getMcpConfigPathForHome(agentId: AgentId, home: string): string;
|
|
91
|
+
/**
|
|
92
|
+
* Parse MCP config based on agent type.
|
|
93
|
+
*/
|
|
94
|
+
export declare function parseMcpConfig(agentId: AgentId, configPath: string): Record<string, McpConfigEntry>;
|
|
95
|
+
/**
|
|
96
|
+
* List installed MCP servers with scope information.
|
|
97
|
+
* Pass options.home to read from a version-managed agent's home directory.
|
|
98
|
+
*/
|
|
99
|
+
export declare function listInstalledMcpsWithScope(agentId: AgentId, cwd?: string, options?: {
|
|
100
|
+
home?: string;
|
|
101
|
+
}): InstalledMcp[];
|
|
102
|
+
export declare const AGENT_NAME_ALIASES: Record<string, AgentId>;
|
|
103
|
+
export declare function resolveAgentName(input: string): AgentId | null;
|
|
104
|
+
export declare function isAgentName(input: string): boolean;
|
|
105
|
+
export declare function formatAgentError(agentName: string, validAgents?: AgentId[]): string;
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/lib/agents.ts"],"names":[],"mappings":"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"}
|