@defai.digital/ax-cli 0.1.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +24 -16
  2. package/automatosx.config.json +333 -0
  3. package/dist/agent/grok-agent.d.ts +7 -1
  4. package/dist/agent/grok-agent.js +22 -9
  5. package/dist/agent/grok-agent.js.map +1 -1
  6. package/dist/commands/mcp.js +1 -1
  7. package/dist/commands/mcp.js.map +1 -1
  8. package/dist/constants.d.ts +67 -1
  9. package/dist/constants.js +57 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/grok/client.d.ts +133 -2
  12. package/dist/grok/client.js +173 -16
  13. package/dist/grok/client.js.map +1 -1
  14. package/dist/grok/types.d.ts +291 -0
  15. package/dist/grok/types.js +127 -0
  16. package/dist/grok/types.js.map +1 -0
  17. package/dist/index.js +3 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/mcp/config.d.ts +1 -1
  20. package/dist/mcp/config.js +28 -5
  21. package/dist/mcp/config.js.map +1 -1
  22. package/dist/mcp/transports.d.ts +6 -3
  23. package/dist/mcp/transports.js +18 -12
  24. package/dist/mcp/transports.js.map +1 -1
  25. package/dist/schemas/api-schemas.d.ts +569 -0
  26. package/dist/schemas/api-schemas.js +117 -0
  27. package/dist/schemas/api-schemas.js.map +1 -0
  28. package/dist/schemas/confirmation-schemas.d.ts +60 -0
  29. package/dist/schemas/confirmation-schemas.js +41 -0
  30. package/dist/schemas/confirmation-schemas.js.map +1 -0
  31. package/dist/schemas/index-unified.d.ts +12 -0
  32. package/dist/schemas/index-unified.js +17 -0
  33. package/dist/schemas/index-unified.js.map +1 -0
  34. package/dist/schemas/index.d.ts +8 -8
  35. package/dist/schemas/index.js +5 -4
  36. package/dist/schemas/index.js.map +1 -1
  37. package/dist/schemas/mcp-schemas.d.ts +171 -0
  38. package/dist/schemas/mcp-schemas.js +77 -0
  39. package/dist/schemas/mcp-schemas.js.map +1 -0
  40. package/dist/schemas/tool-schemas.d.ts +2 -2
  41. package/dist/tools/search.js +2 -2
  42. package/dist/tools/search.js.map +1 -1
  43. package/dist/tools/text-editor.js +6 -0
  44. package/dist/tools/text-editor.js.map +1 -1
  45. package/dist/ui/components/api-key-input.js +2 -2
  46. package/dist/ui/components/api-key-input.js.map +1 -1
  47. package/dist/ui/components/chat-history.js +2 -0
  48. package/dist/ui/components/chat-history.js.map +1 -1
  49. package/dist/ui/components/chat-interface.js +31 -1
  50. package/dist/ui/components/chat-interface.js.map +1 -1
  51. package/dist/ui/components/mcp-status.js +1 -1
  52. package/dist/ui/components/mcp-status.js.map +1 -1
  53. package/dist/ui/components/reasoning-display.d.ts +109 -0
  54. package/dist/ui/components/reasoning-display.js +110 -0
  55. package/dist/ui/components/reasoning-display.js.map +1 -0
  56. package/dist/ui/shared/max-sized-box.js +1 -1
  57. package/dist/ui/shared/max-sized-box.js.map +1 -1
  58. package/dist/utils/cache.d.ts +75 -0
  59. package/dist/utils/cache.js +137 -0
  60. package/dist/utils/cache.js.map +1 -0
  61. package/dist/utils/confirmation-service.js +2 -2
  62. package/dist/utils/confirmation-service.js.map +1 -1
  63. package/dist/utils/index.d.ts +13 -0
  64. package/dist/utils/index.js +23 -0
  65. package/dist/utils/index.js.map +1 -0
  66. package/dist/utils/path-validator.d.ts +30 -0
  67. package/dist/utils/path-validator.js +67 -0
  68. package/dist/utils/path-validator.js.map +1 -0
  69. package/dist/utils/performance.d.ts +72 -0
  70. package/dist/utils/performance.js +114 -0
  71. package/dist/utils/performance.js.map +1 -0
  72. package/dist/utils/settings-manager.js +2 -2
  73. package/dist/utils/settings-manager.js.map +1 -1
  74. package/dist/utils/token-counter.d.ts +8 -1
  75. package/dist/utils/token-counter.js +11 -10
  76. package/dist/utils/token-counter.js.map +1 -1
  77. package/eslint.config.js +60 -0
  78. package/package.json +6 -2
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Generic LRU Cache implementation for performance optimization
3
+ * Provides consistent caching across the application
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const cache = new LRUCache<string, number>({ maxSize: 100 });
8
+ * cache.set('key', 42);
9
+ * const value = cache.get('key'); // 42
10
+ * ```
11
+ */
12
+ export interface CacheOptions {
13
+ /** Maximum number of entries in cache (default: 1000) */
14
+ maxSize?: number;
15
+ /** Time to live in milliseconds (optional) */
16
+ ttl?: number;
17
+ }
18
+ /**
19
+ * Least Recently Used (LRU) Cache with optional TTL
20
+ */
21
+ export declare class LRUCache<K, V> {
22
+ private cache;
23
+ private readonly maxSize;
24
+ private readonly ttl?;
25
+ constructor(options?: CacheOptions);
26
+ /**
27
+ * Get value from cache
28
+ * Returns undefined if not found or expired
29
+ */
30
+ get(key: K): V | undefined;
31
+ /**
32
+ * Set value in cache with LRU eviction
33
+ */
34
+ set(key: K, value: V): void;
35
+ /**
36
+ * Check if key exists and is not expired
37
+ */
38
+ has(key: K): boolean;
39
+ /**
40
+ * Delete entry from cache
41
+ */
42
+ delete(key: K): boolean;
43
+ /**
44
+ * Clear all entries
45
+ */
46
+ clear(): void;
47
+ /**
48
+ * Get cache size
49
+ */
50
+ size(): number;
51
+ /**
52
+ * Get all keys (in LRU order)
53
+ */
54
+ keys(): K[];
55
+ /**
56
+ * Get cache statistics
57
+ */
58
+ stats(): {
59
+ size: number;
60
+ maxSize: number;
61
+ ttl?: number;
62
+ };
63
+ }
64
+ /**
65
+ * Create a memoized version of an async function with caching
66
+ */
67
+ export declare function memoizeAsync<TArgs extends any[], TReturn>(fn: (...args: TArgs) => Promise<TReturn>, options?: CacheOptions & {
68
+ keyFn?: (...args: TArgs) => string;
69
+ }): (...args: TArgs) => Promise<TReturn>;
70
+ /**
71
+ * Create a memoized version of a sync function with caching
72
+ */
73
+ export declare function memoize<TArgs extends any[], TReturn>(fn: (...args: TArgs) => TReturn, options?: CacheOptions & {
74
+ keyFn?: (...args: TArgs) => string;
75
+ }): (...args: TArgs) => TReturn;
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Generic LRU Cache implementation for performance optimization
3
+ * Provides consistent caching across the application
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const cache = new LRUCache<string, number>({ maxSize: 100 });
8
+ * cache.set('key', 42);
9
+ * const value = cache.get('key'); // 42
10
+ * ```
11
+ */
12
+ /**
13
+ * Least Recently Used (LRU) Cache with optional TTL
14
+ */
15
+ export class LRUCache {
16
+ cache;
17
+ maxSize;
18
+ ttl;
19
+ constructor(options = {}) {
20
+ this.cache = new Map();
21
+ this.maxSize = options.maxSize || 1000;
22
+ this.ttl = options.ttl;
23
+ }
24
+ /**
25
+ * Get value from cache
26
+ * Returns undefined if not found or expired
27
+ */
28
+ get(key) {
29
+ const entry = this.cache.get(key);
30
+ if (!entry) {
31
+ return undefined;
32
+ }
33
+ // Check if expired
34
+ if (this.ttl && Date.now() - entry.timestamp > this.ttl) {
35
+ this.cache.delete(key);
36
+ return undefined;
37
+ }
38
+ // Move to end (most recently used)
39
+ this.cache.delete(key);
40
+ this.cache.set(key, entry);
41
+ return entry.value;
42
+ }
43
+ /**
44
+ * Set value in cache with LRU eviction
45
+ */
46
+ set(key, value) {
47
+ // Remove if already exists (to update position)
48
+ this.cache.delete(key);
49
+ // Evict oldest if at max size
50
+ if (this.cache.size >= this.maxSize) {
51
+ const firstKey = this.cache.keys().next().value;
52
+ if (firstKey !== undefined) {
53
+ this.cache.delete(firstKey);
54
+ }
55
+ }
56
+ // Add new entry
57
+ this.cache.set(key, {
58
+ value,
59
+ timestamp: Date.now(),
60
+ });
61
+ }
62
+ /**
63
+ * Check if key exists and is not expired
64
+ */
65
+ has(key) {
66
+ return this.get(key) !== undefined;
67
+ }
68
+ /**
69
+ * Delete entry from cache
70
+ */
71
+ delete(key) {
72
+ return this.cache.delete(key);
73
+ }
74
+ /**
75
+ * Clear all entries
76
+ */
77
+ clear() {
78
+ this.cache.clear();
79
+ }
80
+ /**
81
+ * Get cache size
82
+ */
83
+ size() {
84
+ return this.cache.size;
85
+ }
86
+ /**
87
+ * Get all keys (in LRU order)
88
+ */
89
+ keys() {
90
+ return Array.from(this.cache.keys());
91
+ }
92
+ /**
93
+ * Get cache statistics
94
+ */
95
+ stats() {
96
+ return {
97
+ size: this.cache.size,
98
+ maxSize: this.maxSize,
99
+ ttl: this.ttl,
100
+ };
101
+ }
102
+ }
103
+ /**
104
+ * Create a memoized version of an async function with caching
105
+ */
106
+ export function memoizeAsync(fn, options = {}) {
107
+ const cache = new LRUCache(options);
108
+ const keyFn = options.keyFn || ((...args) => JSON.stringify(args));
109
+ return async (...args) => {
110
+ const key = keyFn(...args);
111
+ const cached = cache.get(key);
112
+ if (cached !== undefined) {
113
+ return cached;
114
+ }
115
+ const result = await fn(...args);
116
+ cache.set(key, result);
117
+ return result;
118
+ };
119
+ }
120
+ /**
121
+ * Create a memoized version of a sync function with caching
122
+ */
123
+ export function memoize(fn, options = {}) {
124
+ const cache = new LRUCache(options);
125
+ const keyFn = options.keyFn || ((...args) => JSON.stringify(args));
126
+ return (...args) => {
127
+ const key = keyFn(...args);
128
+ const cached = cache.get(key);
129
+ if (cached !== undefined) {
130
+ return cached;
131
+ }
132
+ const result = fn(...args);
133
+ cache.set(key, result);
134
+ return result;
135
+ };
136
+ }
137
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export class ConfirmationService extends EventEmitter {
33
33
  try {
34
34
  await this.openInVSCode(options.filename);
35
35
  }
36
- catch (error) {
36
+ catch {
37
37
  // If VS Code opening fails, continue without it
38
38
  options.showVSCodeOpen = false;
39
39
  }
@@ -82,7 +82,7 @@ export class ConfirmationService extends EventEmitter {
82
82
  await execAsync(`${cmd} "${filename}"`);
83
83
  return;
84
84
  }
85
- catch (error) {
85
+ catch {
86
86
  // Continue to next command
87
87
  continue;
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation-service.js","sourceRoot":"","sources":["../../src/utils/confirmation-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAelC,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IAC3C,MAAM,CAAC,QAAQ,CAAsB;IACrC,mBAAmB,GAAuC,IAAI,CAAC;IAC/D,mBAAmB,GACzB,IAAI,CAAC;IAEP,8CAA8C;IACtC,YAAY,GAAG;QACrB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAClC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,OAA4B,EAC5B,gBAAiC,MAAM;QAEvC,sBAAsB;QACtB,IACE,IAAI,CAAC,YAAY,CAAC,aAAa;YAC/B,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;YAC9D,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAC5D,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gDAAgD;gBAChD,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,EAAE;YACrE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,4FAA4F;QAC5F,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;QAE9C,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,2DAA2D;YAC3D,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC;YAC1C,CAAC;iBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;YACxC,CAAC;YACD,+CAA+C;QACjD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,SAAkB,EAAE,YAAsB;QACzD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,QAAiB;QAC/B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,iCAAiC;QACjC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAErD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,GAAG,GAAG,KAAK,QAAQ,GAAG,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2BAA2B;gBAC3B,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAC3C,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,GAAG;YAClB,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,cAAc,CACZ,QAA6D,EAC7D,KAAc;QAEd,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"confirmation-service.js","sourceRoot":"","sources":["../../src/utils/confirmation-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Unified utility exports
3
+ * Central location for all utility functions and classes
4
+ */
5
+ export * from './cache.js';
6
+ export * from './error-handler.js';
7
+ export * from './path-validator.js';
8
+ export * from './settings-manager.js';
9
+ export * from './token-counter.js';
10
+ export * from './text-utils.js';
11
+ export * from './confirmation-service.js';
12
+ export * from './custom-instructions.js';
13
+ export * from './performance.js';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Unified utility exports
3
+ * Central location for all utility functions and classes
4
+ */
5
+ // Cache utilities
6
+ export * from './cache.js';
7
+ // Error handling
8
+ export * from './error-handler.js';
9
+ // Path validation
10
+ export * from './path-validator.js';
11
+ // Settings management
12
+ export * from './settings-manager.js';
13
+ // Token counting
14
+ export * from './token-counter.js';
15
+ // Text utilities
16
+ export * from './text-utils.js';
17
+ // Confirmation service
18
+ export * from './confirmation-service.js';
19
+ // Custom instructions
20
+ export * from './custom-instructions.js';
21
+ // Performance monitoring
22
+ export * from './performance.js';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,sBAAsB;AACtB,cAAc,uBAAuB,CAAC;AAEtC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,iBAAiB;AACjB,cAAc,iBAAiB,CAAC;AAEhC,uBAAuB;AACvB,cAAc,2BAA2B,CAAC;AAE1C,sBAAsB;AACtB,cAAc,0BAA0B,CAAC;AAEzC,yBAAyB;AACzB,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Path validation utilities to prevent security issues
3
+ * Protects against path traversal attacks and invalid file operations
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Path validation schema
8
+ */
9
+ export declare const PathSchema: z.ZodEffects<z.ZodString, string, string>;
10
+ /**
11
+ * Validate and resolve a file path safely
12
+ * @throws Error if path is invalid or dangerous
13
+ */
14
+ export declare function validatePath(filePath: string): string;
15
+ /**
16
+ * Check if a path is within a specific directory
17
+ */
18
+ export declare function isPathWithin(filePath: string, baseDir: string): boolean;
19
+ /**
20
+ * Safely join paths with validation
21
+ */
22
+ export declare function safeJoin(...paths: string[]): string;
23
+ /**
24
+ * Check if path is safe for file operations
25
+ */
26
+ export declare function isPathSafe(filePath: string): boolean;
27
+ /**
28
+ * Get relative path safely
29
+ */
30
+ export declare function safeRelative(from: string, to: string): string;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Path validation utilities to prevent security issues
3
+ * Protects against path traversal attacks and invalid file operations
4
+ */
5
+ import * as path from 'path';
6
+ import { z } from 'zod';
7
+ /**
8
+ * Path validation schema
9
+ */
10
+ export const PathSchema = z.string().min(1).refine((filePath) => {
11
+ // Prevent path traversal attempts
12
+ const normalized = path.normalize(filePath);
13
+ // Check for suspicious patterns
14
+ return (!normalized.includes('..') &&
15
+ !normalized.startsWith('/etc') &&
16
+ !normalized.startsWith('/sys') &&
17
+ !normalized.startsWith('/proc'));
18
+ }, {
19
+ message: 'Invalid or potentially dangerous file path',
20
+ });
21
+ /**
22
+ * Validate and resolve a file path safely
23
+ * @throws Error if path is invalid or dangerous
24
+ */
25
+ export function validatePath(filePath) {
26
+ const result = PathSchema.safeParse(filePath);
27
+ if (!result.success) {
28
+ throw new Error(`Invalid path: ${result.error.message}`);
29
+ }
30
+ return path.resolve(filePath);
31
+ }
32
+ /**
33
+ * Check if a path is within a specific directory
34
+ */
35
+ export function isPathWithin(filePath, baseDir) {
36
+ const resolvedPath = path.resolve(filePath);
37
+ const resolvedBase = path.resolve(baseDir);
38
+ return resolvedPath.startsWith(resolvedBase);
39
+ }
40
+ /**
41
+ * Safely join paths with validation
42
+ */
43
+ export function safeJoin(...paths) {
44
+ const joined = path.join(...paths);
45
+ return validatePath(joined);
46
+ }
47
+ /**
48
+ * Check if path is safe for file operations
49
+ */
50
+ export function isPathSafe(filePath) {
51
+ try {
52
+ validatePath(filePath);
53
+ return true;
54
+ }
55
+ catch {
56
+ return false;
57
+ }
58
+ }
59
+ /**
60
+ * Get relative path safely
61
+ */
62
+ export function safeRelative(from, to) {
63
+ const validFrom = validatePath(from);
64
+ const validTo = validatePath(to);
65
+ return path.relative(validFrom, validTo);
66
+ }
67
+ //# sourceMappingURL=path-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-validator.js","sourceRoot":"","sources":["../../src/utils/path-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAChD,CAAC,QAAQ,EAAE,EAAE;IACX,kCAAkC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE5C,gCAAgC;IAChC,OAAO,CACL,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1B,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9B,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9B,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,CAAC;AACJ,CAAC,EACD;IACE,OAAO,EAAE,4CAA4C;CACtD,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,OAAe;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,KAAe;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IACnC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,EAAU;IACnD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Performance monitoring utilities
3
+ * Provides timing and performance metrics for operations
4
+ */
5
+ export interface PerformanceMetric {
6
+ name: string;
7
+ startTime: number;
8
+ endTime?: number;
9
+ duration?: number;
10
+ metadata?: Record<string, unknown>;
11
+ }
12
+ /**
13
+ * Simple performance timer for measuring operation duration
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const timer = new PerformanceTimer('tokenCount');
18
+ * // ... do work ...
19
+ * const duration = timer.end();
20
+ * console.log(`Operation took ${duration}ms`);
21
+ * ```
22
+ */
23
+ export declare class PerformanceTimer {
24
+ private startTime;
25
+ private endTime?;
26
+ private name;
27
+ constructor(name: string);
28
+ /**
29
+ * End the timer and return duration in milliseconds
30
+ */
31
+ end(): number;
32
+ /**
33
+ * Get duration without ending timer
34
+ */
35
+ duration(): number;
36
+ /**
37
+ * Get metric object
38
+ */
39
+ getMetric(): PerformanceMetric;
40
+ }
41
+ /**
42
+ * Measure the performance of an async function
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const [result, duration] = await measureAsync(
47
+ * 'apiCall',
48
+ * () => fetch('https://api.example.com')
49
+ * );
50
+ * console.log(`API call took ${duration}ms`);
51
+ * ```
52
+ */
53
+ export declare function measureAsync<T>(name: string, fn: () => Promise<T>): Promise<[T, number]>;
54
+ /**
55
+ * Measure the performance of a sync function
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const [result, duration] = measure('calculation', () => {
60
+ * return heavyComputation();
61
+ * });
62
+ * ```
63
+ */
64
+ export declare function measure<T>(name: string, fn: () => T): [T, number];
65
+ /**
66
+ * Debounce function to limit execution rate
67
+ */
68
+ export declare function debounce<TArgs extends any[]>(fn: (...args: TArgs) => void, delay: number): (...args: TArgs) => void;
69
+ /**
70
+ * Throttle function to limit execution frequency
71
+ */
72
+ export declare function throttle<TArgs extends any[]>(fn: (...args: TArgs) => void, limit: number): (...args: TArgs) => void;
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Performance monitoring utilities
3
+ * Provides timing and performance metrics for operations
4
+ */
5
+ /**
6
+ * Simple performance timer for measuring operation duration
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const timer = new PerformanceTimer('tokenCount');
11
+ * // ... do work ...
12
+ * const duration = timer.end();
13
+ * console.log(`Operation took ${duration}ms`);
14
+ * ```
15
+ */
16
+ export class PerformanceTimer {
17
+ startTime;
18
+ endTime;
19
+ name;
20
+ constructor(name) {
21
+ this.name = name;
22
+ this.startTime = performance.now();
23
+ }
24
+ /**
25
+ * End the timer and return duration in milliseconds
26
+ */
27
+ end() {
28
+ this.endTime = performance.now();
29
+ return this.duration();
30
+ }
31
+ /**
32
+ * Get duration without ending timer
33
+ */
34
+ duration() {
35
+ const end = this.endTime || performance.now();
36
+ return end - this.startTime;
37
+ }
38
+ /**
39
+ * Get metric object
40
+ */
41
+ getMetric() {
42
+ return {
43
+ name: this.name,
44
+ startTime: this.startTime,
45
+ endTime: this.endTime,
46
+ duration: this.endTime ? this.duration() : undefined,
47
+ };
48
+ }
49
+ }
50
+ /**
51
+ * Measure the performance of an async function
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const [result, duration] = await measureAsync(
56
+ * 'apiCall',
57
+ * () => fetch('https://api.example.com')
58
+ * );
59
+ * console.log(`API call took ${duration}ms`);
60
+ * ```
61
+ */
62
+ export async function measureAsync(name, fn) {
63
+ const timer = new PerformanceTimer(name);
64
+ const result = await fn();
65
+ const duration = timer.end();
66
+ return [result, duration];
67
+ }
68
+ /**
69
+ * Measure the performance of a sync function
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * const [result, duration] = measure('calculation', () => {
74
+ * return heavyComputation();
75
+ * });
76
+ * ```
77
+ */
78
+ export function measure(name, fn) {
79
+ const timer = new PerformanceTimer(name);
80
+ const result = fn();
81
+ const duration = timer.end();
82
+ return [result, duration];
83
+ }
84
+ /**
85
+ * Debounce function to limit execution rate
86
+ */
87
+ export function debounce(fn, delay) {
88
+ let timeoutId = null;
89
+ return (...args) => {
90
+ if (timeoutId) {
91
+ clearTimeout(timeoutId);
92
+ }
93
+ timeoutId = setTimeout(() => {
94
+ fn(...args);
95
+ timeoutId = null;
96
+ }, delay);
97
+ };
98
+ }
99
+ /**
100
+ * Throttle function to limit execution frequency
101
+ */
102
+ export function throttle(fn, limit) {
103
+ let inThrottle = false;
104
+ return (...args) => {
105
+ if (!inThrottle) {
106
+ fn(...args);
107
+ inThrottle = true;
108
+ setTimeout(() => {
109
+ inThrottle = false;
110
+ }, limit);
111
+ }
112
+ };
113
+ }
114
+ //# sourceMappingURL=performance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/utils/performance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IACnB,SAAS,CAAS;IAClB,OAAO,CAAU;IACjB,IAAI,CAAS;IAErB,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,GAAG;QACD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9C,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,EAAoB;IAEpB,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAI,IAAY,EAAE,EAAW;IAClD,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,EAA4B,EAC5B,KAAa;IAEb,IAAI,SAAS,GAA0B,IAAI,CAAC;IAE5C,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACZ,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,EAA4B,EAC5B,KAAa;IAEb,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACZ,UAAU,GAAG,IAAI,CAAC;YAElB,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -93,7 +93,7 @@ export class SettingsManager {
93
93
  const parsed = JSON.parse(content);
94
94
  existingSettings = { ...DEFAULT_USER_SETTINGS, ...parsed };
95
95
  }
96
- catch (error) {
96
+ catch {
97
97
  // If file is corrupted, use defaults
98
98
  console.warn("Corrupted user settings file, using defaults");
99
99
  }
@@ -161,7 +161,7 @@ export class SettingsManager {
161
161
  const parsed = JSON.parse(content);
162
162
  existingSettings = { ...DEFAULT_PROJECT_SETTINGS, ...parsed };
163
163
  }
164
- catch (error) {
164
+ catch {
165
165
  // If file is corrupted, use defaults
166
166
  console.warn("Corrupted project settings file, using defaults");
167
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-manager.js","sourceRoot":"","sources":["../../src/utils/settings-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  export declare class TokenCounter {
2
2
  private encoder;
3
3
  private cache;
4
- private static readonly MAX_CACHE_SIZE;
5
4
  constructor(model?: string);
6
5
  /**
7
6
  * Count tokens in a string with LRU caching for performance
@@ -24,6 +23,14 @@ export declare class TokenCounter {
24
23
  * Clean up resources
25
24
  */
26
25
  dispose(): void;
26
+ /**
27
+ * Get cache statistics
28
+ */
29
+ getCacheStats(): {
30
+ size: number;
31
+ maxSize: number;
32
+ ttl?: number;
33
+ };
27
34
  }
28
35
  /**
29
36
  * Format token count for display (e.g., 1.2k for 1200)