@codemieai/code 0.0.40 → 0.0.41

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.
Files changed (75) hide show
  1. package/README.md +2 -3
  2. package/bin/codemie-opencode.js +8 -1
  3. package/dist/agents/codemie-code/skills/index.d.ts +4 -0
  4. package/dist/agents/codemie-code/skills/index.d.ts.map +1 -1
  5. package/dist/agents/codemie-code/skills/index.js +4 -0
  6. package/dist/agents/codemie-code/skills/index.js.map +1 -1
  7. package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts +52 -0
  8. package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +1 -0
  9. package/dist/agents/codemie-code/skills/sync/SkillSync.js +165 -0
  10. package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +1 -0
  11. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  12. package/dist/agents/core/AgentCLI.js +17 -14
  13. package/dist/agents/core/AgentCLI.js.map +1 -1
  14. package/dist/agents/core/BaseAgentAdapter.d.ts +10 -1
  15. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  16. package/dist/agents/core/BaseAgentAdapter.js +126 -3
  17. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  18. package/dist/agents/core/types.d.ts +10 -0
  19. package/dist/agents/core/types.d.ts.map +1 -1
  20. package/dist/agents/plugins/claude/claude.plugin.d.ts +1 -8
  21. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  22. package/dist/agents/plugins/claude/claude.plugin.js +95 -100
  23. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  24. package/dist/agents/plugins/claude/plugin/codemie-statusline.mjs +42 -0
  25. package/dist/agents/plugins/codemie-code-binary.d.ts +17 -0
  26. package/dist/agents/plugins/codemie-code-binary.d.ts.map +1 -0
  27. package/dist/agents/plugins/codemie-code-binary.js +94 -0
  28. package/dist/agents/plugins/codemie-code-binary.js.map +1 -0
  29. package/dist/agents/plugins/codemie-code.plugin.d.ts +53 -12
  30. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  31. package/dist/agents/plugins/codemie-code.plugin.js +359 -147
  32. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  33. package/dist/agents/plugins/gemini/gemini.plugin.d.ts +8 -0
  34. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  35. package/dist/agents/plugins/gemini/gemini.plugin.js +44 -0
  36. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  37. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts +12 -2
  38. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
  39. package/dist/agents/plugins/opencode/opencode-model-configs.js +240 -24
  40. package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
  41. package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
  42. package/dist/agents/plugins/opencode/opencode.plugin.js +62 -24
  43. package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
  44. package/dist/agents/registry.d.ts.map +1 -1
  45. package/dist/agents/registry.js +8 -7
  46. package/dist/agents/registry.js.map +1 -1
  47. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
  48. package/dist/cli/commands/doctor/checks/AgentsCheck.js +5 -2
  49. package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
  50. package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts.map +1 -1
  51. package/dist/cli/commands/doctor/checks/FrameworksCheck.js +5 -2
  52. package/dist/cli/commands/doctor/checks/FrameworksCheck.js.map +1 -1
  53. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  54. package/dist/cli/commands/doctor/index.js +87 -91
  55. package/dist/cli/commands/doctor/index.js.map +1 -1
  56. package/dist/cli/commands/hook.d.ts.map +1 -1
  57. package/dist/cli/commands/hook.js +23 -0
  58. package/dist/cli/commands/hook.js.map +1 -1
  59. package/dist/cli/commands/skill.d.ts.map +1 -1
  60. package/dist/cli/commands/skill.js +80 -1
  61. package/dist/cli/commands/skill.js.map +1 -1
  62. package/dist/cli/index.js +7 -13
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/providers/plugins/sso/sso.auth.d.ts +3 -1
  65. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  66. package/dist/providers/plugins/sso/sso.auth.js +70 -12
  67. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  68. package/dist/utils/logger.d.ts +1 -0
  69. package/dist/utils/logger.d.ts.map +1 -1
  70. package/dist/utils/logger.js +16 -1
  71. package/dist/utils/logger.js.map +1 -1
  72. package/dist/utils/native-installer.d.ts.map +1 -1
  73. package/dist/utils/native-installer.js +35 -0
  74. package/dist/utils/native-installer.js.map +1 -1
  75. package/package.json +2 -1
package/README.md CHANGED
@@ -90,7 +90,7 @@ npm install @codemieai/code
90
90
  npx @codemieai/code --help
