trickle-cli 0.1.216 → 0.1.218

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.
@@ -322,6 +322,12 @@ async function hintsCommand(targetFile, opts) {
322
322
  const obs = lineObs.get(lineNo);
323
323
  if (!obs || obs.size === 0) {
324
324
  console.log(src);
325
+ // Show error underline on the error line
326
+ if (opts.errors && errLine && lineNo === errLine) {
327
+ const indent = src.match(/^(\s*)/)?.[1] || "";
328
+ const contentLen = src.trimEnd().length - indent.length;
329
+ console.log(indent + "~".repeat(Math.max(contentLen, 1)) + ` ← ${errMsg}`);
330
+ }
325
331
  continue;
326
332
  }
327
333
  // Insert type hints inline after variable names
@@ -378,6 +384,12 @@ async function hintsCommand(targetFile, opts) {
378
384
  annotated = annotated.substring(0, varEnd) + hint + annotated.substring(varEnd);
379
385
  }
380
386
  console.log(annotated);
387
+ // Show error underline on the error line
388
+ if (opts.errors && errLine && lineNo === errLine) {
389
+ const indent = src.match(/^(\s*)/)?.[1] || "";
390
+ const contentLen = src.trimEnd().length - indent.length;
391
+ console.log(indent + "~".repeat(Math.max(contentLen, 1)) + ` ← ${errMsg}`);
392
+ }
381
393
  }
382
394
  console.log("```");
383
395
  console.log("");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trickle-cli",
3
- "version": "0.1.216",
3
+ "version": "0.1.218",
4
4
  "description": "Zero-code runtime observability for JS/Python + AI agent debugging. Traces LangChain, CrewAI, OpenAI, Anthropic, Gemini. Eval, security, compliance, cost tracking. Free, local-first.",
5
5
  "keywords": [
6
6
  "observability",
@@ -312,6 +312,12 @@ export async function hintsCommand(
312
312
 
313
313
  if (!obs || obs.size === 0) {
314
314
  console.log(src);
315
+ // Show error underline on the error line
316
+ if (opts.errors && errLine && lineNo === errLine) {
317
+ const indent = src.match(/^(\s*)/)?.[1] || "";
318
+ const contentLen = src.trimEnd().length - indent.length;
319
+ console.log(indent + "~".repeat(Math.max(contentLen, 1)) + ` ← ${errMsg}`);
320
+ }
315
321
  continue;
316
322
  }
317
323
 
@@ -371,6 +377,12 @@ export async function hintsCommand(
371
377
  }
372
378
 
373
379
  console.log(annotated);
380
+ // Show error underline on the error line
381
+ if (opts.errors && errLine && lineNo === errLine) {
382
+ const indent = src.match(/^(\s*)/)?.[1] || "";
383
+ const contentLen = src.trimEnd().length - indent.length;
384
+ console.log(indent + "~".repeat(Math.max(contentLen, 1)) + ` ← ${errMsg}`);
385
+ }
374
386
  }
375
387
 
376
388
  console.log("```");