sapper-iq 1.1.9 → 1.1.11

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 (2) hide show
  1. package/package.json +1 -1
  2. package/sapper.mjs +6 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sapper-iq",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "description": "AI-powered development assistant that executes commands and builds projects",
5
5
  "main": "sapper.mjs",
6
6
  "bin": {
package/sapper.mjs CHANGED
@@ -262,11 +262,11 @@ CRITICAL: You are working in the CURRENT DIRECTORY. Always use relative paths!
262
262
  STRATEGY FOR FILE READING:
263
263
  1. Start with [TOOL:LIST].[/TOOL] to see what exists
264
264
  2. READ FILES BASED ON TASK:
265
- - Quick overview: Read 2-3 key files (README, package.json, main entry)
265
+ - Quick overview: Read 2-8 key files (README, package.json, main entry)
266
266
  - Deep analysis: Read ALL relevant files (entire src/ folder, all components)
267
267
  - User asks "read all": Read ALL files they mention
268
268
  3. Use format: [TOOL:TYPE]path]content[/TOOL]
269
- 4. After reading, PROVIDE ANALYSIS - don't just list more!
269
+ 4. MANDATORY: You MUST finish reading ALL requested files before providing ANY analysis or summary. Do NOT stop to explain - keep reading until done!
270
270
 
271
271
  READING GUIDELINES:
272
272
  - If user says "analyze src folder" → Read ALL files in src/
@@ -307,7 +307,8 @@ IMPORTANT RULES:
307
307
  - Be concise. Do not generate repetitive lists or filler text.
308
308
  - If a list exceeds 10 items, summarize instead of listing everything.
309
309
  - Never repeat the same content multiple times.
310
- - Stop writing when you've made your point.`
310
+ - Stop writing when you've made your point.
311
+ - BATCH READING: When asked to read multiple files, call ALL [TOOL:READ] commands in ONE response. Do NOT stop to analyze between files.`
311
312
  }];
312
313
  }
313
314
 
@@ -429,7 +430,7 @@ Do NOT just display content. Actually WRITE files using the tool.`
429
430
  spinner.stop();
430
431
 
431
432
  let msg = '';
432
- const MAX_RESPONSE_LENGTH = 15000; // Guard against infinite loops
433
+ const MAX_RESPONSE_LENGTH = 29000; // Guard against infinite loops (increased for multi-file reads)
433
434
 
434
435
  process.stdout.write(chalk.white('Sapper: '));
435
436
  for await (const chunk of response) {
@@ -474,7 +475,7 @@ Do NOT just display content. Actually WRITE files using the tool.`
474
475
  // Show the raw tool attempt for debugging
475
476
  const toolAttempt = msg.match(/\[TOOL:[^\]]*\][^\[]{0,100}/s);
476
477
  if (toolAttempt) {
477
- console.log(chalk.yellow(` Raw tool attempt (first 150 chars):`);
478
+ console.log(chalk.yellow(` Raw tool attempt (first 150 chars):`));
478
479
  console.log(chalk.gray(` "${toolAttempt[0].substring(0, 150)}..."`));
479
480
  }
480
481
  }