geotechcli 0.4.9 → 0.4.10

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.
@@ -125,18 +125,18 @@ function buildHtml(payload) {
125
125
  <title>${payload.headline}</title>
126
126
  <style>
127
127
  :root {
128
- --bg: #07111d;
129
- --bg-panel: rgba(10, 17, 29, 0.78);
130
- --bg-panel-strong: rgba(8, 14, 24, 0.96);
131
- --bg-soft: rgba(15, 23, 42, 0.72);
132
- --line: rgba(148, 163, 184, 0.16);
133
- --line-strong: rgba(125, 211, 252, 0.22);
134
- --text: #e6edf8;
135
- --muted: #93a4bb;
136
- --accent: #2dd4bf;
137
- --accent-alt: #60a5fa;
138
- --accent-warm: #f59e0b;
139
- --shadow: 0 24px 80px rgba(2, 8, 23, 0.45);
128
+ --bg: #f6f9fe;
129
+ --bg-panel: rgba(255, 255, 255, 0.92);
130
+ --bg-panel-strong: rgba(255, 255, 255, 0.98);
131
+ --bg-soft: rgba(244, 247, 252, 0.96);
132
+ --line: rgba(20, 86, 240, 0.10);
133
+ --line-strong: rgba(20, 86, 240, 0.18);
134
+ --text: #1d2736;
135
+ --muted: #5e6b7b;
136
+ --accent: #1456f0;
137
+ --accent-alt: #3daeff;
138
+ --accent-warm: #ea5ec1;
139
+ --shadow: 0 18px 48px rgba(28, 48, 86, 0.10);
140
140
  }
141
141
 
142
142
  * {
@@ -147,11 +147,11 @@ function buildHtml(payload) {
147
147
  margin: 0;
148
148
  min-height: 100vh;
149
149
  background:
150
- radial-gradient(circle at top right, rgba(45, 212, 191, 0.12), transparent 22rem),
151
- radial-gradient(circle at top left, rgba(96, 165, 250, 0.12), transparent 20rem),
152
- linear-gradient(180deg, #081220 0%, #040a12 100%);
150
+ radial-gradient(circle at top right, rgba(61, 174, 255, 0.16), transparent 20rem),
151
+ radial-gradient(circle at top left, rgba(234, 94, 193, 0.10), transparent 18rem),
152
+ linear-gradient(180deg, #fbfdff 0%, #f2f6fb 100%);
153
153
  color: var(--text);
154
- font-family: "Aptos", "Segoe UI Variable", "Segoe UI", sans-serif;
154
+ font-family: "DM Sans", "Segoe UI Variable", "Segoe UI", sans-serif;
155
155
  }
156
156
 
157
157
  .shell {
@@ -170,7 +170,9 @@ function buildHtml(payload) {
170
170
  padding: 22px 24px;
171
171
  border: 1px solid var(--line-strong);
172
172
  border-radius: 24px;
173
- background: linear-gradient(135deg, rgba(12, 19, 31, 0.9), rgba(7, 12, 21, 0.78));
173
+ background:
174
+ linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.94)),
175
+ radial-gradient(circle at top right, rgba(61, 174, 255, 0.08), transparent 14rem);
174
176
  box-shadow: var(--shadow);
175
177
  animation: rise 420ms ease-out both;
176
178
  }
@@ -195,10 +197,11 @@ function buildHtml(payload) {
195
197
 
196
198
  .headline {
197
199
  margin: 0;
200
+ font-family: "Outfit", "Segoe UI Variable", "Segoe UI", sans-serif;
198
201
  font-size: clamp(32px, 4vw, 54px);
199
- line-height: 1.02;
202
+ line-height: 1.08;
200
203
  letter-spacing: -0.04em;
201
- font-weight: 650;
204
+ font-weight: 600;
202
205
  }
203
206
 
204
207
  .subhead {
@@ -219,7 +222,7 @@ function buildHtml(payload) {
219
222
  padding: 14px 16px;
220
223
  border-radius: 18px;
221
224
  border: 1px solid var(--line);
222
- background: rgba(255, 255, 255, 0.02);
225
+ background: rgba(255, 255, 255, 0.92);
223
226
  }
224
227
 
225
228
  .summary-card span {
@@ -234,6 +237,7 @@ function buildHtml(payload) {
234
237
 
235
238
  .summary-card strong {
236
239
  display: block;
240
+ font-family: "Outfit", "Segoe UI Variable", "Segoe UI", sans-serif;
237
241
  font-size: 16px;
238
242
  color: var(--text);
239
243
  font-weight: 620;
@@ -254,7 +258,6 @@ function buildHtml(payload) {
254
258
  border: 1px solid var(--line);
255
259
  background: var(--bg-panel);
256
260
  box-shadow: var(--shadow);
257
- backdrop-filter: blur(18px);
258
261
  }
259
262
 
260
263
  .sidebar {
@@ -282,9 +285,9 @@ function buildHtml(payload) {
282
285
 
283
286
  .chart-button {
284
287
  padding: 14px 15px;
285
- border-radius: 18px;
288
+ border-radius: 20px;
286
289
  border: 1px solid var(--line);
287
- background: rgba(15, 23, 42, 0.46);
290
+ background: rgba(249, 251, 255, 0.98);
288
291
  color: var(--text);
289
292
  text-align: left;
290
293
  cursor: pointer;
@@ -293,20 +296,21 @@ function buildHtml(payload) {
293
296
 
294
297
  .chart-button:hover {
295
298
  transform: translateY(-1px);
296
- border-color: rgba(96, 165, 250, 0.35);
297
- background: rgba(15, 23, 42, 0.72);
299
+ border-color: rgba(61, 174, 255, 0.32);
300
+ background: rgba(255, 255, 255, 1);
298
301
  }
299
302
 
300
303
  .chart-button.active {
301
- border-color: rgba(45, 212, 191, 0.45);
304
+ border-color: rgba(20, 86, 240, 0.26);
302
305
  background:
303
- linear-gradient(135deg, rgba(45, 212, 191, 0.12), rgba(96, 165, 250, 0.1)),
304
- rgba(12, 18, 29, 0.92);
305
- box-shadow: inset 0 0 0 1px rgba(45, 212, 191, 0.1);
306
+ linear-gradient(135deg, rgba(20, 86, 240, 0.06), rgba(61, 174, 255, 0.10)),
307
+ rgba(255, 255, 255, 0.98);
308
+ box-shadow: inset 0 0 0 1px rgba(20, 86, 240, 0.06);
306
309
  }
307
310
 
308
311
  .chart-button strong {
309
312
  display: block;
313
+ font-family: "Outfit", "Segoe UI Variable", "Segoe UI", sans-serif;
310
314
  font-size: 14px;
311
315
  line-height: 1.45;
312
316
  margin-bottom: 5px;
@@ -344,6 +348,7 @@ function buildHtml(payload) {
344
348
 
345
349
  .canvas-header h2 {
346
350
  margin: 0 0 6px;
351
+ font-family: "Outfit", "Segoe UI Variable", "Segoe UI", sans-serif;
347
352
  font-size: clamp(22px, 2.6vw, 34px);
348
353
  line-height: 1.08;
349
354
  letter-spacing: -0.03em;
@@ -365,8 +370,8 @@ function buildHtml(payload) {
365
370
  gap: 8px;
366
371
  padding: 10px 12px;
367
372
  border-radius: 999px;
368
- border: 1px solid rgba(45, 212, 191, 0.28);
369
- background: rgba(45, 212, 191, 0.08);
373
+ border: 1px solid rgba(20, 86, 240, 0.18);
374
+ background: rgba(20, 86, 240, 0.06);
370
375
  color: var(--accent);
371
376
  font-size: 12px;
372
377
  font-weight: 700;
@@ -380,18 +385,18 @@ function buildHtml(payload) {
380
385
  height: 8px;
381
386
  border-radius: 999px;
382
387
  background: var(--accent);
383
- box-shadow: 0 0 16px rgba(45, 212, 191, 0.55);
388
+ box-shadow: 0 0 14px rgba(20, 86, 240, 0.28);
384
389
  }
385
390
 
386
391
  #chartHost {
387
392
  min-height: 540px;
388
393
  height: 62vh;
389
- border-radius: 24px;
394
+ border-radius: 22px;
390
395
  overflow: hidden;
391
- border: 1px solid rgba(96, 165, 250, 0.16);
396
+ border: 1px solid rgba(20, 86, 240, 0.10);
392
397
  background:
393
- linear-gradient(180deg, rgba(8, 13, 22, 0.94), rgba(6, 11, 18, 0.88)),
394
- radial-gradient(circle at top, rgba(96, 165, 250, 0.1), transparent 18rem);
398
+ linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 255, 0.98)),
399
+ radial-gradient(circle at top, rgba(61, 174, 255, 0.08), transparent 18rem);
395
400
  }
396
401
 
397
402
  .details-grid {
@@ -404,7 +409,7 @@ function buildHtml(payload) {
404
409
  padding: 14px 16px;
405
410
  border-radius: 18px;
406
411
  border: 1px solid var(--line);
407
- background: rgba(255, 255, 255, 0.02);
412
+ background: rgba(255, 255, 255, 0.96);
408
413
  }
409
414
 
410
415
  .detail-card span {
@@ -419,6 +424,7 @@ function buildHtml(payload) {
419
424
 
420
425
  .detail-card strong {
421
426
  display: block;
427
+ font-family: "Outfit", "Segoe UI Variable", "Segoe UI", sans-serif;
422
428
  font-size: 14px;
423
429
  line-height: 1.5;
424
430
  font-weight: 620;
@@ -429,9 +435,9 @@ function buildHtml(payload) {
429
435
  .note-panel {
430
436
  padding: 16px 18px;
431
437
  border-radius: 20px;
432
- border: 1px solid rgba(245, 158, 11, 0.18);
433
- background: rgba(245, 158, 11, 0.06);
434
- color: #f9d787;
438
+ border: 1px solid rgba(234, 94, 193, 0.14);
439
+ background: rgba(234, 94, 193, 0.05);
440
+ color: #6f2b59;
435
441
  font-size: 13px;
436
442
  line-height: 1.75;
437
443
  }
@@ -531,7 +537,7 @@ function buildHtml(payload) {
531
537
  <script>${echartsSource}</script>
532
538
  <script>
533
539
  const payload = ${embeddedPayload};
534
- const palette = ['#2dd4bf', '#60a5fa', '#f59e0b', '#fb7185', '#a78bfa', '#22c55e'];
540
+ const palette = ['#1456f0', '#3daeff', '#ea5ec1', '#ff8a4c', '#2f9b76', '#8f6ef5'];
535
541
  const sourceLabel = document.getElementById('sourceLabel');
536
542
  const sourceType = document.getElementById('sourceType');
537
543
  const chartCount = document.getElementById('chartCount');
@@ -572,14 +578,16 @@ function buildHtml(payload) {
572
578
  data: series.points.map((point) => [point.x, point.y]),
573
579
  smooth: series.style !== 'scatter',
574
580
  showSymbol: series.style === 'scatter' || series.points.length <= 40,
575
- symbolSize: series.style === 'scatter' ? 9 : 7,
581
+ symbolSize: series.style === 'scatter' ? 8 : 6,
576
582
  lineStyle: {
577
- width: 2.6,
578
- shadowBlur: 14,
579
- shadowColor: palette[index % palette.length] + '55'
583
+ width: 2.4,
584
+ shadowBlur: 8,
585
+ shadowColor: palette[index % palette.length] + '22'
580
586
  },
581
587
  itemStyle: {
582
- color: palette[index % palette.length]
588
+ color: palette[index % palette.length],
589
+ borderColor: '#ffffff',
590
+ borderWidth: 1
583
591
  },
584
592
  emphasis: {
585
593
  focus: 'series'
@@ -592,15 +600,17 @@ function buildHtml(payload) {
592
600
  name: series.label,
593
601
  data: series.values.map((value, pointIndex) => [chart.xValues[pointIndex] ?? pointIndex + 1, value]),
594
602
  smooth: true,
595
- showSymbol: series.values.length <= 40,
596
- symbolSize: 7,
603
+ showSymbol: series.values.length <= 32,
604
+ symbolSize: 6,
597
605
  lineStyle: {
598
- width: 2.6,
599
- shadowBlur: 14,
600
- shadowColor: palette[index % palette.length] + '55'
606
+ width: 2.4,
607
+ shadowBlur: 8,
608
+ shadowColor: palette[index % palette.length] + '22'
601
609
  },
602
610
  itemStyle: {
603
- color: palette[index % palette.length]
611
+ color: palette[index % palette.length],
612
+ borderColor: '#ffffff',
613
+ borderWidth: 1
604
614
  },
605
615
  emphasis: {
606
616
  focus: 'series'
@@ -614,38 +624,55 @@ function buildHtml(payload) {
614
624
  animationDuration: 480,
615
625
  color: palette,
616
626
  legend: {
627
+ type: 'scroll',
617
628
  top: 10,
618
- right: 18,
629
+ left: 18,
630
+ right: 112,
619
631
  textStyle: {
620
- color: '#a9b6c7',
621
- fontSize: 12
632
+ color: '#4f5f72',
633
+ fontSize: 12,
634
+ fontWeight: 500
635
+ },
636
+ pageIconColor: '#1456f0',
637
+ pageIconInactiveColor: 'rgba(20, 86, 240, 0.24)',
638
+ pageTextStyle: {
639
+ color: '#5e6b7b'
622
640
  }
623
641
  },
624
642
  tooltip: {
625
643
  trigger: 'axis',
644
+ confine: true,
626
645
  axisPointer: {
627
646
  type: 'cross',
628
647
  label: {
629
- backgroundColor: '#09111d'
648
+ backgroundColor: '#1456f0',
649
+ color: '#ffffff'
650
+ },
651
+ lineStyle: {
652
+ color: 'rgba(20, 86, 240, 0.20)'
630
653
  }
631
654
  },
632
- backgroundColor: 'rgba(3, 8, 16, 0.94)',
633
- borderColor: 'rgba(96, 165, 250, 0.26)',
655
+ backgroundColor: 'rgba(255, 255, 255, 0.98)',
656
+ borderColor: 'rgba(20, 86, 240, 0.14)',
634
657
  borderWidth: 1,
635
658
  textStyle: {
636
- color: '#e6edf8'
659
+ color: '#1d2736'
637
660
  },
638
661
  padding: [10, 12],
639
- extraCssText: 'box-shadow:0 18px 48px rgba(2,8,23,0.48);border-radius:14px;'
662
+ extraCssText: 'box-shadow:0 16px 42px rgba(28,48,86,0.12);border-radius:14px;'
640
663
  },
641
664
  grid: {
642
- top: 68,
643
- right: 28,
644
- bottom: 82,
645
- left: 72
665
+ top: 84,
666
+ right: 24,
667
+ bottom: 46,
668
+ left: 66,
669
+ containLabel: true
646
670
  },
647
671
  toolbox: {
672
+ top: 10,
648
673
  right: 18,
674
+ itemGap: 12,
675
+ itemSize: 15,
649
676
  feature: {
650
677
  saveAsImage: {
651
678
  title: 'Save PNG',
@@ -656,38 +683,41 @@ function buildHtml(payload) {
656
683
  }
657
684
  },
658
685
  iconStyle: {
659
- borderColor: '#7dd3fc'
686
+ borderColor: '#1456f0'
660
687
  }
661
688
  },
662
689
  xAxis: {
663
690
  type: chart.xScale === 'log10' ? 'log' : 'value',
664
691
  name: chart.xLabel,
665
692
  nameLocation: 'middle',
666
- nameGap: 42,
693
+ nameGap: 34,
667
694
  min: chart.xDomain ? chart.xDomain[0] : null,
668
695
  max: chart.xDomain ? chart.xDomain[1] : null,
669
696
  axisLabel: {
670
- color: '#90a2b7'
697
+ color: '#5e6b7b',
698
+ margin: 12,
699
+ hideOverlap: true
671
700
  },
672
701
  nameTextStyle: {
673
- color: '#cdd8e7',
674
- fontWeight: 600
702
+ color: '#32465a',
703
+ fontWeight: 600,
704
+ fontSize: 12
675
705
  },
676
706
  axisLine: {
677
707
  lineStyle: {
678
- color: 'rgba(148,163,184,0.26)'
708
+ color: 'rgba(20, 86, 240, 0.14)'
679
709
  }
680
710
  },
681
711
  splitLine: {
682
712
  lineStyle: {
683
- color: 'rgba(148,163,184,0.10)'
713
+ color: 'rgba(20, 86, 240, 0.08)'
684
714
  }
685
715
  },
686
716
  minorSplitLine: chart.xScale === 'log10'
687
717
  ? {
688
718
  show: true,
689
719
  lineStyle: {
690
- color: 'rgba(148,163,184,0.06)'
720
+ color: 'rgba(20, 86, 240, 0.04)'
691
721
  }
692
722
  }
693
723
  : undefined
@@ -695,25 +725,28 @@ function buildHtml(payload) {
695
725
  yAxis: {
696
726
  type: 'value',
697
727
  name: chart.yLabel,
698
- nameGap: 54,
728
+ nameGap: 42,
699
729
  inverse: Boolean(chart.invertY),
700
730
  min: chart.yDomain ? chart.yDomain[0] : null,
701
731
  max: chart.yDomain ? chart.yDomain[1] : null,
702
732
  axisLabel: {
703
- color: '#90a2b7'
733
+ color: '#5e6b7b',
734
+ margin: 10,
735
+ hideOverlap: true
704
736
  },
705
737
  nameTextStyle: {
706
- color: '#cdd8e7',
707
- fontWeight: 600
738
+ color: '#32465a',
739
+ fontWeight: 600,
740
+ fontSize: 12
708
741
  },
709
742
  axisLine: {
710
743
  lineStyle: {
711
- color: 'rgba(148,163,184,0.26)'
744
+ color: 'rgba(20, 86, 240, 0.14)'
712
745
  }
713
746
  },
714
747
  splitLine: {
715
748
  lineStyle: {
716
- color: 'rgba(148,163,184,0.10)'
749
+ color: 'rgba(20, 86, 240, 0.08)'
717
750
  }
718
751
  }
719
752
  },
@@ -726,17 +759,6 @@ function buildHtml(payload) {
726
759
  {
727
760
  type: 'inside',
728
761
  orient: 'vertical'
729
- },
730
- {
731
- type: 'slider',
732
- bottom: 22,
733
- height: 14,
734
- borderColor: 'rgba(148,163,184,0.12)',
735
- fillerColor: 'rgba(45,212,191,0.16)',
736
- backgroundColor: 'rgba(15,23,42,0.52)',
737
- textStyle: {
738
- color: '#6c7d92'
739
- }
740
762
  }
741
763
  ],
742
764
  series: buildSeries(chart)
@@ -765,10 +787,9 @@ function buildHtml(payload) {
765
787
 
766
788
  function buildChartSubtitle(chart) {
767
789
  const parts = [
768
- chart.xLabel + ' on X',
769
- chart.yLabel + ' on Y',
770
790
  chart.xScale === 'log10' ? 'logarithmic X scale' : 'linear X scale',
771
- chart.invertY ? 'inverted Y axis' : 'standard Y axis'
791
+ chart.invertY ? 'inverted depth view' : 'standard axis direction',
792
+ chart.series.length + ' plotted series'
772
793
  ];
773
794
  return parts.join(' | ');
774
795
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plot-viewer.js","sourceRoot":"","sources":["../../src/ui/plot-viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plot-viewer.js","sourceRoot":"","sources":["../../src/ui/plot-viewer.ts"],"names":[],"mappings":"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"}
@@ -37,5 +37,6 @@ export declare function renderXYPlot(series: XYSeriesSpec[], options?: {
37
37
  invertY?: boolean;
38
38
  }): void;
39
39
  export declare function renderSteps(steps: string[], verbose: boolean): void;
40
+ export declare function renderRichText(markdown: string): void;
40
41
  export declare function renderJSON(data: unknown): void;
41
42
  //# sourceMappingURL=terminal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/ui/terminal.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,wBAAgB,MAAM,IAAI,IAAI,CAU7B;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAExC;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CA8BhF;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,IAAI,CAgBN;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,IAAI,CA0BN;AAoCD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,IAAI,CA4GN;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQnE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAW9C"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/ui/terminal.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,wBAAgB,MAAM,IAAI,IAAI,CAU7B;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAExC;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CA8BhF;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,IAAI,CAgBN;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,IAAI,CA0BN;AAoCD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,IAAI,CA4GN;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQnE;AAkGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyDrD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAW9C"}
@@ -217,6 +217,133 @@ export function renderSteps(steps, verbose) {
217
217
  console.log(chalk.gray(` ${step}`));
218
218
  }
219
219
  }
220
+ function stripInlineMarkup(value) {
221
+ return value
222
+ .replace(/\*\*([^*]+)\*\*/g, '$1')
223
+ .replace(/`([^`]+)`/g, '$1');
224
+ }
225
+ function terminalContentWidth(defaultWidth = 96) {
226
+ const columns = process.stdout.columns ?? defaultWidth;
227
+ return Math.max(48, Math.min(110, columns - 6));
228
+ }
229
+ function wrapMarkdownText(text, width) {
230
+ const trimmed = text.trim();
231
+ if (!trimmed) {
232
+ return [''];
233
+ }
234
+ const tokens = trimmed.split(/\s+/);
235
+ const lines = [];
236
+ let current = '';
237
+ let currentVisible = 0;
238
+ for (const token of tokens) {
239
+ const tokenVisible = stripInlineMarkup(token).length;
240
+ if (!current) {
241
+ current = token;
242
+ currentVisible = tokenVisible;
243
+ continue;
244
+ }
245
+ if (currentVisible + 1 + tokenVisible <= width) {
246
+ current += ` ${token}`;
247
+ currentVisible += 1 + tokenVisible;
248
+ continue;
249
+ }
250
+ lines.push(current);
251
+ current = token;
252
+ currentVisible = tokenVisible;
253
+ }
254
+ if (current) {
255
+ lines.push(current);
256
+ }
257
+ return lines;
258
+ }
259
+ function formatInlineMarkup(value) {
260
+ return value
261
+ .replace(/`([^`]+)`/g, (_, inner) => chalk.cyan(inner))
262
+ .replace(/\*\*([^*]+)\*\*/g, (_, inner) => chalk.whiteBright.bold(inner));
263
+ }
264
+ function parseMarkdownTableRow(line) {
265
+ return line
266
+ .trim()
267
+ .replace(/^\|/, '')
268
+ .replace(/\|$/, '')
269
+ .split('|')
270
+ .map((cell) => cell.trim());
271
+ }
272
+ function isMarkdownTableSeparator(line) {
273
+ return /^\s*\|?(?:\s*:?-{3,}:?\s*\|)+\s*:?-{3,}:?\s*\|?\s*$/.test(line);
274
+ }
275
+ function renderWrappedLine(text, prefix, continuationPrefix, color = chalk.white) {
276
+ const visiblePrefix = stripAnsi(prefix).length;
277
+ const visibleContinuationPrefix = stripAnsi(continuationPrefix).length;
278
+ const width = terminalContentWidth();
279
+ const wrapped = wrapMarkdownText(text, Math.max(18, width - visiblePrefix));
280
+ wrapped.forEach((line, index) => {
281
+ const linePrefix = index === 0 ? prefix : continuationPrefix;
282
+ const lineWidth = Math.max(18, width - (index === 0 ? visiblePrefix : visibleContinuationPrefix));
283
+ const segments = index === 0 ? [line] : wrapMarkdownText(line, lineWidth);
284
+ for (const segment of segments) {
285
+ console.log(linePrefix + color(formatInlineMarkup(segment)));
286
+ }
287
+ });
288
+ }
289
+ function renderSectionHeading(text) {
290
+ const clean = stripInlineMarkup(text).replace(/:+$/, '').trim();
291
+ if (!clean)
292
+ return;
293
+ console.log('');
294
+ console.log(chalk.cyanBright.bold(` ${clean}`));
295
+ console.log(chalk.gray(` ${'─'.repeat(Math.min(clean.length + 2, 42))}`));
296
+ }
297
+ export function renderRichText(markdown) {
298
+ const lines = markdown.replace(/\r\n/g, '\n').split('\n');
299
+ for (let index = 0; index < lines.length; index += 1) {
300
+ const line = lines[index];
301
+ const trimmed = line.trim();
302
+ if (!trimmed) {
303
+ console.log('');
304
+ continue;
305
+ }
306
+ if (trimmed.startsWith('|') && index + 1 < lines.length && isMarkdownTableSeparator(lines[index + 1])) {
307
+ const header = parseMarkdownTableRow(trimmed);
308
+ const rows = [];
309
+ index += 2;
310
+ while (index < lines.length && lines[index].trim().startsWith('|')) {
311
+ rows.push(parseMarkdownTableRow(lines[index]));
312
+ index += 1;
313
+ }
314
+ index -= 1;
315
+ renderTable(header, rows);
316
+ continue;
317
+ }
318
+ const markdownHeading = trimmed.match(/^#{1,6}\s+(.+)$/);
319
+ if (markdownHeading) {
320
+ renderSectionHeading(markdownHeading[1]);
321
+ continue;
322
+ }
323
+ const sectionHeading = trimmed.match(/^\*\*(.+)\*\*:?$/);
324
+ if (sectionHeading) {
325
+ renderSectionHeading(sectionHeading[1]);
326
+ continue;
327
+ }
328
+ const numbered = line.match(/^(\s*)(\d+)\.\s+(.+)$/);
329
+ if (numbered) {
330
+ const indent = ' ' + ' '.repeat(Math.min(4, numbered[1].length));
331
+ const prefix = chalk.cyanBright(`${indent}${numbered[2]}. `);
332
+ const continuationPrefix = `${indent}${' '.repeat(numbered[2].length + 2)}`;
333
+ renderWrappedLine(numbered[3], prefix, continuationPrefix);
334
+ continue;
335
+ }
336
+ const bullet = line.match(/^(\s*)-\s+(.+)$/);
337
+ if (bullet) {
338
+ const indent = ' ' + ' '.repeat(Math.min(6, bullet[1].length));
339
+ const prefix = chalk.blueBright(`${indent}• `);
340
+ const continuationPrefix = `${indent} `;
341
+ renderWrappedLine(bullet[2], prefix, continuationPrefix, chalk.white);
342
+ continue;
343
+ }
344
+ renderWrappedLine(trimmed, ' ', ' ', chalk.white);
345
+ }
346
+ }
220
347
  export function renderJSON(data) {
221
348
  const sanitized = JSON.parse(JSON.stringify(data, (key, value) => {
222
349
  if (/api.?key|token|secret|password/i.test(key)) {