@codemieai/code 0.0.58 → 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/README.md +56 -15
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +3 -0
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +18 -0
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/commands/README.md +2 -31
- package/dist/agents/plugins/claude/plugin/commands/codemie-catchup.md +5 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +42 -43
- package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +5 -0
- package/dist/agents/plugins/claude/plugin/commands/handoff.md +56 -0
- package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +5 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +1 -1
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-rewrite.sh +101 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/README.md +4 -1
- package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +27 -8
- package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +63 -3
- package/dist/agents/plugins/claude/plugin/skills/report-issue/SKILL.md +1 -0
- package/dist/assets/demo.gif +0 -0
- package/dist/assets/skills-sh-egress-guard.cjs +166 -0
- package/dist/cli/commands/assistants/setup/constants.d.ts +1 -25
- package/dist/cli/commands/assistants/setup/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/constants.js +1 -20
- package/dist/cli/commands/assistants/setup/constants.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts +4 -4
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +11 -10
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts +4 -4
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +11 -9
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.d.ts +4 -18
- package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.js +10 -60
- package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
- package/dist/cli/commands/assistants/setup/index.d.ts +0 -8
- package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/index.js +20 -164
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/actions.d.ts +1 -30
- package/dist/cli/commands/assistants/setup/selection/actions.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/actions.js +1 -320
- package/dist/cli/commands/assistants/setup/selection/actions.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/constants.d.ts +3 -65
- package/dist/cli/commands/assistants/setup/selection/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/constants.js +4 -81
- package/dist/cli/commands/assistants/setup/selection/constants.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -9
- package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/index.js +14 -34
- package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts +1 -19
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +1 -338
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/types.d.ts +7 -23
- package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts +0 -8
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/selection/ui.js +7 -123
- package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +10 -1
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop-managed-mcp-servers.json +50 -0
- package/dist/cli/commands/proxy/connectors/desktop.d.ts +13 -3
- package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.js +47 -4
- package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
- package/dist/cli/commands/proxy/index.d.ts.map +1 -1
- package/dist/cli/commands/proxy/index.js +89 -52
- package/dist/cli/commands/proxy/index.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +2 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/shared/constants.d.ts +15 -0
- package/dist/cli/commands/shared/constants.d.ts.map +1 -0
- package/dist/cli/commands/shared/constants.js +10 -0
- package/dist/cli/commands/shared/constants.js.map +1 -0
- package/dist/cli/commands/shared/helpers.d.ts +12 -0
- package/dist/cli/commands/shared/helpers.d.ts.map +1 -0
- package/dist/cli/commands/shared/helpers.js +54 -0
- package/dist/cli/commands/shared/helpers.js.map +1 -0
- package/dist/cli/commands/shared/prompts/storage-scope.d.ts +6 -0
- package/dist/cli/commands/shared/prompts/storage-scope.d.ts.map +1 -0
- package/dist/cli/commands/shared/prompts/storage-scope.js +84 -0
- package/dist/cli/commands/shared/prompts/storage-scope.js.map +1 -0
- package/dist/cli/commands/shared/selection/actions.d.ts +40 -0
- package/dist/cli/commands/shared/selection/actions.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/actions.js +264 -0
- package/dist/cli/commands/shared/selection/actions.js.map +1 -0
- package/dist/cli/commands/shared/selection/constants.d.ts +68 -0
- package/dist/cli/commands/shared/selection/constants.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/constants.js +70 -0
- package/dist/cli/commands/shared/selection/constants.js.map +1 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.d.ts +16 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.js +276 -0
- package/dist/cli/commands/shared/selection/interactive-prompt.js.map +1 -0
- package/dist/cli/commands/shared/selection/types.d.ts +31 -0
- package/dist/cli/commands/shared/selection/types.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/types.js +2 -0
- package/dist/cli/commands/shared/selection/types.js.map +1 -0
- package/dist/cli/commands/shared/selection/ui.d.ts +9 -0
- package/dist/cli/commands/shared/selection/ui.d.ts.map +1 -0
- package/dist/cli/commands/shared/selection/ui.js +92 -0
- package/dist/cli/commands/shared/selection/ui.js.map +1 -0
- package/dist/cli/commands/skills/add.d.ts +9 -0
- package/dist/cli/commands/skills/add.d.ts.map +1 -0
- package/dist/cli/commands/skills/add.js +187 -0
- package/dist/cli/commands/skills/add.js.map +1 -0
- package/dist/cli/commands/skills/find.d.ts +17 -0
- package/dist/cli/commands/skills/find.d.ts.map +1 -0
- package/dist/cli/commands/skills/find.js +94 -0
- package/dist/cli/commands/skills/find.js.map +1 -0
- package/dist/cli/commands/skills/index.d.ts +10 -0
- package/dist/cli/commands/skills/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/index.js +23 -0
- package/dist/cli/commands/skills/index.js.map +1 -0
- package/dist/cli/commands/skills/lib/agent-detection.d.ts +27 -0
- package/dist/cli/commands/skills/lib/agent-detection.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/agent-detection.js +50 -0
- package/dist/cli/commands/skills/lib/agent-detection.js.map +1 -0
- package/dist/cli/commands/skills/lib/error-classify.d.ts +14 -0
- package/dist/cli/commands/skills/lib/error-classify.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/error-classify.js +64 -0
- package/dist/cli/commands/skills/lib/error-classify.js.map +1 -0
- package/dist/cli/commands/skills/lib/require-auth.d.ts +17 -0
- package/dist/cli/commands/skills/lib/require-auth.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/require-auth.js +44 -0
- package/dist/cli/commands/skills/lib/require-auth.js.map +1 -0
- package/dist/cli/commands/skills/lib/result-render.d.ts +26 -0
- package/dist/cli/commands/skills/lib/result-render.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/result-render.js +77 -0
- package/dist/cli/commands/skills/lib/result-render.js.map +1 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.d.ts +46 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.js +217 -0
- package/dist/cli/commands/skills/lib/run-skills-cli.js.map +1 -0
- package/dist/cli/commands/skills/lib/sanitize.d.ts +17 -0
- package/dist/cli/commands/skills/lib/sanitize.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/sanitize.js +73 -0
- package/dist/cli/commands/skills/lib/sanitize.js.map +1 -0
- package/dist/cli/commands/skills/lib/skills-metrics.d.ts +74 -0
- package/dist/cli/commands/skills/lib/skills-metrics.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/skills-metrics.js +268 -0
- package/dist/cli/commands/skills/lib/skills-metrics.js.map +1 -0
- package/dist/cli/commands/skills/lib/skills-search-client.d.ts +36 -0
- package/dist/cli/commands/skills/lib/skills-search-client.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/skills-search-client.js +147 -0
- package/dist/cli/commands/skills/lib/skills-search-client.js.map +1 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts +10 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts.map +1 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.js +33 -0
- package/dist/cli/commands/skills/lib/skills-sh-telemetry.js.map +1 -0
- package/dist/cli/commands/skills/list.d.ts +13 -0
- package/dist/cli/commands/skills/list.d.ts.map +1 -0
- package/dist/cli/commands/skills/list.js +55 -0
- package/dist/cli/commands/skills/list.js.map +1 -0
- package/dist/cli/commands/skills/remove.d.ts +11 -0
- package/dist/cli/commands/skills/remove.d.ts.map +1 -0
- package/dist/cli/commands/skills/remove.js +93 -0
- package/dist/cli/commands/skills/remove.js.map +1 -0
- package/dist/cli/commands/skills/setup/constants.d.ts +2 -0
- package/dist/cli/commands/skills/setup/constants.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/constants.js +2 -0
- package/dist/cli/commands/skills/setup/constants.js.map +1 -0
- package/dist/cli/commands/skills/setup/data.d.ts +28 -0
- package/dist/cli/commands/skills/setup/data.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/data.js +79 -0
- package/dist/cli/commands/skills/setup/data.js.map +1 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts +12 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js +94 -0
- package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js.map +1 -0
- package/dist/cli/commands/skills/setup/helpers.d.ts +12 -0
- package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/helpers.js +31 -0
- package/dist/cli/commands/skills/setup/helpers.js.map +1 -0
- package/dist/cli/commands/skills/setup/index.d.ts +5 -0
- package/dist/cli/commands/skills/setup/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/index.js +137 -0
- package/dist/cli/commands/skills/setup/index.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/actions.d.ts +2 -0
- package/dist/cli/commands/skills/setup/selection/actions.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/actions.js +2 -0
- package/dist/cli/commands/skills/setup/selection/actions.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/constants.d.ts +11 -0
- package/dist/cli/commands/skills/setup/selection/constants.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/constants.js +11 -0
- package/dist/cli/commands/skills/setup/selection/constants.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/index.d.ts +13 -0
- package/dist/cli/commands/skills/setup/selection/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/index.js +113 -0
- package/dist/cli/commands/skills/setup/selection/index.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts +2 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.js +2 -0
- package/dist/cli/commands/skills/setup/selection/interactive-prompt.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/types.d.ts +13 -0
- package/dist/cli/commands/skills/setup/selection/types.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/types.js +2 -0
- package/dist/cli/commands/skills/setup/selection/types.js.map +1 -0
- package/dist/cli/commands/skills/setup/selection/ui.d.ts +3 -0
- package/dist/cli/commands/skills/setup/selection/ui.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/selection/ui.js +68 -0
- package/dist/cli/commands/skills/setup/selection/ui.js.map +1 -0
- package/dist/cli/commands/skills/setup/sync.d.ts +13 -0
- package/dist/cli/commands/skills/setup/sync.d.ts.map +1 -0
- package/dist/cli/commands/skills/setup/sync.js +46 -0
- package/dist/cli/commands/skills/setup/sync.js.map +1 -0
- package/dist/cli/commands/skills/update.d.ts +7 -0
- package/dist/cli/commands/skills/update.d.ts.map +1 -0
- package/dist/cli/commands/skills/update.js +71 -0
- package/dist/cli/commands/skills/update.js.map +1 -0
- package/dist/cli/first-time.d.ts.map +1 -1
- package/dist/cli/first-time.js +4 -0
- package/dist/cli/first-time.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +14 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/providers/core/types.d.ts +1 -1
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.d.ts.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js +26 -2
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts +31 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +148 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +12 -13
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +15 -17
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +3 -3
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.models.js +2 -2
- package/dist/providers/plugins/sso/sso.models.js.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js +6 -10
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/utils/config.d.ts +14 -3
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +95 -5
- package/dist/utils/config.js.map +1 -1
- package/package.json +22 -10
- package/scripts/copy-plugins.js +5 -0
- package/scripts/sonar/package.json +3 -0
- package/scripts/sonar/run-local-sonar.js +405 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-commit.md +0 -31
- package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +0 -81
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts +0 -30
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts.map +0 -1
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js +0 -111
- package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-agent-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAoB;IAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,oBAAoB,GAAG,WAAW;SACrC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,OAAO,MAAM,CAAC;;YAEJ,SAAS,CAAC,IAAI;oBACN,oBAAoB;;;;GAIrC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,SAAoB;IAC9D,MAAM,QAAQ,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;IAE/E,OAAO,MAAM,CAAC;MACV,QAAQ;;QAEN,SAAS,CAAC,IAAI;;MAEhB,WAAW;;;;;;;;;;;;;;+BAcc,SAAS,CAAC,EAAE;;;;;;;+BAOZ,SAAS,CAAC,EAAE;;;;;;;+BAOZ,SAAS,CAAC,EAAE;;;;;+BAKZ,SAAS,CAAC,EAAE;;GAExC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"claude-agent-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-agent-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Assistant } from 'codemie-sdk';
|
|
2
2
|
/**
|
|
3
3
|
* Register an assistant as a Claude Code skill
|
|
4
|
-
* Creates: ~/.claude/skills/{slug}/SKILL.md
|
|
4
|
+
* Creates: ~/.claude/skills/{slug}/SKILL.md (global) or {cwd}/.claude/skills/{slug}/SKILL.md (local)
|
|
5
5
|
*/
|
|
6
|
-
export declare function registerClaudeSkill(assistant: Assistant): Promise<void>;
|
|
6
|
+
export declare function registerClaudeSkill(assistant: Assistant, scope?: 'global' | 'local', workingDir?: string): Promise<void>;
|
|
7
7
|
/**
|
|
8
8
|
* Unregister a Claude Code skill
|
|
9
|
-
* Removes: ~/.claude/skills/{slug}/
|
|
9
|
+
* Removes: ~/.claude/skills/{slug}/ (global) or {cwd}/.claude/skills/{slug}/ (local)
|
|
10
10
|
*/
|
|
11
|
-
export declare function unregisterClaudeSkill(slug: string): Promise<void>;
|
|
11
|
+
export declare function unregisterClaudeSkill(slug: string, scope?: 'global' | 'local', workingDir?: string): Promise<void>;
|
|
12
12
|
//# sourceMappingURL=claude-skill-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+E7C;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,GAAE,QAAQ,GAAG,OAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxI;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,GAAG,OAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlI"}
|
|
@@ -6,9 +6,11 @@ import { logger } from '../../../../../utils/logger.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* Get the skills directory path for Claude Code
|
|
8
8
|
*/
|
|
9
|
-
function getSkillsDir() {
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
function getSkillsDir(scope = 'global', workingDir) {
|
|
10
|
+
if (scope === 'local' && workingDir) {
|
|
11
|
+
return path.join(workingDir, '.claude', 'skills');
|
|
12
|
+
}
|
|
13
|
+
return path.join(os.homedir(), '.claude', 'skills');
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Create YAML frontmatter for Claude Code skill file
|
|
@@ -75,11 +77,11 @@ function createSkillContent(assistant) {
|
|
|
75
77
|
}
|
|
76
78
|
/**
|
|
77
79
|
* Register an assistant as a Claude Code skill
|
|
78
|
-
* Creates: ~/.claude/skills/{slug}/SKILL.md
|
|
80
|
+
* Creates: ~/.claude/skills/{slug}/SKILL.md (global) or {cwd}/.claude/skills/{slug}/SKILL.md (local)
|
|
79
81
|
*/
|
|
80
|
-
export async function registerClaudeSkill(assistant) {
|
|
82
|
+
export async function registerClaudeSkill(assistant, scope = 'global', workingDir) {
|
|
81
83
|
const slug = assistant.slug || assistant.id.toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
82
|
-
const skillsDir = getSkillsDir();
|
|
84
|
+
const skillsDir = getSkillsDir(scope, workingDir);
|
|
83
85
|
const skillDir = path.join(skillsDir, slug);
|
|
84
86
|
const skillFile = path.join(skillDir, 'SKILL.md');
|
|
85
87
|
try {
|
|
@@ -95,10 +97,10 @@ export async function registerClaudeSkill(assistant) {
|
|
|
95
97
|
}
|
|
96
98
|
/**
|
|
97
99
|
* Unregister a Claude Code skill
|
|
98
|
-
* Removes: ~/.claude/skills/{slug}/
|
|
100
|
+
* Removes: ~/.claude/skills/{slug}/ (global) or {cwd}/.claude/skills/{slug}/ (local)
|
|
99
101
|
*/
|
|
100
|
-
export async function unregisterClaudeSkill(slug) {
|
|
101
|
-
const skillsDir = getSkillsDir();
|
|
102
|
+
export async function unregisterClaudeSkill(slug, scope = 'global', workingDir) {
|
|
103
|
+
const skillsDir = getSkillsDir(scope, workingDir);
|
|
102
104
|
const skillDir = path.join(skillsDir, slug);
|
|
103
105
|
try {
|
|
104
106
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C;;GAEG;AACH,SAAS,YAAY;
|
|
1
|
+
{"version":3,"file":"claude-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Registration Operations Module
|
|
3
|
-
*
|
|
4
|
-
* Handles registration/unregistration business logic
|
|
5
|
-
*/
|
|
6
1
|
import type { Assistant, AssistantBase } from 'codemie-sdk';
|
|
7
2
|
import type { CodemieAssistant } from '../../../../env/types.js';
|
|
8
3
|
import type { RegistrationMode } from '../../../../cli/commands/assistants/setup/manualConfiguration/types.js';
|
|
4
|
+
import { executeWithSpinner } from '../../../../cli/commands/shared/helpers.js';
|
|
5
|
+
export { executeWithSpinner };
|
|
9
6
|
export interface RegistrationChanges {
|
|
10
7
|
toRegister: Assistant[];
|
|
11
8
|
toUnregister: CodemieAssistant[];
|
|
12
9
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Determine which assistants to register and unregister
|
|
15
|
-
*/
|
|
16
10
|
export declare function determineChanges(selectedIds: string[], allAssistants: (Assistant | AssistantBase)[], registeredAssistants: CodemieAssistant[]): RegistrationChanges;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* Removes both Claude agent and skill files
|
|
20
|
-
*/
|
|
21
|
-
export declare function unregisterAssistant(assistant: CodemieAssistant): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Register an assistant with specified registration mode
|
|
24
|
-
* @param mode - 'agent' (Claude agent only) or 'skill' (Claude skill only)
|
|
25
|
-
*/
|
|
26
|
-
export declare function registerAssistant(assistant: Assistant, mode?: RegistrationMode): Promise<CodemieAssistant | null>;
|
|
11
|
+
export declare function unregisterAssistant(assistant: CodemieAssistant, scope?: 'global' | 'local', workingDir?: string): Promise<void>;
|
|
12
|
+
export declare function registerAssistant(assistant: Assistant, mode?: RegistrationMode, scope?: 'global' | 'local', workingDir?: string): Promise<CodemieAssistant | null>;
|
|
27
13
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAErG,OAAO,EAAE,kBAAkB,EAAyC,MAAM,kCAAkC,CAAC;AAE7G,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,CAAC,SAAS,GAAG,aAAa,CAAC,EAAE,EAC5C,oBAAoB,EAAE,gBAAgB,EAAE,GACvC,mBAAmB,CAErB;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,GAAE,QAAQ,GAAG,OAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/I;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE,gBAA0C,EAChD,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAoClC"}
|
|
@@ -1,79 +1,29 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Registration Operations Module
|
|
3
|
-
*
|
|
4
|
-
* Handles registration/unregistration business logic
|
|
5
|
-
*/
|
|
6
1
|
import chalk from 'chalk';
|
|
7
|
-
import ora from 'ora';
|
|
8
2
|
import { logger } from '../../../../utils/logger.js';
|
|
9
3
|
import { MESSAGES } from '../../../../cli/commands/assistants/constants.js';
|
|
10
4
|
import { registerClaudeSubagent, unregisterClaudeSubagent } from '../../../../cli/commands/assistants/setup/generators/claude-agent-generator.js';
|
|
11
5
|
import { registerClaudeSkill, unregisterClaudeSkill } from '../../../../cli/commands/assistants/setup/generators/claude-skill-generator.js';
|
|
12
6
|
import { REGISTRATION_MODE } from '../../../../cli/commands/assistants/setup/manualConfiguration/constants.js';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*/
|
|
7
|
+
import { executeWithSpinner, determineChanges as _determineChanges } from '../../../../cli/commands/shared/helpers.js';
|
|
8
|
+
export { executeWithSpinner };
|
|
16
9
|
export function determineChanges(selectedIds, allAssistants, registeredAssistants) {
|
|
17
|
-
|
|
18
|
-
const registeredIds = new Set(registeredAssistants.map(a => a.id));
|
|
19
|
-
const toRegister = allAssistants.filter(a => selectedSet.has(a.id) && !registeredIds.has(a.id));
|
|
20
|
-
const toUnregister = registeredAssistants.filter(a => !selectedSet.has(a.id));
|
|
21
|
-
return { toRegister, toUnregister };
|
|
10
|
+
return _determineChanges(selectedIds, allAssistants, registeredAssistants);
|
|
22
11
|
}
|
|
23
|
-
|
|
24
|
-
* Execute assistant operation with spinner
|
|
25
|
-
*/
|
|
26
|
-
async function executeWithSpinner(spinnerMessage, operation, successMessage, errorMessage, onError) {
|
|
27
|
-
const isVerbose = process.env.CODEMIE_DEBUG === 'true';
|
|
28
|
-
const spinner = ora(spinnerMessage).start();
|
|
29
|
-
try {
|
|
30
|
-
const result = await operation();
|
|
31
|
-
if (isVerbose) {
|
|
32
|
-
spinner.succeed(chalk.green(successMessage));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
spinner.clear();
|
|
36
|
-
spinner.stop();
|
|
37
|
-
}
|
|
38
|
-
return result;
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
if (isVerbose) {
|
|
42
|
-
spinner.fail(chalk.red(errorMessage));
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
spinner.clear();
|
|
46
|
-
spinner.stop();
|
|
47
|
-
}
|
|
48
|
-
if (onError) {
|
|
49
|
-
onError(error);
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Unregister an assistant
|
|
56
|
-
* Removes both Claude agent and skill files
|
|
57
|
-
*/
|
|
58
|
-
export async function unregisterAssistant(assistant) {
|
|
12
|
+
export async function unregisterAssistant(assistant, scope = 'global', workingDir) {
|
|
59
13
|
await executeWithSpinner(MESSAGES.SETUP.SPINNER_UNREGISTERING(chalk.bold(assistant.name)), async () => {
|
|
60
|
-
await unregisterClaudeSubagent(assistant.slug);
|
|
61
|
-
await unregisterClaudeSkill(assistant.slug);
|
|
14
|
+
await unregisterClaudeSubagent(assistant.slug, scope, workingDir);
|
|
15
|
+
await unregisterClaudeSkill(assistant.slug, scope, workingDir);
|
|
62
16
|
}, MESSAGES.SETUP.SUCCESS_UNREGISTERED(chalk.bold(assistant.name), chalk.cyan(assistant.slug)), MESSAGES.SETUP.ERROR_UNREGISTER_FAILED(assistant.name), (error) => logger.error('Assistant removal failed', { error, assistantId: assistant.id }));
|
|
63
17
|
}
|
|
64
|
-
|
|
65
|
-
* Register an assistant with specified registration mode
|
|
66
|
-
* @param mode - 'agent' (Claude agent only) or 'skill' (Claude skill only)
|
|
67
|
-
*/
|
|
68
|
-
export async function registerAssistant(assistant, mode = REGISTRATION_MODE.AGENT) {
|
|
18
|
+
export async function registerAssistant(assistant, mode = REGISTRATION_MODE.AGENT, scope = 'global', workingDir) {
|
|
69
19
|
const modeLabel = mode === REGISTRATION_MODE.SKILL ? 'skill' : 'agent';
|
|
70
20
|
const result = await executeWithSpinner(MESSAGES.SETUP.SPINNER_REGISTERING(chalk.bold(assistant.name)), async () => {
|
|
71
21
|
switch (mode) {
|
|
72
22
|
case REGISTRATION_MODE.AGENT:
|
|
73
|
-
await registerClaudeSubagent(assistant);
|
|
23
|
+
await registerClaudeSubagent(assistant, scope, workingDir);
|
|
74
24
|
break;
|
|
75
25
|
case REGISTRATION_MODE.SKILL:
|
|
76
|
-
await registerClaudeSkill(assistant);
|
|
26
|
+
await registerClaudeSkill(assistant, scope, workingDir);
|
|
77
27
|
break;
|
|
78
28
|
}
|
|
79
29
|
return assistant.slug;
|
|
@@ -88,7 +38,7 @@ export async function registerAssistant(assistant, mode = REGISTRATION_MODE.AGEN
|
|
|
88
38
|
description: assistant.description,
|
|
89
39
|
project: assistant.project,
|
|
90
40
|
registeredAt: new Date().toISOString(),
|
|
91
|
-
registrationMode: mode
|
|
41
|
+
registrationMode: mode,
|
|
92
42
|
};
|
|
93
43
|
}
|
|
94
44
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/helpers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Setup Assistants Command - Orchestration
|
|
3
|
-
*
|
|
4
|
-
* Unified command to view, register, and unregister CodeMie assistants
|
|
5
|
-
*/
|
|
6
1
|
import { Command } from 'commander';
|
|
7
2
|
export interface SetupCommandOptions {
|
|
8
3
|
profile?: string;
|
|
@@ -10,8 +5,5 @@ export interface SetupCommandOptions {
|
|
|
10
5
|
allProjects?: boolean;
|
|
11
6
|
verbose?: boolean;
|
|
12
7
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Create assistants setup command
|
|
15
|
-
*/
|
|
16
8
|
export declare function createAssistantsSetupCommand(): Command;
|
|
17
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,4BAA4B,IAAI,OAAO,CAsBtD"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Setup Assistants Command - Orchestration
|
|
3
|
-
*
|
|
4
|
-
* Unified command to view, register, and unregister CodeMie assistants
|
|
5
|
-
*/
|
|
6
1
|
import { Command } from 'commander';
|
|
7
2
|
import chalk from 'chalk';
|
|
8
3
|
import { logger } from '../../../../utils/logger.js';
|
|
9
4
|
import { ConfigLoader } from '../../../../utils/config.js';
|
|
10
|
-
import { createErrorContext, formatErrorForUser } from '../../../../utils/errors.js';
|
|
11
5
|
import { MESSAGES, ACTIONS } from '../../../../cli/commands/assistants/constants.js';
|
|
12
6
|
import { getAuthenticatedClient } from '../../../../utils/auth.js';
|
|
13
7
|
import { promptAssistantSelection } from '../../../../cli/commands/assistants/setup/selection/index.js';
|
|
@@ -18,9 +12,8 @@ import { promptManualConfiguration } from '../../../../cli/commands/assistants/s
|
|
|
18
12
|
import { REGISTRATION_MODE } from '../../../../cli/commands/assistants/setup/manualConfiguration/constants.js';
|
|
19
13
|
import { displaySummary } from '../../../../cli/commands/assistants/setup/summary/index.js';
|
|
20
14
|
import { ACTION_TYPE } from '../../../../cli/commands/assistants/setup/constants.js';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*/
|
|
15
|
+
import { enableVerboseLogging, handleSetupError } from '../../../../cli/commands/shared/helpers.js';
|
|
16
|
+
import { promptStorageScope } from '../../../../cli/commands/shared/prompts/storage-scope.js';
|
|
24
17
|
export function createAssistantsSetupCommand() {
|
|
25
18
|
const command = new Command('setup');
|
|
26
19
|
command
|
|
@@ -37,167 +30,55 @@ export function createAssistantsSetupCommand() {
|
|
|
37
30
|
await setupAssistants(options);
|
|
38
31
|
}
|
|
39
32
|
catch (error) {
|
|
40
|
-
|
|
33
|
+
handleSetupError(error, 'setup assistants');
|
|
41
34
|
}
|
|
42
35
|
});
|
|
43
36
|
return command;
|
|
44
37
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Enable verbose debug logging
|
|
47
|
-
*/
|
|
48
|
-
function enableVerboseLogging() {
|
|
49
|
-
process.env.CODEMIE_DEBUG = 'true';
|
|
50
|
-
const logFilePath = logger.getLogFilePath();
|
|
51
|
-
if (logFilePath) {
|
|
52
|
-
console.log(chalk.dim(`Debug logs: ${logFilePath}\n`));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Handle command errors
|
|
57
|
-
*/
|
|
58
|
-
function handleError(error) {
|
|
59
|
-
const context = createErrorContext(error);
|
|
60
|
-
logger.error('Failed to setup assistants', context);
|
|
61
|
-
console.error(formatErrorForUser(context));
|
|
62
|
-
process.exit(1);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Prompt user to choose where to save assistant configuration.
|
|
66
|
-
* Implemented as a raw-mode TUI (same as promptModeSelection) to avoid
|
|
67
|
-
* stdin state issues after the custom TUI prompts that precede it.
|
|
68
|
-
*/
|
|
69
|
-
async function promptStorageScope() {
|
|
70
|
-
const ANSI = {
|
|
71
|
-
CLEAR_SCREEN: '\x1B[2J\x1B[H',
|
|
72
|
-
HIDE_CURSOR: '\x1B[?25l',
|
|
73
|
-
SHOW_CURSOR: '\x1B[?25h',
|
|
74
|
-
};
|
|
75
|
-
const KEY = {
|
|
76
|
-
UP: '\x1B[A',
|
|
77
|
-
DOWN: '\x1B[B',
|
|
78
|
-
ENTER: '\r',
|
|
79
|
-
ESC: '\x1B',
|
|
80
|
-
CTRL_C: '\x03',
|
|
81
|
-
};
|
|
82
|
-
const choices = ['global', 'local'];
|
|
83
|
-
let selectedIndex = 0;
|
|
84
|
-
function renderUI() {
|
|
85
|
-
const lines = [
|
|
86
|
-
'',
|
|
87
|
-
` ${MESSAGES.SETUP.PROMPT_STORAGE_SCOPE}`,
|
|
88
|
-
'',
|
|
89
|
-
];
|
|
90
|
-
choices.forEach((choice, i) => {
|
|
91
|
-
const marker = i === selectedIndex ? chalk.cyan('●') : chalk.dim('○');
|
|
92
|
-
const label = choice === 'global'
|
|
93
|
-
? `${chalk.cyan('Global')} ${chalk.dim(MESSAGES.SETUP.STORAGE_GLOBAL_LABEL)}`
|
|
94
|
-
: `${chalk.yellow('Local')} ${chalk.dim(MESSAGES.SETUP.STORAGE_LOCAL_LABEL)}`;
|
|
95
|
-
lines.push(` ${marker} ${label}`);
|
|
96
|
-
});
|
|
97
|
-
lines.push('');
|
|
98
|
-
lines.push(chalk.dim(' ↑↓ Navigate Enter Confirm'));
|
|
99
|
-
if (selectedIndex === 1) {
|
|
100
|
-
lines.push('');
|
|
101
|
-
lines.push(chalk.dim(` ${MESSAGES.SETUP.STORAGE_LOCAL_NOTE}`));
|
|
102
|
-
}
|
|
103
|
-
lines.push('');
|
|
104
|
-
return lines.join('\n');
|
|
105
|
-
}
|
|
106
|
-
return new Promise((resolve) => {
|
|
107
|
-
let keepAliveTimer = null;
|
|
108
|
-
function cleanup() {
|
|
109
|
-
if (keepAliveTimer) {
|
|
110
|
-
clearInterval(keepAliveTimer);
|
|
111
|
-
keepAliveTimer = null;
|
|
112
|
-
}
|
|
113
|
-
process.stdin.setRawMode(false);
|
|
114
|
-
process.stdin.pause();
|
|
115
|
-
process.stdin.removeAllListeners('data');
|
|
116
|
-
process.stdout.write(ANSI.SHOW_CURSOR + ANSI.CLEAR_SCREEN);
|
|
117
|
-
}
|
|
118
|
-
function stop(choice) {
|
|
119
|
-
cleanup();
|
|
120
|
-
resolve(choice);
|
|
121
|
-
}
|
|
122
|
-
function render() {
|
|
123
|
-
process.stdout.write(ANSI.CLEAR_SCREEN + ANSI.HIDE_CURSOR + renderUI());
|
|
124
|
-
}
|
|
125
|
-
process.stdin.setRawMode(true);
|
|
126
|
-
process.stdin.resume();
|
|
127
|
-
process.stdin.setEncoding('utf8');
|
|
128
|
-
process.stdin.on('data', (key) => {
|
|
129
|
-
switch (key) {
|
|
130
|
-
case KEY.UP:
|
|
131
|
-
selectedIndex = Math.max(0, selectedIndex - 1);
|
|
132
|
-
render();
|
|
133
|
-
break;
|
|
134
|
-
case KEY.DOWN:
|
|
135
|
-
selectedIndex = Math.min(choices.length - 1, selectedIndex + 1);
|
|
136
|
-
render();
|
|
137
|
-
break;
|
|
138
|
-
case KEY.ENTER:
|
|
139
|
-
stop(choices[selectedIndex]);
|
|
140
|
-
break;
|
|
141
|
-
case KEY.ESC:
|
|
142
|
-
case KEY.CTRL_C:
|
|
143
|
-
stop('global');
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
keepAliveTimer = setInterval(() => { }, 60000);
|
|
148
|
-
render();
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Setup assistants - unified list/register/unregister
|
|
153
|
-
*/
|
|
154
38
|
async function setupAssistants(options) {
|
|
155
|
-
// Load config and profile
|
|
156
|
-
const config = await ConfigLoader.load();
|
|
157
39
|
const profileName = options.profile || await ConfigLoader.getActiveProfileName() || 'default';
|
|
40
|
+
const workingDir = process.cwd();
|
|
158
41
|
logger.debug('Setting up assistants', { profileName, options });
|
|
159
|
-
|
|
42
|
+
const storageScope = await promptStorageScope({
|
|
43
|
+
title: MESSAGES.SETUP.PROMPT_STORAGE_SCOPE,
|
|
44
|
+
localNote: MESSAGES.SETUP.STORAGE_LOCAL_NOTE,
|
|
45
|
+
});
|
|
46
|
+
const config = await ConfigLoader.load(workingDir, { name: profileName });
|
|
160
47
|
const client = await getAuthenticatedClient(config);
|
|
161
|
-
|
|
48
|
+
const registeredAssistants = await ConfigLoader.loadAssistantsByScope(storageScope, workingDir, profileName);
|
|
49
|
+
config.codemieAssistants = registeredAssistants;
|
|
162
50
|
const { selectedIds, action } = await promptAssistantSelection(config, options, client);
|
|
163
51
|
if (action === ACTIONS.CANCEL) {
|
|
164
52
|
console.log(chalk.dim(MESSAGES.SETUP.NO_CHANGES_MADE));
|
|
165
53
|
return;
|
|
166
54
|
}
|
|
167
|
-
// Fetch full details for selected assistants
|
|
168
55
|
const fetcher = createDataFetcher({ config, client, options });
|
|
169
56
|
const selectedAssistants = await fetcher.fetchAssistantsByIds(selectedIds, []);
|
|
170
|
-
// Configure registration modes (skip if no assistants selected)
|
|
171
57
|
let registrationModes = new Map();
|
|
172
58
|
if (selectedAssistants.length > 0) {
|
|
173
|
-
// Loop to allow going back
|
|
174
59
|
let configurationComplete = false;
|
|
175
60
|
while (!configurationComplete) {
|
|
176
|
-
// Step 1: Show mode selection screen (Subagents, Skills, Manual)
|
|
177
61
|
const { choice, cancelled, back } = await promptModeSelection();
|
|
178
62
|
if (cancelled) {
|
|
179
63
|
console.log(chalk.dim(MESSAGES.SETUP.NO_CHANGES_MADE));
|
|
180
64
|
return;
|
|
181
65
|
}
|
|
182
66
|
if (back) {
|
|
183
|
-
// Go back to selection screen
|
|
184
67
|
return setupAssistants(options);
|
|
185
68
|
}
|
|
186
|
-
|
|
187
|
-
if (choice === CONFIGURATION_CHOICE.SUBAGENTS) { // Bulk register all as agents
|
|
69
|
+
if (choice === CONFIGURATION_CHOICE.SUBAGENTS) {
|
|
188
70
|
for (const assistant of selectedAssistants) {
|
|
189
71
|
registrationModes.set(assistant.id, REGISTRATION_MODE.AGENT);
|
|
190
72
|
}
|
|
191
73
|
configurationComplete = true;
|
|
192
74
|
}
|
|
193
|
-
else if (choice === CONFIGURATION_CHOICE.SKILLS) {
|
|
75
|
+
else if (choice === CONFIGURATION_CHOICE.SKILLS) {
|
|
194
76
|
for (const assistant of selectedAssistants) {
|
|
195
77
|
registrationModes.set(assistant.id, REGISTRATION_MODE.SKILL);
|
|
196
78
|
}
|
|
197
79
|
configurationComplete = true;
|
|
198
80
|
}
|
|
199
|
-
else {
|
|
200
|
-
const registeredAssistants = config.codemieAssistants || [];
|
|
81
|
+
else {
|
|
201
82
|
const registeredIds = new Set(registeredAssistants.map(a => a.id));
|
|
202
83
|
const { registrationModes: modes, action: configAction } = await promptManualConfiguration(selectedAssistants, registeredIds, registeredAssistants);
|
|
203
84
|
if (configAction === ACTION_TYPE.CANCEL) {
|
|
@@ -205,7 +86,6 @@ async function setupAssistants(options) {
|
|
|
205
86
|
return;
|
|
206
87
|
}
|
|
207
88
|
if (configAction === ACTION_TYPE.BACK) {
|
|
208
|
-
// Go back to configuration mode selection
|
|
209
89
|
continue;
|
|
210
90
|
}
|
|
211
91
|
registrationModes = modes;
|
|
@@ -213,19 +93,12 @@ async function setupAssistants(options) {
|
|
|
213
93
|
}
|
|
214
94
|
}
|
|
215
95
|
}
|
|
216
|
-
|
|
217
|
-
const storageScope = await promptStorageScope();
|
|
218
|
-
// Apply changes and get summary data
|
|
219
|
-
const { newRegistrations, registered, unregistered } = await applyChanges(selectedIds, selectedAssistants, config.codemieAssistants || [], registrationModes);
|
|
220
|
-
// Always reflect new state in config for display purposes
|
|
96
|
+
const { newRegistrations, registered, unregistered } = await applyChanges(selectedIds, selectedAssistants, registeredAssistants, registrationModes, storageScope, workingDir);
|
|
221
97
|
config.codemieAssistants = newRegistrations;
|
|
222
|
-
// Skip saving (and showing configLocation) when nothing changed
|
|
223
98
|
if (registered.length === 0 && unregistered.length === 0) {
|
|
224
99
|
displaySummary(registered, unregistered, profileName, config);
|
|
225
100
|
return;
|
|
226
101
|
}
|
|
227
|
-
// Save to the appropriate config location
|
|
228
|
-
const workingDir = process.cwd();
|
|
229
102
|
let configLocation;
|
|
230
103
|
if (storageScope === 'local') {
|
|
231
104
|
await ConfigLoader.saveAssistantsToProjectConfig(workingDir, profileName, newRegistrations);
|
|
@@ -235,15 +108,9 @@ async function setupAssistants(options) {
|
|
|
235
108
|
await ConfigLoader.saveProfile(profileName, config);
|
|
236
109
|
configLocation = `global (~/.codemie/codemie-cli.config.json)`;
|
|
237
110
|
}
|
|
238
|
-
// Display summary
|
|
239
111
|
displaySummary(registered, unregistered, profileName, config, configLocation);
|
|
240
112
|
}
|
|
241
|
-
|
|
242
|
-
* Apply registration changes
|
|
243
|
-
* Returns new registrations and lists of what changed
|
|
244
|
-
*/
|
|
245
|
-
async function applyChanges(selectedIds, allAssistants, registeredAssistants, registrationModes) {
|
|
246
|
-
// Determine what needs to change
|
|
113
|
+
async function applyChanges(selectedIds, allAssistants, registeredAssistants, registrationModes, scope = 'global', workingDir) {
|
|
247
114
|
const { toRegister, toUnregister } = determineChanges(selectedIds, allAssistants, registeredAssistants);
|
|
248
115
|
const selectedSet = new Set(selectedIds);
|
|
249
116
|
const toReregister = registeredAssistants.filter(a => selectedSet.has(a.id));
|
|
@@ -251,12 +118,9 @@ async function applyChanges(selectedIds, allAssistants, registeredAssistants, re
|
|
|
251
118
|
console.log(chalk.yellow(MESSAGES.SETUP.NO_CHANGES_TO_APPLY));
|
|
252
119
|
return { newRegistrations: registeredAssistants, registered: [], unregistered: [] };
|
|
253
120
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
for (const assistant of toUnregisterAll) {
|
|
257
|
-
await unregisterAssistant(assistant);
|
|
121
|
+
for (const assistant of [...toUnregister, ...toReregister]) {
|
|
122
|
+
await unregisterAssistant(assistant, scope, workingDir);
|
|
258
123
|
}
|
|
259
|
-
// Register all selected assistants with their configured modes
|
|
260
124
|
const newRegistrations = [];
|
|
261
125
|
const allToRegister = [...toRegister, ...toReregister];
|
|
262
126
|
for (const assistant of allToRegister) {
|
|
@@ -264,31 +128,23 @@ async function applyChanges(selectedIds, allAssistants, registeredAssistants, re
|
|
|
264
128
|
if (!fullAssistant)
|
|
265
129
|
continue;
|
|
266
130
|
const mode = registrationModes.get(fullAssistant.id) || REGISTRATION_MODE.AGENT;
|
|
267
|
-
const registered = await registerAssistant(fullAssistant, mode);
|
|
131
|
+
const registered = await registerAssistant(fullAssistant, mode, scope, workingDir);
|
|
268
132
|
if (registered) {
|
|
269
133
|
newRegistrations.push(registered);
|
|
270
134
|
}
|
|
271
135
|
}
|
|
272
|
-
// Return results for summary
|
|
273
136
|
return {
|
|
274
137
|
newRegistrations,
|
|
275
138
|
registered: [...toRegister, ...getFullAssistants(toReregister, allAssistants)],
|
|
276
|
-
unregistered: toUnregister
|
|
139
|
+
unregistered: toUnregister,
|
|
277
140
|
};
|
|
278
141
|
}
|
|
279
|
-
/**
|
|
280
|
-
* Get full assistant details from the list
|
|
281
|
-
*/
|
|
282
142
|
function getFullAssistant(assistant, allAssistants) {
|
|
283
|
-
// Check if it's already a full Assistant (has registeredAt = it's a CodemieAssistant)
|
|
284
143
|
if ('registeredAt' in assistant) {
|
|
285
144
|
return allAssistants.find(a => a.id === assistant.id) || null;
|
|
286
145
|
}
|
|
287
146
|
return assistant;
|
|
288
147
|
}
|
|
289
|
-
/**
|
|
290
|
-
* Get full assistant details for multiple assistants
|
|
291
|
-
*/
|
|
292
148
|
function getFullAssistants(assistants, allAssistants) {
|
|
293
149
|
return assistants
|
|
294
150
|
.map(a => getFullAssistant(a, allAssistants))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/setup/index.ts"],"names":[],"mappings":"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"}
|