@defai.digital/ax-cli 3.7.2 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/README.md +128 -56
  2. package/dist/agent/context-manager.d.ts +15 -1
  3. package/dist/agent/context-manager.js +50 -19
  4. package/dist/agent/context-manager.js.map +1 -1
  5. package/dist/agent/dependency-resolver.js +13 -7
  6. package/dist/agent/dependency-resolver.js.map +1 -1
  7. package/dist/agent/llm-agent.d.ts +35 -0
  8. package/dist/agent/llm-agent.js +137 -4
  9. package/dist/agent/llm-agent.js.map +1 -1
  10. package/dist/agent/status-reporter.d.ts +114 -0
  11. package/dist/agent/status-reporter.js +335 -0
  12. package/dist/agent/status-reporter.js.map +1 -0
  13. package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js +8 -2
  14. package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js.map +1 -1
  15. package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js +3 -1
  16. package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js.map +1 -1
  17. package/dist/analyzers/best-practices/rules/typescript/prefer-const.js +3 -1
  18. package/dist/analyzers/best-practices/rules/typescript/prefer-const.js.map +1 -1
  19. package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js +3 -1
  20. package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js.map +1 -1
  21. package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js +9 -3
  22. package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js.map +1 -1
  23. package/dist/analyzers/git/churn-calculator.d.ts +1 -0
  24. package/dist/analyzers/git/churn-calculator.js +25 -6
  25. package/dist/analyzers/git/churn-calculator.js.map +1 -1
  26. package/dist/analyzers/git/hotspot-detector.js +2 -2
  27. package/dist/analyzers/git/hotspot-detector.js.map +1 -1
  28. package/dist/analyzers/metrics/metrics-analyzer.js +1 -1
  29. package/dist/analyzers/metrics/metrics-analyzer.js.map +1 -1
  30. package/dist/analyzers/security/security-analyzer.js +1 -1
  31. package/dist/analyzers/security/security-analyzer.js.map +1 -1
  32. package/dist/checkpoint/manager.d.ts +1 -0
  33. package/dist/checkpoint/manager.js +49 -9
  34. package/dist/checkpoint/manager.js.map +1 -1
  35. package/dist/checkpoint/storage.js +2 -2
  36. package/dist/checkpoint/storage.js.map +1 -1
  37. package/dist/commands/mcp-migrate.d.ts +9 -0
  38. package/dist/commands/mcp-migrate.js +172 -0
  39. package/dist/commands/mcp-migrate.js.map +1 -0
  40. package/dist/commands/status.d.ts +7 -0
  41. package/dist/commands/status.js +211 -0
  42. package/dist/commands/status.js.map +1 -0
  43. package/dist/commands/vscode.d.ts +7 -0
  44. package/dist/commands/vscode.js +363 -0
  45. package/dist/commands/vscode.js.map +1 -0
  46. package/dist/index.js +79 -30
  47. package/dist/index.js.map +1 -1
  48. package/dist/llm/client.js +22 -4
  49. package/dist/llm/client.js.map +1 -1
  50. package/dist/mcp/automatosx-loader.d.ts +84 -0
  51. package/dist/mcp/automatosx-loader.js +238 -0
  52. package/dist/mcp/automatosx-loader.js.map +1 -0
  53. package/dist/mcp/client-mutex-patch.d.ts +36 -0
  54. package/dist/mcp/client-mutex-patch.js +75 -0
  55. package/dist/mcp/client-mutex-patch.js.map +1 -0
  56. package/dist/mcp/client-v2.d.ts +229 -0
  57. package/dist/mcp/client-v2.js +740 -0
  58. package/dist/mcp/client-v2.js.map +1 -0
  59. package/dist/mcp/client.d.ts +111 -13
  60. package/dist/mcp/client.js +168 -253
  61. package/dist/mcp/client.js.map +1 -1
  62. package/dist/mcp/config-detector-v2.d.ts +83 -0
  63. package/dist/mcp/config-detector-v2.js +328 -0
  64. package/dist/mcp/config-detector-v2.js.map +1 -0
  65. package/dist/mcp/config-detector.d.ts +90 -0
  66. package/dist/mcp/config-detector.js +242 -0
  67. package/dist/mcp/config-detector.js.map +1 -0
  68. package/dist/mcp/config-migrator-v2.d.ts +89 -0
  69. package/dist/mcp/config-migrator-v2.js +288 -0
  70. package/dist/mcp/config-migrator-v2.js.map +1 -0
  71. package/dist/mcp/config-migrator.d.ts +63 -0
  72. package/dist/mcp/config-migrator.js +269 -0
  73. package/dist/mcp/config-migrator.js.map +1 -0
  74. package/dist/mcp/config-v2.d.ts +106 -0
  75. package/dist/mcp/config-v2.js +417 -0
  76. package/dist/mcp/config-v2.js.map +1 -0
  77. package/dist/mcp/config.d.ts +12 -1
  78. package/dist/mcp/config.js +95 -10
  79. package/dist/mcp/config.js.map +1 -1
  80. package/dist/mcp/error-formatter.d.ts +46 -0
  81. package/dist/mcp/error-formatter.js +244 -0
  82. package/dist/mcp/error-formatter.js.map +1 -0
  83. package/dist/mcp/health.d.ts +5 -0
  84. package/dist/mcp/health.js +22 -2
  85. package/dist/mcp/health.js.map +1 -1
  86. package/dist/mcp/invariants.d.ts +141 -0
  87. package/dist/mcp/invariants.js +243 -0
  88. package/dist/mcp/invariants.js.map +1 -0
  89. package/dist/mcp/mutex-safe.d.ts +153 -0
  90. package/dist/mcp/mutex-safe.js +260 -0
  91. package/dist/mcp/mutex-safe.js.map +1 -0
  92. package/dist/mcp/mutex.d.ts +73 -0
  93. package/dist/mcp/mutex.js +130 -0
  94. package/dist/mcp/mutex.js.map +1 -0
  95. package/dist/mcp/reconnection.d.ts +4 -0
  96. package/dist/mcp/reconnection.js +15 -0
  97. package/dist/mcp/reconnection.js.map +1 -1
  98. package/dist/mcp/transports-v2.d.ts +152 -0
  99. package/dist/mcp/transports-v2.js +481 -0
  100. package/dist/mcp/transports-v2.js.map +1 -0
  101. package/dist/mcp/type-safety.d.ts +231 -0
  102. package/dist/mcp/type-safety.js +273 -0
  103. package/dist/mcp/type-safety.js.map +1 -0
  104. package/dist/planner/task-planner.js +13 -0
  105. package/dist/planner/task-planner.js.map +1 -1
  106. package/dist/planner/types.d.ts +6 -6
  107. package/dist/schemas/confirmation-schemas.d.ts +2 -2
  108. package/dist/schemas/settings-schemas.d.ts +196 -0
  109. package/dist/schemas/settings-schemas.js +146 -5
  110. package/dist/schemas/settings-schemas.js.map +1 -1
  111. package/dist/sdk/index.d.ts +118 -2
  112. package/dist/sdk/index.js +146 -4
  113. package/dist/sdk/index.js.map +1 -1
  114. package/dist/sdk/testing.d.ts +182 -0
  115. package/dist/sdk/testing.js +231 -0
  116. package/dist/sdk/testing.js.map +1 -1
  117. package/dist/sdk/version.d.ts +114 -15
  118. package/dist/sdk/version.js +137 -15
  119. package/dist/sdk/version.js.map +1 -1
  120. package/dist/tools/bash.js +54 -9
  121. package/dist/tools/bash.js.map +1 -1
  122. package/dist/tools/registry.d.ts +146 -0
  123. package/dist/tools/registry.js +170 -0
  124. package/dist/tools/registry.js.map +1 -0
  125. package/dist/tools/search.js +12 -2
  126. package/dist/tools/search.js.map +1 -1
  127. package/dist/tools/text-editor.js +84 -26
  128. package/dist/tools/text-editor.js.map +1 -1
  129. package/dist/ui/components/chat-history.js +6 -1
  130. package/dist/ui/components/chat-history.js.map +1 -1
  131. package/dist/ui/components/chat-input.d.ts +2 -1
  132. package/dist/ui/components/chat-input.js +5 -2
  133. package/dist/ui/components/chat-input.js.map +1 -1
  134. package/dist/ui/components/chat-interface.js +187 -5
  135. package/dist/ui/components/chat-interface.js.map +1 -1
  136. package/dist/ui/components/context-breakdown.d.ts +23 -0
  137. package/dist/ui/components/context-breakdown.js +124 -0
  138. package/dist/ui/components/context-breakdown.js.map +1 -0
  139. package/dist/ui/components/keyboard-help.d.ts +17 -0
  140. package/dist/ui/components/keyboard-help.js +116 -0
  141. package/dist/ui/components/keyboard-help.js.map +1 -0
  142. package/dist/ui/components/keyboard-hints.js +2 -2
  143. package/dist/ui/components/keyboard-hints.js.map +1 -1
  144. package/dist/ui/components/quick-actions.js +43 -7
  145. package/dist/ui/components/quick-actions.js.map +1 -1
  146. package/dist/ui/components/status-bar.d.ts +3 -0
  147. package/dist/ui/components/status-bar.js +25 -16
  148. package/dist/ui/components/status-bar.js.map +1 -1
  149. package/dist/ui/components/toast-notification.d.ts +42 -0
  150. package/dist/ui/components/toast-notification.js +30 -2
  151. package/dist/ui/components/toast-notification.js.map +1 -1
  152. package/dist/ui/components/tool-group-display.js +34 -4
  153. package/dist/ui/components/tool-group-display.js.map +1 -1
  154. package/dist/ui/components/welcome-panel.js +2 -2
  155. package/dist/ui/components/welcome-panel.js.map +1 -1
  156. package/dist/ui/hooks/use-enhanced-input.d.ts +9 -1
  157. package/dist/ui/hooks/use-enhanced-input.js +486 -41
  158. package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
  159. package/dist/ui/hooks/use-input-handler.d.ts +11 -1
  160. package/dist/ui/hooks/use-input-handler.js +67 -3
  161. package/dist/ui/hooks/use-input-handler.js.map +1 -1
  162. package/dist/ui/hooks/use-input-history.d.ts +1 -1
  163. package/dist/ui/hooks/use-input-history.js +50 -14
  164. package/dist/ui/hooks/use-input-history.js.map +1 -1
  165. package/dist/ui/utils/bracketed-paste-handler.d.ts +97 -0
  166. package/dist/ui/utils/bracketed-paste-handler.js +322 -0
  167. package/dist/ui/utils/bracketed-paste-handler.js.map +1 -0
  168. package/dist/ui/utils/change-summarizer.js +16 -6
  169. package/dist/ui/utils/change-summarizer.js.map +1 -1
  170. package/dist/ui/utils/tool-grouper.d.ts +10 -1
  171. package/dist/ui/utils/tool-grouper.js +143 -30
  172. package/dist/ui/utils/tool-grouper.js.map +1 -1
  173. package/dist/utils/auto-accept-logger.d.ts +173 -0
  174. package/dist/utils/auto-accept-logger.js +420 -0
  175. package/dist/utils/auto-accept-logger.js.map +1 -0
  176. package/dist/utils/background-task-manager.d.ts +11 -0
  177. package/dist/utils/background-task-manager.js +124 -38
  178. package/dist/utils/background-task-manager.js.map +1 -1
  179. package/dist/utils/confirmation-service.d.ts +1 -0
  180. package/dist/utils/confirmation-service.js +6 -1
  181. package/dist/utils/confirmation-service.js.map +1 -1
  182. package/dist/utils/encryption.d.ts +8 -0
  183. package/dist/utils/encryption.js +44 -27
  184. package/dist/utils/encryption.js.map +1 -1
  185. package/dist/utils/enhanced-error-messages.d.ts +33 -0
  186. package/dist/utils/enhanced-error-messages.js +420 -0
  187. package/dist/utils/enhanced-error-messages.js.map +1 -0
  188. package/dist/utils/error-handler.d.ts +13 -3
  189. package/dist/utils/error-handler.js +16 -4
  190. package/dist/utils/error-handler.js.map +1 -1
  191. package/dist/utils/external-editor.d.ts +47 -0
  192. package/dist/utils/external-editor.js +179 -0
  193. package/dist/utils/external-editor.js.map +1 -0
  194. package/dist/utils/history-migration.d.ts +9 -0
  195. package/dist/utils/history-migration.js +36 -0
  196. package/dist/utils/history-migration.js.map +1 -0
  197. package/dist/utils/paste-utils.js +12 -11
  198. package/dist/utils/paste-utils.js.map +1 -1
  199. package/dist/utils/rate-limiter.js +7 -0
  200. package/dist/utils/rate-limiter.js.map +1 -1
  201. package/dist/utils/safety-rules.d.ts +64 -0
  202. package/dist/utils/safety-rules.js +225 -0
  203. package/dist/utils/safety-rules.js.map +1 -0
  204. package/dist/utils/settings-manager.d.ts +89 -1
  205. package/dist/utils/settings-manager.js +359 -3
  206. package/dist/utils/settings-manager.js.map +1 -1
  207. package/dist/utils/token-counter.d.ts +2 -0
  208. package/dist/utils/token-counter.js +17 -4
  209. package/dist/utils/token-counter.js.map +1 -1
  210. package/dist/utils/version.d.ts +11 -2
  211. package/dist/utils/version.js +54 -21
  212. package/dist/utils/version.js.map +1 -1
  213. package/package.json +2 -1
