gsd-pi 2.9.0 → 2.10.1

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 (1074) hide show
  1. package/node_modules/@gsd/native/dist/ast/index.d.ts +4 -0
  2. package/node_modules/@gsd/native/dist/ast/index.js +7 -0
  3. package/node_modules/@gsd/native/dist/ast/types.d.ts +69 -0
  4. package/node_modules/@gsd/native/dist/clipboard/index.d.ts +28 -0
  5. package/node_modules/@gsd/native/dist/clipboard/index.js +33 -0
  6. package/node_modules/@gsd/native/dist/clipboard/types.d.ts +7 -0
  7. package/node_modules/@gsd/native/dist/fd/index.d.ts +25 -0
  8. package/node_modules/@gsd/native/dist/fd/index.js +26 -0
  9. package/node_modules/@gsd/native/dist/fd/types.d.ts +29 -0
  10. package/node_modules/@gsd/native/dist/glob/index.d.ts +28 -0
  11. package/node_modules/@gsd/native/dist/glob/index.js +31 -0
  12. package/node_modules/@gsd/native/dist/glob/types.d.ts +50 -0
  13. package/node_modules/@gsd/native/dist/glob/types.js +1 -0
  14. package/node_modules/@gsd/native/dist/grep/index.d.ts +20 -0
  15. package/node_modules/@gsd/native/dist/grep/index.js +23 -0
  16. package/node_modules/@gsd/native/dist/grep/types.d.ts +99 -0
  17. package/node_modules/@gsd/native/dist/grep/types.js +1 -0
  18. package/node_modules/@gsd/native/dist/gsd-parser/index.d.ts +45 -0
  19. package/node_modules/@gsd/native/dist/gsd-parser/index.js +54 -0
  20. package/node_modules/@gsd/native/dist/gsd-parser/types.d.ts +55 -0
  21. package/node_modules/@gsd/native/dist/gsd-parser/types.js +7 -0
  22. package/node_modules/@gsd/native/dist/highlight/index.d.ts +28 -0
  23. package/node_modules/@gsd/native/dist/highlight/index.js +33 -0
  24. package/node_modules/@gsd/native/dist/highlight/types.d.ts +25 -0
  25. package/node_modules/@gsd/native/dist/highlight/types.js +1 -0
  26. package/node_modules/@gsd/native/dist/html/index.d.ts +15 -0
  27. package/node_modules/@gsd/native/dist/html/index.js +16 -0
  28. package/node_modules/@gsd/native/dist/html/types.d.ts +7 -0
  29. package/node_modules/@gsd/native/dist/html/types.js +1 -0
  30. package/node_modules/@gsd/native/dist/image/index.d.ts +15 -0
  31. package/node_modules/@gsd/native/dist/image/index.js +18 -0
  32. package/node_modules/@gsd/native/dist/image/types.d.ts +35 -0
  33. package/node_modules/@gsd/native/dist/image/types.js +26 -0
  34. package/node_modules/@gsd/native/dist/index.d.ts +34 -0
  35. package/node_modules/@gsd/native/dist/index.js +25 -0
  36. package/node_modules/@gsd/native/dist/native.d.ts +33 -0
  37. package/node_modules/@gsd/native/dist/native.js +34 -0
  38. package/node_modules/@gsd/native/dist/ps/index.d.ts +38 -0
  39. package/node_modules/@gsd/native/dist/ps/index.js +47 -0
  40. package/node_modules/@gsd/native/dist/ps/types.d.ts +5 -0
  41. package/node_modules/@gsd/native/dist/ps/types.js +1 -0
  42. package/node_modules/@gsd/native/dist/text/index.d.ts +55 -0
  43. package/node_modules/@gsd/native/dist/text/index.js +66 -0
  44. package/node_modules/@gsd/native/dist/text/types.d.ts +27 -0
  45. package/node_modules/@gsd/native/dist/text/types.js +10 -0
  46. package/node_modules/@gsd/native/package.json +60 -0
  47. package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/defaults.json +456 -0
  48. package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lsp.md +33 -0
  49. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.d.ts +1 -1
  50. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  51. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.js +12 -77
  52. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  53. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.d.ts +60 -0
  54. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.d.ts.map +1 -0
  55. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.js +247 -0
  56. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.js.map +1 -0
  57. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.d.ts +43 -0
  58. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.d.ts.map +1 -0
  59. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.js +146 -0
  60. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.js.map +1 -0
  61. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.d.ts +114 -0
  62. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.d.ts.map +1 -0
  63. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.js +522 -0
  64. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.js.map +1 -0
  65. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.d.ts +2 -0
  66. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.d.ts.map +1 -0
  67. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.js +376 -0
  68. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.js.map +1 -0
  69. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.d.ts +25 -0
  70. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
  71. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.js +23 -0
  72. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.js.map +1 -1
  73. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  74. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +6 -3
  75. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  76. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +0 -1
  77. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  78. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.js +8 -9
  79. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  80. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  81. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/theme/theme.js +25 -40
  82. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  83. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-image.d.ts.map +1 -1
  84. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-image.js +17 -21
  85. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-image.js.map +1 -1
  86. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.d.ts +7 -6
  87. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.d.ts.map +1 -1
  88. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.js +7 -13
  89. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.js.map +1 -1
  90. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard.d.ts.map +1 -1
  91. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard.js +3 -56
  92. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard.js.map +1 -1
  93. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-convert.d.ts.map +1 -1
  94. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-convert.js +7 -17
  95. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-convert.js.map +1 -1
  96. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.d.ts +1 -2
  97. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
  98. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.js +21 -29
  99. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
  100. package/node_modules/@gsd/pi-coding-agent/package.json +2 -5
  101. package/node_modules/@gsd/pi-coding-agent/src/core/tools/find.ts +13 -88
  102. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline-edit.ts +318 -0
  103. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline-read.ts +196 -0
  104. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline.test.ts +456 -0
  105. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline.ts +594 -0
  106. package/node_modules/@gsd/pi-coding-agent/src/core/tools/index.ts +53 -0
  107. package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +5 -3
  108. package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/interactive-mode.ts +7 -10
  109. package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/theme/theme.ts +26 -42
  110. package/node_modules/@gsd/pi-coding-agent/src/utils/clipboard-image.ts +17 -24
  111. package/node_modules/@gsd/pi-coding-agent/src/utils/clipboard-native.ts +11 -21
  112. package/node_modules/@gsd/pi-coding-agent/src/utils/clipboard.ts +3 -51
  113. package/node_modules/@gsd/pi-coding-agent/src/utils/image-convert.ts +7 -17
  114. package/node_modules/@gsd/pi-coding-agent/src/utils/image-resize.ts +28 -34
  115. package/node_modules/@gsd/pi-tui/dist/autocomplete.d.ts +1 -3
  116. package/node_modules/@gsd/pi-tui/dist/autocomplete.d.ts.map +1 -1
  117. package/node_modules/@gsd/pi-tui/dist/autocomplete.js +16 -95
  118. package/node_modules/@gsd/pi-tui/dist/autocomplete.js.map +1 -1
  119. package/node_modules/@gsd/pi-tui/dist/components/image.d.ts +7 -0
  120. package/node_modules/@gsd/pi-tui/dist/components/image.d.ts.map +1 -1
  121. package/node_modules/@gsd/pi-tui/dist/components/image.js +20 -1
  122. package/node_modules/@gsd/pi-tui/dist/components/image.js.map +1 -1
  123. package/node_modules/@gsd/pi-tui/dist/index.d.ts +1 -1
  124. package/node_modules/@gsd/pi-tui/dist/index.d.ts.map +1 -1
  125. package/node_modules/@gsd/pi-tui/dist/index.js +1 -1
  126. package/node_modules/@gsd/pi-tui/dist/index.js.map +1 -1
  127. package/node_modules/@gsd/pi-tui/dist/terminal-image.d.ts +5 -5
  128. package/node_modules/@gsd/pi-tui/dist/terminal-image.d.ts.map +1 -1
  129. package/node_modules/@gsd/pi-tui/dist/terminal-image.js +9 -120
  130. package/node_modules/@gsd/pi-tui/dist/terminal-image.js.map +1 -1
  131. package/node_modules/@gsd/pi-tui/dist/utils.d.ts +23 -26
  132. package/node_modules/@gsd/pi-tui/dist/utils.d.ts.map +1 -1
  133. package/node_modules/@gsd/pi-tui/dist/utils.js +47 -716
  134. package/node_modules/@gsd/pi-tui/dist/utils.js.map +1 -1
  135. package/node_modules/@gsd/pi-tui/package.json +1 -0
  136. package/node_modules/@gsd/pi-tui/src/autocomplete.ts +17 -112
  137. package/node_modules/@gsd/pi-tui/src/components/image.ts +23 -1
  138. package/node_modules/@gsd/pi-tui/src/index.ts +0 -4
  139. package/node_modules/@gsd/pi-tui/src/terminal-image.ts +9 -135
  140. package/node_modules/@gsd/pi-tui/src/utils.ts +51 -775
  141. package/package.json +7 -2
  142. package/packages/native/dist/ast/index.d.ts +4 -0
  143. package/packages/native/dist/ast/index.js +7 -0
  144. package/packages/native/dist/ast/types.d.ts +69 -0
  145. package/packages/native/dist/ast/types.js +1 -0
  146. package/packages/native/dist/clipboard/index.d.ts +28 -0
  147. package/packages/native/dist/clipboard/index.js +33 -0
  148. package/packages/native/dist/clipboard/types.d.ts +7 -0
  149. package/packages/native/dist/clipboard/types.js +1 -0
  150. package/packages/native/dist/fd/index.d.ts +25 -0
  151. package/packages/native/dist/fd/index.js +26 -0
  152. package/packages/native/dist/fd/types.d.ts +29 -0
  153. package/packages/native/dist/fd/types.js +1 -0
  154. package/packages/native/dist/glob/index.d.ts +28 -0
  155. package/packages/native/dist/glob/index.js +31 -0
  156. package/packages/native/dist/glob/types.d.ts +50 -0
  157. package/packages/native/dist/glob/types.js +1 -0
  158. package/packages/native/dist/grep/index.d.ts +20 -0
  159. package/packages/native/dist/grep/index.js +23 -0
  160. package/packages/native/dist/grep/types.d.ts +99 -0
  161. package/packages/native/dist/grep/types.js +1 -0
  162. package/packages/native/dist/gsd-parser/index.d.ts +45 -0
  163. package/packages/native/dist/gsd-parser/index.js +54 -0
  164. package/packages/native/dist/gsd-parser/types.d.ts +55 -0
  165. package/packages/native/dist/gsd-parser/types.js +7 -0
  166. package/packages/native/dist/highlight/index.d.ts +28 -0
  167. package/packages/native/dist/highlight/index.js +33 -0
  168. package/packages/native/dist/highlight/types.d.ts +25 -0
  169. package/packages/native/dist/highlight/types.js +1 -0
  170. package/packages/native/dist/html/index.d.ts +15 -0
  171. package/packages/native/dist/html/index.js +16 -0
  172. package/packages/native/dist/html/types.d.ts +7 -0
  173. package/packages/native/dist/html/types.js +1 -0
  174. package/packages/native/dist/image/index.d.ts +15 -0
  175. package/packages/native/dist/image/index.js +18 -0
  176. package/packages/native/dist/image/types.d.ts +35 -0
  177. package/packages/native/dist/image/types.js +26 -0
  178. package/packages/native/dist/index.d.ts +34 -0
  179. package/packages/native/dist/index.js +25 -0
  180. package/packages/native/dist/native.d.ts +33 -0
  181. package/packages/native/dist/native.js +34 -0
  182. package/packages/native/dist/ps/index.d.ts +38 -0
  183. package/packages/native/dist/ps/index.js +47 -0
  184. package/packages/native/dist/ps/types.d.ts +5 -0
  185. package/packages/native/dist/ps/types.js +1 -0
  186. package/packages/native/dist/text/index.d.ts +55 -0
  187. package/packages/native/dist/text/index.js +66 -0
  188. package/packages/native/dist/text/types.d.ts +27 -0
  189. package/packages/native/dist/text/types.js +10 -0
  190. package/packages/native/package.json +60 -0
  191. package/packages/native/src/__tests__/clipboard.test.mjs +79 -0
  192. package/packages/native/src/__tests__/fd.test.mjs +164 -0
  193. package/packages/native/src/__tests__/glob.test.mjs +237 -0
  194. package/packages/native/src/__tests__/grep.test.mjs +162 -0
  195. package/packages/native/src/__tests__/highlight.test.mjs +156 -0
  196. package/packages/native/src/__tests__/html.test.mjs +98 -0
  197. package/packages/native/src/__tests__/image.test.mjs +137 -0
  198. package/packages/native/src/__tests__/ps.test.mjs +109 -0
  199. package/packages/native/src/__tests__/text.test.mjs +262 -0
  200. package/packages/native/src/ast/index.ts +12 -0
  201. package/packages/native/src/ast/types.ts +75 -0
  202. package/packages/native/src/clipboard/index.ts +40 -0
  203. package/packages/native/src/clipboard/types.ts +7 -0
  204. package/packages/native/src/fd/index.ts +35 -0
  205. package/packages/native/src/fd/types.ts +31 -0
  206. package/packages/native/src/glob/index.ts +44 -0
  207. package/packages/native/src/glob/types.ts +53 -0
  208. package/packages/native/src/grep/index.ts +48 -0
  209. package/packages/native/src/grep/types.ts +105 -0
  210. package/packages/native/src/highlight/index.ts +44 -0
  211. package/packages/native/src/highlight/types.ts +25 -0
  212. package/packages/native/src/html/index.ts +24 -0
  213. package/packages/native/src/html/types.ts +7 -0
  214. package/packages/native/src/image/index.ts +28 -0
  215. package/packages/native/src/image/types.ts +41 -0
  216. package/packages/native/src/index.ts +85 -0
  217. package/packages/native/src/native.ts +91 -0
  218. package/packages/native/src/ps/index.ts +52 -0
  219. package/packages/native/src/ps/types.ts +5 -0
  220. package/packages/native/src/text/index.ts +125 -0
  221. package/packages/native/src/text/types.ts +29 -0
  222. package/packages/native/tsconfig.json +8 -0
  223. package/packages/pi-coding-agent/dist/core/lsp/defaults.json +456 -0
  224. package/packages/pi-coding-agent/dist/core/lsp/lsp.md +33 -0
  225. package/packages/pi-coding-agent/dist/core/tools/find.d.ts +1 -1
  226. package/packages/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  227. package/packages/pi-coding-agent/dist/core/tools/find.js +12 -77
  228. package/packages/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  229. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.d.ts +60 -0
  230. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.d.ts.map +1 -0
  231. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.js +247 -0
  232. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.js.map +1 -0
  233. package/packages/pi-coding-agent/dist/core/tools/hashline-read.d.ts +43 -0
  234. package/packages/pi-coding-agent/dist/core/tools/hashline-read.d.ts.map +1 -0
  235. package/packages/pi-coding-agent/dist/core/tools/hashline-read.js +146 -0
  236. package/packages/pi-coding-agent/dist/core/tools/hashline-read.js.map +1 -0
  237. package/packages/pi-coding-agent/dist/core/tools/hashline.d.ts +114 -0
  238. package/packages/pi-coding-agent/dist/core/tools/hashline.d.ts.map +1 -0
  239. package/packages/pi-coding-agent/dist/core/tools/hashline.js +522 -0
  240. package/packages/pi-coding-agent/dist/core/tools/hashline.js.map +1 -0
  241. package/packages/pi-coding-agent/dist/core/tools/hashline.test.d.ts +2 -0
  242. package/packages/pi-coding-agent/dist/core/tools/hashline.test.d.ts.map +1 -0
  243. package/packages/pi-coding-agent/dist/core/tools/hashline.test.js +376 -0
  244. package/packages/pi-coding-agent/dist/core/tools/hashline.test.js.map +1 -0
  245. package/packages/pi-coding-agent/dist/core/tools/index.d.ts +25 -0
  246. package/packages/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
  247. package/packages/pi-coding-agent/dist/core/tools/index.js +23 -0
  248. package/packages/pi-coding-agent/dist/core/tools/index.js.map +1 -1
  249. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  250. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +6 -3
  251. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  252. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +0 -1
  253. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  254. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +8 -9
  255. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  256. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  257. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js +25 -40
  258. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  259. package/packages/pi-coding-agent/dist/utils/clipboard-image.d.ts.map +1 -1
  260. package/packages/pi-coding-agent/dist/utils/clipboard-image.js +17 -21
  261. package/packages/pi-coding-agent/dist/utils/clipboard-image.js.map +1 -1
  262. package/packages/pi-coding-agent/dist/utils/clipboard-native.d.ts +7 -6
  263. package/packages/pi-coding-agent/dist/utils/clipboard-native.d.ts.map +1 -1
  264. package/packages/pi-coding-agent/dist/utils/clipboard-native.js +7 -13
  265. package/packages/pi-coding-agent/dist/utils/clipboard-native.js.map +1 -1
  266. package/packages/pi-coding-agent/dist/utils/clipboard.d.ts.map +1 -1
  267. package/packages/pi-coding-agent/dist/utils/clipboard.js +3 -56
  268. package/packages/pi-coding-agent/dist/utils/clipboard.js.map +1 -1
  269. package/packages/pi-coding-agent/dist/utils/image-convert.d.ts.map +1 -1
  270. package/packages/pi-coding-agent/dist/utils/image-convert.js +7 -17
  271. package/packages/pi-coding-agent/dist/utils/image-convert.js.map +1 -1
  272. package/packages/pi-coding-agent/dist/utils/image-resize.d.ts +1 -2
  273. package/packages/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
  274. package/packages/pi-coding-agent/dist/utils/image-resize.js +21 -29
  275. package/packages/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
  276. package/packages/pi-coding-agent/package.json +2 -5
  277. package/packages/pi-coding-agent/src/core/tools/find.ts +13 -88
  278. package/packages/pi-coding-agent/src/core/tools/hashline-edit.ts +318 -0
  279. package/packages/pi-coding-agent/src/core/tools/hashline-read.ts +196 -0
  280. package/packages/pi-coding-agent/src/core/tools/hashline.test.ts +456 -0
  281. package/packages/pi-coding-agent/src/core/tools/hashline.ts +594 -0
  282. package/packages/pi-coding-agent/src/core/tools/index.ts +53 -0
  283. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +5 -3
  284. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +7 -10
  285. package/packages/pi-coding-agent/src/modes/interactive/theme/theme.ts +26 -42
  286. package/packages/pi-coding-agent/src/utils/clipboard-image.ts +17 -24
  287. package/packages/pi-coding-agent/src/utils/clipboard-native.ts +11 -21
  288. package/packages/pi-coding-agent/src/utils/clipboard.ts +3 -51
  289. package/packages/pi-coding-agent/src/utils/image-convert.ts +7 -17
  290. package/packages/pi-coding-agent/src/utils/image-resize.ts +28 -34
  291. package/packages/pi-tui/dist/autocomplete.d.ts +1 -3
  292. package/packages/pi-tui/dist/autocomplete.d.ts.map +1 -1
  293. package/packages/pi-tui/dist/autocomplete.js +16 -95
  294. package/packages/pi-tui/dist/autocomplete.js.map +1 -1
  295. package/packages/pi-tui/dist/components/image.d.ts +7 -0
  296. package/packages/pi-tui/dist/components/image.d.ts.map +1 -1
  297. package/packages/pi-tui/dist/components/image.js +20 -1
  298. package/packages/pi-tui/dist/components/image.js.map +1 -1
  299. package/packages/pi-tui/dist/index.d.ts +1 -1
  300. package/packages/pi-tui/dist/index.d.ts.map +1 -1
  301. package/packages/pi-tui/dist/index.js +1 -1
  302. package/packages/pi-tui/dist/index.js.map +1 -1
  303. package/packages/pi-tui/dist/terminal-image.d.ts +5 -5
  304. package/packages/pi-tui/dist/terminal-image.d.ts.map +1 -1
  305. package/packages/pi-tui/dist/terminal-image.js +9 -120
  306. package/packages/pi-tui/dist/terminal-image.js.map +1 -1
  307. package/packages/pi-tui/dist/utils.d.ts +23 -26
  308. package/packages/pi-tui/dist/utils.d.ts.map +1 -1
  309. package/packages/pi-tui/dist/utils.js +47 -716
  310. package/packages/pi-tui/dist/utils.js.map +1 -1
  311. package/packages/pi-tui/package.json +1 -0
  312. package/packages/pi-tui/src/autocomplete.ts +17 -112
  313. package/packages/pi-tui/src/components/image.ts +23 -1
  314. package/packages/pi-tui/src/index.ts +0 -4
  315. package/packages/pi-tui/src/terminal-image.ts +9 -135
  316. package/packages/pi-tui/src/utils.ts +51 -775
  317. package/pkg/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  318. package/pkg/dist/modes/interactive/theme/theme.js +25 -40
  319. package/pkg/dist/modes/interactive/theme/theme.js.map +1 -1
  320. package/src/resources/extensions/bg-shell/index.ts +343 -14
  321. package/src/resources/extensions/gsd/git-service.ts +13 -1
  322. package/src/resources/extensions/universal-config/discovery.ts +78 -0
  323. package/src/resources/extensions/universal-config/format.ts +160 -0
  324. package/src/resources/extensions/universal-config/index.ts +118 -0
  325. package/src/resources/extensions/universal-config/package.json +11 -0
  326. package/src/resources/extensions/universal-config/scanners.ts +579 -0
  327. package/src/resources/extensions/universal-config/tests/discovery.test.ts +111 -0
  328. package/src/resources/extensions/universal-config/tests/format.test.ts +111 -0
  329. package/src/resources/extensions/universal-config/tests/scanners.test.ts +438 -0
  330. package/src/resources/extensions/universal-config/tools.ts +60 -0
  331. package/src/resources/extensions/universal-config/types.ts +116 -0
  332. package/node_modules/@mariozechner/clipboard/.yarnrc.yml +0 -1
  333. package/node_modules/@mariozechner/clipboard/Cargo.toml +0 -26
  334. package/node_modules/@mariozechner/clipboard/README.md +0 -58
  335. package/node_modules/@mariozechner/clipboard/build.rs +0 -5
  336. package/node_modules/@mariozechner/clipboard/exp.ts +0 -12
  337. package/node_modules/@mariozechner/clipboard/index.d.ts +0 -23
  338. package/node_modules/@mariozechner/clipboard/index.js +0 -317
  339. package/node_modules/@mariozechner/clipboard/package.json +0 -56
  340. package/node_modules/@mariozechner/clipboard/src/lib.rs +0 -191
  341. package/node_modules/@mariozechner/clipboard-darwin-arm64/README.md +0 -3
  342. package/node_modules/@mariozechner/clipboard-darwin-arm64/clipboard.darwin-arm64.node +0 -0
  343. package/node_modules/@mariozechner/clipboard-darwin-arm64/package.json +0 -22
  344. package/node_modules/@mariozechner/clipboard-darwin-universal/README.md +0 -3
  345. package/node_modules/@mariozechner/clipboard-darwin-universal/clipboard.darwin-universal.node +0 -0
  346. package/node_modules/@mariozechner/clipboard-darwin-universal/package.json +0 -19
  347. package/node_modules/ansi-styles/index.d.ts +0 -345
  348. package/node_modules/ansi-styles/index.js +0 -163
  349. package/node_modules/ansi-styles/license +0 -9
  350. package/node_modules/ansi-styles/package.json +0 -56
  351. package/node_modules/ansi-styles/readme.md +0 -152
  352. package/node_modules/any-promise/.jshintrc +0 -4
  353. package/node_modules/any-promise/.npmignore +0 -7
  354. package/node_modules/any-promise/LICENSE +0 -19
  355. package/node_modules/any-promise/README.md +0 -161
  356. package/node_modules/any-promise/implementation.d.ts +0 -3
  357. package/node_modules/any-promise/implementation.js +0 -1
  358. package/node_modules/any-promise/index.d.ts +0 -73
  359. package/node_modules/any-promise/index.js +0 -1
  360. package/node_modules/any-promise/loader.js +0 -78
  361. package/node_modules/any-promise/optional.js +0 -6
  362. package/node_modules/any-promise/package.json +0 -45
  363. package/node_modules/any-promise/register/bluebird.d.ts +0 -1
  364. package/node_modules/any-promise/register/bluebird.js +0 -2
  365. package/node_modules/any-promise/register/es6-promise.d.ts +0 -1
  366. package/node_modules/any-promise/register/es6-promise.js +0 -2
  367. package/node_modules/any-promise/register/lie.d.ts +0 -1
  368. package/node_modules/any-promise/register/lie.js +0 -2
  369. package/node_modules/any-promise/register/native-promise-only.d.ts +0 -1
  370. package/node_modules/any-promise/register/native-promise-only.js +0 -2
  371. package/node_modules/any-promise/register/pinkie.d.ts +0 -1
  372. package/node_modules/any-promise/register/pinkie.js +0 -2
  373. package/node_modules/any-promise/register/promise.d.ts +0 -1
  374. package/node_modules/any-promise/register/promise.js +0 -2
  375. package/node_modules/any-promise/register/q.d.ts +0 -1
  376. package/node_modules/any-promise/register/q.js +0 -2
  377. package/node_modules/any-promise/register/rsvp.d.ts +0 -1
  378. package/node_modules/any-promise/register/rsvp.js +0 -2
  379. package/node_modules/any-promise/register/vow.d.ts +0 -1
  380. package/node_modules/any-promise/register/vow.js +0 -2
  381. package/node_modules/any-promise/register/when.d.ts +0 -1
  382. package/node_modules/any-promise/register/when.js +0 -2
  383. package/node_modules/any-promise/register-shim.js +0 -18
  384. package/node_modules/any-promise/register.d.ts +0 -17
  385. package/node_modules/any-promise/register.js +0 -94
  386. package/node_modules/cli-highlight/LICENSE.txt +0 -15
  387. package/node_modules/cli-highlight/README.md +0 -88
  388. package/node_modules/cli-highlight/bin/highlight +0 -2
  389. package/node_modules/cli-highlight/dist/cli.js +0 -102
  390. package/node_modules/cli-highlight/dist/cli.js.map +0 -1
  391. package/node_modules/cli-highlight/dist/index.d.ts +0 -53
  392. package/node_modules/cli-highlight/dist/index.js +0 -112
  393. package/node_modules/cli-highlight/dist/index.js.map +0 -1
  394. package/node_modules/cli-highlight/dist/test/test.js +0 -62
  395. package/node_modules/cli-highlight/dist/test/test.js.map +0 -1
  396. package/node_modules/cli-highlight/dist/theme.d.ts +0 -270
  397. package/node_modules/cli-highlight/dist/theme.js +0 -265
  398. package/node_modules/cli-highlight/dist/theme.js.map +0 -1
  399. package/node_modules/cli-highlight/node_modules/chalk/index.d.ts +0 -415
  400. package/node_modules/cli-highlight/node_modules/chalk/license +0 -9
  401. package/node_modules/cli-highlight/node_modules/chalk/package.json +0 -68
  402. package/node_modules/cli-highlight/node_modules/chalk/readme.md +0 -341
  403. package/node_modules/cli-highlight/node_modules/chalk/source/index.js +0 -229
  404. package/node_modules/cli-highlight/node_modules/chalk/source/templates.js +0 -134
  405. package/node_modules/cli-highlight/node_modules/chalk/source/util.js +0 -39
  406. package/node_modules/cli-highlight/package.json +0 -129
  407. package/node_modules/cliui/CHANGELOG.md +0 -121
  408. package/node_modules/cliui/LICENSE.txt +0 -14
  409. package/node_modules/cliui/README.md +0 -141
  410. package/node_modules/cliui/build/index.cjs +0 -302
  411. package/node_modules/cliui/build/lib/index.js +0 -287
  412. package/node_modules/cliui/build/lib/string-utils.js +0 -27
  413. package/node_modules/cliui/index.mjs +0 -13
  414. package/node_modules/cliui/node_modules/ansi-regex/index.d.ts +0 -37
  415. package/node_modules/cliui/node_modules/ansi-regex/index.js +0 -10
  416. package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
  417. package/node_modules/cliui/node_modules/ansi-regex/package.json +0 -55
  418. package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
  419. package/node_modules/cliui/node_modules/strip-ansi/index.d.ts +0 -17
  420. package/node_modules/cliui/node_modules/strip-ansi/index.js +0 -4
  421. package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
  422. package/node_modules/cliui/node_modules/strip-ansi/package.json +0 -54
  423. package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
  424. package/node_modules/cliui/package.json +0 -83
  425. package/node_modules/color-convert/CHANGELOG.md +0 -54
  426. package/node_modules/color-convert/LICENSE +0 -21
  427. package/node_modules/color-convert/README.md +0 -68
  428. package/node_modules/color-convert/conversions.js +0 -839
  429. package/node_modules/color-convert/index.js +0 -81
  430. package/node_modules/color-convert/package.json +0 -48
  431. package/node_modules/color-convert/route.js +0 -97
  432. package/node_modules/color-name/LICENSE +0 -8
  433. package/node_modules/color-name/README.md +0 -11
  434. package/node_modules/color-name/index.js +0 -152
  435. package/node_modules/color-name/package.json +0 -28
  436. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  437. package/node_modules/emoji-regex/README.md +0 -73
  438. package/node_modules/emoji-regex/es2015/index.js +0 -6
  439. package/node_modules/emoji-regex/es2015/text.js +0 -6
  440. package/node_modules/emoji-regex/index.d.ts +0 -23
  441. package/node_modules/emoji-regex/index.js +0 -6
  442. package/node_modules/emoji-regex/package.json +0 -50
  443. package/node_modules/emoji-regex/text.js +0 -6
  444. package/node_modules/escalade/dist/index.js +0 -22
  445. package/node_modules/escalade/dist/index.mjs +0 -22
  446. package/node_modules/escalade/index.d.mts +0 -11
  447. package/node_modules/escalade/index.d.ts +0 -15
  448. package/node_modules/escalade/license +0 -9
  449. package/node_modules/escalade/package.json +0 -74
  450. package/node_modules/escalade/readme.md +0 -211
  451. package/node_modules/escalade/sync/index.d.mts +0 -9
  452. package/node_modules/escalade/sync/index.d.ts +0 -13
  453. package/node_modules/escalade/sync/index.js +0 -18
  454. package/node_modules/escalade/sync/index.mjs +0 -18
  455. package/node_modules/esprima/ChangeLog +0 -235
  456. package/node_modules/get-caller-file/LICENSE.md +0 -6
  457. package/node_modules/get-caller-file/README.md +0 -41
  458. package/node_modules/get-caller-file/index.d.ts +0 -2
  459. package/node_modules/get-caller-file/index.js +0 -22
  460. package/node_modules/get-caller-file/index.js.map +0 -1
  461. package/node_modules/get-caller-file/package.json +0 -42
  462. package/node_modules/has-flag/index.d.ts +0 -39
  463. package/node_modules/has-flag/index.js +0 -8
  464. package/node_modules/has-flag/license +0 -9
  465. package/node_modules/has-flag/package.json +0 -46
  466. package/node_modules/has-flag/readme.md +0 -89
  467. package/node_modules/highlight.js/LICENSE +0 -29
  468. package/node_modules/highlight.js/README.md +0 -371
  469. package/node_modules/highlight.js/lib/core.js +0 -2517
  470. package/node_modules/highlight.js/lib/highlight.js +0 -2
  471. package/node_modules/highlight.js/lib/index.js +0 -195
  472. package/node_modules/highlight.js/lib/languages/1c.js +0 -521
  473. package/node_modules/highlight.js/lib/languages/abnf.js +0 -103
  474. package/node_modules/highlight.js/lib/languages/accesslog.js +0 -127
  475. package/node_modules/highlight.js/lib/languages/actionscript.js +0 -113
  476. package/node_modules/highlight.js/lib/languages/ada.js +0 -194
  477. package/node_modules/highlight.js/lib/languages/angelscript.js +0 -123
  478. package/node_modules/highlight.js/lib/languages/apache.js +0 -89
  479. package/node_modules/highlight.js/lib/languages/applescript.js +0 -189
  480. package/node_modules/highlight.js/lib/languages/arcade.js +0 -165
  481. package/node_modules/highlight.js/lib/languages/arduino.js +0 -576
  482. package/node_modules/highlight.js/lib/languages/armasm.js +0 -131
  483. package/node_modules/highlight.js/lib/languages/asciidoc.js +0 -303
  484. package/node_modules/highlight.js/lib/languages/aspectj.js +0 -186
  485. package/node_modules/highlight.js/lib/languages/autohotkey.js +0 -84
  486. package/node_modules/highlight.js/lib/languages/autoit.js +0 -183
  487. package/node_modules/highlight.js/lib/languages/avrasm.js +0 -80
  488. package/node_modules/highlight.js/lib/languages/awk.js +0 -73
  489. package/node_modules/highlight.js/lib/languages/axapta.js +0 -179
  490. package/node_modules/highlight.js/lib/languages/bash.js +0 -169
  491. package/node_modules/highlight.js/lib/languages/basic.js +0 -65
  492. package/node_modules/highlight.js/lib/languages/bnf.js +0 -38
  493. package/node_modules/highlight.js/lib/languages/brainfuck.js +0 -46
  494. package/node_modules/highlight.js/lib/languages/c-like.js +0 -501
  495. package/node_modules/highlight.js/lib/languages/c.js +0 -309
  496. package/node_modules/highlight.js/lib/languages/cal.js +0 -104
  497. package/node_modules/highlight.js/lib/languages/capnproto.js +0 -64
  498. package/node_modules/highlight.js/lib/languages/ceylon.js +0 -82
  499. package/node_modules/highlight.js/lib/languages/clean.js +0 -40
  500. package/node_modules/highlight.js/lib/languages/clojure-repl.js +0 -27
  501. package/node_modules/highlight.js/lib/languages/clojure.js +0 -158
  502. package/node_modules/highlight.js/lib/languages/cmake.js +0 -64
  503. package/node_modules/highlight.js/lib/languages/coffeescript.js +0 -356
  504. package/node_modules/highlight.js/lib/languages/coq.js +0 -79
  505. package/node_modules/highlight.js/lib/languages/cos.js +0 -138
  506. package/node_modules/highlight.js/lib/languages/cpp.js +0 -464
  507. package/node_modules/highlight.js/lib/languages/crmsh.js +0 -102
  508. package/node_modules/highlight.js/lib/languages/crystal.js +0 -326
  509. package/node_modules/highlight.js/lib/languages/csharp.js +0 -441
  510. package/node_modules/highlight.js/lib/languages/csp.js +0 -37
  511. package/node_modules/highlight.js/lib/languages/css.js +0 -608
  512. package/node_modules/highlight.js/lib/languages/d.js +0 -271
  513. package/node_modules/highlight.js/lib/languages/dart.js +0 -199
  514. package/node_modules/highlight.js/lib/languages/delphi.js +0 -126
  515. package/node_modules/highlight.js/lib/languages/diff.js +0 -85
  516. package/node_modules/highlight.js/lib/languages/django.js +0 -77
  517. package/node_modules/highlight.js/lib/languages/dns.js +0 -46
  518. package/node_modules/highlight.js/lib/languages/dockerfile.js +0 -34
  519. package/node_modules/highlight.js/lib/languages/dos.js +0 -70
  520. package/node_modules/highlight.js/lib/languages/dsconfig.js +0 -66
  521. package/node_modules/highlight.js/lib/languages/dts.js +0 -153
  522. package/node_modules/highlight.js/lib/languages/dust.js +0 -45
  523. package/node_modules/highlight.js/lib/languages/ebnf.js +0 -53
  524. package/node_modules/highlight.js/lib/languages/elixir.js +0 -259
  525. package/node_modules/highlight.js/lib/languages/elm.js +0 -129
  526. package/node_modules/highlight.js/lib/languages/erb.js +0 -29
  527. package/node_modules/highlight.js/lib/languages/erlang-repl.js +0 -86
  528. package/node_modules/highlight.js/lib/languages/erlang.js +0 -199
  529. package/node_modules/highlight.js/lib/languages/excel.js +0 -64
  530. package/node_modules/highlight.js/lib/languages/fix.js +0 -37
  531. package/node_modules/highlight.js/lib/languages/flix.js +0 -54
  532. package/node_modules/highlight.js/lib/languages/fortran.js +0 -159
  533. package/node_modules/highlight.js/lib/languages/fsharp.js +0 -86
  534. package/node_modules/highlight.js/lib/languages/gams.js +0 -208
  535. package/node_modules/highlight.js/lib/languages/gauss.js +0 -316
  536. package/node_modules/highlight.js/lib/languages/gcode.js +0 -88
  537. package/node_modules/highlight.js/lib/languages/gherkin.js +0 -49
  538. package/node_modules/highlight.js/lib/languages/glsl.js +0 -128
  539. package/node_modules/highlight.js/lib/languages/gml.js +0 -885
  540. package/node_modules/highlight.js/lib/languages/go.js +0 -74
  541. package/node_modules/highlight.js/lib/languages/golo.js +0 -33
  542. package/node_modules/highlight.js/lib/languages/gradle.js +0 -44
  543. package/node_modules/highlight.js/lib/languages/groovy.js +0 -174
  544. package/node_modules/highlight.js/lib/languages/haml.js +0 -117
  545. package/node_modules/highlight.js/lib/languages/handlebars.js +0 -324
  546. package/node_modules/highlight.js/lib/languages/haskell.js +0 -173
  547. package/node_modules/highlight.js/lib/languages/haxe.js +0 -157
  548. package/node_modules/highlight.js/lib/languages/hsp.js +0 -65
  549. package/node_modules/highlight.js/lib/languages/htmlbars.js +0 -352
  550. package/node_modules/highlight.js/lib/languages/http.js +0 -121
  551. package/node_modules/highlight.js/lib/languages/hy.js +0 -109
  552. package/node_modules/highlight.js/lib/languages/inform7.js +0 -70
  553. package/node_modules/highlight.js/lib/languages/ini.js +0 -173
  554. package/node_modules/highlight.js/lib/languages/irpf90.js +0 -141
  555. package/node_modules/highlight.js/lib/languages/isbl.js +0 -3207
  556. package/node_modules/highlight.js/lib/languages/java.js +0 -181
  557. package/node_modules/highlight.js/lib/languages/javascript.js +0 -604
  558. package/node_modules/highlight.js/lib/languages/jboss-cli.js +0 -63
  559. package/node_modules/highlight.js/lib/languages/json.js +0 -63
  560. package/node_modules/highlight.js/lib/languages/julia-repl.js +0 -50
  561. package/node_modules/highlight.js/lib/languages/julia.js +0 -416
  562. package/node_modules/highlight.js/lib/languages/kotlin.js +0 -284
  563. package/node_modules/highlight.js/lib/languages/lasso.js +0 -187
  564. package/node_modules/highlight.js/lib/languages/latex.js +0 -276
  565. package/node_modules/highlight.js/lib/languages/ldif.js +0 -42
  566. package/node_modules/highlight.js/lib/languages/leaf.js +0 -49
  567. package/node_modules/highlight.js/lib/languages/less.js +0 -666
  568. package/node_modules/highlight.js/lib/languages/lisp.js +0 -111
  569. package/node_modules/highlight.js/lib/languages/livecodeserver.js +0 -189
  570. package/node_modules/highlight.js/lib/languages/livescript.js +0 -374
  571. package/node_modules/highlight.js/lib/languages/llvm.js +0 -154
  572. package/node_modules/highlight.js/lib/languages/lsl.js +0 -95
  573. package/node_modules/highlight.js/lib/languages/lua.js +0 -82
  574. package/node_modules/highlight.js/lib/languages/makefile.js +0 -92
  575. package/node_modules/highlight.js/lib/languages/markdown.js +0 -258
  576. package/node_modules/highlight.js/lib/languages/mathematica.js +0 -6797
  577. package/node_modules/highlight.js/lib/languages/matlab.js +0 -106
  578. package/node_modules/highlight.js/lib/languages/maxima.js +0 -417
  579. package/node_modules/highlight.js/lib/languages/mel.js +0 -236
  580. package/node_modules/highlight.js/lib/languages/mercury.js +0 -121
  581. package/node_modules/highlight.js/lib/languages/mipsasm.js +0 -109
  582. package/node_modules/highlight.js/lib/languages/mizar.js +0 -29
  583. package/node_modules/highlight.js/lib/languages/mojolicious.js +0 -36
  584. package/node_modules/highlight.js/lib/languages/monkey.js +0 -89
  585. package/node_modules/highlight.js/lib/languages/moonscript.js +0 -147
  586. package/node_modules/highlight.js/lib/languages/n1ql.js +0 -77
  587. package/node_modules/highlight.js/lib/languages/nginx.js +0 -140
  588. package/node_modules/highlight.js/lib/languages/nim.js +0 -79
  589. package/node_modules/highlight.js/lib/languages/nix.js +0 -65
  590. package/node_modules/highlight.js/lib/languages/node-repl.js +0 -37
  591. package/node_modules/highlight.js/lib/languages/nsis.js +0 -119
  592. package/node_modules/highlight.js/lib/languages/objectivec.js +0 -121
  593. package/node_modules/highlight.js/lib/languages/ocaml.js +0 -82
  594. package/node_modules/highlight.js/lib/languages/openscad.js +0 -81
  595. package/node_modules/highlight.js/lib/languages/oxygene.js +0 -101
  596. package/node_modules/highlight.js/lib/languages/parser3.js +0 -57
  597. package/node_modules/highlight.js/lib/languages/perl.js +0 -515
  598. package/node_modules/highlight.js/lib/languages/pf.js +0 -59
  599. package/node_modules/highlight.js/lib/languages/pgsql.js +0 -630
  600. package/node_modules/highlight.js/lib/languages/php-template.js +0 -54
  601. package/node_modules/highlight.js/lib/languages/php.js +0 -204
  602. package/node_modules/highlight.js/lib/languages/plaintext.js +0 -19
  603. package/node_modules/highlight.js/lib/languages/pony.js +0 -89
  604. package/node_modules/highlight.js/lib/languages/powershell.js +0 -331
  605. package/node_modules/highlight.js/lib/languages/processing.js +0 -58
  606. package/node_modules/highlight.js/lib/languages/profile.js +0 -43
  607. package/node_modules/highlight.js/lib/languages/prolog.js +0 -102
  608. package/node_modules/highlight.js/lib/languages/properties.js +0 -85
  609. package/node_modules/highlight.js/lib/languages/protobuf.js +0 -47
  610. package/node_modules/highlight.js/lib/languages/puppet.js +0 -147
  611. package/node_modules/highlight.js/lib/languages/purebasic.js +0 -101
  612. package/node_modules/highlight.js/lib/languages/python-repl.js +0 -36
  613. package/node_modules/highlight.js/lib/languages/python.js +0 -446
  614. package/node_modules/highlight.js/lib/languages/q.js +0 -37
  615. package/node_modules/highlight.js/lib/languages/qml.js +0 -225
  616. package/node_modules/highlight.js/lib/languages/r.js +0 -231
  617. package/node_modules/highlight.js/lib/languages/reasonml.js +0 -321
  618. package/node_modules/highlight.js/lib/languages/rib.js +0 -37
  619. package/node_modules/highlight.js/lib/languages/roboconf.js +0 -82
  620. package/node_modules/highlight.js/lib/languages/routeros.js +0 -172
  621. package/node_modules/highlight.js/lib/languages/rsl.js +0 -49
  622. package/node_modules/highlight.js/lib/languages/ruby.js +0 -387
  623. package/node_modules/highlight.js/lib/languages/ruleslanguage.js +0 -78
  624. package/node_modules/highlight.js/lib/languages/rust.js +0 -146
  625. package/node_modules/highlight.js/lib/languages/sas.js +0 -133
  626. package/node_modules/highlight.js/lib/languages/scala.js +0 -140
  627. package/node_modules/highlight.js/lib/languages/scheme.js +0 -207
  628. package/node_modules/highlight.js/lib/languages/scilab.js +0 -73
  629. package/node_modules/highlight.js/lib/languages/scss.js +0 -545
  630. package/node_modules/highlight.js/lib/languages/shell.js +0 -30
  631. package/node_modules/highlight.js/lib/languages/smali.js +0 -135
  632. package/node_modules/highlight.js/lib/languages/smalltalk.js +0 -63
  633. package/node_modules/highlight.js/lib/languages/sml.js +0 -81
  634. package/node_modules/highlight.js/lib/languages/sqf.js +0 -448
  635. package/node_modules/highlight.js/lib/languages/sql.js +0 -699
  636. package/node_modules/highlight.js/lib/languages/sql_more.js +0 -183
  637. package/node_modules/highlight.js/lib/languages/stan.js +0 -548
  638. package/node_modules/highlight.js/lib/languages/stata.js +0 -60
  639. package/node_modules/highlight.js/lib/languages/step21.js +0 -66
  640. package/node_modules/highlight.js/lib/languages/stylus.js +0 -609
  641. package/node_modules/highlight.js/lib/languages/subunit.js +0 -51
  642. package/node_modules/highlight.js/lib/languages/swift.js +0 -873
  643. package/node_modules/highlight.js/lib/languages/taggerscript.js +0 -52
  644. package/node_modules/highlight.js/lib/languages/tap.js +0 -55
  645. package/node_modules/highlight.js/lib/languages/tcl.js +0 -115
  646. package/node_modules/highlight.js/lib/languages/thrift.js +0 -51
  647. package/node_modules/highlight.js/lib/languages/tp.js +0 -95
  648. package/node_modules/highlight.js/lib/languages/twig.js +0 -77
  649. package/node_modules/highlight.js/lib/languages/typescript.js +0 -697
  650. package/node_modules/highlight.js/lib/languages/vala.js +0 -61
  651. package/node_modules/highlight.js/lib/languages/vbnet.js +0 -214
  652. package/node_modules/highlight.js/lib/languages/vbscript-html.js +0 -24
  653. package/node_modules/highlight.js/lib/languages/vbscript.js +0 -109
  654. package/node_modules/highlight.js/lib/languages/verilog.js +0 -131
  655. package/node_modules/highlight.js/lib/languages/vhdl.js +0 -71
  656. package/node_modules/highlight.js/lib/languages/vim.js +0 -123
  657. package/node_modules/highlight.js/lib/languages/x86asm.js +0 -163
  658. package/node_modules/highlight.js/lib/languages/xl.js +0 -92
  659. package/node_modules/highlight.js/lib/languages/xml.js +0 -287
  660. package/node_modules/highlight.js/lib/languages/xquery.js +0 -197
  661. package/node_modules/highlight.js/lib/languages/yaml.js +0 -176
  662. package/node_modules/highlight.js/lib/languages/zephir.js +0 -140
  663. package/node_modules/highlight.js/package.json +0 -86
  664. package/node_modules/highlight.js/scss/a11y-dark.scss +0 -99
  665. package/node_modules/highlight.js/scss/a11y-light.scss +0 -99
  666. package/node_modules/highlight.js/scss/agate.scss +0 -108
  667. package/node_modules/highlight.js/scss/an-old-hope.scss +0 -89
  668. package/node_modules/highlight.js/scss/androidstudio.scss +0 -66
  669. package/node_modules/highlight.js/scss/arduino-light.scss +0 -87
  670. package/node_modules/highlight.js/scss/arta.scss +0 -73
  671. package/node_modules/highlight.js/scss/ascetic.scss +0 -45
  672. package/node_modules/highlight.js/scss/atelier-cave-dark.scss +0 -83
  673. package/node_modules/highlight.js/scss/atelier-cave-light.scss +0 -85
  674. package/node_modules/highlight.js/scss/atelier-dune-dark.scss +0 -69
  675. package/node_modules/highlight.js/scss/atelier-dune-light.scss +0 -69
  676. package/node_modules/highlight.js/scss/atelier-estuary-dark.scss +0 -84
  677. package/node_modules/highlight.js/scss/atelier-estuary-light.scss +0 -84
  678. package/node_modules/highlight.js/scss/atelier-forest-dark.scss +0 -69
  679. package/node_modules/highlight.js/scss/atelier-forest-light.scss +0 -69
  680. package/node_modules/highlight.js/scss/atelier-heath-dark.scss +0 -69
  681. package/node_modules/highlight.js/scss/atelier-heath-light.scss +0 -69
  682. package/node_modules/highlight.js/scss/atelier-lakeside-dark.scss +0 -69
  683. package/node_modules/highlight.js/scss/atelier-lakeside-light.scss +0 -69
  684. package/node_modules/highlight.js/scss/atelier-plateau-dark.scss +0 -84
  685. package/node_modules/highlight.js/scss/atelier-plateau-light.scss +0 -84
  686. package/node_modules/highlight.js/scss/atelier-savanna-dark.scss +0 -84
  687. package/node_modules/highlight.js/scss/atelier-savanna-light.scss +0 -84
  688. package/node_modules/highlight.js/scss/atelier-seaside-dark.scss +0 -69
  689. package/node_modules/highlight.js/scss/atelier-seaside-light.scss +0 -69
  690. package/node_modules/highlight.js/scss/atelier-sulphurpool-dark.scss +0 -69
  691. package/node_modules/highlight.js/scss/atelier-sulphurpool-light.scss +0 -69
  692. package/node_modules/highlight.js/scss/atom-one-dark-reasonable.scss +0 -75
  693. package/node_modules/highlight.js/scss/atom-one-dark.scss +0 -96
  694. package/node_modules/highlight.js/scss/atom-one-light.scss +0 -96
  695. package/node_modules/highlight.js/scss/brown-paper.scss +0 -64
  696. package/node_modules/highlight.js/scss/brown-papersq.png +0 -0
  697. package/node_modules/highlight.js/scss/codepen-embed.scss +0 -60
  698. package/node_modules/highlight.js/scss/color-brewer.scss +0 -71
  699. package/node_modules/highlight.js/scss/darcula.scss +0 -74
  700. package/node_modules/highlight.js/scss/dark.scss +0 -63
  701. package/node_modules/highlight.js/scss/default.scss +0 -99
  702. package/node_modules/highlight.js/scss/docco.scss +0 -97
  703. package/node_modules/highlight.js/scss/dracula.scss +0 -76
  704. package/node_modules/highlight.js/scss/far.scss +0 -71
  705. package/node_modules/highlight.js/scss/foundation.scss +0 -89
  706. package/node_modules/highlight.js/scss/github-gist.scss +0 -79
  707. package/node_modules/highlight.js/scss/github.scss +0 -99
  708. package/node_modules/highlight.js/scss/gml.scss +0 -78
  709. package/node_modules/highlight.js/scss/googlecode.scss +0 -89
  710. package/node_modules/highlight.js/scss/gradient-dark.scss +0 -122
  711. package/node_modules/highlight.js/scss/gradient-light.scss +0 -130
  712. package/node_modules/highlight.js/scss/grayscale.scss +0 -101
  713. package/node_modules/highlight.js/scss/gruvbox-dark.scss +0 -108
  714. package/node_modules/highlight.js/scss/gruvbox-light.scss +0 -108
  715. package/node_modules/highlight.js/scss/hopscotch.scss +0 -84
  716. package/node_modules/highlight.js/scss/hybrid.scss +0 -102
  717. package/node_modules/highlight.js/scss/idea.scss +0 -97
  718. package/node_modules/highlight.js/scss/ir-black.scss +0 -73
  719. package/node_modules/highlight.js/scss/isbl-editor-dark.scss +0 -112
  720. package/node_modules/highlight.js/scss/isbl-editor-light.scss +0 -111
  721. package/node_modules/highlight.js/scss/kimbie.dark.scss +0 -74
  722. package/node_modules/highlight.js/scss/kimbie.light.scss +0 -74
  723. package/node_modules/highlight.js/scss/lightfair.scss +0 -88
  724. package/node_modules/highlight.js/scss/lioshi.scss +0 -88
  725. package/node_modules/highlight.js/scss/magula.scss +0 -70
  726. package/node_modules/highlight.js/scss/mono-blue.scss +0 -56
  727. package/node_modules/highlight.js/scss/monokai-sublime.scss +0 -83
  728. package/node_modules/highlight.js/scss/monokai.scss +0 -71
  729. package/node_modules/highlight.js/scss/night-owl.scss +0 -182
  730. package/node_modules/highlight.js/scss/nnfx-dark.scss +0 -106
  731. package/node_modules/highlight.js/scss/nnfx.scss +0 -106
  732. package/node_modules/highlight.js/scss/nord.scss +0 -309
  733. package/node_modules/highlight.js/scss/obsidian.scss +0 -88
  734. package/node_modules/highlight.js/scss/ocean.scss +0 -74
  735. package/node_modules/highlight.js/scss/paraiso-dark.scss +0 -72
  736. package/node_modules/highlight.js/scss/paraiso-light.scss +0 -72
  737. package/node_modules/highlight.js/scss/pojoaque.jpg +0 -0
  738. package/node_modules/highlight.js/scss/pojoaque.scss +0 -83
  739. package/node_modules/highlight.js/scss/purebasic.scss +0 -96
  740. package/node_modules/highlight.js/scss/qtcreator_dark.scss +0 -83
  741. package/node_modules/highlight.js/scss/qtcreator_light.scss +0 -83
  742. package/node_modules/highlight.js/scss/railscasts.scss +0 -106
  743. package/node_modules/highlight.js/scss/rainbow.scss +0 -85
  744. package/node_modules/highlight.js/scss/routeros.scss +0 -108
  745. package/node_modules/highlight.js/scss/school-book.png +0 -0
  746. package/node_modules/highlight.js/scss/school-book.scss +0 -69
  747. package/node_modules/highlight.js/scss/shades-of-purple.scss +0 -96
  748. package/node_modules/highlight.js/scss/solarized-dark.scss +0 -84
  749. package/node_modules/highlight.js/scss/solarized-light.scss +0 -84
  750. package/node_modules/highlight.js/scss/srcery.scss +0 -78
  751. package/node_modules/highlight.js/scss/stackoverflow-dark.scss +0 -78
  752. package/node_modules/highlight.js/scss/stackoverflow-light.scss +0 -78
  753. package/node_modules/highlight.js/scss/sunburst.scss +0 -102
  754. package/node_modules/highlight.js/scss/tomorrow-night-blue.scss +0 -75
  755. package/node_modules/highlight.js/scss/tomorrow-night-bright.scss +0 -74
  756. package/node_modules/highlight.js/scss/tomorrow-night-eighties.scss +0 -74
  757. package/node_modules/highlight.js/scss/tomorrow-night.scss +0 -75
  758. package/node_modules/highlight.js/scss/tomorrow.scss +0 -72
  759. package/node_modules/highlight.js/scss/vs.scss +0 -68
  760. package/node_modules/highlight.js/scss/vs2015.scss +0 -115
  761. package/node_modules/highlight.js/scss/xcode.scss +0 -104
  762. package/node_modules/highlight.js/scss/xt256.scss +0 -92
  763. package/node_modules/highlight.js/scss/zenburn.scss +0 -80
  764. package/node_modules/highlight.js/styles/a11y-dark.css +0 -99
  765. package/node_modules/highlight.js/styles/a11y-light.css +0 -99
  766. package/node_modules/highlight.js/styles/agate.css +0 -108
  767. package/node_modules/highlight.js/styles/an-old-hope.css +0 -89
  768. package/node_modules/highlight.js/styles/androidstudio.css +0 -66
  769. package/node_modules/highlight.js/styles/arduino-light.css +0 -87
  770. package/node_modules/highlight.js/styles/arta.css +0 -73
  771. package/node_modules/highlight.js/styles/ascetic.css +0 -45
  772. package/node_modules/highlight.js/styles/atelier-cave-dark.css +0 -83
  773. package/node_modules/highlight.js/styles/atelier-cave-light.css +0 -85
  774. package/node_modules/highlight.js/styles/atelier-dune-dark.css +0 -69
  775. package/node_modules/highlight.js/styles/atelier-dune-light.css +0 -69
  776. package/node_modules/highlight.js/styles/atelier-estuary-dark.css +0 -84
  777. package/node_modules/highlight.js/styles/atelier-estuary-light.css +0 -84
  778. package/node_modules/highlight.js/styles/atelier-forest-dark.css +0 -69
  779. package/node_modules/highlight.js/styles/atelier-forest-light.css +0 -69
  780. package/node_modules/highlight.js/styles/atelier-heath-dark.css +0 -69
  781. package/node_modules/highlight.js/styles/atelier-heath-light.css +0 -69
  782. package/node_modules/highlight.js/styles/atelier-lakeside-dark.css +0 -69
  783. package/node_modules/highlight.js/styles/atelier-lakeside-light.css +0 -69
  784. package/node_modules/highlight.js/styles/atelier-plateau-dark.css +0 -84
  785. package/node_modules/highlight.js/styles/atelier-plateau-light.css +0 -84
  786. package/node_modules/highlight.js/styles/atelier-savanna-dark.css +0 -84
  787. package/node_modules/highlight.js/styles/atelier-savanna-light.css +0 -84
  788. package/node_modules/highlight.js/styles/atelier-seaside-dark.css +0 -69
  789. package/node_modules/highlight.js/styles/atelier-seaside-light.css +0 -69
  790. package/node_modules/highlight.js/styles/atelier-sulphurpool-dark.css +0 -69
  791. package/node_modules/highlight.js/styles/atelier-sulphurpool-light.css +0 -69
  792. package/node_modules/highlight.js/styles/atom-one-dark-reasonable.css +0 -75
  793. package/node_modules/highlight.js/styles/atom-one-dark.css +0 -96
  794. package/node_modules/highlight.js/styles/atom-one-light.css +0 -96
  795. package/node_modules/highlight.js/styles/brown-paper.css +0 -64
  796. package/node_modules/highlight.js/styles/brown-papersq.png +0 -0
  797. package/node_modules/highlight.js/styles/codepen-embed.css +0 -60
  798. package/node_modules/highlight.js/styles/color-brewer.css +0 -71
  799. package/node_modules/highlight.js/styles/darcula.css +0 -74
  800. package/node_modules/highlight.js/styles/dark.css +0 -63
  801. package/node_modules/highlight.js/styles/default.css +0 -99
  802. package/node_modules/highlight.js/styles/docco.css +0 -97
  803. package/node_modules/highlight.js/styles/dracula.css +0 -76
  804. package/node_modules/highlight.js/styles/far.css +0 -71
  805. package/node_modules/highlight.js/styles/foundation.css +0 -89
  806. package/node_modules/highlight.js/styles/github-gist.css +0 -79
  807. package/node_modules/highlight.js/styles/github.css +0 -99
  808. package/node_modules/highlight.js/styles/gml.css +0 -78
  809. package/node_modules/highlight.js/styles/googlecode.css +0 -89
  810. package/node_modules/highlight.js/styles/gradient-dark.css +0 -122
  811. package/node_modules/highlight.js/styles/gradient-light.css +0 -130
  812. package/node_modules/highlight.js/styles/grayscale.css +0 -101
  813. package/node_modules/highlight.js/styles/gruvbox-dark.css +0 -108
  814. package/node_modules/highlight.js/styles/gruvbox-light.css +0 -108
  815. package/node_modules/highlight.js/styles/hopscotch.css +0 -84
  816. package/node_modules/highlight.js/styles/hybrid.css +0 -102
  817. package/node_modules/highlight.js/styles/idea.css +0 -97
  818. package/node_modules/highlight.js/styles/ir-black.css +0 -73
  819. package/node_modules/highlight.js/styles/isbl-editor-dark.css +0 -112
  820. package/node_modules/highlight.js/styles/isbl-editor-light.css +0 -111
  821. package/node_modules/highlight.js/styles/kimbie.dark.css +0 -74
  822. package/node_modules/highlight.js/styles/kimbie.light.css +0 -74
  823. package/node_modules/highlight.js/styles/lightfair.css +0 -88
  824. package/node_modules/highlight.js/styles/lioshi.css +0 -88
  825. package/node_modules/highlight.js/styles/magula.css +0 -70
  826. package/node_modules/highlight.js/styles/mono-blue.css +0 -56
  827. package/node_modules/highlight.js/styles/monokai-sublime.css +0 -83
  828. package/node_modules/highlight.js/styles/monokai.css +0 -71
  829. package/node_modules/highlight.js/styles/night-owl.css +0 -182
  830. package/node_modules/highlight.js/styles/nnfx-dark.css +0 -106
  831. package/node_modules/highlight.js/styles/nnfx.css +0 -106
  832. package/node_modules/highlight.js/styles/nord.css +0 -309
  833. package/node_modules/highlight.js/styles/obsidian.css +0 -88
  834. package/node_modules/highlight.js/styles/ocean.css +0 -74
  835. package/node_modules/highlight.js/styles/paraiso-dark.css +0 -72
  836. package/node_modules/highlight.js/styles/paraiso-light.css +0 -72
  837. package/node_modules/highlight.js/styles/pojoaque.css +0 -83
  838. package/node_modules/highlight.js/styles/pojoaque.jpg +0 -0
  839. package/node_modules/highlight.js/styles/purebasic.css +0 -96
  840. package/node_modules/highlight.js/styles/qtcreator_dark.css +0 -83
  841. package/node_modules/highlight.js/styles/qtcreator_light.css +0 -83
  842. package/node_modules/highlight.js/styles/railscasts.css +0 -106
  843. package/node_modules/highlight.js/styles/rainbow.css +0 -85
  844. package/node_modules/highlight.js/styles/routeros.css +0 -108
  845. package/node_modules/highlight.js/styles/school-book.css +0 -69
  846. package/node_modules/highlight.js/styles/school-book.png +0 -0
  847. package/node_modules/highlight.js/styles/shades-of-purple.css +0 -96
  848. package/node_modules/highlight.js/styles/solarized-dark.css +0 -84
  849. package/node_modules/highlight.js/styles/solarized-light.css +0 -84
  850. package/node_modules/highlight.js/styles/srcery.css +0 -78
  851. package/node_modules/highlight.js/styles/stackoverflow-dark.css +0 -78
  852. package/node_modules/highlight.js/styles/stackoverflow-light.css +0 -78
  853. package/node_modules/highlight.js/styles/sunburst.css +0 -102
  854. package/node_modules/highlight.js/styles/tomorrow-night-blue.css +0 -75
  855. package/node_modules/highlight.js/styles/tomorrow-night-bright.css +0 -74
  856. package/node_modules/highlight.js/styles/tomorrow-night-eighties.css +0 -74
  857. package/node_modules/highlight.js/styles/tomorrow-night.css +0 -75
  858. package/node_modules/highlight.js/styles/tomorrow.css +0 -72
  859. package/node_modules/highlight.js/styles/vs.css +0 -68
  860. package/node_modules/highlight.js/styles/vs2015.css +0 -115
  861. package/node_modules/highlight.js/styles/xcode.css +0 -104
  862. package/node_modules/highlight.js/styles/xt256.css +0 -92
  863. package/node_modules/highlight.js/styles/zenburn.css +0 -80
  864. package/node_modules/highlight.js/types/index.d.ts +0 -261
  865. package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  866. package/node_modules/is-fullwidth-code-point/index.js +0 -50
  867. package/node_modules/is-fullwidth-code-point/license +0 -9
  868. package/node_modules/is-fullwidth-code-point/package.json +0 -42
  869. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  870. package/node_modules/mz/HISTORY.md +0 -66
  871. package/node_modules/mz/LICENSE +0 -22
  872. package/node_modules/mz/README.md +0 -106
  873. package/node_modules/mz/child_process.js +0 -8
  874. package/node_modules/mz/crypto.js +0 -9
  875. package/node_modules/mz/dns.js +0 -16
  876. package/node_modules/mz/fs.js +0 -62
  877. package/node_modules/mz/index.js +0 -8
  878. package/node_modules/mz/package.json +0 -44
  879. package/node_modules/mz/readline.js +0 -64
  880. package/node_modules/mz/zlib.js +0 -13
  881. package/node_modules/object-assign/index.js +0 -90
  882. package/node_modules/object-assign/license +0 -21
  883. package/node_modules/object-assign/package.json +0 -42
  884. package/node_modules/object-assign/readme.md +0 -61
  885. package/node_modules/parse5/LICENSE +0 -19
  886. package/node_modules/parse5/README.md +0 -38
  887. package/node_modules/parse5/lib/common/doctype.js +0 -162
  888. package/node_modules/parse5/lib/common/error-codes.js +0 -65
  889. package/node_modules/parse5/lib/common/foreign-content.js +0 -265
  890. package/node_modules/parse5/lib/common/html.js +0 -272
  891. package/node_modules/parse5/lib/common/unicode.js +0 -109
  892. package/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js +0 -43
  893. package/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js +0 -52
  894. package/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  895. package/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  896. package/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  897. package/node_modules/parse5/lib/extensions/location-info/parser-mixin.js +0 -222
  898. package/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  899. package/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  900. package/node_modules/parse5/lib/index.js +0 -29
  901. package/node_modules/parse5/lib/parser/formatting-element-list.js +0 -181
  902. package/node_modules/parse5/lib/parser/index.js +0 -2956
  903. package/node_modules/parse5/lib/parser/open-element-stack.js +0 -482
  904. package/node_modules/parse5/lib/serializer/index.js +0 -176
  905. package/node_modules/parse5/lib/tokenizer/index.js +0 -2196
  906. package/node_modules/parse5/lib/tokenizer/named-entity-data.js +0 -5
  907. package/node_modules/parse5/lib/tokenizer/preprocessor.js +0 -159
  908. package/node_modules/parse5/lib/tree-adapters/default.js +0 -217
  909. package/node_modules/parse5/lib/utils/merge-options.js +0 -13
  910. package/node_modules/parse5/lib/utils/mixin.js +0 -39
  911. package/node_modules/parse5/package.json +0 -35
  912. package/node_modules/parse5-htmlparser2-tree-adapter/LICENSE +0 -19
  913. package/node_modules/parse5-htmlparser2-tree-adapter/README.md +0 -34
  914. package/node_modules/parse5-htmlparser2-tree-adapter/lib/index.js +0 -348
  915. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/LICENSE +0 -19
  916. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/README.md +0 -38
  917. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/doctype.js +0 -162
  918. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/error-codes.js +0 -65
  919. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/foreign-content.js +0 -265
  920. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/html.js +0 -272
  921. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/unicode.js +0 -109
  922. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js +0 -43
  923. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js +0 -52
  924. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  925. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  926. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  927. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/parser-mixin.js +0 -223
  928. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  929. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  930. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/index.js +0 -29
  931. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/formatting-element-list.js +0 -181
  932. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/index.js +0 -2956
  933. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/open-element-stack.js +0 -482
  934. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/serializer/index.js +0 -176
  935. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/index.js +0 -2196
  936. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/named-entity-data.js +0 -5
  937. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/preprocessor.js +0 -159
  938. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tree-adapters/default.js +0 -221
  939. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/utils/merge-options.js +0 -13
  940. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/utils/mixin.js +0 -39
  941. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/package.json +0 -35
  942. package/node_modules/parse5-htmlparser2-tree-adapter/package.json +0 -27
  943. package/node_modules/proper-lockfile/CHANGELOG.md +0 -108
  944. package/node_modules/require-directory/.jshintrc +0 -67
  945. package/node_modules/require-directory/.npmignore +0 -1
  946. package/node_modules/require-directory/.travis.yml +0 -3
  947. package/node_modules/require-directory/LICENSE +0 -22
  948. package/node_modules/require-directory/README.markdown +0 -184
  949. package/node_modules/require-directory/index.js +0 -86
  950. package/node_modules/require-directory/package.json +0 -40
  951. package/node_modules/source-map/CHANGELOG.md +0 -301
  952. package/node_modules/string-width/index.d.ts +0 -29
  953. package/node_modules/string-width/index.js +0 -47
  954. package/node_modules/string-width/license +0 -9
  955. package/node_modules/string-width/node_modules/ansi-regex/index.d.ts +0 -37
  956. package/node_modules/string-width/node_modules/ansi-regex/index.js +0 -10
  957. package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  958. package/node_modules/string-width/node_modules/ansi-regex/package.json +0 -55
  959. package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -78
  960. package/node_modules/string-width/node_modules/strip-ansi/index.d.ts +0 -17
  961. package/node_modules/string-width/node_modules/strip-ansi/index.js +0 -4
  962. package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
  963. package/node_modules/string-width/node_modules/strip-ansi/package.json +0 -54
  964. package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -46
  965. package/node_modules/string-width/package.json +0 -56
  966. package/node_modules/string-width/readme.md +0 -50
  967. package/node_modules/supports-color/browser.js +0 -5
  968. package/node_modules/supports-color/index.js +0 -135
  969. package/node_modules/supports-color/license +0 -9
  970. package/node_modules/supports-color/package.json +0 -53
  971. package/node_modules/supports-color/readme.md +0 -76
  972. package/node_modules/thenify/History.md +0 -11
  973. package/node_modules/thenify/LICENSE +0 -22
  974. package/node_modules/thenify/README.md +0 -120
  975. package/node_modules/thenify/index.js +0 -77
  976. package/node_modules/thenify/package.json +0 -31
  977. package/node_modules/thenify-all/History.md +0 -11
  978. package/node_modules/thenify-all/LICENSE +0 -22
  979. package/node_modules/thenify-all/README.md +0 -66
  980. package/node_modules/thenify-all/index.js +0 -73
  981. package/node_modules/thenify-all/package.json +0 -34
  982. package/node_modules/wrap-ansi/index.js +0 -216
  983. package/node_modules/wrap-ansi/license +0 -9
  984. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.d.ts +0 -37
  985. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.js +0 -10
  986. package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
  987. package/node_modules/wrap-ansi/node_modules/ansi-regex/package.json +0 -55
  988. package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
  989. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.d.ts +0 -17
  990. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.js +0 -4
  991. package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
  992. package/node_modules/wrap-ansi/node_modules/strip-ansi/package.json +0 -54
  993. package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
  994. package/node_modules/wrap-ansi/package.json +0 -62
  995. package/node_modules/wrap-ansi/readme.md +0 -91
  996. package/node_modules/y18n/CHANGELOG.md +0 -100
  997. package/node_modules/y18n/LICENSE +0 -13
  998. package/node_modules/y18n/README.md +0 -127
  999. package/node_modules/y18n/build/index.cjs +0 -203
  1000. package/node_modules/y18n/build/lib/cjs.js +0 -6
  1001. package/node_modules/y18n/build/lib/index.js +0 -174
  1002. package/node_modules/y18n/build/lib/platform-shims/node.js +0 -19
  1003. package/node_modules/y18n/index.mjs +0 -8
  1004. package/node_modules/y18n/package.json +0 -70
  1005. package/node_modules/yargs/CHANGELOG.md +0 -88
  1006. package/node_modules/yargs/LICENSE +0 -21
  1007. package/node_modules/yargs/README.md +0 -202
  1008. package/node_modules/yargs/browser.mjs +0 -7
  1009. package/node_modules/yargs/build/index.cjs +0 -2920
  1010. package/node_modules/yargs/build/lib/argsert.js +0 -62
  1011. package/node_modules/yargs/build/lib/command.js +0 -382
  1012. package/node_modules/yargs/build/lib/completion-templates.js +0 -47
  1013. package/node_modules/yargs/build/lib/completion.js +0 -128
  1014. package/node_modules/yargs/build/lib/middleware.js +0 -53
  1015. package/node_modules/yargs/build/lib/parse-command.js +0 -32
  1016. package/node_modules/yargs/build/lib/typings/common-types.js +0 -9
  1017. package/node_modules/yargs/build/lib/usage.js +0 -548
  1018. package/node_modules/yargs/build/lib/utils/apply-extends.js +0 -59
  1019. package/node_modules/yargs/build/lib/utils/is-promise.js +0 -5
  1020. package/node_modules/yargs/build/lib/utils/levenshtein.js +0 -26
  1021. package/node_modules/yargs/build/lib/utils/obj-filter.js +0 -10
  1022. package/node_modules/yargs/build/lib/utils/process-argv.js +0 -17
  1023. package/node_modules/yargs/build/lib/utils/set-blocking.js +0 -12
  1024. package/node_modules/yargs/build/lib/utils/which-module.js +0 -10
  1025. package/node_modules/yargs/build/lib/validation.js +0 -308
  1026. package/node_modules/yargs/build/lib/yargs-factory.js +0 -1143
  1027. package/node_modules/yargs/build/lib/yerror.js +0 -7
  1028. package/node_modules/yargs/helpers/helpers.mjs +0 -10
  1029. package/node_modules/yargs/helpers/index.js +0 -14
  1030. package/node_modules/yargs/helpers/package.json +0 -3
  1031. package/node_modules/yargs/index.cjs +0 -39
  1032. package/node_modules/yargs/index.mjs +0 -8
  1033. package/node_modules/yargs/lib/platform-shims/browser.mjs +0 -92
  1034. package/node_modules/yargs/lib/platform-shims/esm.mjs +0 -67
  1035. package/node_modules/yargs/locales/be.json +0 -46
  1036. package/node_modules/yargs/locales/de.json +0 -46
  1037. package/node_modules/yargs/locales/en.json +0 -51
  1038. package/node_modules/yargs/locales/es.json +0 -46
  1039. package/node_modules/yargs/locales/fi.json +0 -49
  1040. package/node_modules/yargs/locales/fr.json +0 -53
  1041. package/node_modules/yargs/locales/hi.json +0 -49
  1042. package/node_modules/yargs/locales/hu.json +0 -46
  1043. package/node_modules/yargs/locales/id.json +0 -50
  1044. package/node_modules/yargs/locales/it.json +0 -46
  1045. package/node_modules/yargs/locales/ja.json +0 -51
  1046. package/node_modules/yargs/locales/ko.json +0 -49
  1047. package/node_modules/yargs/locales/nb.json +0 -44
  1048. package/node_modules/yargs/locales/nl.json +0 -49
  1049. package/node_modules/yargs/locales/nn.json +0 -44
  1050. package/node_modules/yargs/locales/pirate.json +0 -13
  1051. package/node_modules/yargs/locales/pl.json +0 -49
  1052. package/node_modules/yargs/locales/pt.json +0 -45
  1053. package/node_modules/yargs/locales/pt_BR.json +0 -48
  1054. package/node_modules/yargs/locales/ru.json +0 -46
  1055. package/node_modules/yargs/locales/th.json +0 -46
  1056. package/node_modules/yargs/locales/tr.json +0 -48
  1057. package/node_modules/yargs/locales/zh_CN.json +0 -48
  1058. package/node_modules/yargs/locales/zh_TW.json +0 -47
  1059. package/node_modules/yargs/package.json +0 -122
  1060. package/node_modules/yargs/yargs +0 -9
  1061. package/node_modules/yargs-parser/CHANGELOG.md +0 -263
  1062. package/node_modules/yargs-parser/LICENSE.txt +0 -14
  1063. package/node_modules/yargs-parser/README.md +0 -518
  1064. package/node_modules/yargs-parser/browser.js +0 -29
  1065. package/node_modules/yargs-parser/build/index.cjs +0 -1042
  1066. package/node_modules/yargs-parser/build/lib/index.js +0 -59
  1067. package/node_modules/yargs-parser/build/lib/string-utils.js +0 -65
  1068. package/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -40
  1069. package/node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -12
  1070. package/node_modules/yargs-parser/build/lib/yargs-parser.js +0 -1037
  1071. package/node_modules/yargs-parser/package.json +0 -87
  1072. /package/node_modules/{cli-highlight/dist/cli.d.ts → @gsd/native/dist/ast/types.js} +0 -0
  1073. /package/node_modules/{cli-highlight/dist/test/test.d.ts → @gsd/native/dist/clipboard/types.js} +0 -0
  1074. /package/node_modules/{yargs/build/lib/typings/yargs-parser-types.js → @gsd/native/dist/fd/types.js} +0 -0
