@wundr.io/cli 1.0.0 → 1.0.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 (166) hide show
  1. package/README.md +696 -280
  2. package/package.json +4 -4
  3. package/src/commands/computer-setup-commands.ts +160 -0
  4. package/src/tests/computer-setup-integration.test.ts +439 -0
  5. package/src/utils/backup-rollback-manager.ts +361 -0
  6. package/src/utils/claude-config-installer.ts +732 -0
  7. package/dist/ai/ai-service.d.ts +0 -152
  8. package/dist/ai/ai-service.d.ts.map +0 -1
  9. package/dist/ai/ai-service.js +0 -430
  10. package/dist/ai/ai-service.js.map +0 -1
  11. package/dist/ai/claude-client.d.ts +0 -130
  12. package/dist/ai/claude-client.d.ts.map +0 -1
  13. package/dist/ai/claude-client.js +0 -339
  14. package/dist/ai/claude-client.js.map +0 -1
  15. package/dist/ai/conversation-manager.d.ts +0 -164
  16. package/dist/ai/conversation-manager.d.ts.map +0 -1
  17. package/dist/ai/conversation-manager.js +0 -612
  18. package/dist/ai/conversation-manager.js.map +0 -1
  19. package/dist/ai/index.d.ts +0 -5
  20. package/dist/ai/index.d.ts.map +0 -1
  21. package/dist/ai/index.js +0 -8
  22. package/dist/ai/index.js.map +0 -1
  23. package/dist/cli.d.ts +0 -36
  24. package/dist/cli.d.ts.map +0 -1
  25. package/dist/cli.js +0 -173
  26. package/dist/cli.js.map +0 -1
  27. package/dist/commands/ai.d.ts +0 -89
  28. package/dist/commands/ai.d.ts.map +0 -1
  29. package/dist/commands/ai.js +0 -735
  30. package/dist/commands/ai.js.map +0 -1
  31. package/dist/commands/analyze-optimized.d.ts +0 -14
  32. package/dist/commands/analyze-optimized.d.ts.map +0 -1
  33. package/dist/commands/analyze-optimized.js +0 -437
  34. package/dist/commands/analyze-optimized.js.map +0 -1
  35. package/dist/commands/analyze.d.ts +0 -65
  36. package/dist/commands/analyze.d.ts.map +0 -1
  37. package/dist/commands/analyze.js +0 -435
  38. package/dist/commands/analyze.js.map +0 -1
  39. package/dist/commands/batch.d.ts +0 -71
  40. package/dist/commands/batch.d.ts.map +0 -1
  41. package/dist/commands/batch.js +0 -738
  42. package/dist/commands/batch.js.map +0 -1
  43. package/dist/commands/chat.d.ts +0 -71
  44. package/dist/commands/chat.d.ts.map +0 -1
  45. package/dist/commands/chat.js +0 -674
  46. package/dist/commands/chat.js.map +0 -1
  47. package/dist/commands/claude-init.d.ts +0 -28
  48. package/dist/commands/claude-init.d.ts.map +0 -1
  49. package/dist/commands/claude-init.js +0 -587
  50. package/dist/commands/claude-init.js.map +0 -1
  51. package/dist/commands/claude-setup.d.ts +0 -32
  52. package/dist/commands/claude-setup.d.ts.map +0 -1
  53. package/dist/commands/claude-setup.js +0 -570
  54. package/dist/commands/claude-setup.js.map +0 -1
  55. package/dist/commands/computer-setup-commands.d.ts +0 -39
  56. package/dist/commands/computer-setup-commands.d.ts.map +0 -1
  57. package/dist/commands/computer-setup-commands.js +0 -563
  58. package/dist/commands/computer-setup-commands.js.map +0 -1
  59. package/dist/commands/computer-setup.d.ts +0 -7
  60. package/dist/commands/computer-setup.d.ts.map +0 -1
  61. package/dist/commands/computer-setup.js +0 -481
  62. package/dist/commands/computer-setup.js.map +0 -1
  63. package/dist/commands/create-command.d.ts +0 -7
  64. package/dist/commands/create-command.d.ts.map +0 -1
  65. package/dist/commands/create-command.js +0 -158
  66. package/dist/commands/create-command.js.map +0 -1
  67. package/dist/commands/create.d.ts +0 -74
  68. package/dist/commands/create.d.ts.map +0 -1
  69. package/dist/commands/create.js +0 -556
  70. package/dist/commands/create.js.map +0 -1
  71. package/dist/commands/dashboard.d.ts +0 -91
  72. package/dist/commands/dashboard.d.ts.map +0 -1
  73. package/dist/commands/dashboard.js +0 -537
  74. package/dist/commands/dashboard.js.map +0 -1
  75. package/dist/commands/govern.d.ts +0 -70
  76. package/dist/commands/govern.d.ts.map +0 -1
  77. package/dist/commands/govern.js +0 -480
  78. package/dist/commands/govern.js.map +0 -1
  79. package/dist/commands/init.d.ts +0 -55
  80. package/dist/commands/init.d.ts.map +0 -1
  81. package/dist/commands/init.js +0 -584
  82. package/dist/commands/init.js.map +0 -1
  83. package/dist/commands/performance-optimizer.d.ts +0 -30
  84. package/dist/commands/performance-optimizer.d.ts.map +0 -1
  85. package/dist/commands/performance-optimizer.js +0 -649
  86. package/dist/commands/performance-optimizer.js.map +0 -1
  87. package/dist/commands/plugins.d.ts +0 -87
  88. package/dist/commands/plugins.d.ts.map +0 -1
  89. package/dist/commands/plugins.js +0 -685
  90. package/dist/commands/plugins.js.map +0 -1
  91. package/dist/commands/setup.d.ts +0 -29
  92. package/dist/commands/setup.d.ts.map +0 -1
  93. package/dist/commands/setup.js +0 -399
  94. package/dist/commands/setup.js.map +0 -1
  95. package/dist/commands/test-init.d.ts +0 -9
  96. package/dist/commands/test-init.d.ts.map +0 -1
  97. package/dist/commands/test-init.js +0 -222
  98. package/dist/commands/test-init.js.map +0 -1
  99. package/dist/commands/test.d.ts +0 -25
  100. package/dist/commands/test.d.ts.map +0 -1
  101. package/dist/commands/test.js +0 -217
  102. package/dist/commands/test.js.map +0 -1
  103. package/dist/commands/watch.d.ts +0 -76
  104. package/dist/commands/watch.d.ts.map +0 -1
  105. package/dist/commands/watch.js +0 -610
  106. package/dist/commands/watch.js.map +0 -1
  107. package/dist/context/context-manager.d.ts +0 -155
  108. package/dist/context/context-manager.d.ts.map +0 -1
  109. package/dist/context/context-manager.js +0 -383
  110. package/dist/context/context-manager.js.map +0 -1
  111. package/dist/context/index.d.ts +0 -3
  112. package/dist/context/index.d.ts.map +0 -1
  113. package/dist/context/index.js +0 -6
  114. package/dist/context/index.js.map +0 -1
  115. package/dist/context/session-manager.d.ts +0 -207
  116. package/dist/context/session-manager.d.ts.map +0 -1
  117. package/dist/context/session-manager.js +0 -682
  118. package/dist/context/session-manager.js.map +0 -1
  119. package/dist/index.d.ts +0 -8
  120. package/dist/index.d.ts.map +0 -1
  121. package/dist/index.js +0 -51
  122. package/dist/index.js.map +0 -1
  123. package/dist/interactive/interactive-mode.d.ts +0 -76
  124. package/dist/interactive/interactive-mode.d.ts.map +0 -1
  125. package/dist/interactive/interactive-mode.js +0 -730
  126. package/dist/interactive/interactive-mode.js.map +0 -1
  127. package/dist/nlp/command-mapper.d.ts +0 -174
  128. package/dist/nlp/command-mapper.d.ts.map +0 -1
  129. package/dist/nlp/command-mapper.js +0 -623
  130. package/dist/nlp/command-mapper.js.map +0 -1
  131. package/dist/nlp/command-parser.d.ts +0 -106
  132. package/dist/nlp/command-parser.d.ts.map +0 -1
  133. package/dist/nlp/command-parser.js +0 -416
  134. package/dist/nlp/command-parser.js.map +0 -1
  135. package/dist/nlp/index.d.ts +0 -5
  136. package/dist/nlp/index.d.ts.map +0 -1
  137. package/dist/nlp/index.js +0 -8
  138. package/dist/nlp/index.js.map +0 -1
  139. package/dist/nlp/intent-classifier.d.ts +0 -59
  140. package/dist/nlp/intent-classifier.d.ts.map +0 -1
  141. package/dist/nlp/intent-classifier.js +0 -384
  142. package/dist/nlp/intent-classifier.js.map +0 -1
  143. package/dist/nlp/intent-parser.d.ts +0 -152
  144. package/dist/nlp/intent-parser.d.ts.map +0 -1
  145. package/dist/nlp/intent-parser.js +0 -739
  146. package/dist/nlp/intent-parser.js.map +0 -1
  147. package/dist/plugins/plugin-manager.d.ts +0 -120
  148. package/dist/plugins/plugin-manager.d.ts.map +0 -1
  149. package/dist/plugins/plugin-manager.js +0 -595
  150. package/dist/plugins/plugin-manager.js.map +0 -1
  151. package/dist/types/index.d.ts +0 -224
  152. package/dist/types/index.d.ts.map +0 -1
  153. package/dist/types/index.js +0 -3
  154. package/dist/types/index.js.map +0 -1
  155. package/dist/utils/config-manager.d.ts +0 -73
  156. package/dist/utils/config-manager.d.ts.map +0 -1
  157. package/dist/utils/config-manager.js +0 -339
  158. package/dist/utils/config-manager.js.map +0 -1
  159. package/dist/utils/error-handler.d.ts +0 -46
  160. package/dist/utils/error-handler.d.ts.map +0 -1
  161. package/dist/utils/error-handler.js +0 -169
  162. package/dist/utils/error-handler.js.map +0 -1
  163. package/dist/utils/logger.d.ts +0 -25
  164. package/dist/utils/logger.d.ts.map +0 -1
  165. package/dist/utils/logger.js +0 -94
  166. package/dist/utils/logger.js.map +0 -1
