erosolar-cli 1.7.372 → 1.7.377

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 (97) hide show
  1. package/dist/capabilities/agentSpawningCapability.d.ts.map +1 -1
  2. package/dist/capabilities/agentSpawningCapability.js +29 -1
  3. package/dist/capabilities/agentSpawningCapability.js.map +1 -1
  4. package/dist/contracts/agent-schemas.json +100 -0
  5. package/dist/core/alphaZeroEngine.d.ts +269 -0
  6. package/dist/core/alphaZeroEngine.d.ts.map +1 -0
  7. package/dist/core/alphaZeroEngine.js +523 -0
  8. package/dist/core/alphaZeroEngine.js.map +1 -0
  9. package/dist/core/alphaZeroOrchestrator.d.ts +140 -0
  10. package/dist/core/alphaZeroOrchestrator.d.ts.map +1 -0
  11. package/dist/core/alphaZeroOrchestrator.js +418 -0
  12. package/dist/core/alphaZeroOrchestrator.js.map +1 -0
  13. package/dist/core/checkpoint.d.ts +76 -0
  14. package/dist/core/checkpoint.d.ts.map +1 -0
  15. package/dist/core/checkpoint.js +278 -0
  16. package/dist/core/checkpoint.js.map +1 -0
  17. package/dist/core/claudeCodeFeatures.d.ts +64 -0
  18. package/dist/core/claudeCodeFeatures.d.ts.map +1 -0
  19. package/dist/core/claudeCodeFeatures.js +163 -0
  20. package/dist/core/claudeCodeFeatures.js.map +1 -0
  21. package/dist/core/costTracker.d.ts +87 -0
  22. package/dist/core/costTracker.d.ts.map +1 -0
  23. package/dist/core/costTracker.js +285 -0
  24. package/dist/core/costTracker.js.map +1 -0
  25. package/dist/core/failureRecovery.d.ts +122 -0
  26. package/dist/core/failureRecovery.d.ts.map +1 -0
  27. package/dist/core/failureRecovery.js +477 -0
  28. package/dist/core/failureRecovery.js.map +1 -0
  29. package/dist/core/learningPersistence.d.ts +145 -0
  30. package/dist/core/learningPersistence.d.ts.map +1 -0
  31. package/dist/core/learningPersistence.js +477 -0
  32. package/dist/core/learningPersistence.js.map +1 -0
  33. package/dist/core/memorySystem.d.ts +67 -0
  34. package/dist/core/memorySystem.d.ts.map +1 -0
  35. package/dist/core/memorySystem.js +334 -0
  36. package/dist/core/memorySystem.js.map +1 -0
  37. package/dist/core/metricsTracker.d.ts +35 -0
  38. package/dist/core/metricsTracker.d.ts.map +1 -1
  39. package/dist/core/metricsTracker.js +67 -0
  40. package/dist/core/metricsTracker.js.map +1 -1
  41. package/dist/core/outputStyles.d.ts +48 -0
  42. package/dist/core/outputStyles.d.ts.map +1 -0
  43. package/dist/core/outputStyles.js +270 -0
  44. package/dist/core/outputStyles.js.map +1 -0
  45. package/dist/core/selfEvolution.d.ts +155 -0
  46. package/dist/core/selfEvolution.d.ts.map +1 -0
  47. package/dist/core/selfEvolution.js +1000 -0
  48. package/dist/core/selfEvolution.js.map +1 -0
  49. package/dist/core/selfImprovement.d.ts +141 -0
  50. package/dist/core/selfImprovement.d.ts.map +1 -0
  51. package/dist/core/selfImprovement.js +700 -0
  52. package/dist/core/selfImprovement.js.map +1 -0
  53. package/dist/core/updateManager.d.ts +62 -0
  54. package/dist/core/updateManager.d.ts.map +1 -0
  55. package/dist/core/updateManager.js +266 -0
  56. package/dist/core/updateManager.js.map +1 -0
  57. package/dist/shell/interactiveShell.d.ts +45 -0
  58. package/dist/shell/interactiveShell.d.ts.map +1 -1
  59. package/dist/shell/interactiveShell.js +1157 -4
  60. package/dist/shell/interactiveShell.js.map +1 -1
  61. package/dist/shell/keyboardShortcuts.d.ts +53 -0
  62. package/dist/shell/keyboardShortcuts.d.ts.map +1 -0
  63. package/dist/shell/keyboardShortcuts.js +163 -0
  64. package/dist/shell/keyboardShortcuts.js.map +1 -0
  65. package/dist/shell/terminalInput.d.ts +1 -1
  66. package/dist/shell/terminalInput.d.ts.map +1 -1
  67. package/dist/shell/terminalInput.js +8 -4
  68. package/dist/shell/terminalInput.js.map +1 -1
  69. package/dist/shell/vimMode.d.ts +66 -0
  70. package/dist/shell/vimMode.d.ts.map +1 -0
  71. package/dist/shell/vimMode.js +434 -0
  72. package/dist/shell/vimMode.js.map +1 -0
  73. package/dist/subagents/parallelAgentManager.d.ts +99 -0
  74. package/dist/subagents/parallelAgentManager.d.ts.map +1 -0
  75. package/dist/subagents/parallelAgentManager.js +249 -0
  76. package/dist/subagents/parallelAgentManager.js.map +1 -0
  77. package/dist/subagents/taskRunner.d.ts +6 -1
  78. package/dist/subagents/taskRunner.d.ts.map +1 -1
  79. package/dist/subagents/taskRunner.js +57 -2
  80. package/dist/subagents/taskRunner.js.map +1 -1
  81. package/dist/tools/planningTools.d.ts +9 -0
  82. package/dist/tools/planningTools.d.ts.map +1 -1
  83. package/dist/tools/planningTools.js +90 -0
  84. package/dist/tools/planningTools.js.map +1 -1
  85. package/dist/ui/ShellUIAdapter.d.ts +11 -1
  86. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  87. package/dist/ui/ShellUIAdapter.js +73 -9
  88. package/dist/ui/ShellUIAdapter.js.map +1 -1
  89. package/dist/ui/display.d.ts +5 -0
  90. package/dist/ui/display.d.ts.map +1 -1
  91. package/dist/ui/display.js +14 -0
  92. package/dist/ui/display.js.map +1 -1
  93. package/dist/ui/shortcutsHelp.d.ts +11 -0
  94. package/dist/ui/shortcutsHelp.d.ts.map +1 -1
  95. package/dist/ui/shortcutsHelp.js +59 -3
  96. package/dist/ui/shortcutsHelp.js.map +1 -1
  97. package/package.json +1 -1
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Vim Mode - Claude Code Style
3
+ *
4
+ * Vim-style editing support for the terminal input.
5
+ * Toggle with /vim command or Ctrl+[ to escape.
6
+ *
7
+ * Supported modes:
8
+ * - Normal: Navigation and text manipulation
9
+ * - Insert: Text input mode
10
+ * - Visual: Selection mode (basic)
11
+ *
12
+ * Basic Vim commands:
13
+ * - h/j/k/l: Left/Down/Up/Right
14
+ * - w/b: Word forward/backward
15
+ * - 0/$: Line start/end
16
+ * - i/a: Insert before/after cursor
17
+ * - I/A: Insert at line start/end
18
+ * - o/O: Open line below/above
19
+ * - x: Delete character
20
+ * - dd: Delete line
21
+ * - yy: Yank line
22
+ * - p: Paste
23
+ * - u: Undo
24
+ * - Escape: Exit to normal mode
25
+ */
26
+ export type VimMode = 'normal' | 'insert' | 'visual';
27
+ export interface VimState {
28
+ mode: VimMode;
29
+ register: string;
30
+ count: number;
31
+ pendingCommand: string;
32
+ lastCommand: string;
33
+ marks: Map<string, number>;
34
+ }
35
+ export interface VimKeyResult {
36
+ handled: boolean;
37
+ newMode?: VimMode;
38
+ cursorDelta?: number;
39
+ textChange?: {
40
+ type: 'insert' | 'delete' | 'replace';
41
+ text?: string;
42
+ start?: number;
43
+ end?: number;
44
+ };
45
+ action?: 'yank' | 'paste' | 'undo';
46
+ }
47
+ /**
48
+ * Create initial vim state
49
+ */
50
+ export declare function createVimState(): VimState;
51
+ export declare function isVimEnabled(): boolean;
52
+ export declare function setVimEnabled(enabled: boolean): void;
53
+ export declare function toggleVimMode(): boolean;
54
+ /**
55
+ * Get mode indicator for display
56
+ */
57
+ export declare function getVimModeIndicator(state: VimState): string;
58
+ /**
59
+ * Process a key in vim mode
60
+ */
61
+ export declare function processVimKey(key: string, state: VimState, buffer: string, cursor: number): VimKeyResult;
62
+ /**
63
+ * Format vim help for display
64
+ */
65
+ export declare function formatVimHelp(): string;
66
+ //# sourceMappingURL=vimMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vimMode.d.ts","sourceRoot":"","sources":["../../src/shell/vimMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CASzC;AAOD,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEpD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAa3D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,YAAY,CA+Bd;AA8VD;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CA+BtC"}
@@ -0,0 +1,434 @@
1
+ /**
2
+ * Vim Mode - Claude Code Style
3
+ *
4
+ * Vim-style editing support for the terminal input.
5
+ * Toggle with /vim command or Ctrl+[ to escape.
6
+ *
7
+ * Supported modes:
8
+ * - Normal: Navigation and text manipulation
9
+ * - Insert: Text input mode
10
+ * - Visual: Selection mode (basic)
11
+ *
12
+ * Basic Vim commands:
13
+ * - h/j/k/l: Left/Down/Up/Right
14
+ * - w/b: Word forward/backward
15
+ * - 0/$: Line start/end
16
+ * - i/a: Insert before/after cursor
17
+ * - I/A: Insert at line start/end
18
+ * - o/O: Open line below/above
19
+ * - x: Delete character
20
+ * - dd: Delete line
21
+ * - yy: Yank line
22
+ * - p: Paste
23
+ * - u: Undo
24
+ * - Escape: Exit to normal mode
25
+ */
26
+ /**
27
+ * Create initial vim state
28
+ */
29
+ export function createVimState() {
30
+ return {
31
+ mode: 'normal',
32
+ register: '',
33
+ count: 0,
34
+ pendingCommand: '',
35
+ lastCommand: '',
36
+ marks: new Map(),
37
+ };
38
+ }
39
+ /**
40
+ * Check if vim mode is enabled
41
+ */
42
+ let vimEnabled = false;
43
+ export function isVimEnabled() {
44
+ return vimEnabled;
45
+ }
46
+ export function setVimEnabled(enabled) {
47
+ vimEnabled = enabled;
48
+ }
49
+ export function toggleVimMode() {
50
+ vimEnabled = !vimEnabled;
51
+ return vimEnabled;
52
+ }
53
+ /**
54
+ * Get mode indicator for display
55
+ */
56
+ export function getVimModeIndicator(state) {
57
+ if (!vimEnabled)
58
+ return '';
59
+ switch (state.mode) {
60
+ case 'normal':
61
+ return '-- NORMAL --';
62
+ case 'insert':
63
+ return '-- INSERT --';
64
+ case 'visual':
65
+ return '-- VISUAL --';
66
+ default:
67
+ return '';
68
+ }
69
+ }
70
+ /**
71
+ * Process a key in vim mode
72
+ */
73
+ export function processVimKey(key, state, buffer, cursor) {
74
+ if (!vimEnabled) {
75
+ return { handled: false };
76
+ }
77
+ // Handle escape key in any mode
78
+ if (key === '\x1b' || key === '\x1b\x1b') {
79
+ return {
80
+ handled: true,
81
+ newMode: 'normal',
82
+ };
83
+ }
84
+ // Ctrl+[ also escapes (vim standard)
85
+ if (key === '\x1b[') {
86
+ return {
87
+ handled: true,
88
+ newMode: 'normal',
89
+ };
90
+ }
91
+ switch (state.mode) {
92
+ case 'normal':
93
+ return processNormalModeKey(key, state, buffer, cursor);
94
+ case 'insert':
95
+ return processInsertModeKey(key, state, buffer, cursor);
96
+ case 'visual':
97
+ return processVisualModeKey(key, state, buffer, cursor);
98
+ default:
99
+ return { handled: false };
100
+ }
101
+ }
102
+ /**
103
+ * Process key in normal mode
104
+ */
105
+ function processNormalModeKey(key, state, buffer, cursor) {
106
+ // Handle number prefix for count
107
+ if (/^[1-9]$/.test(key) || (state.count > 0 && /^[0-9]$/.test(key))) {
108
+ state.count = state.count * 10 + parseInt(key, 10);
109
+ return { handled: true };
110
+ }
111
+ const count = Math.max(1, state.count);
112
+ state.count = 0;
113
+ // Handle pending commands (like 'dd', 'yy')
114
+ if (state.pendingCommand) {
115
+ return processPendingCommand(state.pendingCommand + key, state, buffer, cursor);
116
+ }
117
+ switch (key) {
118
+ // Navigation
119
+ case 'h':
120
+ return { handled: true, cursorDelta: -count };
121
+ case 'l':
122
+ return { handled: true, cursorDelta: count };
123
+ case 'j': {
124
+ // Move down a line
125
+ const lines = buffer.split('\n');
126
+ let pos = 0;
127
+ let lineIdx = 0;
128
+ for (let i = 0; i < lines.length; i++) {
129
+ if (cursor <= pos + lines[i].length) {
130
+ lineIdx = i;
131
+ break;
132
+ }
133
+ pos += lines[i].length + 1;
134
+ }
135
+ const nextLine = Math.min(lineIdx + count, lines.length - 1);
136
+ let newPos = 0;
137
+ for (let i = 0; i < nextLine; i++) {
138
+ newPos += lines[i].length + 1;
139
+ }
140
+ return { handled: true, cursorDelta: newPos - cursor };
141
+ }
142
+ case 'k': {
143
+ // Move up a line
144
+ const lines = buffer.split('\n');
145
+ let pos = 0;
146
+ let lineIdx = 0;
147
+ for (let i = 0; i < lines.length; i++) {
148
+ if (cursor <= pos + lines[i].length) {
149
+ lineIdx = i;
150
+ break;
151
+ }
152
+ pos += lines[i].length + 1;
153
+ }
154
+ const prevLine = Math.max(lineIdx - count, 0);
155
+ let newPos = 0;
156
+ for (let i = 0; i < prevLine; i++) {
157
+ newPos += lines[i].length + 1;
158
+ }
159
+ return { handled: true, cursorDelta: newPos - cursor };
160
+ }
161
+ case 'w': {
162
+ // Word forward
163
+ let pos = cursor;
164
+ for (let i = 0; i < count; i++) {
165
+ // Skip current word
166
+ while (pos < buffer.length && !/\s/.test(buffer[pos]))
167
+ pos++;
168
+ // Skip whitespace
169
+ while (pos < buffer.length && /\s/.test(buffer[pos]))
170
+ pos++;
171
+ }
172
+ return { handled: true, cursorDelta: pos - cursor };
173
+ }
174
+ case 'b': {
175
+ // Word backward
176
+ let pos = cursor;
177
+ for (let i = 0; i < count; i++) {
178
+ // Skip whitespace
179
+ while (pos > 0 && /\s/.test(buffer[pos - 1]))
180
+ pos--;
181
+ // Skip word
182
+ while (pos > 0 && !/\s/.test(buffer[pos - 1]))
183
+ pos--;
184
+ }
185
+ return { handled: true, cursorDelta: pos - cursor };
186
+ }
187
+ case '0':
188
+ // Line start
189
+ return { handled: true, cursorDelta: -getColumnInLine(buffer, cursor) };
190
+ case '$': {
191
+ // Line end
192
+ const lineEnd = buffer.indexOf('\n', cursor);
193
+ const target = lineEnd === -1 ? buffer.length : lineEnd;
194
+ return { handled: true, cursorDelta: target - cursor };
195
+ }
196
+ case '^': {
197
+ // First non-whitespace
198
+ const lineStart = getLineStart(buffer, cursor);
199
+ let pos = lineStart;
200
+ while (pos < buffer.length && buffer[pos] === ' ')
201
+ pos++;
202
+ return { handled: true, cursorDelta: pos - cursor };
203
+ }
204
+ case 'G':
205
+ // Go to end
206
+ return { handled: true, cursorDelta: buffer.length - cursor };
207
+ case 'g':
208
+ state.pendingCommand = 'g';
209
+ return { handled: true };
210
+ // Mode switching
211
+ case 'i':
212
+ return { handled: true, newMode: 'insert' };
213
+ case 'a':
214
+ return {
215
+ handled: true,
216
+ newMode: 'insert',
217
+ cursorDelta: cursor < buffer.length ? 1 : 0,
218
+ };
219
+ case 'I': {
220
+ const lineStart = getLineStart(buffer, cursor);
221
+ let pos = lineStart;
222
+ while (pos < buffer.length && buffer[pos] === ' ')
223
+ pos++;
224
+ return { handled: true, newMode: 'insert', cursorDelta: pos - cursor };
225
+ }
226
+ case 'A': {
227
+ const lineEnd = buffer.indexOf('\n', cursor);
228
+ const target = lineEnd === -1 ? buffer.length : lineEnd;
229
+ return { handled: true, newMode: 'insert', cursorDelta: target - cursor };
230
+ }
231
+ case 'o':
232
+ return {
233
+ handled: true,
234
+ newMode: 'insert',
235
+ textChange: {
236
+ type: 'insert',
237
+ text: '\n',
238
+ start: getLineEnd(buffer, cursor),
239
+ },
240
+ };
241
+ case 'O': {
242
+ const lineStart = getLineStart(buffer, cursor);
243
+ return {
244
+ handled: true,
245
+ newMode: 'insert',
246
+ textChange: {
247
+ type: 'insert',
248
+ text: '\n',
249
+ start: lineStart,
250
+ },
251
+ cursorDelta: -cursor + lineStart,
252
+ };
253
+ }
254
+ // Editing
255
+ case 'x':
256
+ return {
257
+ handled: true,
258
+ textChange: {
259
+ type: 'delete',
260
+ start: cursor,
261
+ end: Math.min(cursor + count, buffer.length),
262
+ },
263
+ };
264
+ case 'd':
265
+ state.pendingCommand = 'd';
266
+ return { handled: true };
267
+ case 'y':
268
+ state.pendingCommand = 'y';
269
+ return { handled: true };
270
+ case 'p':
271
+ return {
272
+ handled: true,
273
+ action: 'paste',
274
+ };
275
+ case 'u':
276
+ return {
277
+ handled: true,
278
+ action: 'undo',
279
+ };
280
+ case 'v':
281
+ return { handled: true, newMode: 'visual' };
282
+ default:
283
+ return { handled: false };
284
+ }
285
+ }
286
+ /**
287
+ * Process pending multi-key commands
288
+ */
289
+ function processPendingCommand(command, state, buffer, cursor) {
290
+ state.pendingCommand = '';
291
+ switch (command) {
292
+ case 'dd': {
293
+ // Delete line
294
+ const lineStart = getLineStart(buffer, cursor);
295
+ const lineEnd = getLineEnd(buffer, cursor);
296
+ const deleteEnd = lineEnd < buffer.length ? lineEnd + 1 : lineEnd;
297
+ state.register = buffer.slice(lineStart, deleteEnd);
298
+ return {
299
+ handled: true,
300
+ textChange: {
301
+ type: 'delete',
302
+ start: lineStart,
303
+ end: deleteEnd,
304
+ },
305
+ };
306
+ }
307
+ case 'yy': {
308
+ // Yank line
309
+ const lineStart = getLineStart(buffer, cursor);
310
+ const lineEnd = getLineEnd(buffer, cursor);
311
+ state.register = buffer.slice(lineStart, lineEnd + 1);
312
+ return { handled: true, action: 'yank' };
313
+ }
314
+ case 'gg':
315
+ // Go to start
316
+ return { handled: true, cursorDelta: -cursor };
317
+ case 'dw': {
318
+ // Delete word
319
+ let end = cursor;
320
+ while (end < buffer.length && !/\s/.test(buffer[end]))
321
+ end++;
322
+ while (end < buffer.length && /\s/.test(buffer[end]))
323
+ end++;
324
+ return {
325
+ handled: true,
326
+ textChange: {
327
+ type: 'delete',
328
+ start: cursor,
329
+ end,
330
+ },
331
+ };
332
+ }
333
+ default:
334
+ return { handled: false };
335
+ }
336
+ }
337
+ /**
338
+ * Process key in insert mode
339
+ */
340
+ function processInsertModeKey(key, _state, _buffer, _cursor) {
341
+ // In insert mode, most keys pass through to normal input
342
+ // Only escape switches back to normal mode
343
+ return { handled: false };
344
+ }
345
+ /**
346
+ * Process key in visual mode
347
+ */
348
+ function processVisualModeKey(key, state, buffer, cursor) {
349
+ // Basic visual mode - for now, just support escape
350
+ switch (key) {
351
+ case 'y':
352
+ // Yank selection (simplified - just current line for now)
353
+ state.register = getCurrentLine(buffer, cursor);
354
+ return { handled: true, newMode: 'normal', action: 'yank' };
355
+ case 'd':
356
+ case 'x': {
357
+ // Delete selection
358
+ const lineStart = getLineStart(buffer, cursor);
359
+ const lineEnd = getLineEnd(buffer, cursor);
360
+ return {
361
+ handled: true,
362
+ newMode: 'normal',
363
+ textChange: {
364
+ type: 'delete',
365
+ start: lineStart,
366
+ end: lineEnd + 1,
367
+ },
368
+ };
369
+ }
370
+ default:
371
+ // Fall through to normal mode navigation
372
+ const result = processNormalModeKey(key, state, buffer, cursor);
373
+ if (!result.newMode)
374
+ result.newMode = 'visual';
375
+ return result;
376
+ }
377
+ }
378
+ // Helper functions
379
+ function getLineStart(buffer, cursor) {
380
+ let pos = cursor;
381
+ while (pos > 0 && buffer[pos - 1] !== '\n')
382
+ pos--;
383
+ return pos;
384
+ }
385
+ function getLineEnd(buffer, cursor) {
386
+ let pos = cursor;
387
+ while (pos < buffer.length && buffer[pos] !== '\n')
388
+ pos++;
389
+ return pos;
390
+ }
391
+ function getColumnInLine(buffer, cursor) {
392
+ return cursor - getLineStart(buffer, cursor);
393
+ }
394
+ function getCurrentLine(buffer, cursor) {
395
+ const start = getLineStart(buffer, cursor);
396
+ const end = getLineEnd(buffer, cursor);
397
+ return buffer.slice(start, end);
398
+ }
399
+ /**
400
+ * Format vim help for display
401
+ */
402
+ export function formatVimHelp() {
403
+ return `
404
+ Vim Mode Commands:
405
+
406
+ Navigation:
407
+ h/l Move left/right
408
+ j/k Move down/up
409
+ w/b Word forward/backward
410
+ 0/$ Line start/end
411
+ ^ First non-whitespace
412
+ gg/G Go to start/end
413
+
414
+ Mode Switching:
415
+ i Insert before cursor
416
+ a Insert after cursor
417
+ I/A Insert at line start/end
418
+ o/O Open line below/above
419
+ v Visual mode
420
+ Escape Normal mode
421
+
422
+ Editing:
423
+ x Delete character
424
+ dd Delete line
425
+ dw Delete word
426
+ yy Yank (copy) line
427
+ p Paste
428
+ u Undo
429
+
430
+ Commands can be prefixed with count: 3dd deletes 3 lines
431
+ Toggle vim mode with /vim command
432
+ `.trim();
433
+ }
434
+ //# sourceMappingURL=vimMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vimMode.js","sourceRoot":"","sources":["../../src/shell/vimMode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * ParallelAgentManager - Manages concurrent agent execution
3
+ *
4
+ * Tracks multiple agents running in parallel, their status,
5
+ * progress, and provides UI coordination.
6
+ */
7
+ import { EventEmitter } from 'node:events';
8
+ export interface ParallelAgentState {
9
+ id: string;
10
+ type: string;
11
+ description: string;
12
+ status: 'pending' | 'running' | 'completed' | 'error';
13
+ startedAt: number;
14
+ completedAt?: number;
15
+ toolUses: number;
16
+ tokensUsed: number;
17
+ currentActivity?: string;
18
+ result?: string;
19
+ error?: string;
20
+ }
21
+ export interface ParallelAgentProgress {
22
+ agentId: string;
23
+ type: 'tool_start' | 'tool_complete' | 'tokens' | 'activity' | 'complete' | 'error';
24
+ data: Record<string, unknown>;
25
+ }
26
+ export type ParallelAgentEventType = 'agent:started' | 'agent:progress' | 'agent:completed' | 'agent:error' | 'batch:started' | 'batch:completed';
27
+ /**
28
+ * Manages parallel agent execution and status tracking
29
+ */
30
+ export declare class ParallelAgentManager extends EventEmitter {
31
+ private agents;
32
+ private batchId;
33
+ private batchStartedAt;
34
+ private expanded;
35
+ /**
36
+ * Start a new batch of parallel agents
37
+ */
38
+ startBatch(): string;
39
+ /**
40
+ * Register a new agent in the current batch
41
+ */
42
+ registerAgent(id: string, type: string, description: string): ParallelAgentState;
43
+ /**
44
+ * Mark an agent as running
45
+ */
46
+ setRunning(id: string, activity?: string): void;
47
+ /**
48
+ * Update agent progress
49
+ */
50
+ updateProgress(id: string, progress: Omit<ParallelAgentProgress, 'agentId'>): void;
51
+ /**
52
+ * Mark an agent as completed
53
+ */
54
+ setCompleted(id: string, result: string): void;
55
+ /**
56
+ * Mark an agent as errored
57
+ */
58
+ setError(id: string, error: string): void;
59
+ /**
60
+ * Check if all agents in batch are complete
61
+ */
62
+ private checkBatchCompletion;
63
+ /**
64
+ * Toggle expanded view
65
+ */
66
+ toggleExpanded(): void;
67
+ /**
68
+ * Get current expanded state
69
+ */
70
+ isExpanded(): boolean;
71
+ /**
72
+ * Get all agents
73
+ */
74
+ getAgents(): ParallelAgentState[];
75
+ /**
76
+ * Get running agent count
77
+ */
78
+ getRunningCount(): number;
79
+ /**
80
+ * Check if any agents are running
81
+ */
82
+ isRunning(): boolean;
83
+ /**
84
+ * Format agent display for UI
85
+ */
86
+ formatDisplay(): string[];
87
+ /**
88
+ * Format compact status for status bar
89
+ */
90
+ formatCompact(): string;
91
+ private getStatusIcon;
92
+ private formatAgentStats;
93
+ /**
94
+ * Clear all agents
95
+ */
96
+ clear(): void;
97
+ }
98
+ export declare function getParallelAgentManager(): ParallelAgentManager;
99
+ //# sourceMappingURL=parallelAgentManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallelAgentManager.d.ts","sourceRoot":"","sources":["../../src/subagents/parallelAgentManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,GAAG,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IACpF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAC9B,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,iBAAiB,CAAC;AAEtB;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;IACH,UAAU,IAAI,MAAM;IAQpB;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB;IAgBhF;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/C;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG,IAAI;IAuBlF;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAY9C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAYzC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,SAAS,IAAI,kBAAkB,EAAE;IAIjC;;OAEG;IACH,eAAe,IAAI,MAAM;IAMzB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IA0CzB;;OAEG;IACH,aAAa,IAAI,MAAM;IAkBvB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAKD,wBAAgB,uBAAuB,IAAI,oBAAoB,CAK9D"}