xibecode 0.9.8 → 1.0.0

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 (46) hide show
  1. package/dist/commands/chat.d.ts.map +1 -1
  2. package/dist/commands/chat.js +20 -0
  3. package/dist/commands/chat.js.map +1 -1
  4. package/dist/commands/resume.d.ts +7 -0
  5. package/dist/commands/resume.d.ts.map +1 -0
  6. package/dist/commands/resume.js +136 -0
  7. package/dist/commands/resume.js.map +1 -0
  8. package/dist/commands/run-pr.js +1 -1
  9. package/dist/commands/run.d.ts.map +1 -1
  10. package/dist/commands/run.js +27 -15
  11. package/dist/commands/run.js.map +1 -1
  12. package/dist/core/agent.d.ts +2 -0
  13. package/dist/core/agent.d.ts.map +1 -1
  14. package/dist/core/agent.js +114 -31
  15. package/dist/core/agent.js.map +1 -1
  16. package/dist/core/history-manager.d.ts.map +1 -1
  17. package/dist/core/history-manager.js +23 -19
  18. package/dist/core/history-manager.js.map +1 -1
  19. package/dist/core/modes.d.ts.map +1 -1
  20. package/dist/core/modes.js +8 -7
  21. package/dist/core/modes.js.map +1 -1
  22. package/dist/core/plan-artifacts.d.ts.map +1 -1
  23. package/dist/core/plan-artifacts.js +12 -5
  24. package/dist/core/plan-artifacts.js.map +1 -1
  25. package/dist/core/plan-session.d.ts.map +1 -1
  26. package/dist/core/plan-session.js +14 -10
  27. package/dist/core/plan-session.js.map +1 -1
  28. package/dist/core/session-manager.d.ts.map +1 -1
  29. package/dist/core/session-manager.js +17 -14
  30. package/dist/core/session-manager.js.map +1 -1
  31. package/dist/core/tool-orchestrator.d.ts +8 -0
  32. package/dist/core/tool-orchestrator.d.ts.map +1 -1
  33. package/dist/core/tool-orchestrator.js +34 -1
  34. package/dist/core/tool-orchestrator.js.map +1 -1
  35. package/dist/core/tools.d.ts +9 -0
  36. package/dist/core/tools.d.ts.map +1 -1
  37. package/dist/core/tools.js +114 -97
  38. package/dist/core/tools.js.map +1 -1
  39. package/dist/index.js +10 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/ui/claude-style-chat.d.ts +5 -0
  42. package/dist/ui/claude-style-chat.d.ts.map +1 -1
  43. package/dist/ui/claude-style-chat.js +220 -13
  44. package/dist/ui/claude-style-chat.js.map +1 -1
  45. package/dist/webui/server.js +1 -1
  46. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import Anthropic from '@anthropic-ai/sdk';
2
2
  import fetch from 'node-fetch';
3
- import { existsSync, readFileSync } from 'fs';
3
+ import { existsSync } from 'fs';
4
+ import { readFile } from 'fs/promises';
4
5
  import { join } from 'path';
5
6
  import { EventEmitter } from 'events';
6
7
  import { MODE_CONFIG, createModeState, transitionMode, ModeOrchestrator, parseModeRequest, stripModeRequests, parseTaskComplete, stripTaskComplete } from './modes.js';