91
91
  ```
92
92
 
93
- **Note:** Agent shortcuts (`codemie-claude`, `codemie-code`, etc.) require global installation.
93
+ **Note:** Agent shortcuts (`codemie-claude`, `codemie-code`, `codemie-opencode`, etc.) require global installation.
94
94
 
95
95
  ### From Source
96
96
 
@@ -154,7 +154,6 @@ codemie-gemini "Implement a REST API"
154
154
 
155
155
  # Install OpenCode
156
156
  codemie install opencode
157
- codemie-opencode "Generate unit tests for my service"
158
157
 
159
158
  # Install Claude Code ACP (for IDE integration)
160
159
  codemie install claude-acp
@@ -239,7 +238,7 @@ These commands analyze your actual codebase to create tailored documentation and
239
238
 
240
239
  ### OpenCode Session Metrics
241
240
 
242
- When using OpenCode (`codemie-opencode`), CodeMie automatically extracts and tracks session metrics:
241
+ When using OpenCode, CodeMie automatically extracts and tracks session metrics:
243
242
 
244
243
  **Manual Metrics Processing:**
245
244
  ```bash
@@ -1,11 +1,18 @@
1
1
  #!/usr/bin/env node
2
+
3
+ /**
4
+ * OpenCode Agent Entry Point
5
+ * Direct entry point for codemie-opencode command
6
+ */
7
+
2
8
  import { AgentCLI } from '../dist/agents/core/AgentCLI.js';
3
9
  import { AgentRegistry } from '../dist/agents/registry.js';
4
10
 
5
11
  const agent = AgentRegistry.getAgent('opencode');
6
12
  if (!agent) {
7
- console.error('OpenCode agent not found. Run: codemie doctor');
13
+ console.error('OpenCode agent not found in registry');
8
14
  process.exit(1);
9
15
  }
16
+
10
17
  const cli = new AgentCLI(agent);
11
18
  await cli.run(process.argv);
@@ -5,8 +5,12 @@
5
5
  */
6
6
  export { SkillManager } from './core/SkillManager.js';
7
7
  export { SkillDiscovery } from './core/SkillDiscovery.js';
8
+ export { SkillSync } from './sync/SkillSync.js';
9
+ export type { SyncOptions, SyncResult } from './sync/SkillSync.js';
8
10
  export type { Skill, SkillMetadata, SkillSource, SkillParseResult, SkillDiscoveryOptions, SkillValidationResult, SkillsConfig, } from './core/types.js';
9
11
  export { SkillMetadataSchema } from './core/types.js';
10
12
  export { parseFrontmatter, hasFrontmatter, extractMetadata, extractContent, FrontmatterParseError, } from './utils/frontmatter.js';
11
13
  export type { FrontmatterResult } from './utils/frontmatter.js';
14
+ export { extractSkillPatterns, isValidSkillName, } from './utils/pattern-matcher.js';
15
+ export type { SkillPattern, PatternMatchResult } from './utils/pattern-matcher.js';
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/skills/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,YAAY,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/skills/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGnE,YAAY,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -6,7 +6,11 @@
6
6
  // Core exports
7
7
  export { SkillManager } from './core/SkillManager.js';
8
8
  export { SkillDiscovery } from './core/SkillDiscovery.js';
9
+ // Sync exports
10
+ export { SkillSync } from './sync/SkillSync.js';
9
11
  export { SkillMetadataSchema } from './core/types.js';
10
12
  // Utility exports
11
13
  export { parseFrontmatter, hasFrontmatter, extractMetadata, extractContent, FrontmatterParseError, } from './utils/frontmatter.js';
