@heyhuynhgiabuu/pi-pretty 0.6.23 → 0.6.25

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 (54) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +51 -1
  3. package/dist/autocomplete.js +1 -4
  4. package/dist/autocomplete.js.map +1 -1
  5. package/dist/config.d.ts +19 -0
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +141 -118
  8. package/dist/config.js.map +1 -1
  9. package/dist/fff-helpers.js +2 -7
  10. package/dist/fff-helpers.js.map +1 -1
  11. package/dist/fff.js +16 -23
  12. package/dist/fff.js.map +1 -1
  13. package/dist/find-glob.js +2 -6
  14. package/dist/find-glob.js.map +1 -1
  15. package/dist/helpers.js +11 -21
  16. package/dist/helpers.js.map +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +182 -59
  19. package/dist/index.js.map +1 -1
  20. package/dist/notices.js +1 -4
  21. package/dist/notices.js.map +1 -1
  22. package/dist/render.js +78 -96
  23. package/dist/render.js.map +1 -1
  24. package/dist/session-color.d.ts +30 -0
  25. package/dist/session-color.d.ts.map +1 -0
  26. package/dist/session-color.js +170 -0
  27. package/dist/session-color.js.map +1 -0
  28. package/dist/tools/bash.js +26 -29
  29. package/dist/tools/bash.js.map +1 -1
  30. package/dist/tools/find.js +31 -34
  31. package/dist/tools/find.js.map +1 -1
  32. package/dist/tools/grep.js +22 -25
  33. package/dist/tools/grep.js.map +1 -1
  34. package/dist/tools/labels.js +1 -4
  35. package/dist/tools/labels.js.map +1 -1
  36. package/dist/tools/ls.js +18 -21
  37. package/dist/tools/ls.js.map +1 -1
  38. package/dist/tools/metrics.js +4 -7
  39. package/dist/tools/metrics.js.map +1 -1
  40. package/dist/tools/read.js +35 -38
  41. package/dist/tools/read.js.map +1 -1
  42. package/dist/tui-text.js +5 -9
  43. package/dist/tui-text.js.map +1 -1
  44. package/dist/types.js +1 -2
  45. package/dist/types.js.map +1 -1
  46. package/dist/working-indicator.d.ts +184 -0
  47. package/dist/working-indicator.d.ts.map +1 -0
  48. package/dist/working-indicator.js +524 -0
  49. package/dist/working-indicator.js.map +1 -0
  50. package/package.json +7 -6
  51. package/src/config.ts +48 -0
  52. package/src/index.ts +177 -2
  53. package/src/session-color.ts +172 -0
  54. package/src/working-indicator.ts +691 -0
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Per-session accent color — port of oh-my-pi's `utils/session-color.ts`
3
+ * (OKLCH essence, no native dependencies).
4
+ *
5
+ * omp derives a stable per-session accent: the session name hash picks only
6
+ * the *hue* (djb2, walked along a dark-theme-safe arc that excludes hues
7
+ * which darken badly); lightness and chroma live in OKLCH so every hue
8
+ * renders with equal perceived weight (the reason omp carries the theme
9
+ * accent through per-hue gamut cusps — constant OKLCH L/C achieves the same
10
+ * uniformity without theme introspection, which pi's extension API does not
11
+ * expose). The spinner variant dims the accent exactly like omp's
12
+ * `adjustHsv(hex, { s: 0.55, v: 0.65 })`.
13
+ *
14
+ * Skipped from the omp original (requires host theme internals pi does not
15
+ * expose to extensions): per-hue gamut cusps, WCAG contrast bisection against
16
+ * the surface, hue-collision avoidance against theme colors.
17
+ */
18
+ // ─── omp session-color.ts constants ──────────────────────────────────────────
19
+ /** omp MIN_CHROMA / MAX_CHROMA: readable floor, "not a highlighter set" ceiling. */
20
+ const MIN_CHROMA = 0.05;
21
+ const MAX_CHROMA = 0.21;
22
+ /** omp dark-theme lightness band (visible on dark surfaces). */
23
+ const LIGHTNESS = 0.75;
24
+ /**
25
+ * Dark-theme hue arc. omp computes these intervals from per-hue gamut cusps;
26
+ * its doc comment pins the always-excluded bands — the yellow/chartreuse core
27
+ * (≈94–138°, darkens to mustard) and the over-light cyan peak (≈158–200°) —
28
+ * for every theme, so the arc below hardcodes the full wheel minus those two.
29
+ */
30
+ const DARK_HUE_INTERVALS = [
31
+ [0, 93],
32
+ [139, 157],
33
+ [201, 359],
34
+ ];
35
+ const ARC_LENGTH = DARK_HUE_INTERVALS.reduce((n, [a, b]) => n + (b - a + 1), 0);
36
+ /** omp nameToHash: stable 32-bit djb2. */
37
+ function nameToHash(name) {
38
+ let hash = 5381;
39
+ for (let i = 0; i < name.length; i++) {
40
+ hash = ((hash << 5) + hash) ^ name.charCodeAt(i);
41
+ hash = hash >>> 0;
42
+ }
43
+ return hash;
44
+ }
45
+ /** Map a name to its OKLCH hue on the dark-safe arc. */
46
+ export function sessionAccentHue(name) {
47
+ let pos = nameToHash(name) % ARC_LENGTH;
48
+ for (const [a, b] of DARK_HUE_INTERVALS) {
49
+ const n = b - a + 1;
50
+ if (pos < n)
51
+ return a + pos;
52
+ pos -= n;
53
+ }
54
+ return DARK_HUE_INTERVALS[DARK_HUE_INTERVALS.length - 1]?.[1] ?? 0;
55
+ }
56
+ // ─── OKLCH ↔ sRGB (Björn Ottosson's published matrices) ─────────────────────
57
+ function oklchToSrgb(l, c, hDeg) {
58
+ const h = (hDeg * Math.PI) / 180;
59
+ const a = c * Math.cos(h);
60
+ const b = c * Math.sin(h);
61
+ const l_ = l + 0.3963377774 * a + 0.2158037573 * b;
62
+ const m_ = l - 0.1055613458 * a - 0.0638541728 * b;
63
+ const s_ = l - 0.0894841775 * a - 1.291485548 * b;
64
+ const ll = l_ * l_ * l_;
65
+ const mm = m_ * m_ * m_;
66
+ const ss = s_ * s_ * s_;
67
+ return [
68
+ 4.0767416621 * ll - 3.3077115913 * mm + 0.2309699292 * ss,
69
+ -1.2684380046 * ll + 2.6097574011 * mm - 0.3413193965 * ss,
70
+ -0.0041960863 * ll - 0.7034186147 * mm + 1.707614701 * ss,
71
+ ];
72
+ }
73
+ const transfer = (x) => (x <= 0.0031308 ? 12.92 * x : 1.055 * x ** (1 / 2.4) - 0.055);
74
+ const clamp01 = (x) => Math.max(0, Math.min(1, x));
75
+ /** Largest chroma ≤ `c` whose color is inside the sRGB gamut (chroma bisection). */
76
+ function clampChroma(l, c, hDeg, iterations = 12) {
77
+ let lo = 0;
78
+ let hi = c;
79
+ const inGamut = (chroma) => oklchToSrgb(l, chroma, hDeg).every((x) => x >= -1e-4 && x <= 1 + 1e-4);
80
+ if (inGamut(hi))
81
+ return hi;
82
+ for (let i = 0; i < iterations; i++) {
83
+ const mid = (lo + hi) / 2;
84
+ if (inGamut(mid))
85
+ lo = mid;
86
+ else
87
+ hi = mid;
88
+ }
89
+ return lo;
90
+ }
91
+ function oklchToHex(l, c, hDeg) {
92
+ const chroma = clampChroma(l, c, hDeg);
93
+ const [r, g, b] = oklchToSrgb(l, chroma, hDeg);
94
+ const hex = (x) => Math.round(clamp01(transfer(clamp01(x))) * 255)
95
+ .toString(16)
96
+ .padStart(2, "0");
97
+ return `#${hex(r)}${hex(g)}${hex(b)}`;
98
+ }
99
+ // ─── Public surface ──────────────────────────────────────────────────────────
100
+ /** Stable per-session accent hex at a fixed OKLCH lightness/chroma band. */
101
+ export function sessionAccentHex(name) {
102
+ return oklchToHex(LIGHTNESS, Math.max(MIN_CHROMA, Math.min(MAX_CHROMA, 0.14)), sessionAccentHue(name));
103
+ }
104
+ function hexToRgb(hex) {
105
+ const m = hex.trim().match(/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/);
106
+ if (!m)
107
+ return undefined;
108
+ return [Number.parseInt(m[1], 16), Number.parseInt(m[2], 16), Number.parseInt(m[3], 16)];
109
+ }
110
+ /** RGB(0-1) → HSV; exactly the inverse legs omp's adjustHsv needs. */
111
+ function rgbToHsv(r, g, b) {
112
+ const max = Math.max(r, g, b);
113
+ const min = Math.min(r, g, b);
114
+ const d = max - min;
115
+ let h;
116
+ if (d === 0)
117
+ h = 0;
118
+ else if (max === r)
119
+ h = ((g - b) / d) % 6;
120
+ else if (max === g)
121
+ h = (b - r) / d + 2;
122
+ else
123
+ h = (r - g) / d + 4;
124
+ h = (h * 60 + 360) % 360;
125
+ return [h, max === 0 ? 0 : d / max, max];
126
+ }
127
+ function hsvToHex(h, s, v) {
128
+ const c = v * s;
129
+ const hp = h / 60;
130
+ const x = c * (1 - Math.abs((hp % 2) - 1));
131
+ const m = v - c;
132
+ let rgb;
133
+ if (hp < 1)
134
+ rgb = [c, x, 0];
135
+ else if (hp < 2)
136
+ rgb = [x, c, 0];
137
+ else if (hp < 3)
138
+ rgb = [0, c, x];
139
+ else if (hp < 4)
140
+ rgb = [0, x, c];
141
+ else if (hp < 5)
142
+ rgb = [x, 0, c];
143
+ else
144
+ rgb = [c, 0, x];
145
+ const hex = (x) => Math.round((x + m) * 255)
146
+ .toString(16)
147
+ .padStart(2, "0");
148
+ return `#${hex(rgb[0])}${hex(rgb[1])}${hex(rgb[2])}`;
149
+ }
150
+ /**
151
+ * Dim variant for the spinner — identical transform to omp's
152
+ * `adjustHsv(hex, { s: 0.55, v: 0.65 })`. Unparseable input returns
153
+ * the input unchanged.
154
+ */
155
+ export function dimAccentHex(hex) {
156
+ const rgb = hexToRgb(hex);
157
+ if (!rgb)
158
+ return hex;
159
+ const [r, g, b] = rgb.map((x) => x / 255);
160
+ const [h, s, v] = rgbToHsv(r, g, b);
161
+ return hsvToHex(h, s * 0.55, v * 0.65);
162
+ }
163
+ /** Truecolor ANSI foreground open sequence for a `#rrggbb` hex. */
164
+ export function hexToAnsiFg(hex) {
165
+ const rgb = hexToRgb(hex);
166
+ if (!rgb)
167
+ return "";
168
+ return `\x1b[38;2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
169
+ }
170
+ //# sourceMappingURL=session-color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-color.js","sourceRoot":"","sources":["../src/session-color.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gFAAgF;AAEhF,oFAAoF;AACpF,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,gEAAgE;AAChE,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,kBAAkB,GAA6C;IACpE,CAAC,CAAC,EAAE,EAAE,CAAC;IACP,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AACF,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhF,0CAA0C;AAC1C,SAAS,UAAU,CAAC,IAAY;IAC/B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC5C,IAAI,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,GAAG,CAAC;QAC5B,GAAG,IAAI,CAAC,CAAC;IACV,CAAC;IACD,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,+EAA+E;AAE/E,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY;IACtD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxB,OAAO;QACN,YAAY,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE;QACzD,CAAC,YAAY,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE;QAC1D,CAAC,YAAY,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,WAAW,GAAG,EAAE;KACzD,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AACtG,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnE,oFAAoF;AACpF,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY,EAAE,UAAU,GAAG,EAAE;IACvE,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,MAAM,OAAO,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACpH,IAAI,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC;YAAE,EAAE,GAAG,GAAG,CAAC;;YACtB,EAAE,GAAG,GAAG,CAAC;IACf,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SAC7C,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,gFAAgF;AAEhF,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC5C,OAAO,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACnF,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,sEAAsE;AACtE,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;IACpB,IAAI,CAAS,CAAC;IACd,IAAI,CAAC,KAAK,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC;SACd,IAAI,GAAG,KAAK,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SACrC,IAAI,GAAG,KAAK,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;QACnC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACzB,OAAO,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAChD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,GAA6B,CAAC;IAClC,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5B,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5B,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5B,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;QAC5B,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CACjC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;SACvB,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAA6B,CAAC;IACtE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,WAAW,CAAC,GAAW;IACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,aAAa,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
1
  /* pi-pretty: bash tool -- command execution with styled output. */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.registerBashTool = registerBashTool;
5
- const config_js_1 = require("../config.js");
6
- const helpers_js_1 = require("../helpers.js");
7
- const render_js_1 = require("../render.js");
8
- const tui_text_js_1 = require("../tui-text.js");
9
- const metrics_js_1 = require("./metrics.js");
10
- function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
11
- const TC = (0, tui_text_js_1.resolveTextCtor)(TextComp);
2
+ import { resolveBaseBackground, TOOL_RESULT_INDENT, termWidth } from "../config.js";
3
+ import { compactErrorLines, inferBashExitCode, stripBashExitStatusLine } from "../helpers.js";
4
+ import { fillToolBackground, renderToolDuration, renderToolError } from "../render.js";
5
+ import { resolveTextCtor } from "../tui-text.js";
6
+ import { wrapExecuteWithMetrics } from "./metrics.js";
7
+ export function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
8
+ const TC = resolveTextCtor(TextComp);
12
9
  pi.registerTool({
13
10
  name: "bash",
14
11
  label: "Bash",
@@ -22,7 +19,7 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
22
19
  ],
23
20
  parameters: sdkTool.parameters,
24
21
  renderShell: "self",
25
- execute: (0, metrics_js_1.wrapExecuteWithMetrics)(async (tid, params, sig, _upd, ctx) => {
22
+ execute: wrapExecuteWithMetrics(async (tid, params, sig, _upd, ctx) => {
26
23
  try {
27
24
  return (await sdkTool.execute(tid, params, sig, undefined, ctx));
28
25
  }
@@ -41,10 +38,10 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
41
38
  }
42
39
  }),
43
40
  renderCall(args, theme, ctx) {
44
- (0, config_js_1.resolveBaseBackground)(theme);
41
+ resolveBaseBackground(theme);
45
42
  const text = ctx.lastComponent ?? new TC("", 0, 0);
46
43
  const t = typeof args.timeout === "number" ? ` ${theme.fg("muted", `(timeout ${args.timeout}s)`)}` : "";
47
- const tw = (0, config_js_1.termWidth)() || 80;
44
+ const tw = termWidth() || 80;
48
45
  const rawCmd = String(args.command ?? "");
49
46
  const headerBudget = ctx.expanded ? tw : Math.max(8, tw - 20);
50
47
  const cmd = rawCmd.length === 0
@@ -53,11 +50,11 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
53
50
  ? `${rawCmd.slice(0, Math.max(1, headerBudget))}…`
54
51
  : rawCmd;
55
52
  const commandLabel = theme.fg(ctx.isError ? "error" : "toolTitle", theme.bold(`$ ${cmd}`));
56
- text.setText((0, render_js_1.fillToolBackground)(`\n${config_js_1.TOOL_RESULT_INDENT}${commandLabel}${t}\n`, undefined, ctx.expanded ? undefined : tw));
53
+ text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${commandLabel}${t}\n`, undefined, ctx.expanded ? undefined : tw));
57
54
  return text;