@@ -181,6 +181,7 @@ export class MockAgent extends EventEmitter {
181
181
  * Useful for reusing the same mock across multiple tests.
182
182
  */
183
183
  reset() {
184
+ this.checkDisposed();
184
185
  this.history = [];
185
186
  this.currentResponseIndex = 0;
186
187
  }
@@ -190,6 +191,7 @@ export class MockAgent extends EventEmitter {
190
191
  * @param responses - New responses to use
191
192
  */
192
193
  setResponses(responses) {
194
+ this.checkDisposed();
193
195
  this.responses = responses;
194
196
  this.currentResponseIndex = 0;
195
197
  }
@@ -197,6 +199,7 @@ export class MockAgent extends EventEmitter {
197
199
  * Get number of messages processed
198
200
  */
199
201
  getMessageCount() {
202
+ this.checkDisposed();
200
203
  return this.history.filter(entry => entry.type === 'user').length;
201
204
  }
202
205
  checkDisposed() {
@@ -288,4 +291,232 @@ export class MockSettingsManager {
288
291
  export function createMockSettings(settings) {
289
292
  return new MockSettingsManager(settings);
290
293
  }
294
+ /**
295
+ * Mock MCP Server for Testing
296
+ *
297
+ * Simplified MCP server that can be used in tests without needing
298
+ * real MCP server infrastructure.
299
+ *
300
+ * @example
301
+ * ```typescript
302
+ * import { createMockMCPServer } from '@defai.digital/ax-cli/sdk/testing';
303
+ *
304
+ * const mockServer = createMockMCPServer({
305
+ * name: 'test-server',
306
+ * tools: [{
307
+ * name: 'test_tool',
308
+ * description: 'A test tool',
309
+ * inputSchema: {
310
+ * type: 'object',
311
+ * properties: { input: { type: 'string' } },
312
+ * required: ['input']
313
+ * },
314
+ * handler: async (args) => ({ result: `Processed: ${args.input}` })
315
+ * }]
316
+ * });
317
+ *
318
+ * await mockServer.connect();
319
+ * const tools = await mockServer.listTools();
320
+ * const result = await mockServer.callTool('test_tool', { input: 'test' });
321
+ * ```
322
+ */
323
+ export class MockMCPServer {
324
+ options;
325
+ connected = false;
326
+ constructor(options) {
327
+ this.options = options;
328
+ }
329
+ /**
330
+ * Connect the mock server
331
+ */
332
+ async connect() {
333
+ this.connected = true;
334
+ }
335
+ /**
336
+ * Disconnect the mock server
337
+ */
338
+ async disconnect() {
339
+ this.connected = false;
340
+ }
341
+ /**
342
+ * List available tools
343
+ */
344
+ async listTools() {
345
+ if (!this.connected) {
346
+ throw new Error('Server not connected');
347
+ }
348
+ return (this.options.tools || []).map(tool => ({
349
+ name: tool.name,
350
+ description: tool.description,
351
+ inputSchema: tool.inputSchema
352
+ }));
353
+ }
354
+ /**
355
+ * Call a tool on the mock server
356
+ */
357
+ async callTool(name, args) {
358
+ if (!this.connected) {
359
+ throw new Error('Server not connected');
360
+ }
361
+ const tool = this.options.tools?.find(t => t.name === name);
362
+ if (!tool) {
363
+ throw new Error(`Tool not found: ${name}`);
364
+ }
365
+ return await tool.handler(args);
366
+ }
367
+ /**
368
+ * List available resources
369
+ */
370
+ async listResources() {
371
+ if (!this.connected) {
372
+ throw new Error('Server not connected');
373
+ }
374
+ return (this.options.resources || []).map(resource => ({
375
+ uri: resource.uri,
376
+ name: resource.name,
377
+ mimeType: resource.mimeType
378
+ }));
379
+ }
380
+ /**
381
+ * Read a resource from the mock server
382
+ */
383
+ async readResource(uri) {
384
+ if (!this.connected) {
385
+ throw new Error('Server not connected');
386
+ }
387
+ const resource = this.options.resources?.find(r => r.uri === uri);
388
+ if (!resource) {
389
+ throw new Error(`Resource not found: ${uri}`);
390
+ }
391
+ return await resource.handler();
392
+ }
393
+ /**
394
+ * List available prompts
395
+ */
396
+ async listPrompts() {
397
+ if (!this.connected) {
398
+ throw new Error('Server not connected');
399
+ }
400
+ return (this.options.prompts || []).map(prompt => ({
401
+ name: prompt.name,
402
+ description: prompt.description
403
+ }));
404
+ }
405
+ /**
406
+ * Execute a prompt
407
+ */
408
+ async executePrompt(name, args) {
409
+ if (!this.connected) {
410
+ throw new Error('Server not connected');
411
+ }
412
+ const prompt = this.options.prompts?.find(p => p.name === name);
413
+ if (!prompt) {
414
+ throw new Error(`Prompt not found: ${name}`);
415
+ }
416
+ return await prompt.handler(args);
417
+ }
418
+ /**
419
+ * Check if server is connected
420
+ */
421
+ isConnected() {
422
+ return this.connected;
423
+ }
424
+ /**
425
+ * Get server info
426
+ */
427
+ getInfo() {
428
+ return {
429
+ name: this.options.name,
430
+ version: this.options.version || '1.0.0',
431
+ toolCount: this.options.tools?.length || 0,
432
+ resourceCount: this.options.resources?.length || 0,
433
+ promptCount: this.options.prompts?.length || 0
434
+ };
435
+ }
436
+ }
437
+ /**
438
+ * Create a mock MCP server for testing
439
+ *
440
+ * @example
441
+ * ```typescript
442
+ * const mockServer = createMockMCPServer({
443
+ * name: 'test-server',
444
+ * tools: [{
445
+ * name: 'test_tool',
446
+ * description: 'A test tool',
447
+ * inputSchema: {
448
+ * type: 'object',
449
+ * properties: { input: { type: 'string' } },
450
+ * required: ['input']
451
+ * },
452
+ * handler: async (args) => ({ result: `Processed: ${args.input}` })
453
+ * }]
454
+ * });
455
+ *
456
+ * await mockServer.connect();
457
+ * const tools = await mockServer.listTools();
458
+ * const result = await mockServer.callTool('test_tool', { input: 'test' });
459
+ * ```
460
+ */
461
+ export function createMockMCPServer(options) {
462
+ return new MockMCPServer(options);
463
+ }
464
+ /**
465
+ * Wait for agent to complete processing
466
+ *
467
+ * Useful in tests when you need to wait for async operations to complete.
468
+ *
469
+ * @example
470
+ * ```typescript
471
+ * const agent = await createAgent();
472
+ *
473
+ * agent.processUserMessage('Hello');
474
+ *
475
+ * // Wait for agent to finish
476
+ * await waitForAgent(agent, { timeout: 5000 });
477
+ *
478
+ * // Now agent is idle
479
+ * ```
480
+ */
481
+ export async function waitForAgent(_agent, options) {
482
+ return new Promise((resolve, reject) => {
483
+ const timeout = options?.timeout || 5000;
484
+ const timer = setTimeout(() => {
485
+ reject(new Error(`Agent did not complete within ${timeout}ms`));
486
+ }, timeout);
487
+ // Wait for agent to emit 'idle' or similar completion event
488
+ // For now, just resolve after a short delay
489
+ // TODO: Implement proper event listening when LLMAgent has completion events
490
+ setTimeout(() => {
491
+ clearTimeout(timer);
492
+ resolve();
493
+ }, 100);
494
+ });
495
+ }
496
+ /**
497
+ * Create a mock tool result
498
+ */
499
+ export function createMockToolResult(success, output, error) {
500
+ return {
501
+ success,
502
+ output,
503
+ error
504
+ };
505
+ }
506
+ /**
507
+ * Assert tool result is successful
508
+ */
509
+ export function assertToolSuccess(result) {
510
+ if (!result.success) {
511
+ throw new Error(`Tool execution failed: ${result.error || 'Unknown error'}`);
512
+ }
513
+ }
514
+ /**
515
+ * Assert tool result is a failure
516
+ */
517
+ export function assertToolFailure(result) {
518
+ if (result.success) {
519
+ throw new Error('Expected tool to fail, but it succeeded');
520
+ }
521
+ }
291
522
  //# sourceMappingURL=testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/sdk/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/sdk/testing.ts"],"names":[],"mappings":"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"}
@@ -4,44 +4,98 @@
4
4
  * Provides version constants for the AX CLI SDK.
5
5
  * Useful for debugging, logging, and version compatibility checks.
6
6
  *
7
+ * ## Version Strategy
8
+ *
9
+ * AX CLI uses **dual versioning** to avoid confusion:
10
+ *
11
+ * - **CLI Version** (e.g., 3.8.0): Changes frequently with CLI features, bug fixes, UI updates
12
+ * - **SDK Version** (e.g., 1.2.0): Only changes when SDK API changes (stable)
13
+ *
14
+ * This allows the CLI to evolve rapidly without implying SDK breaking changes.
15
+ *
7
16
  * @packageDocumentation
8
17
  */
9
18
  /**
10
- * Current SDK version
19
+ * CLI tool version (from package.json)
20
+ *
21
+ * This is the version of the AX CLI command-line tool.
22
+ * Changes frequently with CLI features, commands, and UI improvements.
11
23
  *
12
- * This matches the package.json version and is updated automatically
13
- * during the release process.
24
+ * **Use this for:**
25
+ * - Reporting CLI version to users
26
+ * - Checking CLI compatibility
27
+ * - Debugging CLI-specific issues
14
28
  */
15
- export declare const SDK_VERSION = "3.7.0";
29
+ export declare const CLI_VERSION = "3.8.0";
16
30
  /**
17
- * SDK API version
31
+ * SDK library version (semantic versioning for API stability)
18
32
  *
19
- * This is incremented for breaking changes to the SDK API.
33
+ * This is the version of the programmatic SDK API.
34
+ * Only changes when SDK API changes (follows semantic versioning strictly).
35
+ *
36
+ * **Versioning rules:**
37
+ * - **Major (x.0.0)**: Breaking changes to SDK API
38
+ * - **Minor (1.x.0)**: New SDK features, backward compatible
39
+ * - **Patch (1.2.x)**: Bug fixes only
40
+ *
41
+ * **Use this for:**
42
+ * - npm dependency management
43
+ * - Checking SDK API compatibility
44
+ * - Version locking in package.json
45
+ *
46
+ * **Version history:**
47
+ * - 1.0.0: Initial SDK release (SDK best practices)
48
+ * - 1.1.0: Progress reporting, unified logging
49
+ * - 1.2.0: MCP v2 API, lifecycle hooks, tool registry
50
+ */
51
+ export declare const SDK_VERSION = "1.2.0";
52
+ /**
53
+ * SDK API version (integer for major version tracking)
54
+ *
55
+ * This is incremented only for breaking changes to the SDK API.
20
56
  * Patch and minor versions keep the same API_VERSION.
21
57
  *
22
- * Version history:
23
- * - 1: Initial SDK release (v3.6.0+)
58
+ * **Use this for:**
59
+ * - Quick compatibility checks
60
+ * - API feature detection
61
+ *
62
+ * **Version history:**
63
+ * - 1: Initial SDK release (v1.0.0+)
24
64
  * - 2: (Reserved for future breaking changes)
25
65
  */
26
66
  export declare const SDK_API_VERSION = 1;
67
+ /**
68
+ * Get CLI version string
69
+ *
70
+ * @returns CLI version string in format "v{version}"
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * import { getCLIVersion } from '@defai.digital/ax-cli/sdk';
75
+ *
76
+ * console.log('CLI:', getCLIVersion());
77
+ * // Output: "CLI: v3.8.0"
78
+ * ```
79
+ */
80
+ export declare function getCLIVersion(): string;
27
81
  /**
28
82
  * Get SDK version string
29
83
  *
30
- * @returns Version string in format "v{version}"
84
+ * @returns SDK version string in format "v{version}"
31
85
  *
32
86
  * @example
33
87
  * ```typescript
34
88
  * import { getSDKVersion } from '@defai.digital/ax-cli/sdk';
35
89
  *
36
90
  * console.log('Using SDK:', getSDKVersion());
37
- * // Output: "Using SDK: v3.7.0"
91
+ * // Output: "Using SDK: v1.2.0"
38
92
  * ```
39
93
  */
40
94
  export declare function getSDKVersion(): string;
41
95
  /**
42
- * Get full SDK info
96
+ * Get full SDK info (recommended for debugging)
43
97
  *
44
- * @returns Object with version details
98
+ * @returns Object with complete version details
45
99
  *
46
100
  * @example
47
101
  * ```typescript
@@ -49,11 +103,56 @@ export declare function getSDKVersion(): string;
49
103
  *
50
104
  * const info = getSDKInfo();
51
105
  * console.log(info);
52
- * // Output: { version: "3.7.0", apiVersion: 1, versionString: "v3.7.0" }
106
+ * // Output: {
107
+ * // cliVersion: "3.8.0",
108
+ * // sdkVersion: "1.2.0",
109
+ * // apiVersion: 1,
110
+ * // cliVersionString: "v3.8.0",
111
+ * // sdkVersionString: "v1.2.0"
112
+ * // }
53
113
  * ```
54
114
  */
55
115
  export declare function getSDKInfo(): {
56
- version: string;
116
+ /** CLI tool version (changes frequently) */
117
+ cliVersion: string;
118
+ /** SDK library version (stable) */
119
+ sdkVersion: string;
120
+ /** SDK API version (major version only) */
57
121
  apiVersion: number;
58
- versionString: string;
122
+ /** CLI version with 'v' prefix */
123
+ cliVersionString: string;
124
+ /** SDK version with 'v' prefix */
125
+ sdkVersionString: string;
59
126
  };
127
+ /**
128
+ * Get version info formatted for display
129
+ *
130
+ * @returns Human-readable version string
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * import { getVersionString } from '@defai.digital/ax-cli/sdk';
135
+ *
136
+ * console.log(getVersionString());
137
+ * // Output: "AX CLI v3.8.0 (SDK v1.2.0)"
138
+ * ```
139
+ */
140
+ export declare function getVersionString(): string;
141
+ /**
142
+ * Check if SDK version is compatible with minimum required version
143
+ *
144
+ * @param minVersion - Minimum SDK version required (e.g., "1.1.0")
145
+ * @returns True if current SDK version is >= minimum version
146
+ *
147
+ * @throws Error if minVersion is not a valid semantic version string
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * import { isSDKVersionCompatible } from '@defai.digital/ax-cli/sdk';
152
+ *
153
+ * if (!isSDKVersionCompatible('1.1.0')) {
154
+ * throw new Error('SDK v1.1.0+ required');
155
+ * }
156
+ * ```
157
+ */
158
+ export declare function isSDKVersionCompatible(minVersion: string): boolean;
@@ -4,46 +4,102 @@
4
4
  * Provides version constants for the AX CLI SDK.
5
5
  * Useful for debugging, logging, and version compatibility checks.
6
6
  *
7
+ * ## Version Strategy
8
+ *
9
+ * AX CLI uses **dual versioning** to avoid confusion:
10
+ *
11
+ * - **CLI Version** (e.g., 3.8.0): Changes frequently with CLI features, bug fixes, UI updates
12
+ * - **SDK Version** (e.g., 1.2.0): Only changes when SDK API changes (stable)
13
+ *
14
+ * This allows the CLI to evolve rapidly without implying SDK breaking changes.
15
+ *
7
16
  * @packageDocumentation
8
17
  */
9
18
  /**
10
- * Current SDK version
19
+ * CLI tool version (from package.json)
20
+ *
21
+ * This is the version of the AX CLI command-line tool.
22
+ * Changes frequently with CLI features, commands, and UI improvements.
23
+ *
24
+ * **Use this for:**
25
+ * - Reporting CLI version to users
26
+ * - Checking CLI compatibility
27
+ * - Debugging CLI-specific issues
28
+ */
29
+ export const CLI_VERSION = '3.8.0';
30
+ /**
31
+ * SDK library version (semantic versioning for API stability)
32
+ *
33
+ * This is the version of the programmatic SDK API.
34
+ * Only changes when SDK API changes (follows semantic versioning strictly).
35
+ *
36
+ * **Versioning rules:**
37
+ * - **Major (x.0.0)**: Breaking changes to SDK API
38
+ * - **Minor (1.x.0)**: New SDK features, backward compatible
39
+ * - **Patch (1.2.x)**: Bug fixes only
11
40
  *
12
- * This matches the package.json version and is updated automatically
13
- * during the release process.
41
+ * **Use this for:**
42
+ * - npm dependency management
43
+ * - Checking SDK API compatibility
44
+ * - Version locking in package.json
45
+ *
46
+ * **Version history:**
47
+ * - 1.0.0: Initial SDK release (SDK best practices)
48
+ * - 1.1.0: Progress reporting, unified logging
49
+ * - 1.2.0: MCP v2 API, lifecycle hooks, tool registry
14
50
  */
15
- export const SDK_VERSION = '3.7.0';
51
+ export const SDK_VERSION = '1.2.0';
16
52
  /**
17
- * SDK API version
53
+ * SDK API version (integer for major version tracking)
18
54
  *
19
- * This is incremented for breaking changes to the SDK API.
55
+ * This is incremented only for breaking changes to the SDK API.
20
56
  * Patch and minor versions keep the same API_VERSION.
21
57
  *
22
- * Version history:
23
- * - 1: Initial SDK release (v3.6.0+)
58
+ * **Use this for:**
59
+ * - Quick compatibility checks
60
+ * - API feature detection
61
+ *
62
+ * **Version history:**
63
+ * - 1: Initial SDK release (v1.0.0+)
24
64
  * - 2: (Reserved for future breaking changes)
25
65
  */
26
66
  export const SDK_API_VERSION = 1;
67
+ /**
68
+ * Get CLI version string
69
+ *
70
+ * @returns CLI version string in format "v{version}"
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * import { getCLIVersion } from '@defai.digital/ax-cli/sdk';
75
+ *
76
+ * console.log('CLI:', getCLIVersion());
77
+ * // Output: "CLI: v3.8.0"
78
+ * ```
79
+ */
80
+ export function getCLIVersion() {
81
+ return `v${CLI_VERSION}`;
82
+ }
27
83
  /**
28
84
  * Get SDK version string
29
85
  *
30
- * @returns Version string in format "v{version}"
86
+ * @returns SDK version string in format "v{version}"
31
87
  *
32
88
  * @example
33
89
  * ```typescript
34
90
  * import { getSDKVersion } from '@defai.digital/ax-cli/sdk';
35
91
  *
36
92
  * console.log('Using SDK:', getSDKVersion());
37
- * // Output: "Using SDK: v3.7.0"
93
+ * // Output: "Using SDK: v1.2.0"
38
94
  * ```
39
95
  */
40
96
  export function getSDKVersion() {
41
97
  return `v${SDK_VERSION}`;
42
98
  }
43
99
  /**
44
- * Get full SDK info
100
+ * Get full SDK info (recommended for debugging)
45
101
  *
46
- * @returns Object with version details
102
+ * @returns Object with complete version details
47
103
  *
48
104
  * @example
49
105
  * ```typescript
@@ -51,14 +107,80 @@ export function getSDKVersion() {
51
107
  *
52
108
  * const info = getSDKInfo();
53
109
  * console.log(info);
54
- * // Output: { version: "3.7.0", apiVersion: 1, versionString: "v3.7.0" }
110
+ * // Output: {
111
+ * // cliVersion: "3.8.0",
112
+ * // sdkVersion: "1.2.0",
113
+ * // apiVersion: 1,
114
+ * // cliVersionString: "v3.8.0",
115
+ * // sdkVersionString: "v1.2.0"
116
+ * // }
55
117
  * ```
56
118
  */
57
119
  export function getSDKInfo() {
58
120
  return {
59
- version: SDK_VERSION,
121
+ cliVersion: CLI_VERSION,
122
+ sdkVersion: SDK_VERSION,
60
123
  apiVersion: SDK_API_VERSION,
61
- versionString: `v${SDK_VERSION}`,
124
+ cliVersionString: `v${CLI_VERSION}`,
125
+ sdkVersionString: `v${SDK_VERSION}`,
62
126
  };
63
127
  }
128
+ /**
129
+ * Get version info formatted for display
130
+ *
131
+ * @returns Human-readable version string
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * import { getVersionString } from '@defai.digital/ax-cli/sdk';
136
+ *
137
+ * console.log(getVersionString());
138
+ * // Output: "AX CLI v3.8.0 (SDK v1.2.0)"
139
+ * ```
140
+ */
141
+ export function getVersionString() {
142
+ return `AX CLI v${CLI_VERSION} (SDK v${SDK_VERSION})`;
143
+ }
144
+ /**
145
+ * Check if SDK version is compatible with minimum required version
146
+ *
147
+ * @param minVersion - Minimum SDK version required (e.g., "1.1.0")
148
+ * @returns True if current SDK version is >= minimum version
149
+ *
150
+ * @throws Error if minVersion is not a valid semantic version string
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * import { isSDKVersionCompatible } from '@defai.digital/ax-cli/sdk';
155
+ *
156
+ * if (!isSDKVersionCompatible('1.1.0')) {
157
+ * throw new Error('SDK v1.1.0+ required');
158
+ * }
159
+ * ```
160
+ */
161
+ export function isSDKVersionCompatible(minVersion) {
162
+ // BUG FIX: Validate version string format before parsing
163
+ if (typeof minVersion !== 'string' || !minVersion.trim()) {
164
+ throw new Error(`Invalid version string: "${minVersion}"`);
165
+ }
166
+ const parts = minVersion.split('.');
167
+ const [minMajor, minMinor = 0, minPatch = 0] = parts.map(Number);
168
+ const [curMajor, curMinor = 0, curPatch = 0] = SDK_VERSION.split('.').map(Number);
169
+ // BUG FIX: Check for NaN (invalid number in version string)
170
+ if (isNaN(minMajor) || isNaN(minMinor) || isNaN(minPatch)) {
171
+ throw new Error(`Invalid version format: "${minVersion}" (must be semantic version like "1.2.3")`);
172
+ }
173
+ // Major version comparison
174
+ if (curMajor > minMajor)
175
+ return true;
176
+ if (curMajor < minMajor)
177
+ return false;
178
+ // Minor version comparison
179
+ if (curMinor > minMinor)
180
+ return true;
181
+ if (curMinor < minMinor)
182
+ return false;
183
+ // Patch version comparison
184
+ return curPatch >= minPatch;
185
+ }
64
186
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/sdk/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU;IAKxB,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,IAAI,WAAW,EAAE;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/sdk/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU;IAYxB,OAAO;QACL,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,eAAe;QAC3B,gBAAgB,EAAE,IAAI,WAAW,EAAE;QACnC,gBAAgB,EAAE,IAAI,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,WAAW,WAAW,UAAU,WAAW,GAAG,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,yDAAyD;IACzD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElF,4DAA4D;IAC5D,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,2CAA2C,CAAC,CAAC;IACrG,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,GAAG,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,GAAG,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEtC,2BAA2B;IAC3B,IAAI,QAAQ,GAAG,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,GAAG,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEtC,2BAA2B;IAC3B,OAAO,QAAQ,IAAI,QAAQ,CAAC;AAC9B,CAAC"}