@@ -24,28 +25,30 @@ export class LoopDetector {
24
25
  if (recentDuplicates.length >= this.maxRepeats) {
25
26
  return {
26
27
  allowed: false,
27
- reason: `Loop detected: ${toolName} called ${this.maxRepeats}+ times with same parameters`,
28
+ reason: `CRITICAL ERROR: Loop detected! You called ${toolName} ${this.maxRepeats}+ times with the exact same parameters. YOU MUST STOP AND RE-EVALUATE YOUR STRATEGY. Do not use this tool again right now. Change your mindset. Use 'search_files' or 'get_context' to gather new facts before proceeding.`,
28
29
  };
29
30
  }
30
31
  const sameTool = this.history.filter(h => h.tool === toolName);
31
32
  const sameCoarse = this.history.filter(h => h.coarse === coarse);
32
- if (sameCoarse.length >= this.maxRepeats + 2) {
33
+ // Aggressive coarse match rejection
34
+ if (sameCoarse.length >= this.maxRepeats + 1) {
33
35
  return {
34
36
  allowed: false,
35
- reason: `Loop detected: repeated ${toolName} attempts with near-identical input patterns`,
37
+ reason: `CRITICAL ERROR: Repeated ${toolName} attempts with near-identical patterns. YOUR ASSUMPTIONS ARE WRONG. Step back, verify file paths with 'search_files', and try a completely different approach.`,
36
38
  };
37
39
  }
38
- if (sameTool.length >= this.maxRepeats * 2) {
40
+ // Lower threshold for repeated tool failures
41
+ if (sameTool.length >= this.maxRepeats + 2) {
39
42
  const uniquePatterns = new Set(sameTool.map(h => h.coarse)).size;
40
- if (uniquePatterns <= 2) {
43
+ if (uniquePatterns <= 3) {
41
44
  return {
42
45
  allowed: false,
43
- reason: `Loop detected: ${toolName} repeated ${sameTool.length} times with low-variation inputs`,
46
+ reason: `CRITICAL ERROR: ${toolName} repeated ${sameTool.length} times with little variation. STOP guessing. Use 'read_file' or 'grep_code' to find the actual code structure, or use 'web_search' if you lack documentation.`,
44
47
  };
45
48
  }
46
49
  return {
47
50
  allowed: true,
48
- reason: `Warning: ${toolName} called ${sameTool.length} times recently`,
51
+ reason: `Warning: ${toolName} called ${sameTool.length} times recently. Ensure you are making progress.`,
49
52
  };
50
53
  }
51
54
  return { allowed: true };
@@ -161,6 +164,41 @@ class ThinkTagFilter {
161
164
  return 0;
162
165
  }
163
166
  }
167
+ const MAX_TOOL_RESULT_CHARS = 30000;
168
+ export function compactToolResultPayload(result, maxChars = MAX_TOOL_RESULT_CHARS) {
169
+ if (typeof result === 'string') {
170
+ return compactLargeString(result, maxChars);
171
+ }
172
+ if (Array.isArray(result)) {
173
+ return result.map((item) => compactToolResultPayload(item, maxChars));
174
+ }
175
+ if (!result || typeof result !== 'object') {
176
+ return result;
177
+ }
178
+ const compacted = {};
179
+ for (const [key, value] of Object.entries(result)) {
180
+ if (typeof value === 'string' && ['stdout', 'stderr', 'content', 'output', 'message'].includes(key)) {
181
+ compacted[key] = compactLargeString(value, maxChars);
182
+ if (compacted[key] !== value) {
183
+ compacted[`${key}Truncated`] = true;
184
+ compacted[`${key}OriginalLength`] = value.length;
185
+ }
186
+ }
187
+ else {
188
+ compacted[key] = compactToolResultPayload(value, Math.max(4000, Math.floor(maxChars / 2)));
189
+ }
190
+ }
191
+ return compacted;
192
+ }
193
+ function compactLargeString(value, maxChars) {
194
+ if (value.length <= maxChars)
195
+ return value;
196
+ const marker = `\n\n[tool result truncated: original length ${value.length} chars]\n\n`;
197
+ const available = Math.max(0, maxChars - marker.length);
198
+ const headLength = Math.ceil(available * 0.6);
199
+ const tailLength = Math.floor(available * 0.4);
200
+ return `${value.slice(0, headLength)}${marker}${value.slice(value.length - tailLength)}`;
201
+ }
164
202
  // ─── Agent ────────────────────────────────────────────────────
165
203
  export class EnhancedAgent extends EventEmitter {
166
204
  client;
@@ -194,6 +232,14 @@ export class EnhancedAgent extends EventEmitter {
194
232
  permissionManager;
195
233
  toolOrchestrator;
196
234
  evidenceTrail = [];
235
+ isAbortError(err) {
236
+ if (!err || typeof err !== 'object')
237
+ return false;
238
+ const anyErr = err;
239
+ return (anyErr.name === 'AbortError' ||
240
+ anyErr.type === 'aborted' ||
241
+ String(anyErr.message || '').toLowerCase().includes('aborted'));
242
+ }
197
243
  injectMessage(message) {
198
244
  this.injectedMessages.push(message);
199
245
  }
@@ -400,7 +446,10 @@ export class EnhancedAgent extends EventEmitter {
400
446
  const fallbackMd = join(process.cwd(), '.xibecode', 'memory.md');
401
447
  if (existsSync(fallbackMd)) {
402
448
  try {
403
- this.autoMemoryMarkdownSection = `\n\n## Project Memory\n\n${readFileSync(fallbackMd, 'utf-8').trim()}`;
449
+ // Bolt: Use asynchronous readFile to prevent blocking the Node.js event loop
450
+ // Performance impact: Keeps the agent and web UI responsive while loading fallback memory
451
+ const content = await readFile(fallbackMd, 'utf-8');
452
+ this.autoMemoryMarkdownSection = `\n\n## Project Memory\n\n${content.trim()}`;
404
453
  }
405
454
  catch {
406
455
  /* ignore */
@@ -500,6 +549,9 @@ export class EnhancedAgent extends EventEmitter {
500
549
  break;
501
550
  }
502
551
  catch (apiError) {
552
+ if (opts?.signal?.aborted || this.isAbortError(apiError)) {
553
+ throw apiError;
554
+ }
503
555
  this.emit('error', { message: 'API Error', error: apiError.message });
504
556
  if (attempt < maxApiRetries) {
505
557
  this.emit('warning', {
@@ -684,9 +736,10 @@ export class EnhancedAgent extends EventEmitter {
684
736
  const toolResults = [];
685
737
  const updates = await this.toolOrchestrator.executeBatches(toolUseBlocks, async (toolUse, i) => this.executeSingleToolUse(toolExecutor, toolUse, i));
686
738
  for (const update of updates) {
687
- const payload = typeof update.result === 'string'
688
- ? update.result
689
- : JSON.stringify(update.result, null, 2);
739
+ const compactedResult = compactToolResultPayload(update.result);
740
+ const payload = typeof compactedResult === 'string'
741
+ ? compactedResult
742
+ : JSON.stringify(compactedResult, null, 2);
690
743
  toolResults.push({
691
744
  type: 'tool_result',
692
745
  tool_use_id: update.toolUse.id,
@@ -711,6 +764,9 @@ export class EnhancedAgent extends EventEmitter {
711
764
  });
712
765
  }
713
766
  catch (error) {
767
+ if (opts?.signal?.aborted || this.isAbortError(error)) {
768
+ throw error;
769
+ }
714
770
  this.emit('error', {
715
771
  message: 'API Error',
716
772
  error: error.message,
@@ -1015,6 +1071,14 @@ export class EnhancedAgent extends EventEmitter {
1015
1071
  if (tools.length > 0) {
1016
1072
  baseBody.tools = this.mapToolsToOpenAI(tools);
1017
1073
  }
1074
+ const isAbortError = (err) => {
1075
+ if (!err || typeof err !== 'object')
1076
+ return false;
1077
+ const anyErr = err;
1078
+ return (anyErr.name === 'AbortError' ||
1079
+ anyErr.type === 'aborted' ||
1080
+ String(anyErr.message || '').toLowerCase().includes('aborted'));
1081
+ };
1018
1082
  // ── Try streaming first (SSE) ─────────────────────────
1019
1083
  try {
1020
1084
  const streamResponse = await fetch(url, {
@@ -1053,6 +1117,12 @@ export class EnhancedAgent extends EventEmitter {
1053
1117
  if (!body) {
1054
1118
  throw new Error('Streaming body not available');
1055
1119
  }
1120
+ // When the user cancels (Esc), node-fetch aborts the Readable stream and emits an
1121
+ // 'error' event. If no listener is attached, Node treats it as unhandled and crashes.
1122
+ body.on('error', (err) => {
1123
+ if (isAbortError(err) || signal?.aborted)
1124
+ return;
1125
+ });
1056
1126
  let fullText = '';
1057
1127
  const toolCallsAccum = [];
1058
1128
  let hasEmittedStart = false;
@@ -1147,16 +1217,29 @@ export class EnhancedAgent extends EventEmitter {
1147
1217
  return { message, streamed: hasEmittedStart };
1148
1218
  }
1149
1219
  catch (_streamError) {
1220
+ // If the request was cancelled, do not fall back to non-streaming — just bubble up
1221
+ // the abort so the UI can render "Cancelled." without crashing.
1222
+ if (signal?.aborted || isAbortError(_streamError)) {
1223
+ throw _streamError;
1224
+ }
1150
1225
  // ── Fallback to non-streaming ───────────────────────
1151
- const response = await fetch(url, {
1152
- method: 'POST',
1153
- headers: {
1154
- 'Content-Type': 'application/json',
1155
- Authorization: `Bearer ${this.config.apiKey}`,
1156
- },
1157
- body: JSON.stringify(baseBody),
1158
- signal,
1159
- });
1226
+ let response;
1227
+ try {
1228
+ response = await fetch(url, {
1229
+ method: 'POST',
1230
+ headers: {
1231
+ 'Content-Type': 'application/json',
1232
+ Authorization: `Bearer ${this.config.apiKey}`,
1233
+ },
1234
+ body: JSON.stringify(baseBody),
1235
+ signal,
1236
+ });
1237
+ }
1238
+ catch (err) {
1239
+ if (signal?.aborted || isAbortError(err))
1240
+ throw err;
1241
+ throw err;
1242
+ }
1160
1243
  if (!response.ok) {
1161
1244
  const text = await response.text();
1162
1245
  throw new Error(`OpenAI-compatible API error: ${response.status} ${text}`);
@@ -1222,14 +1305,14 @@ Working directory: ${process.cwd()}
1222
1305
  ${this.defaultSkillsPrompt ? `${this.defaultSkillsPrompt}\n\n` : ''}
1223
1306
  ## Core Principles
1224
1307
 
1225
- 1. **Read Before Edit**: ALWAYS read files with read_file before modifying them
1226
- 2. **Use Verified Editing**: ALWAYS prefer verified_edit as your PRIMARY file editing tool. It requires old_content verification which prevents mistakes. Only fall back to edit_file or edit_lines if verified_edit fails.
1227
- 3. **Context Awareness**: Use get_context to understand project structure before making changes
1228
- 4. **Incremental Changes**: Make small, tested changes rather than large rewrites
1229
- 5. **Error Recovery**: If something fails, analyze the error and try a different approach
1230
- 6. **Search First**: Use grep_code to find code patterns, usages, and references before making changes
1231
- 7. **Web Research**: Use web_search and fetch_url when you need documentation, error solutions, or up-to-date info
1232
- 8. **Remember Important Things**: Use update_memory to save project knowledge for future sessions${this.autoMemoryMarkdownSection ? `
1308
+ 1. **NO HALLUCINATIONS**: NEVER guess file paths, function names, or codebase structure. ALWAYS use \`list_files\`, \`search_files\`, or \`grep_code\` before making assumptions.
1309
+ 2. **Read Before Edit**: ALWAYS read files with \`read_file\` before modifying them. Never edit a file blindly.
1310
+ 3. **Use Verified Editing**: ALWAYS prefer \`verified_edit\` as your PRIMARY file editing tool. It requires old_content verification which prevents mistakes. Only fall back to \`edit_file\` or \`edit_lines\` if \`verified_edit\` fails.
1311
+ 4. **Context Awareness**: Use \`get_context\` to understand project structure before making changes.
1312
+ 5. **Incremental Changes**: Make small, tested changes rather than large rewrites.
1313
+ 6. **Error Recovery & Loop Avoidance**: If a tool fails, DO NOT call it again with the same parameters. Analyze the error, verify your assumptions (using read/search tools), and try a COMPLETELY different approach.
1314
+ 7. **Web Research**: Use \`web_search\` and \`fetch_url\` when you need documentation, error solutions, or up-to-date info.
1315
+ 8. **Remember Important Things**: Use \`update_memory\` to save project knowledge for future sessions.${this.autoMemoryMarkdownSection ? `
1233
1316
 
1234
1317
  The following markdown memories were selected for this session (keyword-ranked; verify critical facts):
1235
1318
 
@@ -1241,8 +1324,8 @@ ${this.activeSkill.instructions}
1241
1324
 
1242
1325
  ---
1243
1326
  ` : ''}
1244
- 6. **Think Systematically**: Decompose complex problems, form hypotheses, and validate assumptions
1245
- 7. **Consider Impact**: Analyze how changes affect related code and downstream dependencies
1327
+ 9. **Think Systematically**: Decompose complex problems, form hypotheses, and validate assumptions.
1328
+ 10. **Consider Impact**: Analyze how changes affect related code and downstream dependencies.
1246
1329
 
1247
1330
  ## Advanced Reasoning and Problem-Solving
1248
1331
 
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../src/core/history-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IAIb,OAAO,CAAC,UAAU;IAH9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;gBAEP,UAAU,EAAE,MAAM;IAKtC;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;YACW,SAAS;IAIvB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAanD;;OAEG;IACG,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAUzD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAiC5C;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,MAAW,EAClB,IAAI,GAAE,MAAgB,GACrB,iBAAiB;CAcrB"}
1
+ {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../src/core/history-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IAIb,OAAO,CAAC,UAAU;IAH9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;gBAEP,UAAU,EAAE,MAAM;IAKtC;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;YACW,SAAS;IAIvB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAanD;;OAEG;IACG,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D;;OAEG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAUzD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAyC5C;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,MAAW,EAClB,IAAI,GAAE,MAAgB,GACrB,iBAAiB;CAcrB"}
@@ -80,25 +80,29 @@ export class HistoryManager {
80
80
  try {
81
81
  const files = await fs.readdir(this.projectDir);
82
82
  const summaries = [];
83
- for (const file of files) {
84
- if (!file.endsWith('.json'))
85
- continue;
86
- try {
87
- const filePath = path.join(this.projectDir, file);
88
- const content = await fs.readFile(filePath, 'utf-8');
89
- const conv = JSON.parse(content);
90
- summaries.push({
91
- id: conv.id,
92
- title: conv.title,
93
- created: conv.created,
94
- updated: conv.updated,
95
- messageCount: conv.messages.length,
96
- model: conv.model,
97
- });
98
- }
99
- catch {
100
- // Skip corrupted files
101
- }
83
+ const jsonFiles = files.filter((file) => file.endsWith('.json'));
84
+ // Bounded concurrency to speed up reading many session files
85
+ const CONCURRENCY_LIMIT = 20;
86
+ for (let i = 0; i < jsonFiles.length; i += CONCURRENCY_LIMIT) {
87
+ const chunk = jsonFiles.slice(i, i + CONCURRENCY_LIMIT);
88
+ await Promise.all(chunk.map(async (file) => {
89
+ try {
90
+ const filePath = path.join(this.projectDir, file);
91
+ const content = await fs.readFile(filePath, 'utf-8');
92
+ const conv = JSON.parse(content);
93
+ summaries.push({
94
+ id: conv.id,
95
+ title: conv.title,
96
+ created: conv.created,
97
+ updated: conv.updated,
98
+ messageCount: conv.messages.length,
99
+ model: conv.model,
100
+ });
101
+ }
102
+ catch {
103
+ // Skip corrupted files
104
+ }
105
+ }));
102
106
  }
103
107
  // Sort by updated time, newest first
104
108
  summaries.sort((a, b) => new Date(b.updated).getTime() - new Date(a.updated).getTime());
@@ -1 +1 @@
1
- {"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../src/core/history-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../src/core/history-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/core/modes.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ export const MODE_CONFIG = {
59
59
  description: 'Interactive planning with questions, web research, and implementations.md generation',
60
60
  personaName: 'Planner',
61
61
  personaRole: 'the Strategic Planner',
62
- allowedCategories: ['read_only', 'git_read', 'context', 'network'],
62
+ allowedCategories: ['read_only', 'git_read', 'context', 'network', 'shell_command'],
63
63
  canModify: false,
64
64
  defaultDryRun: false,
65
65
  displayColor: '#FF9100', // orange
@@ -196,11 +196,12 @@ You can switch to other personas when needed:
196
196
  - **Nova the Reviewer** for code review: [[REQUEST_MODE: review | reason=...]]
197
197
 
198
198
  ### Best Practices
199
- - Always read files before modifying them
200
- - Use appropriate tools for each task
201
- - Create git checkpoints before risky operations
202
- - Run tests after changes to verify correctness
203
- - Be incremental and verify each step
199
+ - **Never Hallucinate**: Do not guess file paths or content. Use \`search_files\`, \`list_files\`, or \`grep_code\` to verify before using tools.
200
+ - Always read files before modifying them.
201
+ - Use appropriate tools for each task. If a tool fails, DO NOT just retry it. Change your approach.
202
+ - Create git checkpoints before risky operations.
203
+ - Run tests after changes to verify correctness.
204
+ - Be incremental and verify each step.
204
205
  - Use **repo-relative paths** for all file tools; do not target \`/workspace\`, \`/app\`, or other guessed roots. For shell commands, use default cwd (project root) instead of hard-coded absolute paths.
205
206
  - Prefer \`verified_edit\` / \`edit_file\` over bulk \`sed\` / \`awk\` in \`run_command\` for multi-line or fragile edits.`,
206
207
  },
@@ -422,7 +423,7 @@ When the user wants to fix vulnerabilities, they will click "Fix". You can also
422
423
  description: 'Code review and quality analysis',
423
424
  personaName: 'Nova',
424
425
  personaRole: 'the Reviewer',
425
- allowedCategories: ['read_only', 'git_read', 'tests', 'context'],
426
+ allowedCategories: ['read_only', 'git_read', 'tests', 'context', 'shell_command'],
426
427
  canModify: false,
427
428
  defaultDryRun: true,
428
429
  displayColor: '#BB86FC', // purple