58
55
  },
59
56
  renderResult(result, _opt, theme, ctx) {
60
- (0, config_js_1.resolveBaseBackground)(theme);
57
+ resolveBaseBackground(theme);
61
58
  const text = ctx.lastComponent ?? new TC("", 0, 0);
62
59
  const details = result.details;
63
60
  const tc = getText(result);
@@ -67,37 +64,37 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
67
64
  ? {
68
65
  _type: "bashResult",
69
66
  text: tc || "Error",
70
- exitCode: (0, helpers_js_1.inferBashExitCode)(tc, ctx.isError ? 1 : 0),
67
+ exitCode: inferBashExitCode(tc, ctx.isError ? 1 : 0),
71
68
  command: "",
72
69
  }
73
70
  : undefined;
74
71
  if (d?._type === "bashResult") {
75
72
  const isErr = ctx.isError || (d.exitCode !== null && d.exitCode !== 0);
76
- const cleaned = (0, helpers_js_1.stripBashExitStatusLine)(d.text);
77
- const output = isErr ? (0, helpers_js_1.compactErrorLines)(cleaned).join("\n") : cleaned;
73
+ const cleaned = stripBashExitStatusLine(d.text);
74
+ const output = isErr ? compactErrorLines(cleaned).join("\n") : cleaned;
78
75
  const lineCount = output.split("\n").length;
79
- const info = [`${lineCount} lines`, (0, render_js_1.renderToolDuration)(result), !ctx.expanded ? "ctrl+o to expand" : ""]
76
+ const info = [`${lineCount} lines`, renderToolDuration(result), !ctx.expanded ? "ctrl+o to expand" : ""]
80
77
  .filter(Boolean)
81
78
  .map((part) => theme.fg("dim", part))
82
79
  .join(theme.fg("dim", " · "));
83
- const header = `${config_js_1.TOOL_RESULT_INDENT}${info}`;
84
- const rw = (0, config_js_1.termWidth)();
80
+ const header = `${TOOL_RESULT_INDENT}${info}`;
81
+ const rw = termWidth();
85
82
  const renderFn = (w) => {
86
83
  if (!ctx.expanded)
87
- return (0, render_js_1.fillToolBackground)(`${header}\n`, undefined, w);
84
+ return fillToolBackground(`${header}\n`, undefined, w);
88
85
  if (!output.trim())
89
- return (0, render_js_1.fillToolBackground)(`${header}\n`, undefined, w);
86
+ return fillToolBackground(`${header}\n`, undefined, w);
90
87
  const show = output.split("\n");
91
- const out = [header, "", ...show.map((line) => `${config_js_1.TOOL_RESULT_INDENT}${line}`)];
92
- return (0, render_js_1.fillToolBackground)(`${out.join("\n")}\n`, undefined, w);
88
+ const out = [header, "", ...show.map((line) => `${TOOL_RESULT_INDENT}${line}`)];
89
+ return fillToolBackground(`${out.join("\n")}\n`, undefined, w);
93
90
  };
94
91
  text.setText(renderFn(rw));
95
92
  const baseRender = typeof text.render === "function" ? text.render.bind(text) : null;
96
93
  if (baseRender) {
97
94
  let key;
98
95
  text.render = (w) => {
99
- const width = Math.max(1, Math.floor(w || (0, config_js_1.termWidth)()));
100
- const k = `bash:${ctx.expanded ? "1" : "0"}:${width}:${d.exitCode ?? "killed"}:${output.length}:${(0, render_js_1.renderToolDuration)(result)}`;
96
+ const width = Math.max(1, Math.floor(w || termWidth()));
97
+ const k = `bash:${ctx.expanded ? "1" : "0"}:${width}:${d.exitCode ?? "killed"}:${output.length}:${renderToolDuration(result)}`;
101
98
  if (key !== k) {
102
99
  text.setText(renderFn(width));
103
100
  key = k;
@@ -108,11 +105,11 @@ function registerBashTool(pi, _cwd, _fffService, sdkTool, TextComp) {
108
105
  return text;
109
106
  }
110
107
  if (ctx.isError) {
111
- text.setText((0, render_js_1.renderToolError)(tc || "Error", theme));
108
+ text.setText(renderToolError(tc || "Error", theme));
112
109
  return text;
113
110
  }
114
111
  const fc = result.content?.[0];
115
- text.setText((0, render_js_1.fillToolBackground)(`${config_js_1.TOOL_RESULT_INDENT}${theme.fg("dim", fc && "text" in fc ? String(fc.text).slice(0, 120) : "done")}`));
112
+ text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${theme.fg("dim", fc && "text" in fc ? String(fc.text).slice(0, 120) : "done")}`));
116
113
  return text;
117
114
  },
118
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,12 @@
1
- "use strict";
2
1
  /* pi-pretty: find tool -- FFF-backed file search with SDK (fd) fallback. */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.registerFindTool = registerFindTool;
5
- const node_path_1 = require("node:path");
6
- const config_js_1 = require("../config.js");
7
- const find_glob_js_1 = require("../find-glob.js");
8
- const helpers_js_1 = require("../helpers.js");
9
- const notices_js_1 = require("../notices.js");
10
- const render_js_1 = require("../render.js");
11
- const tui_text_js_1 = require("../tui-text.js");
12
- const metrics_js_1 = require("./metrics.js");
2
+ import { isAbsolute, relative } from "node:path";
3
+ import { BG_ERROR, FG_DIM, RST, resolveBaseBackground, TOOL_RESULT_INDENT } from "../config.js";
4
+ import { isLikelyGlobPattern, normalizeFindGlobPattern } from "../find-glob.js";
5
+ import { shortPath } from "../helpers.js";
6
+ import { NOTICE_PARTIAL_FILE_INDEX } from "../notices.js";
7
+ import { fillToolBackground, renderFindResults, renderToolDuration, renderToolError } from "../render.js";
8
+ import { resolveTextCtor } from "../tui-text.js";
9
+ import { wrapExecuteWithMetrics } from "./metrics.js";
13
10
  function getText(result) {
14
11
  return (result.content ?? [])
15
12
  .filter((c) => c.type === "text")
@@ -18,10 +15,10 @@ function getText(result) {
18
15
  }
19
16
  function buildGlobPattern(pattern, path, basePath) {
20
17
  const raw = pattern.startsWith("/") ? pattern.slice(1) : pattern;
21
- const normalized = (0, find_glob_js_1.normalizeFindGlobPattern)(raw);
18
+ const normalized = normalizeFindGlobPattern(raw);
22
19
  let cleanPath = path ?? "";
23
- if (cleanPath && (0, node_path_1.isAbsolute)(cleanPath) && basePath) {
24
- cleanPath = (0, node_path_1.relative)(basePath, cleanPath) || "";
20
+ if (cleanPath && isAbsolute(cleanPath) && basePath) {
21
+ cleanPath = relative(basePath, cleanPath) || "";
25
22
  }
26
23
  cleanPath = cleanPath.replace(/\/$/, "");
27
24
  if (cleanPath) {
@@ -49,8 +46,8 @@ async function sdkFindAsFindResult(sdkTool, tid, params, sig, ctx, pattern, extr
49
46
  };
50
47
  return result;
51
48
  }
52
- function registerFindTool(pi, cwd, fffService, sdkTool, TextComp) {
53
- const TC = (0, tui_text_js_1.resolveTextCtor)(TextComp);
49
+ export function registerFindTool(pi, cwd, fffService, sdkTool, TextComp) {
50
+ const TC = resolveTextCtor(TextComp);
54
51
  const home = process.env.HOME ?? "";
55
52
  pi.registerTool({
56
53
  name: "find",
@@ -58,7 +55,7 @@ function registerFindTool(pi, cwd, fffService, sdkTool, TextComp) {
58
55
  description: sdkTool.description ?? "Find files matching a glob pattern",
59
56
  parameters: sdkTool.parameters,
60
57
  renderShell: "self",
61
- execute: (0, metrics_js_1.wrapExecuteWithMetrics)(async (tid, params, sig, _upd, ctx) => {
58
+ execute: wrapExecuteWithMetrics(async (tid, params, sig, _upd, ctx) => {
62
59
  const pattern = String(params.pattern ?? "");
63
60
  const path = params.path ? String(params.path) : undefined;
64
61
  const limit = params.limit;
@@ -76,13 +73,13 @@ function registerFindTool(pi, cwd, fffService, sdkTool, TextComp) {
76
73
  const items = searchResult.value.items.slice(0, effectiveLimit);
77
74
  const notices = [];
78
75
  if (fffService?.partialIndex)
79
- notices.push(notices_js_1.NOTICE_PARTIAL_FILE_INDEX);
76
+ notices.push(NOTICE_PARTIAL_FILE_INDEX);
80
77
  if (items.length >= effectiveLimit)
81
78
  notices.push(`${effectiveLimit} limit reached`);
82
79
  if (searchResult.value.totalMatched > items.length) {
83
80
  notices.push(`${searchResult.value.totalMatched} total matches`);
84
81
  }
85
- if (items.length === 0 && (0, find_glob_js_1.isLikelyGlobPattern)(pattern)) {
82
+ if (items.length === 0 && isLikelyGlobPattern(pattern)) {
86
83
  return sdkFindAsFindResult(sdkTool, tid, params, sig, ctx, pattern, [
87
84
  "FFF glob returned no matches; results from SDK find (fd).",
88
85
  ...notices,
@@ -114,11 +111,11 @@ function registerFindTool(pi, cwd, fffService, sdkTool, TextComp) {
114
111
  ]);
115
112
  }),
116
113
  renderCall(args, theme, ctx) {
117
- (0, config_js_1.resolveBaseBackground)(theme);
114
+ resolveBaseBackground(theme);
118
115
  const a = args;
119
116
  const text = ctx.lastComponent ?? new TC("", 0, 0);
120
117
  const pattern = a.pattern == null ? "" : String(a.pattern);
121
- const pathArg = a.path == null ? "<missing>" : (0, helpers_js_1.shortPath)(cwd, home, String(a.path));
118
+ const pathArg = a.path == null ? "<missing>" : shortPath(cwd, home, String(a.path));
122
119
  const limit = a.limit;
123
120
  const findLabel = theme.fg(ctx.isError ? "error" : "toolTitle", theme.bold("✱ find"));
124
121
  const patternPart = pattern ? theme.fg("toolTitle", pattern) : "";
@@ -126,44 +123,44 @@ function registerFindTool(pi, cwd, fffService, sdkTool, TextComp) {
126
123
  const pathPart = theme.fg("toolOutput", pathArg);
127
124
  const limitPart = limit !== undefined && limit !== null ? theme.fg("dim", ` limit ${limit}`) : "";
128
125
  const out = `${findLabel} ${patternPart}${inPart}${pathPart}${limitPart}`;
129
- text.setText((0, render_js_1.fillToolBackground)(`\n${config_js_1.TOOL_RESULT_INDENT}${out}\n`, ctx.isError ? config_js_1.BG_ERROR : undefined));
126
+ text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${out}\n`, ctx.isError ? BG_ERROR : undefined));
130
127
  return text;
131
128
  },
132
129
  renderResult(result, _opt, theme, ctx) {
133
- (0, config_js_1.resolveBaseBackground)(theme);
130
+ resolveBaseBackground(theme);
134
131
  const r = result;
135
132
  const text = ctx.lastComponent ?? new TC("", 0, 0);
136
133
  if (ctx.isError) {
137
- text.setText((0, render_js_1.renderToolError)(getText(r) || "Error", theme));
134
+ text.setText(renderToolError(getText(r) || "Error", theme));
138
135
  return text;
139
136
  }
140
137
  const d = r.details;
141
138
  if (d?._type === "findResult") {
142
139
  if (!d.text.trim()) {
143
140
  const noticeStr = d.notices?.length
144
- ? `\n${config_js_1.TOOL_RESULT_INDENT}${theme.fg("warning", `[${d.notices.join(". ")}]`)}`
141
+ ? `\n${TOOL_RESULT_INDENT}${theme.fg("warning", `[${d.notices.join(". ")}]`)}`
145
142
  : "";
146
- text.setText((0, render_js_1.fillToolBackground)(`\n${config_js_1.TOOL_RESULT_INDENT}${theme.fg("dim", "0 files")}${noticeStr}\n`));
143
+ text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${theme.fg("dim", "0 files")}${noticeStr}\n`));
147
144
  return text;
148
145
  }
149
146
  if (!ctx.expanded) {
150
- const duration = (0, render_js_1.renderToolDuration)(r);
151
- text.setText((0, render_js_1.fillToolBackground)(`${config_js_1.TOOL_RESULT_INDENT}${config_js_1.FG_DIM}${d.matchCount} files — ctrl+o to expand${config_js_1.RST}${duration ? `${config_js_1.FG_DIM}· ${duration}${config_js_1.RST}` : ""}\n`));
147
+ const duration = renderToolDuration(r);
148
+ text.setText(fillToolBackground(`${TOOL_RESULT_INDENT}${FG_DIM}${d.matchCount} files — ctrl+o to expand${RST}${duration ? `${FG_DIM}· ${duration}${RST}` : ""}\n`));
152
149
  return text;
153
150
  }
154
- const rendered = (0, render_js_1.renderFindResults)(d.text, theme)
151
+ const rendered = renderFindResults(d.text, theme)
155
152
  .split("\n")
156
- .map((l) => `${config_js_1.TOOL_RESULT_INDENT}${l}`)
153
+ .map((l) => `${TOOL_RESULT_INDENT}${l}`)
157
154
  .join("\n");
158
155
  const noticeStr = d.notices?.length
159
- ? `\n${config_js_1.TOOL_RESULT_INDENT}${theme.fg("warning", `[${d.notices.join(". ")}]`)}`
156
+ ? `\n${TOOL_RESULT_INDENT}${theme.fg("warning", `[${d.notices.join(". ")}]`)}`
160
157
  : "";
161
- const duration = (0, render_js_1.renderToolDuration)(r);
162
- text.setText((0, render_js_1.fillToolBackground)(`\n${config_js_1.TOOL_RESULT_INDENT}${theme.fg("dim", `${d.matchCount} files`)}${duration ? `${config_js_1.FG_DIM}· ${duration}${config_js_1.RST}` : ""}\n${rendered}${noticeStr}\n`));
158
+ const duration = renderToolDuration(r);
159
+ text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${theme.fg("dim", `${d.matchCount} files`)}${duration ? `${FG_DIM}· ${duration}${RST}` : ""}\n${rendered}${noticeStr}\n`));
163
160
  return text;
164
161
  }
165
162
  const fc = r.content?.[0];
166
- text.setText((0, render_js_1.fillToolBackground)(`\n${config_js_1.TOOL_RESULT_INDENT}${theme.fg("dim", fc?.text?.slice(0, 120) ?? "0 files")}\n`));
163
+ text.setText(fillToolBackground(`\n${TOOL_RESULT_INDENT}${theme.fg("dim", fc?.text?.slice(0, 120) ?? "0 files")}\n`));
167
164
  return text;
168
165
  },
169
166
  });
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/tools/find.ts"],"names":[],"mappings":";AAAA,4EAA4E;;AAiE5E,4CA2IC;AA1MD,yCAAiD;AAEjD,4CAAgG;AAChG,kDAAgF;AAChF,8CAA0C;AAC1C,8CAA0D;AAC1D,4CAA0G;AAC1G,gDAAiD;AAEjD,6CAAsD;AAItD,SAAS,OAAO,CAAC,MAAc;IAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAiB,CAAC,IAAI,IAAI,EAAE,CAAC;SACzC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAwB,EAAE,QAAuB;IAC3F,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,uCAAwB,EAAC,GAAG,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,IAAI,SAAS,IAAI,IAAA,sBAAU,EAAC,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;QACpD,SAAS,GAAG,IAAA,oBAAQ,EAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IACD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,GAAG,SAAS,OAAO,UAAU,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC;AACnG,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,OAAmB,EACnB,GAAW,EACX,MAA+B,EAC/B,GAA4B,EAC5B,GAAqB,EACrB,OAAe,EACf,YAAsB;IAEtB,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAW,CAAC;IACnF,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAI,MAAM,CAAC,OAAmC,EAAE,OAAO,IAAI,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;IACxE,MAAM,CAAC,OAAO,GAAG;QAChB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,EAAE;QACR,OAAO;QACP,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO;KACP,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAgB,gBAAgB,CAC/B,EAAgB,EAChB,GAAW,EACX,UAAmD,EACnD,OAAmB,EACnB,QAAmF;IAEnF,MAAM,EAAE,GAAG,IAAA,6BAAe,EAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAEpC,EAAE,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,oCAAoC;QACxE,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,MAAM;QAEnB,OAAO,EAAE,IAAA,mCAAsB,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAqB,EAAE,EAAE;YACvF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,MAAM,GAAG,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAEpE,IAAI,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC;oBACJ,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC5E,MAAM,cAAc,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;oBACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE;wBAC1C,QAAQ,EAAE,cAAc;qBACxB,CAAC,CAAC;oBAEH,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;wBACrB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;wBAChE,MAAM,OAAO,GAAa,EAAE,CAAC;wBAC7B,IAAI,UAAU,EAAE,YAAY;4BAAE,OAAO,CAAC,IAAI,CAAC,sCAAyB,CAAC,CAAC;wBACtE,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc;4BAAE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,gBAAgB,CAAC,CAAC;wBACpF,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;4BACpD,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,gBAAgB,CAAC,CAAC;wBAClE,CAAC;wBAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,kCAAmB,EAAC,OAAO,CAAC,EAAE,CAAC;4BACxD,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;gCACnE,2DAA2D;gCAC3D,GAAG,OAAO;6BACV,CAAC,CAAC;wBACJ,CAAC;wBAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;6BAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;wBAErF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1D,OAAO;4BACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;4BACjD,OAAO,EAAE;gCACR,KAAK,EAAE,YAAY;gCACnB,IAAI,EAAE,KAAK;gCACX,OAAO;gCACP,UAAU,EAAE,KAAK,CAAC,MAAM;gCACxB,OAAO;6BACP;yBACD,CAAC;oBACH,CAAC;gBACF,CAAC;gBAAC,MAAM,CAAC;oBACR,yBAAyB;gBAC1B,CAAC;YACF,CAAC;YAED,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;gBACnE,GAAG,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,+BAA+B;aAC3F,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,UAAU,CAAC,IAAS,EAAE,KAAgB,EAAE,GAAkB;YACzD,IAAA,iCAAqB,EAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,IAA8D,CAAC;YACzE,MAAM,IAAI,GAAI,GAAqB,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,sBAAS,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACtB,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,EAAE,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,IAAA,8BAAkB,EAAC,KAAK,8BAAkB,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACxG,OAAO,IAAI,CAAC;QACb,CAAC;QAED,YAAY,CAAC,MAAc,EAAE,IAAa,EAAE,KAAgB,EAAE,GAAkB;YAC/E,IAAA,iCAAqB,EAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,MAAM,CAAC;YACjB,MAAM,IAAI,GAAI,GAAqB,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAA,2BAAe,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAkC,CAAC;YAC/C,IAAI,CAAC,EAAE,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpB,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM;wBAClC,CAAC,CAAC,KAAK,8BAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAC9E,CAAC,CAAC,EAAE,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,IAAA,8BAAkB,EAAC,KAAK,8BAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC;oBACvG,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,QAAQ,GAAG,IAAA,8BAAkB,EAAC,CAAC,CAAC,CAAC;oBACvC,IAAI,CAAC,OAAO,CACX,IAAA,8BAAkB,EACjB,GAAG,8BAAkB,GAAG,kBAAM,GAAG,CAAC,CAAC,UAAU,4BAA4B,eAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,kBAAM,KAAK,QAAQ,GAAG,eAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CACjI,CACD,CAAC;oBACF,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;qBAC/C,KAAK,CAAC,IAAI,CAAC;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,8BAAkB,GAAG,CAAC,EAAE,CAAC;qBACvC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACb,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM;oBAClC,CAAC,CAAC,KAAK,8BAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAC9E,CAAC,CAAC,EAAE,CAAC;gBACN,MAAM,QAAQ,GAAG,IAAA,8BAAkB,EAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,CACX,IAAA,8BAAkB,EACjB,KAAK,8BAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,UAAU,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,kBAAM,KAAK,QAAQ,GAAG,eAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,GAAG,SAAS,IAAI,CAChJ,CACD,CAAC;gBACF,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAA4B,CAAC;YACrD,IAAI,CAAC,OAAO,CACX,IAAA,8BAAkB,EAAC,KAAK,8BAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CACvG,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;KAC4B,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/tools/find.ts"],"names":[],"mappings":"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"}