14
+ // Pattern matcher exports
15
+ export { extractSkillPatterns, isValidSkillName, } from './utils/pattern-matcher.js';
12
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/skills/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAY1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/skills/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAahD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAIhC,0BAA0B;AAC1B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Options for skill sync operation
3
+ */
4
+ export interface SyncOptions {
5
+ /** Project working directory */
6
+ cwd?: string;
7
+ /** Remove orphaned synced skills */
8
+ clean?: boolean;
9
+ /** Preview without writing */
10
+ dryRun?: boolean;
11
+ }
12
+ /**
13
+ * Result of a sync operation
14
+ */
15
+ export interface SyncResult {
16
+ /** Skills copied/updated */
17
+ synced: string[];
18
+ /** Skills unchanged (up-to-date) */
19
+ skipped: string[];
20
+ /** Skills cleaned up (--clean) */
21
+ removed: string[];
22
+ /** Non-fatal errors */
23
+ errors: string[];
24
+ }
25
+ /**
26
+ * Sync CodeMie-managed skills into Claude Code's .claude/skills/ directory.
27
+ *
28
+ * Uses SkillManager to discover ALL skills from ALL sources (project, global,
29
+ * plugin, mode-specific) and copies entire skill directories (SKILL.md +
30
+ * reference files) to the target. Tracks synced state via a manifest file
31
+ * for incremental sync (mtime comparison).
32
+ */
33
+ export declare class SkillSync {
34
+ private readonly MANIFEST_FILE;
35
+ /**
36
+ * Sync all CodeMie skills to .claude/skills/
37
+ */
38
+ syncToClaude(options?: SyncOptions): Promise<SyncResult>;
39
+ /**
40
+ * Load sync manifest from target directory
41
+ */
42
+ private loadManifest;
43
+ /**
44
+ * Save sync manifest to target directory
45
+ */
46
+ private saveManifest;
47
+ /**
48
+ * Recursively copy a directory
49
+ */
50
+ private copyDirectory;
51
+ }
52
+ //# sourceMappingURL=SkillSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillSync.d.ts","sourceRoot":"","sources":["../../../../../src/agents/codemie-code/skills/sync/SkillSync.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uBAAuB;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA0BD;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD;;OAEG;IACG,YAAY,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyHlE;;OAEG;YACW,YAAY;IAe1B;;OAEG;YACW,YAAY;IAK1B;;OAEG;YACW,aAAa;CAoB5B"}
@@ -0,0 +1,165 @@
1
+ import { readdir, stat, mkdir, copyFile, readFile, writeFile, rm } from 'fs/promises';
2
+ import { existsSync } from 'fs';
3
+ import { join, dirname } from 'path';
4
+ import { logger } from '../../../../utils/logger.js';
5
+ import { SkillManager } from '../core/SkillManager.js';
6
+ /**
7
+ * Sync CodeMie-managed skills into Claude Code's .claude/skills/ directory.
8
+ *
9
+ * Uses SkillManager to discover ALL skills from ALL sources (project, global,
10
+ * plugin, mode-specific) and copies entire skill directories (SKILL.md +
11
+ * reference files) to the target. Tracks synced state via a manifest file
12
+ * for incremental sync (mtime comparison).
13
+ */
14
+ export class SkillSync {
15
+ MANIFEST_FILE = '.codemie-sync.json';
16
+ /**
17
+ * Sync all CodeMie skills to .claude/skills/
18
+ */
19
+ async syncToClaude(options = {}) {
20
+ const { cwd = process.cwd(), clean = false, dryRun = false } = options;
21
+ const result = {
22
+ synced: [],
23
+ skipped: [],
24
+ removed: [],
25
+ errors: [],
26
+ };
27
+ const targetBase = join(cwd, '.claude', 'skills');
28
+ try {
29
+ // Discover all skills
30
+ const manager = SkillManager.getInstance();
31
+ manager.reload(); // Force fresh discovery
32
+ const skills = await manager.listSkills({ cwd });
33
+ if (skills.length === 0) {
34
+ logger.debug('[SkillSync] No skills discovered, nothing to sync');
35
+ return result;
36
+ }
37
+ // Ensure target directory exists
38
+ if (!dryRun) {
39
+ await mkdir(targetBase, { recursive: true });
40
+ }
41
+ // Load existing manifest
42
+ const manifest = await this.loadManifest(targetBase);
43
+ // Track which skill names we process (for clean-up)
44
+ const processedNames = new Set();
45
+ // Sync each skill
46
+ for (const skill of skills) {
47
+ const skillName = skill.metadata.name;
48
+ processedNames.add(skillName);
49
+ const sourceDir = dirname(skill.filePath);
50
+ const targetDir = join(targetBase, skillName);
51
+ try {
52
+ // Check if sync is needed (mtime comparison)
53
+ const sourceStat = await stat(skill.filePath);
54
+ const manifestEntry = manifest.skills[skillName];
55
+ if (manifestEntry &&
56
+ manifestEntry.sourcePath === skill.filePath &&
57
+ manifestEntry.mtimeMs === sourceStat.mtimeMs) {
58
+ result.skipped.push(skillName);
59
+ continue;
60
+ }
61
+ if (dryRun) {
62
+ result.synced.push(skillName);
63
+ continue;
64
+ }
65
+ // Copy entire source directory to target
66
+ await this.copyDirectory(sourceDir, targetDir);
67
+ // Update manifest entry
68
+ manifest.skills[skillName] = {
69
+ source: skill.source,
70
+ sourcePath: skill.filePath,
71
+ syncedAt: new Date().toISOString(),
72
+ mtimeMs: sourceStat.mtimeMs,
73
+ };
74
+ result.synced.push(skillName);
75
+ logger.debug(`[SkillSync] Synced: ${skillName} (${skill.source})`);
76
+ }
77
+ catch (error) {
78
+ const msg = error instanceof Error ? error.message : String(error);
79
+ result.errors.push(`${skillName}: ${msg}`);
80
+ logger.debug(`[SkillSync] Error syncing ${skillName}: ${msg}`);
81
+ }
82
+ }
83
+ // Clean orphaned skills (in manifest but no longer discovered)
84
+ if (clean) {
85
+ for (const name of Object.keys(manifest.skills)) {
86
+ if (!processedNames.has(name)) {
87
+ const orphanDir = join(targetBase, name);
88
+ if (dryRun) {
89
+ result.removed.push(name);
90
+ continue;
91
+ }
92
+ try {
93
+ if (existsSync(orphanDir)) {
94
+ await rm(orphanDir, { recursive: true, force: true });
95
+ }
96
+ delete manifest.skills[name];
97
+ result.removed.push(name);
98
+ logger.debug(`[SkillSync] Removed orphaned skill: ${name}`);
99
+ }
100
+ catch (error) {
101
+ const msg = error instanceof Error ? error.message : String(error);
102
+ result.errors.push(`clean ${name}: ${msg}`);
103
+ }
104
+ }
105
+ }
106
+ }
107
+ // Write updated manifest
108
+ if (!dryRun) {
109
+ manifest.lastSync = new Date().toISOString();
110
+ await this.saveManifest(targetBase, manifest);
111
+ }
112
+ }
113
+ catch (error) {
114
+ const msg = error instanceof Error ? error.message : String(error);
115
+ result.errors.push(`sync failed: ${msg}`);
116
+ logger.debug(`[SkillSync] Sync failed: ${msg}`);
117
+ }
118
+ return result;
119
+ }
120
+ /**
121
+ * Load sync manifest from target directory
122
+ */
123
+ async loadManifest(targetBase) {
124
+ const manifestPath = join(targetBase, this.MANIFEST_FILE);
125
+ try {
126
+ if (existsSync(manifestPath)) {
127
+ const content = await readFile(manifestPath, 'utf-8');
128
+ return JSON.parse(content);
129
+ }
130
+ }
131
+ catch (error) {
132
+ logger.debug(`[SkillSync] Could not load manifest, starting fresh: ${error}`);
133
+ }
134
+ return { lastSync: '', skills: {} };
135
+ }
136
+ /**
137
+ * Save sync manifest to target directory
138
+ */
139
+ async saveManifest(targetBase, manifest) {
140
+ const manifestPath = join(targetBase, this.MANIFEST_FILE);
141
+ await writeFile(manifestPath, JSON.stringify(manifest, null, 2), 'utf-8');
142
+ }
143
+ /**
144
+ * Recursively copy a directory
145
+ */
146
+ async copyDirectory(src, dest) {
147
+ await mkdir(dest, { recursive: true });
148
+ const entries = await readdir(src, { withFileTypes: true });
149
+ for (const entry of entries) {
150
+ const srcPath = join(src, entry.name);
151
+ const destPath = join(dest, entry.name);
152
+ if (entry.isDirectory()) {
153
+ // Skip hidden dirs and node_modules
154
+ if (entry.name.startsWith('.') || entry.name === 'node_modules') {
155
+ continue;
156
+ }
157
+ await this.copyDirectory(srcPath, destPath);
158
+ }
159
+ else {
160
+ await copyFile(srcPath, destPath);
161
+ }
162
+ }
163
+ }
164
+ }
165
+ //# sourceMappingURL=SkillSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillSync.js","sourceRoot":"","sources":["../../../../../src/agents/codemie-code/skills/sync/SkillSync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentCLI.d.ts","sourceRoot":"","sources":["../../../src/agents/core/AgentCLI.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAW1C;;;GAGG;AACH,qBAAa,QAAQ;IAIP,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAmB;gBAEd,OAAO,EAAE,YAAY;IASzC;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,YAAY;IA+CpB;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAQlC;;OAEG;YACW,SAAS;IAgHvB;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;YACW,UAAU;IAyExB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgD7B;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC"}
1
+ {"version":3,"file":"AgentCLI.d.ts","sourceRoot":"","sources":["../../../src/agents/core/AgentCLI.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAW1C;;;GAGG;AACH,qBAAa,QAAQ;IAIP,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAmB;gBAEd,OAAO,EAAE,YAAY;IASzC;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8CpB;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAQlC;;OAEG;YACW,SAAS;IAqHvB;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;YACW,UAAU;IAyExB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgD7B;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -54,6 +54,7 @@ export class AgentCLI {
54
54
  .description(`CodeMie ${this.adapter.displayName} - ${this.adapter.description}`)
55
55
  .version(this.version)
56
56
  .option('-s, --silent', 'Enable silent mode')
57
+ .option('--status', 'Enable status bar (shows model, context usage, git branch, and cost)')
57
58
  .option('--profile <name>', 'Use specific provider profile')
58
59
  .option('--provider <provider>', 'Override provider (ai-run-sso, litellm, ollama)')
59
60
  .option('-m, --model <model>', 'Override model')
@@ -73,19 +74,17 @@ export class AgentCLI {
73
74
  .action(async () => {
74
75
  await this.handleHealthCheck();
75
76
  });
76
- // Add init command for frameworks (skip for built-in agent)
77
- if (this.adapter.name !== BUILTIN_AGENT_NAME) {
78
- this.program
79
- .command('init')
80
- .description('Initialize development framework')
81
- .argument('[framework]', 'Framework to initialize (speckit, bmad)')
82
- .option('-l, --list', 'List available frameworks')
83
- .option('--force', 'Force re-initialization')
84
- .option('--project-name <name>', 'Project name for framework initialization')
85
- .action(async (framework, options) => {
86
- await this.handleInit(framework, options);
87
- });
88
- }
77
+ // Add init command for frameworks
78
+ this.program
79
+ .command('init')
80
+ .description('Initialize development framework')
81
+ .argument('[framework]', 'Framework to initialize (speckit, bmad)')
82
+ .option('-l, --list', 'List available frameworks')
83
+ .option('--force', 'Force re-initialization')
84
+ .option('--project-name <name>', 'Project name for framework initialization')
85
+ .action(async (framework, options) => {
86
+ await this.handleInit(framework, options);
87
+ });
89
88
  }
90
89
  /**
91
90
  * Display Windows-specific guidance for PATH refresh issues
@@ -176,6 +175,10 @@ export class AgentCLI {
176
175
  // Pass config info for welcome message display
177
176
  providerEnv.CODEMIE_PROFILE_NAME = config.name || 'default';
178
177
  providerEnv.CODEMIE_CLI_VERSION = this.version;
178
+ // Pass status flag to lifecycle hooks
179
+ if (options.status) {
180
+ providerEnv.CODEMIE_STATUS = '1';
181
+ }
179
182
  // Serialize full profile config for proxy plugins (read once at CLI level)
180
183
  providerEnv.CODEMIE_PROFILE_CONFIG = JSON.stringify(config);
181
184
  // Set profile name in logger for log formatting
@@ -300,7 +303,7 @@ export class AgentCLI {
300
303
  collectPassThroughArgs(args, options) {
301
304
  const agentArgs = [...args];
302
305
  // Config-only options (not passed to agent, handled by CodeMie CLI)
303
- const configOnlyOptions = ['profile', 'provider', 'apiKey', 'baseUrl', 'timeout', 'model', 'silent'];
306
+ const configOnlyOptions = ['profile', 'provider', 'apiKey', 'baseUrl', 'timeout', 'model', 'silent', 'status'];
304
307
  for (const [key, value] of Object.entries(options)) {
305
308
  // Skip config-only options (handled by CodeMie CLI layer)
306
309
  if (configOnlyOptions.includes(key))
@@ -1 +1 @@
1
- {"version":3,"file":"AgentCLI.js","sourceRoot":"","sources":["../../../src/agents/core/AgentCLI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentCLI.js","sourceRoot":"","sources":["../../../src/agents/core/AgentCLI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAwB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAC,uBAAuB,EAAC,MAAM,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAIC;IAHZ,OAAO,CAAU;IACjB,OAAO,GAAW,OAAO,CAAC;IAElC,YAAoB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,yDAAyD;QACzD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC;YACnF,MAAM,kBAAkB,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,6FAA6F;QAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;YACnB,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,OAAO;aACT,IAAI,CAAC,WAAW,CAAC;aACjB,WAAW,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;aAChF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC;aAC5C,MAAM,CAAC,UAAU,EAAE,sEAAsE,CAAC;aAC1F,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;aAC3D,MAAM,CAAC,uBAAuB,EAAE,iDAAiD,CAAC;aAClF,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;aAC/C,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;aAC7C,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;aAC/C,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,EAAE,QAAQ,CAAC;aACxE,MAAM,CAAC,iBAAiB,EAAE,qDAAqD,CAAC;aAChF,kBAAkB,EAAE;aACpB,QAAQ,CAAC,WAAW,EAAE,wBAAwB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;aACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEL,2BAA2B;QAC3B,IAAI,CAAC,OAAO;aACT,OAAO,CAAC,QAAQ,CAAC;aACjB,WAAW,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,0BAA0B,CAAC;aACxE,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEL,kCAAkC;QAClC,IAAI,CAAC,OAAO;aACT,OAAO,CAAC,MAAM,CAAC;aACf,WAAW,CAAC,kCAAkC,CAAC;aAC/C,QAAQ,CAAC,aAAa,EAAE,yCAAyC,CAAC;aAClE,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;aACjD,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC;aAC5C,MAAM,CAAC,uBAAuB,EAAE,2CAA2C,CAAC;aAC5E,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;YACnC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,0BAA0B;QAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACnG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,IAAc,EAAE,OAAgC;QACtE,IAAI,CAAC;YACH,8BAA8B;YAC9B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,qBAAqB,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAEpE,mDAAmD;gBACnD,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAElC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,gDAAgD;YAChD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,2DAA2D;gBAC3D,IAAI,eAAe,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;oBACxF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;gBACpD,IAAI,EAAE,OAAO,CAAC,OAA6B,EAAG,oBAAoB;gBAClE,QAAQ,EAAE,OAAO,CAAC,QAA8B;gBAChD,KAAK,EAAE,OAAO,CAAC,KAA2B;gBAC1C,MAAM,EAAE,OAAO,CAAC,MAA4B;gBAC5C,OAAO,EAAE,OAAO,CAAC,OAA6B;gBAC9C,OAAO,EAAE,OAAO,CAAC,OAA6B;aAC/C,CAAC,CAAC;YAEH,mCAAmC;YACnC,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE/C,iEAAiE;YACjE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxF,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,6BAA6B;YAElF,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAClH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,2CAA2C;YAC3C,IAAI,CAAC;gBACH,+CAA+C;gBAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE3F,IAAI,UAAU,EAAE,YAAY,EAAE,CAAC;oBAC7B,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAE/D,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;wBAC5B,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;wBAChG,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;wBAEzF,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;4BAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,YAAY,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE/D,+CAA+C;YAC/C,WAAW,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;YAC5D,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;YAE/C,sCAAsC;YACtC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC;YACnC,CAAC;YAED,2EAA2E;YAC3E,WAAW,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE5D,gDAAgD;YAChD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YAEhD,6CAA6C;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE7D,uDAAuD;YACvD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAElB,mCAAmC;YACnC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACH,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,yBAAyB,CAAC,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;gBAE/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,qBAAqB,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAEpE,mDAAmD;gBACnD,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;oBACnG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;oBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,SAA6B,EAAE,OAAgC;QACtF,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAExE,qBAAqB;YACrB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;oBAC5E,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACxD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAChG,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,wBAAwB;YACxB,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,SAAS,KAAK,CAAC,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,2CAA2C;YAC3C,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,SAAS,6BAA6B,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBACvG,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;gBACxE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChF,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,uBAAuB;YACvB,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC7C,KAAK,EAAE,OAAO,CAAC,KAA4B;gBAC3C,WAAW,EAAE,OAAO,CAAC,WAAiC;gBACtD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAGD;;OAEG;IACK,sBAAsB,CAC5B,IAAc,EACd,OAAgC;QAEhC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/G,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,0DAA0D;YAC1D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAE9C,gCAAgC;YAChC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAE1D,iCAAiC;YACjC,yEAAyE;YACzE,sEAAsE;YACtE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAExB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,WAAW,GAAgD;YAC/D,QAAQ,EAAE,oBAAoB;YAC9B,CAAC,kBAAkB,CAAC,EAAE,yBAAyB;YAC/C,QAAQ,EAAE,oBAAoB;YAC9B,UAAU,EAAE,sBAAsB;YAClC,YAAY,EAAE,uBAAuB;SACtC,CAAC;QACF,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAA4B;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAExC,+BAA+B;QAC/B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,yBAAyB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1G,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4BAA4B;QAC5B,MAAM,eAAe,GAAG,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEvE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,4BAA4B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAEvC,6CAA6C;YAC7C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YAErD,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAE9G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,sCAAsC,aAAa,GAAG,CAAC,CAAC,CAAC;gBACjH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,OAAO,YAAY,cAAc,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { AgentMetadata, AgentAdapter, MCPConfigSummary } from './types.js';
1
+ import { AgentMetadata, AgentAdapter, MCPConfigSummary, VersionCompatibilityResult } from './types.js';
2
2
  import { CodeMieProxy } from '../../providers/plugins/sso/index.js';
3
3
  /**
4
4
  * Base class for all agent adapters
@@ -54,6 +54,15 @@ export declare abstract class BaseAgentAdapter implements AgentAdapter {
54
54
  * Get agent version
55
55
  */
56
56
  getVersion(): Promise<string | null>;
57
+ /**
58
+ * Check if installed version is compatible with CodeMie
59
+ * Compares installed version against metadata.supportedVersion and
60
+ * metadata.minimumSupportedVersion. Agents override getVersion() only;
61
+ * the comparison logic is shared for all agents.
62
+ *
63
+ * @returns Version compatibility result with status and version info
64
+ */
65
+ checkVersionCompatibility(): Promise<VersionCompatibilityResult>;
57
66
  /**
58
67
  * Run the agent
59
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAgentAdapter.d.ts","sourceRoot":"","sources":["../../../src/agents/core/BaseAgentAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAe,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOxF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAqBpE;;;GAGG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;gBAEtB,QAAQ,EAAE,aAAa;IAKnC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC;;;OAGG;IACH,gBAAgB,IAAI,OAAO,YAAY,EAAE,kBAAkB,GAAG,SAAS;IAIvE;;;;;;OAMG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAehC;;;;;OAKG;IACG,sBAAsB,CAAC,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrG;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAcrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa1C;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoW/E;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;OAGG;cACa,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjE;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;;;;;;;;OASG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;IAuFrE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM;IASxD;;;;;;;;;;;;;OAaG;cACa,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,SAAS;IA8BjB;;;;;;;;;;;;;;;OAeG;cACa,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;CAoCjB"}
1
+ {"version":3,"file":"BaseAgentAdapter.d.ts","sourceRoot":"","sources":["../../../src/agents/core/BaseAgentAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAe,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAQpH,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAqBpE;;;GAGG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;gBAEtB,QAAQ,EAAE,aAAa;IAKnC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC;;;OAGG;IACH,gBAAgB,IAAI,OAAO,YAAY,EAAE,kBAAkB,GAAG,SAAS;IAIvE;;;;;;OAMG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAehC;;;;;OAKG;IACG,sBAAsB,CAAC,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrG;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAcrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa1C;;;;;;;OAOG;IACG,yBAAyB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAuGtE;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA8X/E;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;;OAGG;cACa,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjE;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;;;;;;;;OASG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;IAuFrE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM;IASxD;;;;;;;;;;;;;OAaG;cACa,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,SAAS;IA8BjB;;;;;;;;;;;;;;;OAeG;cACa,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;CAoCjB"}
@@ -1,6 +1,7 @@
1
1
  import * as npm from '../../utils/processes.js';
2
- import { NpmError } from '../../utils/errors.js';
2
+ import { NpmError, createErrorContext } from '../../utils/errors.js';
3
3
  import { exec } from '../../utils/processes.js';
4
+ import { compareVersions } from '../../utils/version-utils.js';
4
5
  import { logger } from '../../utils/logger.js';
5
6
  import { spawn } from 'child_process';
6
7
  import { randomUUID } from 'crypto';
@@ -137,13 +138,135 @@ export class BaseAgentAdapter {
137
138
  return null;
138
139
  }
139
140
  }
141
+ /**
142
+ * Check if installed version is compatible with CodeMie
143
+ * Compares installed version against metadata.supportedVersion and
144
+ * metadata.minimumSupportedVersion. Agents override getVersion() only;
145
+ * the comparison logic is shared for all agents.
146
+ *
147
+ * @returns Version compatibility result with status and version info
148
+ */
149
+ async checkVersionCompatibility() {
150
+ const supportedVersion = this.metadata.supportedVersion || 'latest';
151
+ const minimumSupportedVersion = this.metadata.minimumSupportedVersion;
152
+ const installedVersion = await this.getVersion();
153
+ logger.debug('Checking version compatibility', {
154
+ agent: this.metadata.name,
155
+ installedVersion,
156
+ supportedVersion,
157
+ minimumSupportedVersion,
158
+ });
159
+ if (!installedVersion) {
160
+ return {
161
+ compatible: false,
162
+ installedVersion: null,
163
+ supportedVersion,
164
+ isNewer: false,
165
+ hasUpdate: false,
166
+ isBelowMinimum: false,
167
+ minimumSupportedVersion,
168
+ };
169
+ }
170
+ if (!this.metadata.supportedVersion) {
171
+ return {
172
+ compatible: true,
173
+ installedVersion,
174
+ supportedVersion: 'latest',
175
+ isNewer: false,
176
+ hasUpdate: false,
177
+ isBelowMinimum: false,
178
+ minimumSupportedVersion,
179
+ };
180
+ }
181
+ try {
182
+ const comparison = compareVersions(installedVersion, supportedVersion);
183
+ const hasUpdate = comparison < 0;
184
+ let isBelowMinimum = false;
185
+ if (minimumSupportedVersion) {
186
+ const minimumComparison = compareVersions(installedVersion, minimumSupportedVersion);
187
+ isBelowMinimum = minimumComparison < 0;
188
+ }
189
+ logger.debug('Version comparison result', {
190
+ agent: this.metadata.name,
191
+ comparison,
192
+ installedVersion,
193
+ supportedVersion,
194
+ minimumSupportedVersion,
195
+ compatible: comparison <= 0,
196
+ isNewer: comparison > 0,
197
+ hasUpdate,
198
+ isBelowMinimum,
199
+ });
200
+ return {
201
+ compatible: comparison <= 0,
202
+ installedVersion,
203
+ supportedVersion,
204
+ isNewer: comparison > 0,
205
+ hasUpdate,
206
+ isBelowMinimum,
207
+ minimumSupportedVersion,
208
+ };
209
+ }
210
+ catch (error) {
211
+ const errorContext = createErrorContext(error, { agent: this.metadata.name });
212
+ const isParseError = error instanceof Error && error.message.includes('Invalid semantic version');
213
+ if (isParseError) {
214
+ logger.warn('Non-standard version format detected, treating as incompatible', {
215
+ ...errorContext,
216
+ operation: 'checkVersionCompatibility',
217
+ installedVersion,
218
+ supportedVersion,
219
+ minimumSupportedVersion,
220
+ });
221
+ }
222
+ else {
223
+ logger.error('Version compatibility check failed unexpectedly', {
224
+ ...errorContext,
225
+ operation: 'checkVersionCompatibility',
226
+ installedVersion,
227
+ supportedVersion,
228
+ minimumSupportedVersion,
229
+ });
230
+ }
231
+ return {
232
+ compatible: false,
233
+ installedVersion,
234
+ supportedVersion,
235
+ isNewer: false,
236
+ hasUpdate: false,
237
+ isBelowMinimum: false,
238
+ minimumSupportedVersion,
239
+ };
240
+ }
241
+ }
140
242
  /**
141
243
  * Run the agent
142
244
  */
143
245
  async run(args, envOverrides) {
144
- // Check version compatibility before running (for version-managed agents)
145
- if ('checkVersionCompatibility' in this && typeof this.checkVersionCompatibility === 'function') {
246
+ // Check version compatibility before running (only for agents with a supportedVersion configured)
247
+ if (this.metadata.supportedVersion) {
146
248
  const compat = await this.checkVersionCompatibility();
249
+ // Scenario 0: Version is below minimum supported — hard block, no override
250
+ if (compat.isBelowMinimum) {
251
+ const installedDisplay = compat.installedVersion ?? 'unknown';
252
+ const minimumDisplay = compat.minimumSupportedVersion ?? 'unknown';
253
+ if (this.metadata.silentMode) {
254
+ // In silent/ACP mode stdout is a JSON-RPC stream — never write prose to it.
255
+ // Throw so the caller gets a structured error and the logger captures it.
256
+ throw new Error(`${this.displayName} v${installedDisplay} is below the minimum supported version ` +
257
+ `v${minimumDisplay}. Run: codemie install ${this.name}`);
258
+ }
259
+ console.log();
260
+ console.log(chalk.red(`✗ ${this.displayName} v${installedDisplay} is no longer supported`));
261
+ console.log(chalk.red(` Minimum required version: v${minimumDisplay}`));
262
+ console.log();
263
+ console.log(chalk.white(' This version is known to be incompatible with CodeMie and must be upgraded.'));
264
+ console.log();
265
+ console.log(chalk.white(' To upgrade, run:'));
266
+ console.log(chalk.blueBright(` codemie install ${this.name}`));
267
+ console.log();
268
+ process.exit(1);
269
+ }
147
270
  if (compat.isNewer && !this.metadata.silentMode) {
148
271
  // User is running a newer (untested) version
149
272
  console.log();