@@ -1,384 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IntentClassifier = void 0;
4
- /**
5
- * Intent classifier for natural language processing
6
- */
7
- class IntentClassifier {
8
- patterns;
9
- constructor() {
10
- this.patterns = this.initializePatterns();
11
- }
12
- /**
13
- * Classify user intent from natural language input
14
- */
15
- classifyIntent(input) {
16
- const results = [];
17
- const normalizedInput = input.toLowerCase().trim();
18
- for (const pattern of this.patterns) {
19
- for (const regex of pattern.patterns) {
20
- const match = normalizedInput.match(regex);
21
- if (match) {
22
- const entities = {};
23
- // Extract entities using pattern extractors
24
- for (const [entityName, extractor] of Object.entries(pattern.entityExtractors)) {
25
- try {
26
- entities[entityName] = extractor(match);
27
- }
28
- catch (error) {
29
- // Skip failed entity extraction
30
- }
31
- }
32
- const confidence = this.calculateConfidence(match, pattern, normalizedInput);
33
- results.push({
34
- name: pattern.intent,
35
- confidence,
36
- entities,
37
- metadata: {
38
- matchedPattern: regex.source,
39
- priority: pattern.priority,
40
- },
41
- });
42
- }
43
- }
44
- }
45
- // Sort by confidence and priority
46
- return results.sort((a, b) => {
47
- const confidenceDiff = b.confidence - a.confidence;
48
- if (Math.abs(confidenceDiff) < 0.1) {
49
- return ((b.metadata?.['priority'] || 0) - (a.metadata?.['priority'] || 0));
50
- }
51
- return confidenceDiff;
52
- });
53
- }
54
- /**
55
- * Get the best intent classification
56
- */
57
- getBestIntent(input) {
58
- const intents = this.classifyIntent(input);
59
- return intents.length > 0 && intents[0] ? intents[0] : null;
60
- }
61
- /**
62
- * Check if input matches a specific intent
63
- */
64
- matchesIntent(input, intentName, minConfidence = 0.7) {
65
- const intents = this.classifyIntent(input);
66
- const matchedIntent = intents.find(intent => intent.name === intentName);
67
- return matchedIntent ? matchedIntent.confidence >= minConfidence : false;
68
- }
69
- /**
70
- * Initialize intent patterns
71
- */
72
- initializePatterns() {
73
- return [
74
- // Analysis intents
75
- {
76
- intent: 'analyze_project',
77
- patterns: [
78
- /analyze\s+(?:the\s+)?project/i,
79
- /scan\s+(?:the\s+)?project/i,
80
- /check\s+(?:the\s+)?project/i,
81
- /examine\s+(?:the\s+)?project/i,
82
- ],
83
- entityExtractors: {},
84
- priority: 10,
85
- },
86
- {
87
- intent: 'analyze_dependencies',
88
- patterns: [
89
- /analyze\s+dependencies/i,
90
- /check\s+dependencies/i,
91
- /dependency\s+analysis/i,
92
- /deps?\s+check/i,
93
- /find\s+dependency\s+issues/i,
94
- ],
95
- entityExtractors: {},
96
- priority: 10,
97
- },
98
- {
99
- intent: 'analyze_duplicates',
100
- patterns: [
101
- /find\s+duplicates?/i,
102
- /duplicate\s+(?:code|analysis)/i,
103
- /check\s+for\s+duplicates?/i,
104
- /detect\s+duplicates?/i,
105
- ],
106
- entityExtractors: {},
107
- priority: 10,
108
- },
109
- {
110
- intent: 'analyze_quality',
111
- patterns: [
112
- /code\s+quality/i,
113
- /quality\s+check/i,
114
- /analyze\s+quality/i,
115
- /check\s+code\s+quality/i,
116
- ],
117
- entityExtractors: {},
118
- priority: 10,
119
- },
120
- {
121
- intent: 'analyze_path',
122
- patterns: [
123
- /analyze\s+(.+?)(?:\s|$)/i,
124
- /scan\s+(.+?)(?:\s|$)/i,
125
- /check\s+(.+?)(?:\s|$)/i,
126
- ],
127
- entityExtractors: {
128
- path: match => match[1]?.trim(),
129
- },
130
- priority: 8,
131
- },
132
- // Creation intents
133
- {
134
- intent: 'create_service',
135
- patterns: [
136
- /create\s+(?:a\s+)?service/i,
137
- /new\s+service/i,
138
- /generate\s+service/i,
139
- /make\s+(?:a\s+)?service/i,
140
- ],
141
- entityExtractors: {
142
- name: match => this.extractServiceName(match.input || ''),
143
- },
144
- priority: 10,
145
- },
146
- {
147
- intent: 'create_component',
148
- patterns: [
149
- /create\s+(?:a\s+)?component/i,
150
- /new\s+component/i,
151
- /generate\s+component/i,
152
- /make\s+(?:a\s+)?component/i,
153
- ],
154
- entityExtractors: {
155
- name: match => this.extractComponentName(match.input || ''),
156
- },
157
- priority: 10,
158
- },
159
- {
160
- intent: 'create_template',
161
- patterns: [
162
- /create\s+(?:a\s+)?template/i,
163
- /new\s+template/i,
164
- /generate\s+template/i,
165
- /make\s+(?:a\s+)?template/i,
166
- ],
167
- entityExtractors: {
168
- type: match => this.extractTemplateType(match.input || ''),
169
- },
170
- priority: 10,
171
- },
172
- // Initialization intents
173
- {
174
- intent: 'init_project',
175
- patterns: [
176
- /init(?:ialize)?\s+(?:a\s+)?project/i,
177
- /setup\s+(?:a\s+)?project/i,
178
- /start\s+(?:a\s+)?new\s+project/i,
179
- /create\s+(?:a\s+)?new\s+project/i,
180
- ],
181
- entityExtractors: {
182
- name: match => this.extractProjectName(match.input || ''),
183
- type: match => this.extractProjectType(match.input || ''),
184
- },
185
- priority: 10,
186
- },
187
- {
188
- intent: 'init_config',
189
- patterns: [
190
- /init(?:ialize)?\s+config/i,
191
- /setup\s+config/i,
192
- /create\s+config/i,
193
- /configure\s+wundr/i,
194
- ],
195
- entityExtractors: {},
196
- priority: 10,
197
- },
198
- // Dashboard intents
199
- {
200
- intent: 'start_dashboard',
201
- patterns: [
202
- /start\s+dashboard/i,
203
- /open\s+dashboard/i,
204
- /show\s+dashboard/i,
205
- /launch\s+dashboard/i,
206
- /run\s+dashboard/i,
207
- ],
208
- entityExtractors: {
209
- port: match => this.extractPort(match.input || ''),
210
- open: match => /open/.test(match.input || ''),
211
- },
212
- priority: 10,
213
- },
214
- // Governance intents
215
- {
216
- intent: 'apply_governance',
217
- patterns: [
218
- /apply\s+governance/i,
219
- /governance\s+check/i,
220
- /compliance\s+check/i,
221
- /enforce\s+rules/i,
222
- ],
223
- entityExtractors: {},
224
- priority: 10,
225
- },
226
- // Watch intents
227
- {
228
- intent: 'watch_files',
229
- patterns: [
230
- /watch\s+files?/i,
231
- /monitor\s+files?/i,
232
- /auto\s+run/i,
233
- /continuous\s+(?:build|test|check)/i,
234
- ],
235
- entityExtractors: {
236
- pattern: match => this.extractWatchPattern(match.input || ''),
237
- command: match => this.extractWatchCommand(match.input || ''),
238
- },
239
- priority: 10,
240
- },
241
- // Batch intents
242
- {
243
- intent: 'run_batch',
244
- patterns: [
245
- /run\s+batch/i,
246
- /execute\s+batch/i,
247
- /batch\s+(?:operation|job|process)/i,
248
- /run\s+multiple\s+commands/i,
249
- ],
250
- entityExtractors: {
251
- file: match => this.extractBatchFile(match.input || ''),
252
- },
253
- priority: 10,
254
- },
255
- // Plugin intents
256
- {
257
- intent: 'manage_plugins',
258
- patterns: [
259
- /manage\s+plugins?/i,
260
- /plugin\s+(?:list|install|remove)/i,
261
- /add\s+plugin/i,
262
- /install\s+plugin/i,
263
- ],
264
- entityExtractors: {
265
- action: match => this.extractPluginAction(match.input || ''),
266
- name: match => this.extractPluginName(match.input || ''),
267
- },
268
- priority: 10,
269
- },
270
- // Help intents
271
- {
272
- intent: 'get_help',
273
- patterns: [
274
- /help/i,
275
- /how\s+(?:do\s+i|to)/i,
276
- /what\s+(?:is|does)/i,
277
- /show\s+(?:commands|options)/i,
278
- /usage/i,
279
- ],
280
- entityExtractors: {
281
- topic: match => this.extractHelpTopic(match.input || ''),
282
- },
283
- priority: 8,
284
- },
285
- // Generic action intents
286
- {
287
- intent: 'generic_action',
288
- patterns: [
289
- /^(analyze|create|init|start|run|execute|show|open|install|remove|add|delete|update)/i,
290
- ],
291
- entityExtractors: {
292
- action: match => match[1]?.toLowerCase(),
293
- target: match => this.extractActionTarget(match.input || ''),
294
- },
295
- priority: 5,
296
- },
297
- ];
298
- }
299
- /**
300
- * Calculate confidence score for a match
301
- */
302
- calculateConfidence(match, pattern, normalizedInput) {
303
- let confidence = 0.7; // Base confidence
304
- // Boost confidence for exact matches
305
- if (match[0] === normalizedInput) {
306
- confidence += 0.2;
307
- }
308
- // Boost confidence for longer matches
309
- const matchRatio = match[0].length / normalizedInput.length;
310
- confidence += Math.min(0.2, matchRatio * 0.3);
311
- // Boost confidence for high-priority patterns
312
- if (pattern.priority >= 10) {
313
- confidence += 0.1;
314
- }
315
- // Cap confidence at 1.0
316
- return Math.min(1.0, confidence);
317
- }
318
- // Entity extraction helper methods
319
- extractServiceName(input) {
320
- const match = input.match(/(?:service\s+)?(?:called\s+|named\s+)?([A-Z][a-zA-Z]*)/);
321
- return match?.[1];
322
- }
323
- extractComponentName(input) {
324
- const match = input.match(/(?:component\s+)?(?:called\s+|named\s+)?([A-Z][a-zA-Z]*)/);
325
- return match?.[1];
326
- }
327
- extractTemplateType(input) {
328
- const match = input.match(/template\s+for\s+([a-zA-Z]+)/);
329
- return match?.[1];
330
- }
331
- extractProjectName(input) {
332
- const match = input.match(/project\s+(?:called\s+|named\s+)?([a-zA-Z-_]+)/);
333
- return match?.[1];
334
- }
335
- extractProjectType(input) {
336
- const types = ['node', 'react', 'typescript', 'express', 'next', 'vue'];
337
- for (const type of types) {
338
- if (input.includes(type)) {
339
- return type;
340
- }
341
- }
342
- return undefined;
343
- }
344
- extractPort(input) {
345
- const match = input.match(/port\s+(\d+)/);
346
- return match && match[1] ? parseInt(match[1], 10) : undefined;
347
- }
348
- extractWatchPattern(input) {
349
- const match = input.match(/watch\s+"([^"]+)"/);
350
- return match?.[1];
351
- }
352
- extractWatchCommand(input) {
353
- const match = input.match(/run\s+"([^"]+)"/);
354
- return match?.[1];
355
- }
356
- extractBatchFile(input) {
357
- const match = input.match(/batch\s+(?:file\s+)?([^\s]+\.(?:json|yaml|yml))/);
358
- return match?.[1];
359
- }
360
- extractPluginAction(input) {
361
- const actions = ['install', 'remove', 'list', 'enable', 'disable'];
362
- for (const action of actions) {
363
- if (input.includes(action)) {
364
- return action;
365
- }
366
- }
367
- return undefined;
368
- }
369
- extractPluginName(input) {
370
- const match = input.match(/plugin\s+([a-zA-Z-_@\/]+)/);
371
- return match?.[1];
372
- }
373
- extractHelpTopic(input) {
374
- const match = input.match(/help\s+(?:with\s+)?([a-zA-Z]+)/);
375
- return match?.[1];
376
- }
377
- extractActionTarget(input) {
378
- const words = input.split(/\s+/);
379
- // Return words after the action verb
380
- return words.slice(1).join(' ') || undefined;
381
- }
382
- }
383
- exports.IntentClassifier = IntentClassifier;
384
- //# sourceMappingURL=intent-classifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intent-classifier.js","sourceRoot":"","sources":["../../src/nlp/intent-classifier.ts"],"names":[],"mappings":"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"}
@@ -1,152 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- import { ClaudeClient, ClaudeMessage } from '../ai/claude-client';
3
- /**
4
- * Intent classification result
5
- */
6
- export interface IntentResult {
7
- intent: string;
8
- confidence: number;
9
- command?: string;
10
- parameters?: Record<string, any>;
11
- clarification?: string;
12
- alternatives?: Array<{
13
- command: string;
14
- confidence: number;
15
- description: string;
16
- }>;
17
- reasoning?: string;
18
- context?: {
19
- entities: Entity[];
20
- keywords: string[];
21
- sentiment: 'positive' | 'neutral' | 'negative';
22
- };
23
- }
24
- /**
25
- * Named entity recognition result
26
- */
27
- export interface Entity {
28
- text: string;
29
- type: 'file_path' | 'package_name' | 'command' | 'option' | 'value' | 'technology';
30
- confidence: number;
31
- startIndex: number;
32
- endIndex: number;
33
- }
34
- /**
35
- * Command pattern for intent matching
36
- */
37
- export interface CommandPattern {
38
- intent: string;
39
- patterns: string[];
40
- parameters: ParameterPattern[];
41
- examples: string[];
42
- category: string;
43
- destructive?: boolean;
44
- }
45
- /**
46
- * Parameter extraction pattern
47
- */
48
- export interface ParameterPattern {
49
- name: string;
50
- type: 'string' | 'number' | 'boolean' | 'path' | 'enum';
51
- required: boolean;
52
- aliases?: string[];
53
- validation?: RegExp;
54
- enumValues?: string[];
55
- defaultValue?: any;
56
- }
57
- /**
58
- * Context for intent analysis
59
- */
60
- export interface IntentContext {
61
- projectType?: string;
62
- recentCommands?: string[];
63
- workingDirectory?: string;
64
- gitStatus?: string;
65
- conversationHistory?: ClaudeMessage[];
66
- userPreferences?: Record<string, any>;
67
- }
68
- /**
69
- * Intent parser configuration
70
- */
71
- export interface IntentParserConfig {
72
- confidenceThreshold: number;
73
- maxAlternatives: number;
74
- enableNER: boolean;
75
- enableContextAwareness: boolean;
76
- cacheDuration: number;
77
- }
78
- /**
79
- * Advanced NLP Intent Parser for converting natural language to CLI commands
80
- */
81
- export declare class IntentParser extends EventEmitter {
82
- private claudeClient;
83
- private config;
84
- private commandPatterns;
85
- private intentCache;
86
- private entityPatterns;
87
- constructor(claudeClient: ClaudeClient, config?: Partial<IntentParserConfig>);
88
- /**
89
- * Parse natural language input and extract intent
90
- */
91
- parseIntent(input: string, availableCommands: string[], context?: IntentContext): Promise<IntentResult>;
92
- /**
93
- * Extract command parameters from natural language
94
- */
95
- extractParameters(input: string, command: string, commandPattern?: CommandPattern): Promise<Record<string, any>>;
96
- /**
97
- * Suggest commands based on partial input
98
- */
99
- suggestCommands(partialInput: string, availableCommands: string[], context?: IntentContext, limit?: number): Promise<Array<{
100
- command: string;
101
- description: string;
102
- confidence: number;
103
- completion: string;
104
- }>>;
105
- /**
106
- * Register a custom command pattern
107
- */
108
- registerCommandPattern(pattern: CommandPattern): void;
109
- /**
110
- * Batch register multiple command patterns
111
- */
112
- registerCommandPatterns(patterns: CommandPattern[]): void;
113
- /**
114
- * Get registered command patterns
115
- */
116
- getCommandPatterns(): CommandPattern[];
117
- /**
118
- * Clear intent cache
119
- */
120
- clearCache(): void;
121
- /**
122
- * Get cache statistics
123
- */
124
- getCacheStats(): {
125
- size: number;
126
- hitRate: number;
127
- oldestEntry: Date | null;
128
- };
129
- private initializePatterns;
130
- private initializeEntityRecognition;
131
- private normalizeInput;
132
- private getCacheKey;
133
- private patternMatching;
134
- private calculatePatternScore;
135
- private calculateStringSimilarity;
136
- private extractEntities;
137
- private aiIntentAnalysis;
138
- private buildContextInfo;
139
- private combineResults;
140
- private validateAndEnrich;
141
- private getContextualAlternatives;
142
- private fallbackIntentParsing;
143
- private fallbackParameterExtraction;
144
- private getPatternSuggestions;
145
- private getAISuggestions;
146
- private extractKeywords;
147
- private analyzeSentiment;
148
- private cacheResult;
149
- private cleanCache;
150
- }
151
- export default IntentParser;
152
- //# sourceMappingURL=intent-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intent-parser.d.ts","sourceRoot":"","sources":["../../src/nlp/intent-parser.ts"],"names":[],"mappings":"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"}