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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashline-read.js","sourceRoot":"","sources":["../../../src/core/tools/hashline-read.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hashline read tool — reads files with LINE#ID prefix on each line.\n *\n * Produces output like:\n * 1#QQ:function hello() {\n * 2#KX: return 42;\n * 3#NW:}\n *\n * These tags are used by the hashline_edit tool to address lines precisely.\n */\nimport type { AgentTool } from \"@gsd/pi-agent-core\";\nimport type { ImageContent, TextContent } from \"@gsd/pi-ai\";\nimport { type Static, Type } from \"@sinclair/typebox\";\nimport { constants } from \"fs\";\nimport { access as fsAccess, readFile as fsReadFile } from \"fs/promises\";\nimport { formatDimensionNote, resizeImage } from \"../../utils/image-resize.js\";\nimport { detectSupportedImageMimeTypeFromFile } from \"../../utils/mime.js\";\nimport { formatHashLines } from \"./hashline.js\";\nimport { resolveReadPath } from \"./path-utils.js\";\nimport { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, type TruncationResult, truncateHead } from \"./truncate.js\";\n\nconst readSchema = Type.Object({\n\tpath: Type.String({ description: \"Path to the file to read (relative or absolute)\" }),\n\toffset: Type.Optional(Type.Number({ description: \"Line number to start reading from (1-indexed)\" })),\n\tlimit: Type.Optional(Type.Number({ description: \"Maximum number of lines to read\" })),\n});\n\nexport type HashlineReadToolInput = Static<typeof readSchema>;\n\nexport interface HashlineReadToolDetails {\n\ttruncation?: TruncationResult;\n}\n\n/**\n * Pluggable operations for the hashline read tool.\n */\nexport interface HashlineReadOperations {\n\treadFile: (absolutePath: string) => Promise<Buffer>;\n\taccess: (absolutePath: string) => Promise<void>;\n\tdetectImageMimeType?: (absolutePath: string) => Promise<string | null | undefined>;\n}\n\nconst defaultReadOperations: HashlineReadOperations = {\n\treadFile: (path) => fsReadFile(path),\n\taccess: (path) => fsAccess(path, constants.R_OK),\n\tdetectImageMimeType: detectSupportedImageMimeTypeFromFile,\n};\n\nexport interface HashlineReadToolOptions {\n\tautoResizeImages?: boolean;\n\toperations?: HashlineReadOperations;\n}\n\nexport function createHashlineReadTool(cwd: string, options?: HashlineReadToolOptions): AgentTool<typeof readSchema> {\n\tconst autoResizeImages = options?.autoResizeImages ?? true;\n\tconst ops = options?.operations ?? defaultReadOperations;\n\n\treturn {\n\t\tname: \"read\",\n\t\tlabel: \"read\",\n\t\tdescription: `Read a file with LINE#ID hash anchors on each line. These anchors are used by hashline_edit for precise edits. Output format: LINENUM#HASH:CONTENT. Supports text files and images. For text files, output is truncated to ${DEFAULT_MAX_LINES} lines or ${DEFAULT_MAX_BYTES / 1024}KB. Use offset/limit for large files.`,\n\t\tparameters: readSchema,\n\t\texecute: async (\n\t\t\t_toolCallId: string,\n\t\t\t{ path, offset, limit }: { path: string; offset?: number; limit?: number },\n\t\t\tsignal?: AbortSignal,\n\t\t) => {\n\t\t\tconst absolutePath = resolveReadPath(path, cwd);\n\n\t\t\treturn new Promise<{ content: (TextContent | ImageContent)[]; details: HashlineReadToolDetails | undefined }>(\n\t\t\t\t(resolve, reject) => {\n\t\t\t\t\tif (signal?.aborted) {\n\t\t\t\t\t\treject(new Error(\"Operation aborted\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet aborted = false;\n\t\t\t\t\tconst onAbort = () => {\n\t\t\t\t\t\taborted = true;\n\t\t\t\t\t\treject(new Error(\"Operation aborted\"));\n\t\t\t\t\t};\n\t\t\t\t\tif (signal) {\n\t\t\t\t\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\t\t\t}\n\n\t\t\t\t\t(async () => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait ops.access(absolutePath);\n\n\t\t\t\t\t\t\tif (aborted) return;\n\n\t\t\t\t\t\t\tconst mimeType = ops.detectImageMimeType ? await ops.detectImageMimeType(absolutePath) : undefined;\n\n\t\t\t\t\t\t\tlet content: (TextContent | ImageContent)[];\n\t\t\t\t\t\t\tlet details: HashlineReadToolDetails | undefined;\n\n\t\t\t\t\t\t\tif (mimeType) {\n\t\t\t\t\t\t\t\t// Image handling (identical to standard read tool)\n\t\t\t\t\t\t\t\tconst buffer = await ops.readFile(absolutePath);\n\t\t\t\t\t\t\t\tconst base64 = buffer.toString(\"base64\");\n\n\t\t\t\t\t\t\t\tif (autoResizeImages) {\n\t\t\t\t\t\t\t\t\tconst resized = await resizeImage({ type: \"image\", data: base64, mimeType });\n\t\t\t\t\t\t\t\t\tconst dimensionNote = formatDimensionNote(resized);\n\t\t\t\t\t\t\t\t\tlet textNote = `Read image file [${resized.mimeType}]`;\n\t\t\t\t\t\t\t\t\tif (dimensionNote) {\n\t\t\t\t\t\t\t\t\t\ttextNote += `\\n${dimensionNote}`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcontent = [\n\t\t\t\t\t\t\t\t\t\t{ type: \"text\", text: textNote },\n\t\t\t\t\t\t\t\t\t\t{ type: \"image\", data: resized.data, mimeType: resized.mimeType },\n\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcontent = [\n\t\t\t\t\t\t\t\t\t\t{ type: \"text\", text: `Read image file [${mimeType}]` },\n\t\t\t\t\t\t\t\t\t\t{ type: \"image\", data: base64, mimeType },\n\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Text file — format with hashline prefixes\n\t\t\t\t\t\t\t\tconst buffer = await ops.readFile(absolutePath);\n\t\t\t\t\t\t\t\tconst textContent = buffer.toString(\"utf-8\");\n\t\t\t\t\t\t\t\tconst allLines = textContent.split(\"\\n\");\n\t\t\t\t\t\t\t\tconst totalFileLines = allLines.length;\n\n\t\t\t\t\t\t\t\tconst startLine = offset ? Math.max(0, offset - 1) : 0;\n\t\t\t\t\t\t\t\tconst startLineDisplay = startLine + 1;\n\n\t\t\t\t\t\t\t\tif (startLine >= allLines.length) {\n\t\t\t\t\t\t\t\t\tthrow new Error(`Offset ${offset} is beyond end of file (${allLines.length} lines total)`);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet selectedContent: string;\n\t\t\t\t\t\t\t\tlet userLimitedLines: number | undefined;\n\t\t\t\t\t\t\t\tif (limit !== undefined) {\n\t\t\t\t\t\t\t\t\tconst endLine = Math.min(startLine + limit, allLines.length);\n\t\t\t\t\t\t\t\t\tselectedContent = allLines.slice(startLine, endLine).join(\"\\n\");\n\t\t\t\t\t\t\t\t\tuserLimitedLines = endLine - startLine;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tselectedContent = allLines.slice(startLine).join(\"\\n\");\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Apply truncation\n\t\t\t\t\t\t\t\tconst truncation = truncateHead(selectedContent);\n\n\t\t\t\t\t\t\t\tlet outputText: string;\n\n\t\t\t\t\t\t\t\tif (truncation.firstLineExceedsLimit) {\n\t\t\t\t\t\t\t\t\tconst firstLineSize = formatSize(Buffer.byteLength(allLines[startLine], \"utf-8\"));\n\t\t\t\t\t\t\t\t\toutputText = `[Line ${startLineDisplay} is ${firstLineSize}, exceeds ${formatSize(DEFAULT_MAX_BYTES)} limit. Use bash: sed -n '${startLineDisplay}p' ${path} | head -c ${DEFAULT_MAX_BYTES}]`;\n\t\t\t\t\t\t\t\t\tdetails = { truncation };\n\t\t\t\t\t\t\t\t} else if (truncation.truncated) {\n\t\t\t\t\t\t\t\t\tconst endLineDisplay = startLineDisplay + truncation.outputLines - 1;\n\t\t\t\t\t\t\t\t\tconst nextOffset = endLineDisplay + 1;\n\n\t\t\t\t\t\t\t\t\t// Format with hashline prefixes\n\t\t\t\t\t\t\t\t\toutputText = formatHashLines(truncation.content, startLineDisplay);\n\n\t\t\t\t\t\t\t\t\tif (truncation.truncatedBy === \"lines\") {\n\t\t\t\t\t\t\t\t\t\toutputText += `\\n\\n[Showing lines ${startLineDisplay}-${endLineDisplay} of ${totalFileLines}. Use offset=${nextOffset} to continue.]`;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\toutputText += `\\n\\n[Showing lines ${startLineDisplay}-${endLineDisplay} of ${totalFileLines} (${formatSize(DEFAULT_MAX_BYTES)} limit). Use offset=${nextOffset} to continue.]`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdetails = { truncation };\n\t\t\t\t\t\t\t\t} else if (userLimitedLines !== undefined && startLine + userLimitedLines < allLines.length) {\n\t\t\t\t\t\t\t\t\tconst remaining = allLines.length - (startLine + userLimitedLines);\n\t\t\t\t\t\t\t\t\tconst nextOffset = startLine + userLimitedLines + 1;\n\n\t\t\t\t\t\t\t\t\toutputText = formatHashLines(truncation.content, startLineDisplay);\n\t\t\t\t\t\t\t\t\toutputText += `\\n\\n[${remaining} more lines in file. Use offset=${nextOffset} to continue.]`;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\toutputText = formatHashLines(truncation.content, startLineDisplay);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tcontent = [{ type: \"text\", text: outputText }];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (aborted) return;\n\n\t\t\t\t\t\t\tif (signal) signal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\t\tresolve({ content, details });\n\t\t\t\t\t\t} catch (error: any) {\n\t\t\t\t\t\t\tif (signal) signal.removeEventListener(\"abort\", onAbort);\n\t\t\t\t\t\t\tif (!aborted) {\n\t\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})();\n\t\t\t\t},\n\t\t\t);\n\t\t},\n\t};\n}\n\n/** Default hashline read tool using process.cwd() */\nexport const hashlineReadTool = createHashlineReadTool(process.cwd());\n"]}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Hashline edit mode — a line-addressable edit format using content-hash anchors.
3
+ *
4
+ * Each line in a file is identified by its 1-indexed line number and a short
5
+ * hash derived from the normalized line text (xxHash32, truncated to 2 chars
6
+ * from a custom nibble alphabet).
7
+ *
8
+ * The combined `LINE#ID` reference acts as both an address and a staleness check:
9
+ * if the file has changed since the caller last read it, hash mismatches are caught
10
+ * before any mutation occurs.
11
+ *
12
+ * Displayed format: `LINENUM#HASH:TEXT`
13
+ * Reference format: `"LINENUM#HASH"` (e.g. `"5#QQ"`)
14
+ *
15
+ * Adapted from Oh My Pi's hashline implementation for Node.js (no Bun dependency).
16
+ */
17
+ export type Anchor = {
18
+ line: number;
19
+ hash: string;
20
+ };
21
+ export type HashlineEdit = {
22
+ op: "replace";
23
+ pos: Anchor;
24
+ end?: Anchor;
25
+ lines: string[];
26
+ } | {
27
+ op: "append";
28
+ pos?: Anchor;
29
+ lines: string[];
30
+ } | {
31
+ op: "prepend";
32
+ pos?: Anchor;
33
+ lines: string[];
34
+ };
35
+ /**
36
+ * Compute a short hash of a single line.
37
+ *
38
+ * Uses xxHash32 on a trailing-whitespace-trimmed, CR-stripped line, truncated to 2 chars
39
+ * from the nibble alphabet. For lines containing no alphanumeric characters (only
40
+ * punctuation/symbols/whitespace), the line number is mixed in to reduce hash collisions.
41
+ */
42
+ export declare function computeLineHash(idx: number, line: string): string;
43
+ /**
44
+ * Formats a tag given the line number and text.
45
+ */
46
+ export declare function formatLineTag(line: number, text: string): string;
47
+ /**
48
+ * Format file text with hashline prefixes for display.
49
+ *
50
+ * Each line becomes `LINENUM#HASH:TEXT` where LINENUM is 1-indexed.
51
+ */
52
+ export declare function formatHashLines(text: string, startLine?: number): string;
53
+ /**
54
+ * Parse a line reference string like `"5#QQ"` into structured form.
55
+ *
56
+ * @throws Error if the format is invalid
57
+ */
58
+ export declare function parseTag(ref: string): Anchor;
59
+ export interface HashMismatch {
60
+ line: number;
61
+ expected: string;
62
+ actual: string;
63
+ }
64
+ /**
65
+ * Error thrown when one or more hashline references have stale hashes.
66
+ * Displays grep-style output with `>>>` markers on mismatched lines,
67
+ * showing the correct `LINE#ID` so the caller can fix all refs at once.
68
+ */
69
+ export declare class HashlineMismatchError extends Error {
70
+ readonly mismatches: HashMismatch[];
71
+ readonly fileLines: string[];
72
+ readonly remaps: ReadonlyMap<string, string>;
73
+ constructor(mismatches: HashMismatch[], fileLines: string[]);
74
+ static formatMessage(mismatches: HashMismatch[], fileLines: string[]): string;
75
+ }
76
+ /**
77
+ * Validate that a line reference points to an existing line with a matching hash.
78
+ */
79
+ export declare function validateLineRef(ref: Anchor, fileLines: string[]): void;
80
+ /**
81
+ * Strip hashline display prefixes and diff `+` markers from replacement lines.
82
+ *
83
+ * Models frequently copy the `LINE#ID` prefix from read output into their
84
+ * replacement content. This strips them heuristically before application.
85
+ */
86
+ export declare function stripNewLinePrefixes(lines: string[]): string[];
87
+ /**
88
+ * Parse edit content — handles string, array, or null input.
89
+ * Strips hashline prefixes and diff markers from model output.
90
+ */
91
+ export declare function hashlineParseText(edit: string[] | string | null): string[];
92
+ /**
93
+ * Apply an array of hashline edits to file content.
94
+ *
95
+ * Each edit operation identifies target lines directly (`replace`,
96
+ * `append`, `prepend`). Line references are resolved via parseTag
97
+ * and hashes validated before any mutation.
98
+ *
99
+ * Edits are sorted bottom-up (highest effective line first) so earlier
100
+ * splices don't invalidate later line numbers.
101
+ *
102
+ * @returns The modified content and the 1-indexed first changed line number
103
+ */
104
+ export declare function applyHashlineEdits(text: string, edits: HashlineEdit[]): {
105
+ lines: string;
106
+ firstChangedLine: number | undefined;
107
+ warnings?: string[];
108
+ noopEdits?: Array<{
109
+ editIndex: number;
110
+ loc: string;
111
+ current: string;
112
+ }>;
113
+ };
114
+ //# sourceMappingURL=hashline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashline.d.ts","sourceRoot":"","sources":["../../../src/core/tools/hashline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA6EH,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACpD,MAAM,MAAM,YAAY,GACrB;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7D;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAYpD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,MAAM,CAQnE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU5C;AAMD,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAID;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE5C,UAAU,EAAE,YAAY,EAAE,EAC1B,SAAS,EAAE,MAAM,EAAE;IAcpB,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;CA0C7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAQtE;AAYD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAqB9D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAO1E;AA2CD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,EAAE,GACnB;IACF,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE,CA8NA"}
@@ -0,0 +1,522 @@
1
+ /**
2
+ * Hashline edit mode — a line-addressable edit format using content-hash anchors.
3
+ *
4
+ * Each line in a file is identified by its 1-indexed line number and a short
5
+ * hash derived from the normalized line text (xxHash32, truncated to 2 chars
6
+ * from a custom nibble alphabet).
7
+ *
8
+ * The combined `LINE#ID` reference acts as both an address and a staleness check:
9
+ * if the file has changed since the caller last read it, hash mismatches are caught
10
+ * before any mutation occurs.
11
+ *
12
+ * Displayed format: `LINENUM#HASH:TEXT`
13
+ * Reference format: `"LINENUM#HASH"` (e.g. `"5#QQ"`)
14
+ *
15
+ * Adapted from Oh My Pi's hashline implementation for Node.js (no Bun dependency).
16
+ */
17
+ // ═══════════════════════════════════════════════════════════════════════════
18
+ // xxHash32 — pure JS implementation (no native dependencies)
19
+ // ═══════════════════════════════════════════════════════════════════════════
20
+ const PRIME32_1 = 0x9e3779b1;
21
+ const PRIME32_2 = 0x85ebca77;
22
+ const PRIME32_3 = 0xc2b2ae3d;
23
+ const PRIME32_4 = 0x27d4eb2f;
24
+ const PRIME32_5 = 0x165667b1;
25
+ function rotl32(val, bits) {
26
+ return ((val << bits) | (val >>> (32 - bits))) >>> 0;
27
+ }
28
+ function imul32(a, b) {
29
+ return Math.imul(a, b) >>> 0;
30
+ }
31
+ /**
32
+ * Pure JS xxHash32 operating on a UTF-8 encoded string.
33
+ * Matches Bun.hash.xxHash32(str, seed) behavior.
34
+ */
35
+ function xxHash32(input, seed) {
36
+ const buf = Buffer.from(input, "utf-8");
37
+ const len = buf.length;
38
+ let h32;
39
+ let i = 0;
40
+ if (len >= 16) {
41
+ let v1 = (seed + PRIME32_1 + PRIME32_2) >>> 0;
42
+ let v2 = (seed + PRIME32_2) >>> 0;
43
+ let v3 = (seed + 0) >>> 0;
44
+ let v4 = (seed - PRIME32_1) >>> 0;
45
+ while (i <= len - 16) {
46
+ v1 = (imul32(rotl32((v1 + imul32(buf.readUInt32LE(i), PRIME32_2)) >>> 0, 13), PRIME32_1)) >>> 0;
47
+ i += 4;
48
+ v2 = (imul32(rotl32((v2 + imul32(buf.readUInt32LE(i), PRIME32_2)) >>> 0, 13), PRIME32_1)) >>> 0;
49
+ i += 4;
50
+ v3 = (imul32(rotl32((v3 + imul32(buf.readUInt32LE(i), PRIME32_2)) >>> 0, 13), PRIME32_1)) >>> 0;
51
+ i += 4;
52
+ v4 = (imul32(rotl32((v4 + imul32(buf.readUInt32LE(i), PRIME32_2)) >>> 0, 13), PRIME32_1)) >>> 0;
53
+ i += 4;
54
+ }
55
+ h32 = (rotl32(v1, 1) + rotl32(v2, 7) + rotl32(v3, 12) + rotl32(v4, 18)) >>> 0;
56
+ }
57
+ else {
58
+ h32 = (seed + PRIME32_5) >>> 0;
59
+ }
60
+ h32 = (h32 + len) >>> 0;
61
+ while (i <= len - 4) {
62
+ h32 = (h32 + imul32(buf.readUInt32LE(i), PRIME32_3)) >>> 0;
63
+ h32 = imul32(rotl32(h32, 17), PRIME32_4);
64
+ i += 4;
65
+ }
66
+ while (i < len) {
67
+ h32 = (h32 + imul32(buf[i], PRIME32_5)) >>> 0;
68
+ h32 = imul32(rotl32(h32, 11), PRIME32_1);
69
+ i += 1;
70
+ }
71
+ h32 = imul32(h32 ^ (h32 >>> 15), PRIME32_2);
72
+ h32 = imul32(h32 ^ (h32 >>> 13), PRIME32_3);
73
+ h32 = (h32 ^ (h32 >>> 16)) >>> 0;
74
+ return h32;
75
+ }
76
+ const NIBBLE_STR = "ZPMQVRWSNKTXJBYH";
77
+ const DICT = Array.from({ length: 256 }, (_, i) => {
78
+ const h = i >>> 4;
79
+ const l = i & 0x0f;
80
+ return `${NIBBLE_STR[h]}${NIBBLE_STR[l]}`;
81
+ });
82
+ const RE_SIGNIFICANT = /[\p{L}\p{N}]/u;
83
+ /**
84
+ * Compute a short hash of a single line.
85
+ *
86
+ * Uses xxHash32 on a trailing-whitespace-trimmed, CR-stripped line, truncated to 2 chars
87
+ * from the nibble alphabet. For lines containing no alphanumeric characters (only
88
+ * punctuation/symbols/whitespace), the line number is mixed in to reduce hash collisions.
89
+ */
90
+ export function computeLineHash(idx, line) {
91
+ line = line.replace(/\r/g, "").trimEnd();
92
+ let seed = 0;
93
+ if (!RE_SIGNIFICANT.test(line)) {
94
+ seed = idx;
95
+ }
96
+ return DICT[xxHash32(line, seed) & 0xff];
97
+ }
98
+ /**
99
+ * Formats a tag given the line number and text.
100
+ */
101
+ export function formatLineTag(line, text) {
102
+ return `${line}#${computeLineHash(line, text)}`;
103
+ }
104
+ /**
105
+ * Format file text with hashline prefixes for display.
106
+ *
107
+ * Each line becomes `LINENUM#HASH:TEXT` where LINENUM is 1-indexed.
108
+ */
109
+ export function formatHashLines(text, startLine = 1) {
110
+ const lines = text.split("\n");
111
+ return lines
112
+ .map((line, i) => {
113
+ const num = startLine + i;
114
+ return `${formatLineTag(num, line)}:${line}`;
115
+ })
116
+ .join("\n");
117
+ }
118
+ /**
119
+ * Parse a line reference string like `"5#QQ"` into structured form.
120
+ *
121
+ * @throws Error if the format is invalid
122
+ */
123
+ export function parseTag(ref) {
124
+ const match = ref.match(/^\s*[>+-]*\s*(\d+)\s*#\s*([ZPMQVRWSNKTXJBYH]{2})/);
125
+ if (!match) {
126
+ throw new Error(`Invalid line reference "${ref}". Expected format "LINE#ID" (e.g. "5#QQ").`);
127
+ }
128
+ const line = Number.parseInt(match[1], 10);
129
+ if (line < 1) {
130
+ throw new Error(`Line number must be >= 1, got ${line} in "${ref}".`);
131
+ }
132
+ return { line, hash: match[2] };
133
+ }
134
+ const MISMATCH_CONTEXT = 2;
135
+ /**
136
+ * Error thrown when one or more hashline references have stale hashes.
137
+ * Displays grep-style output with `>>>` markers on mismatched lines,
138
+ * showing the correct `LINE#ID` so the caller can fix all refs at once.
139
+ */
140
+ export class HashlineMismatchError extends Error {
141
+ constructor(mismatches, fileLines) {
142
+ super(HashlineMismatchError.formatMessage(mismatches, fileLines));
143
+ this.name = "HashlineMismatchError";
144
+ this.mismatches = mismatches;
145
+ this.fileLines = fileLines;
146
+ const remaps = new Map();
147
+ for (const m of mismatches) {
148
+ const actual = computeLineHash(m.line, fileLines[m.line - 1]);
149
+ remaps.set(`${m.line}#${m.expected}`, `${m.line}#${actual}`);
150
+ }
151
+ this.remaps = remaps;
152
+ }
153
+ static formatMessage(mismatches, fileLines) {
154
+ const mismatchSet = new Map();
155
+ for (const m of mismatches) {
156
+ mismatchSet.set(m.line, m);
157
+ }
158
+ const displayLines = new Set();
159
+ for (const m of mismatches) {
160
+ const lo = Math.max(1, m.line - MISMATCH_CONTEXT);
161
+ const hi = Math.min(fileLines.length, m.line + MISMATCH_CONTEXT);
162
+ for (let i = lo; i <= hi; i++) {
163
+ displayLines.add(i);
164
+ }
165
+ }
166
+ const sorted = [...displayLines].sort((a, b) => a - b);
167
+ const lines = [];
168
+ lines.push(`${mismatches.length} line${mismatches.length > 1 ? "s have" : " has"} changed since last read. Use the updated LINE#ID references shown below (>>> marks changed lines).`);
169
+ lines.push("");
170
+ let prevLine = -1;
171
+ for (const lineNum of sorted) {
172
+ if (prevLine !== -1 && lineNum > prevLine + 1) {
173
+ lines.push(" ...");
174
+ }
175
+ prevLine = lineNum;
176
+ const text = fileLines[lineNum - 1];
177
+ const hash = computeLineHash(lineNum, text);
178
+ const prefix = `${lineNum}#${hash}`;
179
+ if (mismatchSet.has(lineNum)) {
180
+ lines.push(`>>> ${prefix}:${text}`);
181
+ }
182
+ else {
183
+ lines.push(` ${prefix}:${text}`);
184
+ }
185
+ }
186
+ return lines.join("\n");
187
+ }
188
+ }
189
+ /**
190
+ * Validate that a line reference points to an existing line with a matching hash.
191
+ */
192
+ export function validateLineRef(ref, fileLines) {
193
+ if (ref.line < 1 || ref.line > fileLines.length) {
194
+ throw new Error(`Line ${ref.line} does not exist (file has ${fileLines.length} lines)`);
195
+ }
196
+ const actualHash = computeLineHash(ref.line, fileLines[ref.line - 1]);
197
+ if (actualHash !== ref.hash) {
198
+ throw new HashlineMismatchError([{ line: ref.line, expected: ref.hash, actual: actualHash }], fileLines);
199
+ }
200
+ }
201
+ // ═══════════════════════════════════════════════════════════════════════════
202
+ // Prefix Stripping
203
+ // ═══════════════════════════════════════════════════════════════════════════
204
+ /** Pattern matching hashline display format prefixes: `LINE#ID:CONTENT` and `#ID:CONTENT` */
205
+ const HASHLINE_PREFIX_RE = /^\s*(?:>>>|>>)?\s*(?:\d+\s*#\s*|#\s*)[ZPMQVRWSNKTXJBYH]{2}:/;
206
+ /** Pattern matching a unified-diff added-line `+` prefix (but not `++`). */
207
+ const DIFF_PLUS_RE = /^[+](?![+])/;
208
+ /**
209
+ * Strip hashline display prefixes and diff `+` markers from replacement lines.
210
+ *
211
+ * Models frequently copy the `LINE#ID` prefix from read output into their
212
+ * replacement content. This strips them heuristically before application.
213
+ */
214
+ export function stripNewLinePrefixes(lines) {
215
+ let hashPrefixCount = 0;
216
+ let diffPlusCount = 0;
217
+ let nonEmpty = 0;
218
+ for (const l of lines) {
219
+ if (l.length === 0)
220
+ continue;
221
+ nonEmpty++;
222
+ if (HASHLINE_PREFIX_RE.test(l))
223
+ hashPrefixCount++;
224
+ if (DIFF_PLUS_RE.test(l))
225
+ diffPlusCount++;
226
+ }
227
+ if (nonEmpty === 0)
228
+ return lines;
229
+ const stripHash = hashPrefixCount > 0 && hashPrefixCount === nonEmpty;
230
+ const stripPlus = !stripHash && diffPlusCount > 0 && diffPlusCount >= nonEmpty * 0.5;
231
+ if (!stripHash && !stripPlus)
232
+ return lines;
233
+ return lines.map(l => {
234
+ if (stripHash)
235
+ return l.replace(HASHLINE_PREFIX_RE, "");
236
+ if (stripPlus)
237
+ return l.replace(DIFF_PLUS_RE, "");
238
+ return l;
239
+ });
240
+ }
241
+ /**
242
+ * Parse edit content — handles string, array, or null input.
243
+ * Strips hashline prefixes and diff markers from model output.
244
+ */
245
+ export function hashlineParseText(edit) {
246
+ if (edit === null)
247
+ return [];
248
+ if (typeof edit === "string") {
249
+ const normalizedEdit = edit.endsWith("\n") ? edit.slice(0, -1) : edit;
250
+ edit = normalizedEdit.replaceAll("\r", "").split("\n");
251
+ }
252
+ return stripNewLinePrefixes(edit);
253
+ }
254
+ // ═══════════════════════════════════════════════════════════════════════════
255
+ // Auto-correction Heuristics
256
+ // ═══════════════════════════════════════════════════════════════════════════
257
+ function maybeAutocorrectEscapedTabIndentation(edits, warnings) {
258
+ for (const edit of edits) {
259
+ if (edit.lines.length === 0)
260
+ continue;
261
+ const hasEscapedTabs = edit.lines.some(line => line.includes("\\t"));
262
+ if (!hasEscapedTabs)
263
+ continue;
264
+ const hasRealTabs = edit.lines.some(line => line.includes("\t"));
265
+ if (hasRealTabs)
266
+ continue;
267
+ let correctedCount = 0;
268
+ const corrected = edit.lines.map(line => line.replace(/^((?:\\t)+)/, escaped => {
269
+ correctedCount += escaped.length / 2;
270
+ return "\t".repeat(escaped.length / 2);
271
+ }));
272
+ if (correctedCount === 0)
273
+ continue;
274
+ edit.lines = corrected;
275
+ warnings.push(`Auto-corrected escaped tab indentation in edit: converted leading \\t sequence(s) to real tab characters`);
276
+ }
277
+ }
278
+ const MIN_AUTOCORRECT_LENGTH = 2;
279
+ function shouldAutocorrect(line, otherLine) {
280
+ if (!line || line !== otherLine)
281
+ return false;
282
+ line = line.trim();
283
+ if (line.length < MIN_AUTOCORRECT_LENGTH) {
284
+ return line.endsWith("}") || line.endsWith(")");
285
+ }
286
+ return true;
287
+ }
288
+ // ═══════════════════════════════════════════════════════════════════════════
289
+ // Edit Application
290
+ // ═══════════════════════════════════════════════════════════════════════════
291
+ /**
292
+ * Apply an array of hashline edits to file content.
293
+ *
294
+ * Each edit operation identifies target lines directly (`replace`,
295
+ * `append`, `prepend`). Line references are resolved via parseTag
296
+ * and hashes validated before any mutation.
297
+ *
298
+ * Edits are sorted bottom-up (highest effective line first) so earlier
299
+ * splices don't invalidate later line numbers.
300
+ *
301
+ * @returns The modified content and the 1-indexed first changed line number
302
+ */
303
+ export function applyHashlineEdits(text, edits) {
304
+ if (edits.length === 0) {
305
+ return { lines: text, firstChangedLine: undefined };
306
+ }
307
+ const fileLines = text.split("\n");
308
+ const originalFileLines = [...fileLines];
309
+ let firstChangedLine;
310
+ const noopEdits = [];
311
+ const warnings = [];
312
+ // Pre-validate: collect all hash mismatches before mutating
313
+ const mismatches = [];
314
+ function validateRef(ref) {
315
+ if (ref.line < 1 || ref.line > fileLines.length) {
316
+ throw new Error(`Line ${ref.line} does not exist (file has ${fileLines.length} lines)`);
317
+ }
318
+ const actualHash = computeLineHash(ref.line, fileLines[ref.line - 1]);
319
+ if (actualHash === ref.hash) {
320
+ return true;
321
+ }
322
+ mismatches.push({ line: ref.line, expected: ref.hash, actual: actualHash });
323
+ return false;
324
+ }
325
+ for (const edit of edits) {
326
+ switch (edit.op) {
327
+ case "replace": {
328
+ if (edit.end) {
329
+ const startValid = validateRef(edit.pos);
330
+ const endValid = validateRef(edit.end);
331
+ if (!startValid || !endValid)
332
+ continue;
333
+ if (edit.pos.line > edit.end.line) {
334
+ throw new Error(`Range start line ${edit.pos.line} must be <= end line ${edit.end.line}`);
335
+ }
336
+ }
337
+ else {
338
+ if (!validateRef(edit.pos))
339
+ continue;
340
+ }
341
+ break;
342
+ }
343
+ case "append": {
344
+ if (edit.pos && !validateRef(edit.pos))
345
+ continue;
346
+ if (edit.lines.length === 0) {
347
+ edit.lines = [""];
348
+ }
349
+ break;
350
+ }
351
+ case "prepend": {
352
+ if (edit.pos && !validateRef(edit.pos))
353
+ continue;
354
+ if (edit.lines.length === 0) {
355
+ edit.lines = [""];
356
+ }
357
+ break;
358
+ }
359
+ }
360
+ }
361
+ if (mismatches.length > 0) {
362
+ throw new HashlineMismatchError(mismatches, fileLines);
363
+ }
364
+ maybeAutocorrectEscapedTabIndentation(edits, warnings);
365
+ // Deduplicate identical edits targeting the same line(s)
366
+ const seenEditKeys = new Map();
367
+ const dedupIndices = new Set();
368
+ for (let i = 0; i < edits.length; i++) {
369
+ const edit = edits[i];
370
+ let lineKey;
371
+ switch (edit.op) {
372
+ case "replace":
373
+ lineKey = edit.end ? `r:${edit.pos.line}:${edit.end.line}` : `s:${edit.pos.line}`;
374
+ break;
375
+ case "append":
376
+ lineKey = edit.pos ? `i:${edit.pos.line}` : "ieof";
377
+ break;
378
+ case "prepend":
379
+ lineKey = edit.pos ? `ib:${edit.pos.line}` : "ibef";
380
+ break;
381
+ }
382
+ const dstKey = `${lineKey}:${edit.lines.join("\n")}`;
383
+ if (seenEditKeys.has(dstKey)) {
384
+ dedupIndices.add(i);
385
+ }
386
+ else {
387
+ seenEditKeys.set(dstKey, i);
388
+ }
389
+ }
390
+ if (dedupIndices.size > 0) {
391
+ for (let i = edits.length - 1; i >= 0; i--) {
392
+ if (dedupIndices.has(i))
393
+ edits.splice(i, 1);
394
+ }
395
+ }
396
+ // Compute sort key (descending) — bottom-up application
397
+ const annotated = edits.map((edit, idx) => {
398
+ let sortLine;
399
+ let precedence;
400
+ switch (edit.op) {
401
+ case "replace":
402
+ sortLine = edit.end ? edit.end.line : edit.pos.line;
403
+ precedence = 0;
404
+ break;
405
+ case "append":
406
+ sortLine = edit.pos ? edit.pos.line : fileLines.length + 1;
407
+ precedence = 1;
408
+ break;
409
+ case "prepend":
410
+ sortLine = edit.pos ? edit.pos.line : 0;
411
+ precedence = 2;
412
+ break;
413
+ }
414
+ return { edit, idx, sortLine, precedence };
415
+ });
416
+ annotated.sort((a, b) => b.sortLine - a.sortLine || a.precedence - b.precedence || a.idx - b.idx);
417
+ function trackFirstChanged(line) {
418
+ if (firstChangedLine === undefined || line < firstChangedLine) {
419
+ firstChangedLine = line;
420
+ }
421
+ }
422
+ // Apply edits bottom-up
423
+ for (const { edit, idx } of annotated) {
424
+ switch (edit.op) {
425
+ case "replace": {
426
+ if (!edit.end) {
427
+ const origLines = originalFileLines.slice(edit.pos.line - 1, edit.pos.line);
428
+ const newLines = edit.lines;
429
+ if (origLines.length === newLines.length && origLines.every((line, i) => line === newLines[i])) {
430
+ noopEdits.push({
431
+ editIndex: idx,
432
+ loc: `${edit.pos.line}#${edit.pos.hash}`,
433
+ current: origLines.join("\n"),
434
+ });
435
+ break;
436
+ }
437
+ fileLines.splice(edit.pos.line - 1, 1, ...newLines);
438
+ trackFirstChanged(edit.pos.line);
439
+ }
440
+ else {
441
+ const count = edit.end.line - edit.pos.line + 1;
442
+ const newLines = [...edit.lines];
443
+ const trailingReplacementLine = newLines[newLines.length - 1]?.trimEnd();
444
+ const nextSurvivingLine = fileLines[edit.end.line]?.trimEnd();
445
+ if (shouldAutocorrect(trailingReplacementLine, nextSurvivingLine) &&
446
+ fileLines[edit.end.line - 1]?.trimEnd() !== trailingReplacementLine) {
447
+ newLines.pop();
448
+ warnings.push(`Auto-corrected range replace ${edit.pos.line}#${edit.pos.hash}-${edit.end.line}#${edit.end.hash}: removed trailing replacement line "${trailingReplacementLine}" that duplicated next surviving line`);
449
+ }
450
+ const leadingReplacementLine = newLines[0]?.trimEnd();
451
+ const prevSurvivingLine = fileLines[edit.pos.line - 2]?.trimEnd();
452
+ if (shouldAutocorrect(leadingReplacementLine, prevSurvivingLine) &&
453
+ fileLines[edit.pos.line - 1]?.trimEnd() !== leadingReplacementLine) {
454
+ newLines.shift();
455
+ warnings.push(`Auto-corrected range replace ${edit.pos.line}#${edit.pos.hash}-${edit.end.line}#${edit.end.hash}: removed leading replacement line "${leadingReplacementLine}" that duplicated preceding surviving line`);
456
+ }
457
+ fileLines.splice(edit.pos.line - 1, count, ...newLines);
458
+ trackFirstChanged(edit.pos.line);
459
+ }
460
+ break;
461
+ }
462
+ case "append": {
463
+ const inserted = edit.lines;
464
+ if (inserted.length === 0) {
465
+ noopEdits.push({
466
+ editIndex: idx,
467
+ loc: edit.pos ? `${edit.pos.line}#${edit.pos.hash}` : "EOF",
468
+ current: edit.pos ? originalFileLines[edit.pos.line - 1] : "",
469
+ });
470
+ break;
471
+ }
472
+ if (edit.pos) {
473
+ fileLines.splice(edit.pos.line, 0, ...inserted);
474
+ trackFirstChanged(edit.pos.line + 1);
475
+ }
476
+ else {
477
+ if (fileLines.length === 1 && fileLines[0] === "") {
478
+ fileLines.splice(0, 1, ...inserted);
479
+ trackFirstChanged(1);
480
+ }
481
+ else {
482
+ fileLines.splice(fileLines.length, 0, ...inserted);
483
+ trackFirstChanged(fileLines.length - inserted.length + 1);
484
+ }
485
+ }
486
+ break;
487
+ }
488
+ case "prepend": {
489
+ const inserted = edit.lines;
490
+ if (inserted.length === 0) {
491
+ noopEdits.push({
492
+ editIndex: idx,
493
+ loc: edit.pos ? `${edit.pos.line}#${edit.pos.hash}` : "BOF",
494
+ current: edit.pos ? originalFileLines[edit.pos.line - 1] : "",
495
+ });
496
+ break;
497
+ }
498
+ if (edit.pos) {
499
+ fileLines.splice(edit.pos.line - 1, 0, ...inserted);
500
+ trackFirstChanged(edit.pos.line);
501
+ }
502
+ else {
503
+ if (fileLines.length === 1 && fileLines[0] === "") {
504
+ fileLines.splice(0, 1, ...inserted);
505
+ }
506
+ else {
507
+ fileLines.splice(0, 0, ...inserted);
508
+ }
509
+ trackFirstChanged(1);
510
+ }
511
+ break;
512
+ }
513
+ }
514
+ }
515
+ return {
516
+ lines: fileLines.join("\n"),
517
+ firstChangedLine,
518
+ ...(warnings.length > 0 ? { warnings } : {}),
519
+ ...(noopEdits.length > 0 ? { noopEdits } : {}),
520
+ };
521
+ }
522
+ //# sourceMappingURL=hashline.js.map