@compilr-dev/sdk 0.9.2 → 0.9.4

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.
@@ -173,7 +173,7 @@ function compressNpmInstall(output) {
173
173
  // ─── Test Output ────────────────────────────────────────────────────────────
174
174
  function compressTestOutput(output) {
175
175
  const lines = output.split('\n');
176
- if (lines.length <= 30)
176
+ if (lines.length <= 15)
177
177
  return output;
178
178
  const result = [];
179
179
  let inFailure = false;
@@ -181,11 +181,15 @@ function compressTestOutput(output) {
181
181
  const maxFailureLines = 20;
182
182
  for (const line of lines) {
183
183
  const t = line.trim();
184
- // Always keep: summary lines, failures, errors
185
- if (t.match(/^(Tests?|Test Suites?|FAIL|PASS|ERROR|✓|✗|✘|×|●|Ran \d|passed|failed|\d+ passing|\d+ failing|Test Files|Duration)/i)) {
184
+ // Always keep: summary lines, suite headers, failure markers
185
+ if (t.match(/^(Tests?:|Test Suites?:|FAIL |PASS |ERROR|✗|✘|×|●|Ran \d|passed|failed|\d+ passing|\d+ failing|Test Files|Duration)/i)) {
186
186
  result.push(line);
187
187
  continue;
188
188
  }
189
+ // Skip passing test lines (✓ checkmarks) — these are the bulk of output
190
+ if (t.match(/^✓|^✔|^\s*✓|^\s*✔/)) {
191
+ continue;
192
+ }
189
193
  // Keep failure context (limited)
190
194
  if (t.match(/^(FAIL|✗|✘|×|Error:|AssertionError|Expected|Received|at\s)/i) || inFailure) {
191
195
  if (t.match(/^(FAIL|✗|✘|×)/i)) {
@@ -213,7 +217,7 @@ function compressTestOutput(output) {
213
217
  // ─── Lint Output ────────────────────────────────────────────────────────────
214
218
  function compressLintOutput(output) {
215
219
  const lines = output.split('\n');
216
- if (lines.length <= 30)
220
+ if (lines.length <= 15)
217
221
  return output;
218
222
  // Group errors by rule, cap per rule
219
223
  const errors = [];
@@ -293,7 +297,7 @@ function compressFileList(output) {
293
297
  const lines = output.split('\n').filter((l) => l.trim());
294
298
  if (lines.length <= 20)
295
299
  return output;
296
- // Group by top-level directory, cap entries
300
+ // Group by top-level directory, cap entries per directory
297
301
  const groups = new Map();
298
302
  for (const line of lines) {
299
303
  const parts = line.replace(/^\.\//, '').split('/');
@@ -302,16 +306,16 @@ function compressFileList(output) {
302
306
  arr.push(line);
303
307
  groups.set(dir, arr);
304
308
  }
305
- const maxPerDir = 10;
309
+ const maxPerDir = 5;
306
310
  const result = [];
307
311
  for (const [dir, files] of groups) {
308
312
  if (dir !== '.')
309
- result.push(`${dir}/`);
313
+ result.push(`${dir}/ (${String(files.length)} files)`);
310
314
  const shown = files.slice(0, maxPerDir);
311
315
  for (const f of shown)
312
316
  result.push(f);
313
317
  if (files.length > maxPerDir) {
314
- result.push(` ... +${String(files.length - maxPerDir)} more in ${dir}/`);
318
+ result.push(` ... +${String(files.length - maxPerDir)} more`);
315
319
  }
316
320
  }
317
321
  if (result.length < lines.length) {
@@ -322,7 +326,7 @@ function compressFileList(output) {
322
326
  // ─── curl / wget ────────────────────────────────────────────────────────────
323
327
  function compressCurlOutput(output) {
324
328
  const lines = output.split('\n');
325
- if (lines.length <= 30)
329
+ if (lines.length <= 10)
326
330
  return output;
327
331
  // Strip progress bars (curl -# output), keep headers and body
328
332
  const kept = lines.filter((l) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compilr-dev/sdk",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "Universal agent runtime for building AI-powered applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",