@@ -1,4 +1,11 @@
1
- import { eastAsianWidth } from "get-east-asian-width";
1
+ import {
2
+ visibleWidth as nativeVisibleWidth,
3
+ wrapTextWithAnsi as nativeWrapTextWithAnsi,
4
+ truncateToWidth as nativeTruncateToWidth,
5
+ sliceWithWidth as nativeSliceWithWidth,
6
+ extractSegments as nativeExtractSegments,
7
+ EllipsisKind,
8
+ } from "@gsd/native/text";
2
9
 
3
10
  // Grapheme segmenter (shared instance)
4
11
  const segmenter = new Intl.Segmenter(undefined, { granularity: "grapheme" });
@@ -10,144 +17,20 @@ export function getSegmenter(): Intl.Segmenter {
10
17
  return segmenter;
11
18
  }
12
19
 
13
- /**
14
- * Check if a grapheme cluster (after segmentation) could possibly be an RGI emoji.
15
- * This is a fast heuristic to avoid the expensive rgiEmojiRegex test.
16
- * The tested Unicode blocks are deliberately broad to account for future
17
- * Unicode additions.
18
- */
19
- function couldBeEmoji(segment: string): boolean {
20
- const cp = segment.codePointAt(0)!;
21
- return (
22
- (cp >= 0x1f000 && cp <= 0x1fbff) || // Emoji and Pictograph
23
- (cp >= 0x2300 && cp <= 0x23ff) || // Misc technical
24
- (cp >= 0x2600 && cp <= 0x27bf) || // Misc symbols, dingbats
25
- (cp >= 0x2b50 && cp <= 0x2b55) || // Specific stars/circles
26
- segment.includes("\uFE0F") || // Contains VS16 (emoji presentation selector)
27
- segment.length > 2 // Multi-codepoint sequences (ZWJ, skin tones, etc.)
28
- );
29
- }
30
-
31
- // Regexes for character classification (same as string-width library)
32
- const zeroWidthRegex = /^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Mark}|\p{Surrogate})+$/v;
33
- const leadingNonPrintingRegex = /^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v;
34
- const rgiEmojiRegex = /^\p{RGI_Emoji}$/v;
35
-
36
- // Cache for non-ASCII strings
37
- const WIDTH_CACHE_SIZE = 512;
38
- const widthCache = new Map<string, number>();
20
+ const PUNCTUATION_REGEX = /[(){}[\]<>.,;:'"!?+\-=*/\\|&%^$#@~`]/;
39
21
 
40
22
  /**
41
- * Calculate the terminal width of a single grapheme cluster.
42
- * Based on code from the string-width library, but includes a possible-emoji
43
- * check to avoid running the RGI_Emoji regex unnecessarily.
23
+ * Check if a character is whitespace.
44
24
  */
45
- function graphemeWidth(segment: string): number {
46
- // Zero-width clusters
47
- if (zeroWidthRegex.test(segment)) {
48
- return 0;
49
- }
50
-
51
- // Emoji check with pre-filter
52
- if (couldBeEmoji(segment) && rgiEmojiRegex.test(segment)) {
53
- return 2;
54
- }
55
-
56
- // Get base visible codepoint
57
- const base = segment.replace(leadingNonPrintingRegex, "");
58
- const cp = base.codePointAt(0);
59
- if (cp === undefined) {
60
- return 0;
61
- }
62
-
63
- // Regional indicator symbols (U+1F1E6..U+1F1FF) are often rendered as
64
- // full-width emoji in terminals, even when isolated during streaming.
65
- // Keep width conservative (2) to avoid terminal auto-wrap drift artifacts.
66
- if (cp >= 0x1f1e6 && cp <= 0x1f1ff) {
67
- return 2;
68
- }
69
-
70
- let width = eastAsianWidth(cp);
71
-
72
- // Trailing halfwidth/fullwidth forms
73
- if (segment.length > 1) {
74
- for (const char of segment.slice(1)) {
75
- const c = char.codePointAt(0)!;
76
- if (c >= 0xff00 && c <= 0xffef) {
77
- width += eastAsianWidth(c);
78
- }
79
- }
80
- }
81
-
82
- return width;
25
+ export function isWhitespaceChar(char: string): boolean {
26
+ return /\s/.test(char);
83
27
  }
84
28
 
85
29
  /**
86
- * Calculate the visible width of a string in terminal columns.
30
+ * Check if a character is punctuation.
87
31
  */
88
- export function visibleWidth(str: string): number {
89
- if (str.length === 0) {
90
- return 0;
91
- }
92
-
93
- // Fast path: pure ASCII printable
94
- let isPureAscii = true;
95
- for (let i = 0; i < str.length; i++) {
96
- const code = str.charCodeAt(i);
97
- if (code < 0x20 || code > 0x7e) {
98
- isPureAscii = false;
99
- break;
100
- }
101
- }
102
- if (isPureAscii) {
103
- return str.length;
104
- }
105
-
106
- // Check cache
107
- const cached = widthCache.get(str);
108
- if (cached !== undefined) {
109
- return cached;
110
- }
111
-
112
- // Normalize: tabs to 3 spaces, strip ANSI escape codes
113
- let clean = str;
114
- if (str.includes("\t")) {
115
- clean = clean.replace(/\t/g, " ");
116
- }
117
- if (clean.includes("\x1b")) {
118
- // Strip supported ANSI/OSC/APC escape sequences in one pass.
119
- // This covers CSI styling/cursor codes, OSC hyperlinks and prompt markers,
120
- // and APC sequences like CURSOR_MARKER.
121
- let stripped = "";
122
- let i = 0;
123
- while (i < clean.length) {
124
- const ansi = extractAnsiCode(clean, i);
125
- if (ansi) {
126
- i += ansi.length;
127
- continue;
128
- }
129
- stripped += clean[i];
130
- i++;
131
- }
132
- clean = stripped;
133
- }
134
-
135
- // Calculate width
136
- let width = 0;
137
- for (const { segment } of segmenter.segment(clean)) {
138
- width += graphemeWidth(segment);
139
- }
140
-
141
- // Cache result
142
- if (widthCache.size >= WIDTH_CACHE_SIZE) {
143
- const firstKey = widthCache.keys().next().value;
144
- if (firstKey !== undefined) {
145
- widthCache.delete(firstKey);
146
- }
147
- }
148
- widthCache.set(str, width);
149
-
150
- return width;
32
+ export function isPunctuationChar(char: string): boolean {
33
+ return PUNCTUATION_REGEX.test(char);
151
34
  }
152
35
 
153
36
  /**
@@ -193,495 +76,45 @@ export function extractAnsiCode(str: string, pos: number): { code: string; lengt
193
76
  return null;
194
77
  }
195
78
 
196
- /**
197
- * Track active ANSI SGR codes to preserve styling across line breaks.
198
- */
199
- class AnsiCodeTracker {
200
- // Track individual attributes separately so we can reset them specifically
201
- private bold = false;
202
- private dim = false;
203
- private italic = false;
204
- private underline = false;
205
- private blink = false;
206
- private inverse = false;
207
- private hidden = false;
208
- private strikethrough = false;
209
- private fgColor: string | null = null; // Stores the full code like "31" or "38;5;240"
210
- private bgColor: string | null = null; // Stores the full code like "41" or "48;5;240"
211
-
212
- process(ansiCode: string): void {
213
- if (!ansiCode.endsWith("m")) {
214
- return;
215
- }
216
-
217
- // Extract the parameters between \x1b[ and m
218
- const match = ansiCode.match(/\x1b\[([\d;]*)m/);
219
- if (!match) return;
220
-
221
- const params = match[1];
222
- if (params === "" || params === "0") {
223
- // Full reset
224
- this.reset();
225
- return;
226
- }
227
-
228
- // Parse parameters (can be semicolon-separated)
229
- const parts = params.split(";");
230
- let i = 0;
231
- while (i < parts.length) {
232
- const code = Number.parseInt(parts[i], 10);
233
-
234
- // Handle 256-color and RGB codes which consume multiple parameters
235
- if (code === 38 || code === 48) {
236
- // 38;5;N (256 color fg) or 38;2;R;G;B (RGB fg)
237
- // 48;5;N (256 color bg) or 48;2;R;G;B (RGB bg)
238
- if (parts[i + 1] === "5" && parts[i + 2] !== undefined) {
239
- // 256 color: 38;5;N or 48;5;N
240
- const colorCode = `${parts[i]};${parts[i + 1]};${parts[i + 2]}`;
241
- if (code === 38) {
242
- this.fgColor = colorCode;
243
- } else {
244
- this.bgColor = colorCode;
245
- }
246
- i += 3;
247
- continue;
248
- } else if (parts[i + 1] === "2" && parts[i + 4] !== undefined) {
249
- // RGB color: 38;2;R;G;B or 48;2;R;G;B
250
- const colorCode = `${parts[i]};${parts[i + 1]};${parts[i + 2]};${parts[i + 3]};${parts[i + 4]}`;
251
- if (code === 38) {
252
- this.fgColor = colorCode;
253
- } else {
254
- this.bgColor = colorCode;
255
- }
256
- i += 5;
257
- continue;
258
- }
259
- }
260
-
261
- // Standard SGR codes
262
- switch (code) {
263
- case 0:
264
- this.reset();
265
- break;
266
- case 1:
267
- this.bold = true;
268
- break;
269
- case 2:
270
- this.dim = true;
271
- break;
272
- case 3:
273
- this.italic = true;
274
- break;
275
- case 4:
276
- this.underline = true;
277
- break;
278
- case 5:
279
- this.blink = true;
280
- break;
281
- case 7:
282
- this.inverse = true;
283
- break;
284
- case 8:
285
- this.hidden = true;
286
- break;
287
- case 9:
288
- this.strikethrough = true;
289
- break;
290
- case 21:
291
- this.bold = false;
292
- break; // Some terminals
293
- case 22:
294
- this.bold = false;
295
- this.dim = false;
296
- break;
297
- case 23:
298
- this.italic = false;
299
- break;
300
- case 24:
301
- this.underline = false;
302
- break;
303
- case 25:
304
- this.blink = false;
305
- break;
306
- case 27:
307
- this.inverse = false;
308
- break;
309
- case 28:
310
- this.hidden = false;
311
- break;
312
- case 29:
313
- this.strikethrough = false;
314
- break;
315
- case 39:
316
- this.fgColor = null;
317
- break; // Default fg
318
- case 49:
319
- this.bgColor = null;
320
- break; // Default bg
321
- default:
322
- // Standard foreground colors 30-37, 90-97
323
- if ((code >= 30 && code <= 37) || (code >= 90 && code <= 97)) {
324
- this.fgColor = String(code);
325
- }
326
- // Standard background colors 40-47, 100-107
327
- else if ((code >= 40 && code <= 47) || (code >= 100 && code <= 107)) {
328
- this.bgColor = String(code);
329
- }
330
- break;
331
- }
332
- i++;
333
- }
334
- }
335
-
336
- private reset(): void {
337
- this.bold = false;
338
- this.dim = false;
339
- this.italic = false;
340
- this.underline = false;
341
- this.blink = false;
342
- this.inverse = false;
343
- this.hidden = false;
344
- this.strikethrough = false;
345
- this.fgColor = null;
346
- this.bgColor = null;
347
- }
348
-
349
- /** Clear all state for reuse. */
350
- clear(): void {
351
- this.reset();
352
- }
353
-
354
- getActiveCodes(): string {
355
- const codes: string[] = [];
356
- if (this.bold) codes.push("1");
357
- if (this.dim) codes.push("2");
358
- if (this.italic) codes.push("3");
359
- if (this.underline) codes.push("4");
360
- if (this.blink) codes.push("5");
361
- if (this.inverse) codes.push("7");
362
- if (this.hidden) codes.push("8");
363
- if (this.strikethrough) codes.push("9");
364
- if (this.fgColor) codes.push(this.fgColor);
365
- if (this.bgColor) codes.push(this.bgColor);
366
-
367
- if (codes.length === 0) return "";
368
- return `\x1b[${codes.join(";")}m`;
369
- }
370
-
371
- hasActiveCodes(): boolean {
372
- return (
373
- this.bold ||
374
- this.dim ||
375
- this.italic ||
376
- this.underline ||
377
- this.blink ||
378
- this.inverse ||
379
- this.hidden ||
380
- this.strikethrough ||
381
- this.fgColor !== null ||
382
- this.bgColor !== null
383
- );
384
- }
385
-
386
- /**
387
- * Get reset codes for attributes that need to be turned off at line end,
388
- * specifically underline which bleeds into padding.
389
- * Returns empty string if no problematic attributes are active.
390
- */
391
- getLineEndReset(): string {
392
- // Only underline causes visual bleeding into padding
393
- // Other attributes like colors don't visually bleed to padding
394
- if (this.underline) {
395
- return "\x1b[24m"; // Underline off only
396
- }
397
- return "";
398
- }
399
- }
400
-
401
- function updateTrackerFromText(text: string, tracker: AnsiCodeTracker): void {
402
- let i = 0;
403
- while (i < text.length) {
404
- const ansiResult = extractAnsiCode(text, i);
405
- if (ansiResult) {
406
- tracker.process(ansiResult.code);
407
- i += ansiResult.length;
408
- } else {
409
- i++;
410
- }
411
- }
412
- }
79
+ // ---------------------------------------------------------------------------
80
+ // Native text module wrappers
81
+ // ---------------------------------------------------------------------------
413
82
 
414
83
  /**
415
- * Split text into words while keeping ANSI codes attached.
84
+ * Calculate the visible width of a string in terminal columns.
85
+ * Delegates to the native Rust implementation.
416
86
  */
417
- function splitIntoTokensWithAnsi(text: string): string[] {
418
- const tokens: string[] = [];
419
- let current = "";
420
- let pendingAnsi = ""; // ANSI codes waiting to be attached to next visible content
421
- let inWhitespace = false;
422
- let i = 0;
423
-
424
- while (i < text.length) {
425
- const ansiResult = extractAnsiCode(text, i);
426
- if (ansiResult) {
427
- // Hold ANSI codes separately - they'll be attached to the next visible char
428
- pendingAnsi += ansiResult.code;
429
- i += ansiResult.length;
430
- continue;
431
- }
432
-
433
- const char = text[i];
434
- const charIsSpace = char === " ";
435
-
436
- if (charIsSpace !== inWhitespace && current) {
437
- // Switching between whitespace and non-whitespace, push current token
438
- tokens.push(current);
439
- current = "";
440
- }
441
-
442
- // Attach any pending ANSI codes to this visible character
443
- if (pendingAnsi) {
444
- current += pendingAnsi;
445
- pendingAnsi = "";
446
- }
447
-
448
- inWhitespace = charIsSpace;
449
- current += char;
450
- i++;
451
- }
452
-
453
- // Handle any remaining pending ANSI codes (attach to last token)
454
- if (pendingAnsi) {
455
- current += pendingAnsi;
456
- }
457
-
458
- if (current) {
459
- tokens.push(current);
460
- }
461
-
462
- return tokens;
87
+ export function visibleWidth(str: string): number {
88
+ return nativeVisibleWidth(str);
463
89
  }
464
90
 
465
91
  /**
466
92
  * Wrap text with ANSI codes preserved.
467
- *
468
- * ONLY does word wrapping - NO padding, NO background colors.
469
- * Returns lines where each line is <= width visible chars.
470
- * Active ANSI codes are preserved across line breaks.
93
+ * Delegates to the native Rust implementation.
471
94
  *
472
95
  * @param text - Text to wrap (may contain ANSI codes and newlines)
473
96
  * @param width - Maximum visible width per line
474
97
  * @returns Array of wrapped lines (NOT padded to width)
475
98
  */
476
99
  export function wrapTextWithAnsi(text: string, width: number): string[] {
477
- if (!text) {
478
- return [""];
479
- }
480
-
481
- // Handle newlines by processing each line separately
482
- // Track ANSI state across lines so styles carry over after literal newlines
483
- const inputLines = text.split("\n");
484
- const result: string[] = [];
485
- const tracker = new AnsiCodeTracker();
486
-
487
- for (const inputLine of inputLines) {
488
- // Prepend active ANSI codes from previous lines (except for first line)
489
- const prefix = result.length > 0 ? tracker.getActiveCodes() : "";
490
- result.push(...wrapSingleLine(prefix + inputLine, width));
491
- // Update tracker with codes from this line for next iteration
492
- updateTrackerFromText(inputLine, tracker);
493
- }
494
-
495
- return result.length > 0 ? result : [""];
496
- }
497
-
498
- function wrapSingleLine(line: string, width: number): string[] {
499
- if (!line) {
500
- return [""];
501
- }
502
-
503
- const visibleLength = visibleWidth(line);
504
- if (visibleLength <= width) {
505
- return [line];
506
- }
507
-
508
- const wrapped: string[] = [];
509
- const tracker = new AnsiCodeTracker();
510
- const tokens = splitIntoTokensWithAnsi(line);
511
-
512
- let currentLine = "";
513
- let currentVisibleLength = 0;
514
-
515
- for (const token of tokens) {
516
- const tokenVisibleLength = visibleWidth(token);
517
- const isWhitespace = token.trim() === "";
518
-
519
- // Token itself is too long - break it character by character
520
- if (tokenVisibleLength > width && !isWhitespace) {
521
- if (currentLine) {
522
- // Add specific reset for underline only (preserves background)
523
- const lineEndReset = tracker.getLineEndReset();
524
- if (lineEndReset) {
525
- currentLine += lineEndReset;
526
- }
527
- wrapped.push(currentLine);
528
- currentLine = "";
529
- currentVisibleLength = 0;
530
- }
531
-
532
- // Break long token - breakLongWord handles its own resets
533
- const broken = breakLongWord(token, width, tracker);
534
- wrapped.push(...broken.slice(0, -1));
535
- currentLine = broken[broken.length - 1];
536
- currentVisibleLength = visibleWidth(currentLine);
537
- continue;
538
- }
539
-
540
- // Check if adding this token would exceed width
541
- const totalNeeded = currentVisibleLength + tokenVisibleLength;
542
-
543
- if (totalNeeded > width && currentVisibleLength > 0) {
544
- // Trim trailing whitespace, then add underline reset (not full reset, to preserve background)
545
- let lineToWrap = currentLine.trimEnd();
546
- const lineEndReset = tracker.getLineEndReset();
547
- if (lineEndReset) {
548
- lineToWrap += lineEndReset;
549
- }
550
- wrapped.push(lineToWrap);
551
- if (isWhitespace) {
552
- // Don't start new line with whitespace
553
- currentLine = tracker.getActiveCodes();
554
- currentVisibleLength = 0;
555
- } else {
556
- currentLine = tracker.getActiveCodes() + token;
557
- currentVisibleLength = tokenVisibleLength;
558
- }
559
- } else {
560
- // Add to current line
561
- currentLine += token;
562
- currentVisibleLength += tokenVisibleLength;
563
- }
564
-
565
- updateTrackerFromText(token, tracker);
566
- }
567
-
568
- if (currentLine) {
569
- // No reset at end of final line - let caller handle it
570
- wrapped.push(currentLine);
571
- }
572
-
573
- // Trailing whitespace can cause lines to exceed the requested width
574
- return wrapped.length > 0 ? wrapped.map((line) => line.trimEnd()) : [""];
575
- }
576
-
577
- const PUNCTUATION_REGEX = /[(){}[\]<>.,;:'"!?+\-=*/\\|&%^$#@~`]/;
578
-
579
- /**
580
- * Check if a character is whitespace.
581
- */
582
- export function isWhitespaceChar(char: string): boolean {
583
- return /\s/.test(char);
584
- }
585
-
586
- /**
587
- * Check if a character is punctuation.
588
- */
589
- export function isPunctuationChar(char: string): boolean {
590
- return PUNCTUATION_REGEX.test(char);
591
- }
592
-
593
- function breakLongWord(word: string, width: number, tracker: AnsiCodeTracker): string[] {
594
- const lines: string[] = [];
595
- let currentLine = tracker.getActiveCodes();
596
- let currentWidth = 0;
597
-
598
- // First, separate ANSI codes from visible content
599
- // We need to handle ANSI codes specially since they're not graphemes
600
- let i = 0;
601
- const segments: Array<{ type: "ansi" | "grapheme"; value: string }> = [];
602
-
603
- while (i < word.length) {
604
- const ansiResult = extractAnsiCode(word, i);
605
- if (ansiResult) {
606
- segments.push({ type: "ansi", value: ansiResult.code });
607
- i += ansiResult.length;
608
- } else {
609
- // Find the next ANSI code or end of string
610
- let end = i;
611
- while (end < word.length) {
612
- const nextAnsi = extractAnsiCode(word, end);
613
- if (nextAnsi) break;
614
- end++;
615
- }
616
- // Segment this non-ANSI portion into graphemes
617
- const textPortion = word.slice(i, end);
618
- for (const seg of segmenter.segment(textPortion)) {
619
- segments.push({ type: "grapheme", value: seg.segment });
620
- }
621
- i = end;
622
- }
623
- }
624
-
625
- // Now process segments
626
- for (const seg of segments) {
627
- if (seg.type === "ansi") {
628
- currentLine += seg.value;
629
- tracker.process(seg.value);
630
- continue;
631
- }
632
-
633
- const grapheme = seg.value;
634
- // Skip empty graphemes to avoid issues with string-width calculation
635
- if (!grapheme) continue;
636
-
637
- const graphemeWidth = visibleWidth(grapheme);
638
-
639
- if (currentWidth + graphemeWidth > width) {
640
- // Add specific reset for underline only (preserves background)
641
- const lineEndReset = tracker.getLineEndReset();
642
- if (lineEndReset) {
643
- currentLine += lineEndReset;
644
- }
645
- lines.push(currentLine);
646
- currentLine = tracker.getActiveCodes();
647
- currentWidth = 0;
648
- }
649
-
650
- currentLine += grapheme;
651
- currentWidth += graphemeWidth;
652
- }
653
-
654
- if (currentLine) {
655
- // No reset at end of final segment - caller handles continuation
656
- lines.push(currentLine);
657
- }
658
-
659
- return lines.length > 0 ? lines : [""];
100
+ return nativeWrapTextWithAnsi(text, width);
660
101
  }
661
102
 
662
103
  /**
663
- * Apply background color to a line, padding to full width.
664
- *
665
- * @param line - Line of text (may contain ANSI codes)
666
- * @param width - Total width to pad to
667
- * @param bgFn - Background color function
668
- * @returns Line with background applied and padded to width
104
+ * Map an ellipsis string to the native EllipsisKind enum value.
669
105
  */
670
- export function applyBackgroundToLine(line: string, width: number, bgFn: (text: string) => string): string {
671
- // Calculate padding needed
672
- const visibleLen = visibleWidth(line);
673
- const paddingNeeded = Math.max(0, width - visibleLen);
674
- const padding = " ".repeat(paddingNeeded);
675
-
676
- // Apply background to content + padding
677
- const withPadding = line + padding;
678
- return bgFn(withPadding);
106
+ function ellipsisStringToKind(ellipsis: string): number {
107
+ if (ellipsis === "\u2026") return EllipsisKind.Unicode;
108
+ if (ellipsis === "..." || ellipsis === undefined) return EllipsisKind.Ascii;
109
+ if (ellipsis === "") return EllipsisKind.None;
110
+ // Default: "..." maps to Ascii
111
+ return EllipsisKind.Ascii;
679
112
  }
680
113
 
681
114
  /**
682
115
  * Truncate text to fit within a maximum visible width, adding ellipsis if needed.
683
116
  * Optionally pad with spaces to reach exactly maxWidth.
684
- * Properly handles ANSI escape codes (they don't count toward width).
117
+ * Delegates to the native Rust implementation.
685
118
  *
686
119
  * @param text - Text to truncate (may contain ANSI codes)
687
120
  * @param maxWidth - Maximum visible width
@@ -695,76 +128,7 @@ export function truncateToWidth(
695
128
  ellipsis: string = "...",
696
129
  pad: boolean = false,
697
130
  ): string {
698
- const textVisibleWidth = visibleWidth(text);
699
-
700
- if (textVisibleWidth <= maxWidth) {
701
- return pad ? text + " ".repeat(maxWidth - textVisibleWidth) : text;
702
- }
703
-
704
- const ellipsisWidth = visibleWidth(ellipsis);
705
- const targetWidth = maxWidth - ellipsisWidth;
706
-
707
- if (targetWidth <= 0) {
708
- return ellipsis.substring(0, maxWidth);
709
- }
710
-
711
- // Separate ANSI codes from visible content using grapheme segmentation
712
- let i = 0;
713
- const segments: Array<{ type: "ansi" | "grapheme"; value: string }> = [];
714
-
715
- while (i < text.length) {
716
- const ansiResult = extractAnsiCode(text, i);
717
- if (ansiResult) {
718
- segments.push({ type: "ansi", value: ansiResult.code });
719
- i += ansiResult.length;
720
- } else {
721
- // Find the next ANSI code or end of string
722
- let end = i;
723
- while (end < text.length) {
724
- const nextAnsi = extractAnsiCode(text, end);
725
- if (nextAnsi) break;
726
- end++;
727
- }
728
- // Segment this non-ANSI portion into graphemes
729
- const textPortion = text.slice(i, end);
730
- for (const seg of segmenter.segment(textPortion)) {
731
- segments.push({ type: "grapheme", value: seg.segment });
732
- }
733
- i = end;
734
- }
735
- }
736
-
737
- // Build truncated string from segments
738
- let result = "";
739
- let currentWidth = 0;
740
-
741
- for (const seg of segments) {
742
- if (seg.type === "ansi") {
743
- result += seg.value;
744
- continue;
745
- }
746
-
747
- const grapheme = seg.value;
748
- // Skip empty graphemes to avoid issues with string-width calculation
749
- if (!grapheme) continue;
750
-
751
- const graphemeWidth = visibleWidth(grapheme);
752
-
753
- if (currentWidth + graphemeWidth > targetWidth) {
754
- break;
755
- }
756
-
757
- result += grapheme;
758
- currentWidth += graphemeWidth;
759
- }
760
-
761
- // Add reset code before ellipsis to prevent styling leaking into it
762
- const truncated = `${result}\x1b[0m${ellipsis}`;
763
- if (pad) {
764
- const truncatedWidth = visibleWidth(truncated);
765
- return truncated + " ".repeat(Math.max(0, maxWidth - truncatedWidth));
766
- }
767
- return truncated;
131
+ return nativeTruncateToWidth(text, maxWidth, ellipsisStringToKind(ellipsis), pad);
768
132
  }
769
133
 
770
134
  /**
@@ -782,54 +146,12 @@ export function sliceWithWidth(
782
146
  length: number,
783
147
  strict = false,
784
148
  ): { text: string; width: number } {
785
- if (length <= 0) return { text: "", width: 0 };
786
- const endCol = startCol + length;
787
- let result = "",
788
- resultWidth = 0,
789
- currentCol = 0,
790
- i = 0,
791
- pendingAnsi = "";
792
-
793
- while (i < line.length) {
794
- const ansi = extractAnsiCode(line, i);
795
- if (ansi) {
796
- if (currentCol >= startCol && currentCol < endCol) result += ansi.code;
797
- else if (currentCol < startCol) pendingAnsi += ansi.code;
798
- i += ansi.length;
799
- continue;
800
- }
801
-
802
- let textEnd = i;
803
- while (textEnd < line.length && !extractAnsiCode(line, textEnd)) textEnd++;
804
-
805
- for (const { segment } of segmenter.segment(line.slice(i, textEnd))) {
806
- const w = graphemeWidth(segment);
807
- const inRange = currentCol >= startCol && currentCol < endCol;
808
- const fits = !strict || currentCol + w <= endCol;
809
- if (inRange && fits) {
810
- if (pendingAnsi) {
811
- result += pendingAnsi;
812
- pendingAnsi = "";
813
- }
814
- result += segment;
815
- resultWidth += w;
816
- }
817
- currentCol += w;
818
- if (currentCol >= endCol) break;
819
- }
820
- i = textEnd;
821
- if (currentCol >= endCol) break;
822
- }
823
- return { text: result, width: resultWidth };
149
+ return nativeSliceWithWidth(line, startCol, length, strict);
824
150
  }
825
151
 
826
- // Pooled tracker instance for extractSegments (avoids allocation per call)
827
- const pooledStyleTracker = new AnsiCodeTracker();
828
-
829
152
  /**
830
153
  * Extract "before" and "after" segments from a line in a single pass.
831
- * Used for overlay compositing where we need content before and after the overlay region.
832
- * Preserves styling from before the overlay that should affect content after it.
154
+ * Delegates to the native Rust implementation.
833
155
  */
834
156
  export function extractSegments(
835
157
  line: string,
@@ -838,68 +160,22 @@ export function extractSegments(
838
160
  afterLen: number,
839
161
  strictAfter = false,
840
162
  ): { before: string; beforeWidth: number; after: string; afterWidth: number } {
841
- let before = "",
842
- beforeWidth = 0,
843
- after = "",
844
- afterWidth = 0;
845
- let currentCol = 0,
846
- i = 0;
847
- let pendingAnsiBefore = "";
848
- let afterStarted = false;
849
- const afterEnd = afterStart + afterLen;
850
-
851
- // Track styling state so "after" inherits styling from before the overlay
852
- pooledStyleTracker.clear();
853
-
854
- while (i < line.length) {
855
- const ansi = extractAnsiCode(line, i);
856
- if (ansi) {
857
- // Track all SGR codes to know styling state at afterStart
858
- pooledStyleTracker.process(ansi.code);
859
- // Include ANSI codes in their respective segments
860
- if (currentCol < beforeEnd) {
861
- pendingAnsiBefore += ansi.code;
862
- } else if (currentCol >= afterStart && currentCol < afterEnd && afterStarted) {
863
- // Only include after we've started "after" (styling already prepended)
864
- after += ansi.code;
865
- }
866
- i += ansi.length;
867
- continue;
868
- }
869
-
870
- let textEnd = i;
871
- while (textEnd < line.length && !extractAnsiCode(line, textEnd)) textEnd++;
872
-
873
- for (const { segment } of segmenter.segment(line.slice(i, textEnd))) {
874
- const w = graphemeWidth(segment);
875
-
876
- if (currentCol < beforeEnd) {
877
- if (pendingAnsiBefore) {
878
- before += pendingAnsiBefore;
879
- pendingAnsiBefore = "";
880
- }
881
- before += segment;
882
- beforeWidth += w;
883
- } else if (currentCol >= afterStart && currentCol < afterEnd) {
884
- const fits = !strictAfter || currentCol + w <= afterEnd;
885
- if (fits) {
886
- // On first "after" grapheme, prepend inherited styling from before overlay
887
- if (!afterStarted) {
888
- after += pooledStyleTracker.getActiveCodes();
889
- afterStarted = true;
890
- }
891
- after += segment;
892
- afterWidth += w;
893
- }
894
- }
163
+ return nativeExtractSegments(line, beforeEnd, afterStart, afterLen, strictAfter);
164
+ }
895
165
 
896
- currentCol += w;
897
- // Early exit: done with "before" only, or done with both segments
898
- if (afterLen <= 0 ? currentCol >= beforeEnd : currentCol >= afterEnd) break;
899
- }
900
- i = textEnd;
901
- if (afterLen <= 0 ? currentCol >= beforeEnd : currentCol >= afterEnd) break;
902
- }
166
+ /**
167
+ * Apply background color to a line, padding to full width.
168
+ *
169
+ * @param line - Line of text (may contain ANSI codes)
170
+ * @param width - Total width to pad to
171
+ * @param bgFn - Background color function
172
+ * @returns Line with background applied and padded to width
173
+ */
174
+ export function applyBackgroundToLine(line: string, width: number, bgFn: (text: string) => string): string {
175
+ const visibleLen = visibleWidth(line);
176
+ const paddingNeeded = Math.max(0, width - visibleLen);
177
+ const padding = " ".repeat(paddingNeeded);
903
178
 
904
- return { before, beforeWidth, after, afterWidth };
179
+ const withPadding = line + padding;
180
+ return bgFn(withPadding);
905
181
  }