gsd-pi 2.9.0 → 2.10.0

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 (1016) hide show
  1. package/node_modules/@gsd/native/package.json +59 -0
  2. package/node_modules/@gsd/native/src/__tests__/clipboard.test.mjs +79 -0
  3. package/node_modules/@gsd/native/src/__tests__/fd.test.mjs +164 -0
  4. package/node_modules/@gsd/native/src/__tests__/glob.test.mjs +237 -0
  5. package/node_modules/@gsd/native/src/__tests__/grep.test.mjs +162 -0
  6. package/node_modules/@gsd/native/src/__tests__/highlight.test.mjs +156 -0
  7. package/node_modules/@gsd/native/src/__tests__/html.test.mjs +98 -0
  8. package/node_modules/@gsd/native/src/__tests__/image.test.mjs +137 -0
  9. package/node_modules/@gsd/native/src/__tests__/ps.test.mjs +109 -0
  10. package/node_modules/@gsd/native/src/__tests__/text.test.mjs +262 -0
  11. package/node_modules/@gsd/native/src/ast/index.ts +12 -0
  12. package/node_modules/@gsd/native/src/ast/types.ts +75 -0
  13. package/node_modules/@gsd/native/src/clipboard/index.ts +40 -0
  14. package/node_modules/@gsd/native/src/clipboard/types.ts +7 -0
  15. package/node_modules/@gsd/native/src/fd/index.ts +35 -0
  16. package/node_modules/@gsd/native/src/fd/types.ts +31 -0
  17. package/node_modules/@gsd/native/src/glob/index.ts +44 -0
  18. package/node_modules/@gsd/native/src/glob/types.ts +53 -0
  19. package/node_modules/@gsd/native/src/grep/index.ts +48 -0
  20. package/node_modules/@gsd/native/src/grep/types.ts +105 -0
  21. package/node_modules/@gsd/native/src/highlight/index.ts +44 -0
  22. package/node_modules/@gsd/native/src/highlight/types.ts +25 -0
  23. package/node_modules/@gsd/native/src/html/index.ts +24 -0
  24. package/node_modules/@gsd/native/src/html/types.ts +7 -0
  25. package/node_modules/@gsd/native/src/image/index.ts +28 -0
  26. package/node_modules/@gsd/native/src/image/types.ts +41 -0
  27. package/node_modules/@gsd/native/src/index.ts +88 -0
  28. package/node_modules/@gsd/native/src/native.ts +94 -0
  29. package/node_modules/@gsd/native/src/ps/index.ts +52 -0
  30. package/node_modules/@gsd/native/src/ps/types.ts +5 -0
  31. package/node_modules/@gsd/native/src/text/index.ts +125 -0
  32. package/node_modules/@gsd/native/src/text/types.ts +29 -0
  33. package/node_modules/@gsd/native/src/ttsr/index.ts +39 -0
  34. package/node_modules/@gsd/native/src/ttsr/types.ts +10 -0
  35. package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/defaults.json +456 -0
  36. package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lsp.md +33 -0
  37. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.d.ts +1 -1
  38. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  39. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.js +12 -77
  40. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  41. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.d.ts +60 -0
  42. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.d.ts.map +1 -0
  43. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.js +247 -0
  44. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-edit.js.map +1 -0
  45. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.d.ts +43 -0
  46. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.d.ts.map +1 -0
  47. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.js +146 -0
  48. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline-read.js.map +1 -0
  49. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.d.ts +114 -0
  50. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.d.ts.map +1 -0
  51. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.js +522 -0
  52. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.js.map +1 -0
  53. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.d.ts +2 -0
  54. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.d.ts.map +1 -0
  55. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.js +376 -0
  56. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/hashline.test.js.map +1 -0
  57. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.d.ts +25 -0
  58. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
  59. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.js +23 -0
  60. package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.js.map +1 -1
  61. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  62. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +6 -3
  63. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  64. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +0 -1
  65. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  66. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.js +8 -9
  67. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  68. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  69. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/theme/theme.js +25 -40
  70. package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  71. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-image.d.ts.map +1 -1
  72. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-image.js +17 -21
  73. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-image.js.map +1 -1
  74. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.d.ts +7 -6
  75. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.d.ts.map +1 -1
  76. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.js +7 -13
  77. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard-native.js.map +1 -1
  78. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard.d.ts.map +1 -1
  79. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard.js +3 -56
  80. package/node_modules/@gsd/pi-coding-agent/dist/utils/clipboard.js.map +1 -1
  81. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-convert.d.ts.map +1 -1
  82. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-convert.js +7 -17
  83. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-convert.js.map +1 -1
  84. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.d.ts +1 -2
  85. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
  86. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.js +21 -29
  87. package/node_modules/@gsd/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
  88. package/node_modules/@gsd/pi-coding-agent/package.json +2 -5
  89. package/node_modules/@gsd/pi-coding-agent/src/core/tools/find.ts +13 -88
  90. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline-edit.ts +318 -0
  91. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline-read.ts +196 -0
  92. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline.test.ts +456 -0
  93. package/node_modules/@gsd/pi-coding-agent/src/core/tools/hashline.ts +594 -0
  94. package/node_modules/@gsd/pi-coding-agent/src/core/tools/index.ts +53 -0
  95. package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +5 -3
  96. package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/interactive-mode.ts +7 -10
  97. package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/theme/theme.ts +26 -42
  98. package/node_modules/@gsd/pi-coding-agent/src/utils/clipboard-image.ts +17 -24
  99. package/node_modules/@gsd/pi-coding-agent/src/utils/clipboard-native.ts +11 -21
  100. package/node_modules/@gsd/pi-coding-agent/src/utils/clipboard.ts +3 -51
  101. package/node_modules/@gsd/pi-coding-agent/src/utils/image-convert.ts +7 -17
  102. package/node_modules/@gsd/pi-coding-agent/src/utils/image-resize.ts +28 -34
  103. package/node_modules/@gsd/pi-tui/dist/autocomplete.d.ts +1 -3
  104. package/node_modules/@gsd/pi-tui/dist/autocomplete.d.ts.map +1 -1
  105. package/node_modules/@gsd/pi-tui/dist/autocomplete.js +16 -95
  106. package/node_modules/@gsd/pi-tui/dist/autocomplete.js.map +1 -1
  107. package/node_modules/@gsd/pi-tui/dist/components/image.d.ts +7 -0
  108. package/node_modules/@gsd/pi-tui/dist/components/image.d.ts.map +1 -1
  109. package/node_modules/@gsd/pi-tui/dist/components/image.js +20 -1
  110. package/node_modules/@gsd/pi-tui/dist/components/image.js.map +1 -1
  111. package/node_modules/@gsd/pi-tui/dist/index.d.ts +1 -1
  112. package/node_modules/@gsd/pi-tui/dist/index.d.ts.map +1 -1
  113. package/node_modules/@gsd/pi-tui/dist/index.js +1 -1
  114. package/node_modules/@gsd/pi-tui/dist/index.js.map +1 -1
  115. package/node_modules/@gsd/pi-tui/dist/terminal-image.d.ts +5 -5
  116. package/node_modules/@gsd/pi-tui/dist/terminal-image.d.ts.map +1 -1
  117. package/node_modules/@gsd/pi-tui/dist/terminal-image.js +9 -120
  118. package/node_modules/@gsd/pi-tui/dist/terminal-image.js.map +1 -1
  119. package/node_modules/@gsd/pi-tui/dist/utils.d.ts +23 -26
  120. package/node_modules/@gsd/pi-tui/dist/utils.d.ts.map +1 -1
  121. package/node_modules/@gsd/pi-tui/dist/utils.js +47 -716
  122. package/node_modules/@gsd/pi-tui/dist/utils.js.map +1 -1
  123. package/node_modules/@gsd/pi-tui/package.json +1 -0
  124. package/node_modules/@gsd/pi-tui/src/autocomplete.ts +17 -112
  125. package/node_modules/@gsd/pi-tui/src/components/image.ts +23 -1
  126. package/node_modules/@gsd/pi-tui/src/index.ts +0 -4
  127. package/node_modules/@gsd/pi-tui/src/terminal-image.ts +9 -135
  128. package/node_modules/@gsd/pi-tui/src/utils.ts +51 -775
  129. package/package.json +4 -1
  130. package/packages/native/package.json +59 -0
  131. package/packages/native/src/__tests__/clipboard.test.mjs +79 -0
  132. package/packages/native/src/__tests__/fd.test.mjs +164 -0
  133. package/packages/native/src/__tests__/glob.test.mjs +237 -0
  134. package/packages/native/src/__tests__/grep.test.mjs +162 -0
  135. package/packages/native/src/__tests__/highlight.test.mjs +156 -0
  136. package/packages/native/src/__tests__/html.test.mjs +98 -0
  137. package/packages/native/src/__tests__/image.test.mjs +137 -0
  138. package/packages/native/src/__tests__/ps.test.mjs +109 -0
  139. package/packages/native/src/__tests__/text.test.mjs +262 -0
  140. package/packages/native/src/ast/index.ts +12 -0
  141. package/packages/native/src/ast/types.ts +75 -0
  142. package/packages/native/src/clipboard/index.ts +40 -0
  143. package/packages/native/src/clipboard/types.ts +7 -0
  144. package/packages/native/src/fd/index.ts +35 -0
  145. package/packages/native/src/fd/types.ts +31 -0
  146. package/packages/native/src/glob/index.ts +44 -0
  147. package/packages/native/src/glob/types.ts +53 -0
  148. package/packages/native/src/grep/index.ts +48 -0
  149. package/packages/native/src/grep/types.ts +105 -0
  150. package/packages/native/src/highlight/index.ts +44 -0
  151. package/packages/native/src/highlight/types.ts +25 -0
  152. package/packages/native/src/html/index.ts +24 -0
  153. package/packages/native/src/html/types.ts +7 -0
  154. package/packages/native/src/image/index.ts +28 -0
  155. package/packages/native/src/image/types.ts +41 -0
  156. package/packages/native/src/index.ts +88 -0
  157. package/packages/native/src/native.ts +94 -0
  158. package/packages/native/src/ps/index.ts +52 -0
  159. package/packages/native/src/ps/types.ts +5 -0
  160. package/packages/native/src/text/index.ts +125 -0
  161. package/packages/native/src/text/types.ts +29 -0
  162. package/packages/native/src/ttsr/index.ts +39 -0
  163. package/packages/native/src/ttsr/types.ts +10 -0
  164. package/packages/native/tsconfig.json +8 -0
  165. package/packages/pi-coding-agent/dist/core/lsp/defaults.json +456 -0
  166. package/packages/pi-coding-agent/dist/core/lsp/lsp.md +33 -0
  167. package/packages/pi-coding-agent/dist/core/tools/find.d.ts +1 -1
  168. package/packages/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  169. package/packages/pi-coding-agent/dist/core/tools/find.js +12 -77
  170. package/packages/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  171. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.d.ts +60 -0
  172. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.d.ts.map +1 -0
  173. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.js +247 -0
  174. package/packages/pi-coding-agent/dist/core/tools/hashline-edit.js.map +1 -0
  175. package/packages/pi-coding-agent/dist/core/tools/hashline-read.d.ts +43 -0
  176. package/packages/pi-coding-agent/dist/core/tools/hashline-read.d.ts.map +1 -0
  177. package/packages/pi-coding-agent/dist/core/tools/hashline-read.js +146 -0
  178. package/packages/pi-coding-agent/dist/core/tools/hashline-read.js.map +1 -0
  179. package/packages/pi-coding-agent/dist/core/tools/hashline.d.ts +114 -0
  180. package/packages/pi-coding-agent/dist/core/tools/hashline.d.ts.map +1 -0
  181. package/packages/pi-coding-agent/dist/core/tools/hashline.js +522 -0
  182. package/packages/pi-coding-agent/dist/core/tools/hashline.js.map +1 -0
  183. package/packages/pi-coding-agent/dist/core/tools/hashline.test.d.ts +2 -0
  184. package/packages/pi-coding-agent/dist/core/tools/hashline.test.d.ts.map +1 -0
  185. package/packages/pi-coding-agent/dist/core/tools/hashline.test.js +376 -0
  186. package/packages/pi-coding-agent/dist/core/tools/hashline.test.js.map +1 -0
  187. package/packages/pi-coding-agent/dist/core/tools/index.d.ts +25 -0
  188. package/packages/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
  189. package/packages/pi-coding-agent/dist/core/tools/index.js +23 -0
  190. package/packages/pi-coding-agent/dist/core/tools/index.js.map +1 -1
  191. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  192. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +6 -3
  193. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  194. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +0 -1
  195. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  196. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +8 -9
  197. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  198. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  199. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js +25 -40
  200. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  201. package/packages/pi-coding-agent/dist/utils/clipboard-image.d.ts.map +1 -1
  202. package/packages/pi-coding-agent/dist/utils/clipboard-image.js +17 -21
  203. package/packages/pi-coding-agent/dist/utils/clipboard-image.js.map +1 -1
  204. package/packages/pi-coding-agent/dist/utils/clipboard-native.d.ts +7 -6
  205. package/packages/pi-coding-agent/dist/utils/clipboard-native.d.ts.map +1 -1
  206. package/packages/pi-coding-agent/dist/utils/clipboard-native.js +7 -13
  207. package/packages/pi-coding-agent/dist/utils/clipboard-native.js.map +1 -1
  208. package/packages/pi-coding-agent/dist/utils/clipboard.d.ts.map +1 -1
  209. package/packages/pi-coding-agent/dist/utils/clipboard.js +3 -56
  210. package/packages/pi-coding-agent/dist/utils/clipboard.js.map +1 -1
  211. package/packages/pi-coding-agent/dist/utils/image-convert.d.ts.map +1 -1
  212. package/packages/pi-coding-agent/dist/utils/image-convert.js +7 -17
  213. package/packages/pi-coding-agent/dist/utils/image-convert.js.map +1 -1
  214. package/packages/pi-coding-agent/dist/utils/image-resize.d.ts +1 -2
  215. package/packages/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
  216. package/packages/pi-coding-agent/dist/utils/image-resize.js +21 -29
  217. package/packages/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
  218. package/packages/pi-coding-agent/package.json +2 -5
  219. package/packages/pi-coding-agent/src/core/tools/find.ts +13 -88
  220. package/packages/pi-coding-agent/src/core/tools/hashline-edit.ts +318 -0
  221. package/packages/pi-coding-agent/src/core/tools/hashline-read.ts +196 -0
  222. package/packages/pi-coding-agent/src/core/tools/hashline.test.ts +456 -0
  223. package/packages/pi-coding-agent/src/core/tools/hashline.ts +594 -0
  224. package/packages/pi-coding-agent/src/core/tools/index.ts +53 -0
  225. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +5 -3
  226. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +7 -10
  227. package/packages/pi-coding-agent/src/modes/interactive/theme/theme.ts +26 -42
  228. package/packages/pi-coding-agent/src/utils/clipboard-image.ts +17 -24
  229. package/packages/pi-coding-agent/src/utils/clipboard-native.ts +11 -21
  230. package/packages/pi-coding-agent/src/utils/clipboard.ts +3 -51
  231. package/packages/pi-coding-agent/src/utils/image-convert.ts +7 -17
  232. package/packages/pi-coding-agent/src/utils/image-resize.ts +28 -34
  233. package/packages/pi-tui/dist/autocomplete.d.ts +1 -3
  234. package/packages/pi-tui/dist/autocomplete.d.ts.map +1 -1
  235. package/packages/pi-tui/dist/autocomplete.js +16 -95
  236. package/packages/pi-tui/dist/autocomplete.js.map +1 -1
  237. package/packages/pi-tui/dist/components/image.d.ts +7 -0
  238. package/packages/pi-tui/dist/components/image.d.ts.map +1 -1
  239. package/packages/pi-tui/dist/components/image.js +20 -1
  240. package/packages/pi-tui/dist/components/image.js.map +1 -1
  241. package/packages/pi-tui/dist/index.d.ts +1 -1
  242. package/packages/pi-tui/dist/index.d.ts.map +1 -1
  243. package/packages/pi-tui/dist/index.js +1 -1
  244. package/packages/pi-tui/dist/index.js.map +1 -1
  245. package/packages/pi-tui/dist/terminal-image.d.ts +5 -5
  246. package/packages/pi-tui/dist/terminal-image.d.ts.map +1 -1
  247. package/packages/pi-tui/dist/terminal-image.js +9 -120
  248. package/packages/pi-tui/dist/terminal-image.js.map +1 -1
  249. package/packages/pi-tui/dist/utils.d.ts +23 -26
  250. package/packages/pi-tui/dist/utils.d.ts.map +1 -1
  251. package/packages/pi-tui/dist/utils.js +47 -716
  252. package/packages/pi-tui/dist/utils.js.map +1 -1
  253. package/packages/pi-tui/package.json +1 -0
  254. package/packages/pi-tui/src/autocomplete.ts +17 -112
  255. package/packages/pi-tui/src/components/image.ts +23 -1
  256. package/packages/pi-tui/src/index.ts +0 -4
  257. package/packages/pi-tui/src/terminal-image.ts +9 -135
  258. package/packages/pi-tui/src/utils.ts +51 -775
  259. package/pkg/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  260. package/pkg/dist/modes/interactive/theme/theme.js +25 -40
  261. package/pkg/dist/modes/interactive/theme/theme.js.map +1 -1
  262. package/src/resources/extensions/bg-shell/index.ts +343 -14
  263. package/src/resources/extensions/gsd/git-service.ts +13 -1
  264. package/src/resources/extensions/universal-config/discovery.ts +78 -0
  265. package/src/resources/extensions/universal-config/format.ts +160 -0
  266. package/src/resources/extensions/universal-config/index.ts +118 -0
  267. package/src/resources/extensions/universal-config/package.json +11 -0
  268. package/src/resources/extensions/universal-config/scanners.ts +579 -0
  269. package/src/resources/extensions/universal-config/tests/discovery.test.ts +111 -0
  270. package/src/resources/extensions/universal-config/tests/format.test.ts +111 -0
  271. package/src/resources/extensions/universal-config/tests/scanners.test.ts +438 -0
  272. package/src/resources/extensions/universal-config/tools.ts +60 -0
  273. package/src/resources/extensions/universal-config/types.ts +116 -0
  274. package/node_modules/@mariozechner/clipboard/.yarnrc.yml +0 -1
  275. package/node_modules/@mariozechner/clipboard/Cargo.toml +0 -26
  276. package/node_modules/@mariozechner/clipboard/README.md +0 -58
  277. package/node_modules/@mariozechner/clipboard/build.rs +0 -5
  278. package/node_modules/@mariozechner/clipboard/exp.ts +0 -12
  279. package/node_modules/@mariozechner/clipboard/index.d.ts +0 -23
  280. package/node_modules/@mariozechner/clipboard/index.js +0 -317
  281. package/node_modules/@mariozechner/clipboard/package.json +0 -56
  282. package/node_modules/@mariozechner/clipboard/src/lib.rs +0 -191
  283. package/node_modules/@mariozechner/clipboard-darwin-arm64/README.md +0 -3
  284. package/node_modules/@mariozechner/clipboard-darwin-arm64/clipboard.darwin-arm64.node +0 -0
  285. package/node_modules/@mariozechner/clipboard-darwin-arm64/package.json +0 -22
  286. package/node_modules/@mariozechner/clipboard-darwin-universal/README.md +0 -3
  287. package/node_modules/@mariozechner/clipboard-darwin-universal/clipboard.darwin-universal.node +0 -0
  288. package/node_modules/@mariozechner/clipboard-darwin-universal/package.json +0 -19
  289. package/node_modules/ansi-styles/index.d.ts +0 -345
  290. package/node_modules/ansi-styles/index.js +0 -163
  291. package/node_modules/ansi-styles/license +0 -9
  292. package/node_modules/ansi-styles/package.json +0 -56
  293. package/node_modules/ansi-styles/readme.md +0 -152
  294. package/node_modules/any-promise/.jshintrc +0 -4
  295. package/node_modules/any-promise/.npmignore +0 -7
  296. package/node_modules/any-promise/LICENSE +0 -19
  297. package/node_modules/any-promise/README.md +0 -161
  298. package/node_modules/any-promise/implementation.d.ts +0 -3
  299. package/node_modules/any-promise/implementation.js +0 -1
  300. package/node_modules/any-promise/index.d.ts +0 -73
  301. package/node_modules/any-promise/index.js +0 -1
  302. package/node_modules/any-promise/loader.js +0 -78
  303. package/node_modules/any-promise/optional.js +0 -6
  304. package/node_modules/any-promise/package.json +0 -45
  305. package/node_modules/any-promise/register/bluebird.d.ts +0 -1
  306. package/node_modules/any-promise/register/bluebird.js +0 -2
  307. package/node_modules/any-promise/register/es6-promise.d.ts +0 -1
  308. package/node_modules/any-promise/register/es6-promise.js +0 -2
  309. package/node_modules/any-promise/register/lie.d.ts +0 -1
  310. package/node_modules/any-promise/register/lie.js +0 -2
  311. package/node_modules/any-promise/register/native-promise-only.d.ts +0 -1
  312. package/node_modules/any-promise/register/native-promise-only.js +0 -2
  313. package/node_modules/any-promise/register/pinkie.d.ts +0 -1
  314. package/node_modules/any-promise/register/pinkie.js +0 -2
  315. package/node_modules/any-promise/register/promise.d.ts +0 -1
  316. package/node_modules/any-promise/register/promise.js +0 -2
  317. package/node_modules/any-promise/register/q.d.ts +0 -1
  318. package/node_modules/any-promise/register/q.js +0 -2
  319. package/node_modules/any-promise/register/rsvp.d.ts +0 -1
  320. package/node_modules/any-promise/register/rsvp.js +0 -2
  321. package/node_modules/any-promise/register/vow.d.ts +0 -1
  322. package/node_modules/any-promise/register/vow.js +0 -2
  323. package/node_modules/any-promise/register/when.d.ts +0 -1
  324. package/node_modules/any-promise/register/when.js +0 -2
  325. package/node_modules/any-promise/register-shim.js +0 -18
  326. package/node_modules/any-promise/register.d.ts +0 -17
  327. package/node_modules/any-promise/register.js +0 -94
  328. package/node_modules/cli-highlight/LICENSE.txt +0 -15
  329. package/node_modules/cli-highlight/README.md +0 -88
  330. package/node_modules/cli-highlight/bin/highlight +0 -2
  331. package/node_modules/cli-highlight/dist/cli.d.ts +0 -1
  332. package/node_modules/cli-highlight/dist/cli.js +0 -102
  333. package/node_modules/cli-highlight/dist/cli.js.map +0 -1
  334. package/node_modules/cli-highlight/dist/index.d.ts +0 -53
  335. package/node_modules/cli-highlight/dist/index.js +0 -112
  336. package/node_modules/cli-highlight/dist/index.js.map +0 -1
  337. package/node_modules/cli-highlight/dist/test/test.d.ts +0 -1
  338. package/node_modules/cli-highlight/dist/test/test.js +0 -62
  339. package/node_modules/cli-highlight/dist/test/test.js.map +0 -1
  340. package/node_modules/cli-highlight/dist/theme.d.ts +0 -270
  341. package/node_modules/cli-highlight/dist/theme.js +0 -265
  342. package/node_modules/cli-highlight/dist/theme.js.map +0 -1
  343. package/node_modules/cli-highlight/node_modules/chalk/index.d.ts +0 -415
  344. package/node_modules/cli-highlight/node_modules/chalk/license +0 -9
  345. package/node_modules/cli-highlight/node_modules/chalk/package.json +0 -68
  346. package/node_modules/cli-highlight/node_modules/chalk/readme.md +0 -341
  347. package/node_modules/cli-highlight/node_modules/chalk/source/index.js +0 -229
  348. package/node_modules/cli-highlight/node_modules/chalk/source/templates.js +0 -134
  349. package/node_modules/cli-highlight/node_modules/chalk/source/util.js +0 -39
  350. package/node_modules/cli-highlight/package.json +0 -129
  351. package/node_modules/cliui/CHANGELOG.md +0 -121
  352. package/node_modules/cliui/LICENSE.txt +0 -14
  353. package/node_modules/cliui/README.md +0 -141
  354. package/node_modules/cliui/build/index.cjs +0 -302
  355. package/node_modules/cliui/build/lib/index.js +0 -287
  356. package/node_modules/cliui/build/lib/string-utils.js +0 -27
  357. package/node_modules/cliui/index.mjs +0 -13
  358. package/node_modules/cliui/node_modules/ansi-regex/index.d.ts +0 -37
  359. package/node_modules/cliui/node_modules/ansi-regex/index.js +0 -10
  360. package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
  361. package/node_modules/cliui/node_modules/ansi-regex/package.json +0 -55
  362. package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
  363. package/node_modules/cliui/node_modules/strip-ansi/index.d.ts +0 -17
  364. package/node_modules/cliui/node_modules/strip-ansi/index.js +0 -4
  365. package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
  366. package/node_modules/cliui/node_modules/strip-ansi/package.json +0 -54
  367. package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
  368. package/node_modules/cliui/package.json +0 -83
  369. package/node_modules/color-convert/CHANGELOG.md +0 -54
  370. package/node_modules/color-convert/LICENSE +0 -21
  371. package/node_modules/color-convert/README.md +0 -68
  372. package/node_modules/color-convert/conversions.js +0 -839
  373. package/node_modules/color-convert/index.js +0 -81
  374. package/node_modules/color-convert/package.json +0 -48
  375. package/node_modules/color-convert/route.js +0 -97
  376. package/node_modules/color-name/LICENSE +0 -8
  377. package/node_modules/color-name/README.md +0 -11
  378. package/node_modules/color-name/index.js +0 -152
  379. package/node_modules/color-name/package.json +0 -28
  380. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  381. package/node_modules/emoji-regex/README.md +0 -73
  382. package/node_modules/emoji-regex/es2015/index.js +0 -6
  383. package/node_modules/emoji-regex/es2015/text.js +0 -6
  384. package/node_modules/emoji-regex/index.d.ts +0 -23
  385. package/node_modules/emoji-regex/index.js +0 -6
  386. package/node_modules/emoji-regex/package.json +0 -50
  387. package/node_modules/emoji-regex/text.js +0 -6
  388. package/node_modules/escalade/dist/index.js +0 -22
  389. package/node_modules/escalade/dist/index.mjs +0 -22
  390. package/node_modules/escalade/index.d.mts +0 -11
  391. package/node_modules/escalade/index.d.ts +0 -15
  392. package/node_modules/escalade/license +0 -9
  393. package/node_modules/escalade/package.json +0 -74
  394. package/node_modules/escalade/readme.md +0 -211
  395. package/node_modules/escalade/sync/index.d.mts +0 -9
  396. package/node_modules/escalade/sync/index.d.ts +0 -13
  397. package/node_modules/escalade/sync/index.js +0 -18
  398. package/node_modules/escalade/sync/index.mjs +0 -18
  399. package/node_modules/esprima/ChangeLog +0 -235
  400. package/node_modules/get-caller-file/LICENSE.md +0 -6
  401. package/node_modules/get-caller-file/README.md +0 -41
  402. package/node_modules/get-caller-file/index.d.ts +0 -2
  403. package/node_modules/get-caller-file/index.js +0 -22
  404. package/node_modules/get-caller-file/index.js.map +0 -1
  405. package/node_modules/get-caller-file/package.json +0 -42
  406. package/node_modules/has-flag/index.d.ts +0 -39
  407. package/node_modules/has-flag/index.js +0 -8
  408. package/node_modules/has-flag/license +0 -9
  409. package/node_modules/has-flag/package.json +0 -46
  410. package/node_modules/has-flag/readme.md +0 -89
  411. package/node_modules/highlight.js/LICENSE +0 -29
  412. package/node_modules/highlight.js/README.md +0 -371
  413. package/node_modules/highlight.js/lib/core.js +0 -2517
  414. package/node_modules/highlight.js/lib/highlight.js +0 -2
  415. package/node_modules/highlight.js/lib/index.js +0 -195
  416. package/node_modules/highlight.js/lib/languages/1c.js +0 -521
  417. package/node_modules/highlight.js/lib/languages/abnf.js +0 -103
  418. package/node_modules/highlight.js/lib/languages/accesslog.js +0 -127
  419. package/node_modules/highlight.js/lib/languages/actionscript.js +0 -113
  420. package/node_modules/highlight.js/lib/languages/ada.js +0 -194
  421. package/node_modules/highlight.js/lib/languages/angelscript.js +0 -123
  422. package/node_modules/highlight.js/lib/languages/apache.js +0 -89
  423. package/node_modules/highlight.js/lib/languages/applescript.js +0 -189
  424. package/node_modules/highlight.js/lib/languages/arcade.js +0 -165
  425. package/node_modules/highlight.js/lib/languages/arduino.js +0 -576
  426. package/node_modules/highlight.js/lib/languages/armasm.js +0 -131
  427. package/node_modules/highlight.js/lib/languages/asciidoc.js +0 -303
  428. package/node_modules/highlight.js/lib/languages/aspectj.js +0 -186
  429. package/node_modules/highlight.js/lib/languages/autohotkey.js +0 -84
  430. package/node_modules/highlight.js/lib/languages/autoit.js +0 -183
  431. package/node_modules/highlight.js/lib/languages/avrasm.js +0 -80
  432. package/node_modules/highlight.js/lib/languages/awk.js +0 -73
  433. package/node_modules/highlight.js/lib/languages/axapta.js +0 -179
  434. package/node_modules/highlight.js/lib/languages/bash.js +0 -169
  435. package/node_modules/highlight.js/lib/languages/basic.js +0 -65
  436. package/node_modules/highlight.js/lib/languages/bnf.js +0 -38
  437. package/node_modules/highlight.js/lib/languages/brainfuck.js +0 -46
  438. package/node_modules/highlight.js/lib/languages/c-like.js +0 -501
  439. package/node_modules/highlight.js/lib/languages/c.js +0 -309
  440. package/node_modules/highlight.js/lib/languages/cal.js +0 -104
  441. package/node_modules/highlight.js/lib/languages/capnproto.js +0 -64
  442. package/node_modules/highlight.js/lib/languages/ceylon.js +0 -82
  443. package/node_modules/highlight.js/lib/languages/clean.js +0 -40
  444. package/node_modules/highlight.js/lib/languages/clojure-repl.js +0 -27
  445. package/node_modules/highlight.js/lib/languages/clojure.js +0 -158
  446. package/node_modules/highlight.js/lib/languages/cmake.js +0 -64
  447. package/node_modules/highlight.js/lib/languages/coffeescript.js +0 -356
  448. package/node_modules/highlight.js/lib/languages/coq.js +0 -79
  449. package/node_modules/highlight.js/lib/languages/cos.js +0 -138
  450. package/node_modules/highlight.js/lib/languages/cpp.js +0 -464
  451. package/node_modules/highlight.js/lib/languages/crmsh.js +0 -102
  452. package/node_modules/highlight.js/lib/languages/crystal.js +0 -326
  453. package/node_modules/highlight.js/lib/languages/csharp.js +0 -441
  454. package/node_modules/highlight.js/lib/languages/csp.js +0 -37
  455. package/node_modules/highlight.js/lib/languages/css.js +0 -608
  456. package/node_modules/highlight.js/lib/languages/d.js +0 -271
  457. package/node_modules/highlight.js/lib/languages/dart.js +0 -199
  458. package/node_modules/highlight.js/lib/languages/delphi.js +0 -126
  459. package/node_modules/highlight.js/lib/languages/diff.js +0 -85
  460. package/node_modules/highlight.js/lib/languages/django.js +0 -77
  461. package/node_modules/highlight.js/lib/languages/dns.js +0 -46
  462. package/node_modules/highlight.js/lib/languages/dockerfile.js +0 -34
  463. package/node_modules/highlight.js/lib/languages/dos.js +0 -70
  464. package/node_modules/highlight.js/lib/languages/dsconfig.js +0 -66
  465. package/node_modules/highlight.js/lib/languages/dts.js +0 -153
  466. package/node_modules/highlight.js/lib/languages/dust.js +0 -45
  467. package/node_modules/highlight.js/lib/languages/ebnf.js +0 -53
  468. package/node_modules/highlight.js/lib/languages/elixir.js +0 -259
  469. package/node_modules/highlight.js/lib/languages/elm.js +0 -129
  470. package/node_modules/highlight.js/lib/languages/erb.js +0 -29
  471. package/node_modules/highlight.js/lib/languages/erlang-repl.js +0 -86
  472. package/node_modules/highlight.js/lib/languages/erlang.js +0 -199
  473. package/node_modules/highlight.js/lib/languages/excel.js +0 -64
  474. package/node_modules/highlight.js/lib/languages/fix.js +0 -37
  475. package/node_modules/highlight.js/lib/languages/flix.js +0 -54
  476. package/node_modules/highlight.js/lib/languages/fortran.js +0 -159
  477. package/node_modules/highlight.js/lib/languages/fsharp.js +0 -86
  478. package/node_modules/highlight.js/lib/languages/gams.js +0 -208
  479. package/node_modules/highlight.js/lib/languages/gauss.js +0 -316
  480. package/node_modules/highlight.js/lib/languages/gcode.js +0 -88
  481. package/node_modules/highlight.js/lib/languages/gherkin.js +0 -49
  482. package/node_modules/highlight.js/lib/languages/glsl.js +0 -128
  483. package/node_modules/highlight.js/lib/languages/gml.js +0 -885
  484. package/node_modules/highlight.js/lib/languages/go.js +0 -74
  485. package/node_modules/highlight.js/lib/languages/golo.js +0 -33
  486. package/node_modules/highlight.js/lib/languages/gradle.js +0 -44
  487. package/node_modules/highlight.js/lib/languages/groovy.js +0 -174
  488. package/node_modules/highlight.js/lib/languages/haml.js +0 -117
  489. package/node_modules/highlight.js/lib/languages/handlebars.js +0 -324
  490. package/node_modules/highlight.js/lib/languages/haskell.js +0 -173
  491. package/node_modules/highlight.js/lib/languages/haxe.js +0 -157
  492. package/node_modules/highlight.js/lib/languages/hsp.js +0 -65
  493. package/node_modules/highlight.js/lib/languages/htmlbars.js +0 -352
  494. package/node_modules/highlight.js/lib/languages/http.js +0 -121
  495. package/node_modules/highlight.js/lib/languages/hy.js +0 -109
  496. package/node_modules/highlight.js/lib/languages/inform7.js +0 -70
  497. package/node_modules/highlight.js/lib/languages/ini.js +0 -173
  498. package/node_modules/highlight.js/lib/languages/irpf90.js +0 -141
  499. package/node_modules/highlight.js/lib/languages/isbl.js +0 -3207
  500. package/node_modules/highlight.js/lib/languages/java.js +0 -181
  501. package/node_modules/highlight.js/lib/languages/javascript.js +0 -604
  502. package/node_modules/highlight.js/lib/languages/jboss-cli.js +0 -63
  503. package/node_modules/highlight.js/lib/languages/json.js +0 -63
  504. package/node_modules/highlight.js/lib/languages/julia-repl.js +0 -50
  505. package/node_modules/highlight.js/lib/languages/julia.js +0 -416
  506. package/node_modules/highlight.js/lib/languages/kotlin.js +0 -284
  507. package/node_modules/highlight.js/lib/languages/lasso.js +0 -187
  508. package/node_modules/highlight.js/lib/languages/latex.js +0 -276
  509. package/node_modules/highlight.js/lib/languages/ldif.js +0 -42
  510. package/node_modules/highlight.js/lib/languages/leaf.js +0 -49
  511. package/node_modules/highlight.js/lib/languages/less.js +0 -666
  512. package/node_modules/highlight.js/lib/languages/lisp.js +0 -111
  513. package/node_modules/highlight.js/lib/languages/livecodeserver.js +0 -189
  514. package/node_modules/highlight.js/lib/languages/livescript.js +0 -374
  515. package/node_modules/highlight.js/lib/languages/llvm.js +0 -154
  516. package/node_modules/highlight.js/lib/languages/lsl.js +0 -95
  517. package/node_modules/highlight.js/lib/languages/lua.js +0 -82
  518. package/node_modules/highlight.js/lib/languages/makefile.js +0 -92
  519. package/node_modules/highlight.js/lib/languages/markdown.js +0 -258
  520. package/node_modules/highlight.js/lib/languages/mathematica.js +0 -6797
  521. package/node_modules/highlight.js/lib/languages/matlab.js +0 -106
  522. package/node_modules/highlight.js/lib/languages/maxima.js +0 -417
  523. package/node_modules/highlight.js/lib/languages/mel.js +0 -236
  524. package/node_modules/highlight.js/lib/languages/mercury.js +0 -121
  525. package/node_modules/highlight.js/lib/languages/mipsasm.js +0 -109
  526. package/node_modules/highlight.js/lib/languages/mizar.js +0 -29
  527. package/node_modules/highlight.js/lib/languages/mojolicious.js +0 -36
  528. package/node_modules/highlight.js/lib/languages/monkey.js +0 -89
  529. package/node_modules/highlight.js/lib/languages/moonscript.js +0 -147
  530. package/node_modules/highlight.js/lib/languages/n1ql.js +0 -77
  531. package/node_modules/highlight.js/lib/languages/nginx.js +0 -140
  532. package/node_modules/highlight.js/lib/languages/nim.js +0 -79
  533. package/node_modules/highlight.js/lib/languages/nix.js +0 -65
  534. package/node_modules/highlight.js/lib/languages/node-repl.js +0 -37
  535. package/node_modules/highlight.js/lib/languages/nsis.js +0 -119
  536. package/node_modules/highlight.js/lib/languages/objectivec.js +0 -121
  537. package/node_modules/highlight.js/lib/languages/ocaml.js +0 -82
  538. package/node_modules/highlight.js/lib/languages/openscad.js +0 -81
  539. package/node_modules/highlight.js/lib/languages/oxygene.js +0 -101
  540. package/node_modules/highlight.js/lib/languages/parser3.js +0 -57
  541. package/node_modules/highlight.js/lib/languages/perl.js +0 -515
  542. package/node_modules/highlight.js/lib/languages/pf.js +0 -59
  543. package/node_modules/highlight.js/lib/languages/pgsql.js +0 -630
  544. package/node_modules/highlight.js/lib/languages/php-template.js +0 -54
  545. package/node_modules/highlight.js/lib/languages/php.js +0 -204
  546. package/node_modules/highlight.js/lib/languages/plaintext.js +0 -19
  547. package/node_modules/highlight.js/lib/languages/pony.js +0 -89
  548. package/node_modules/highlight.js/lib/languages/powershell.js +0 -331
  549. package/node_modules/highlight.js/lib/languages/processing.js +0 -58
  550. package/node_modules/highlight.js/lib/languages/profile.js +0 -43
  551. package/node_modules/highlight.js/lib/languages/prolog.js +0 -102
  552. package/node_modules/highlight.js/lib/languages/properties.js +0 -85
  553. package/node_modules/highlight.js/lib/languages/protobuf.js +0 -47
  554. package/node_modules/highlight.js/lib/languages/puppet.js +0 -147
  555. package/node_modules/highlight.js/lib/languages/purebasic.js +0 -101
  556. package/node_modules/highlight.js/lib/languages/python-repl.js +0 -36
  557. package/node_modules/highlight.js/lib/languages/python.js +0 -446
  558. package/node_modules/highlight.js/lib/languages/q.js +0 -37
  559. package/node_modules/highlight.js/lib/languages/qml.js +0 -225
  560. package/node_modules/highlight.js/lib/languages/r.js +0 -231
  561. package/node_modules/highlight.js/lib/languages/reasonml.js +0 -321
  562. package/node_modules/highlight.js/lib/languages/rib.js +0 -37
  563. package/node_modules/highlight.js/lib/languages/roboconf.js +0 -82
  564. package/node_modules/highlight.js/lib/languages/routeros.js +0 -172
  565. package/node_modules/highlight.js/lib/languages/rsl.js +0 -49
  566. package/node_modules/highlight.js/lib/languages/ruby.js +0 -387
  567. package/node_modules/highlight.js/lib/languages/ruleslanguage.js +0 -78
  568. package/node_modules/highlight.js/lib/languages/rust.js +0 -146
  569. package/node_modules/highlight.js/lib/languages/sas.js +0 -133
  570. package/node_modules/highlight.js/lib/languages/scala.js +0 -140
  571. package/node_modules/highlight.js/lib/languages/scheme.js +0 -207
  572. package/node_modules/highlight.js/lib/languages/scilab.js +0 -73
  573. package/node_modules/highlight.js/lib/languages/scss.js +0 -545
  574. package/node_modules/highlight.js/lib/languages/shell.js +0 -30
  575. package/node_modules/highlight.js/lib/languages/smali.js +0 -135
  576. package/node_modules/highlight.js/lib/languages/smalltalk.js +0 -63
  577. package/node_modules/highlight.js/lib/languages/sml.js +0 -81
  578. package/node_modules/highlight.js/lib/languages/sqf.js +0 -448
  579. package/node_modules/highlight.js/lib/languages/sql.js +0 -699
  580. package/node_modules/highlight.js/lib/languages/sql_more.js +0 -183
  581. package/node_modules/highlight.js/lib/languages/stan.js +0 -548
  582. package/node_modules/highlight.js/lib/languages/stata.js +0 -60
  583. package/node_modules/highlight.js/lib/languages/step21.js +0 -66
  584. package/node_modules/highlight.js/lib/languages/stylus.js +0 -609
  585. package/node_modules/highlight.js/lib/languages/subunit.js +0 -51
  586. package/node_modules/highlight.js/lib/languages/swift.js +0 -873
  587. package/node_modules/highlight.js/lib/languages/taggerscript.js +0 -52
  588. package/node_modules/highlight.js/lib/languages/tap.js +0 -55
  589. package/node_modules/highlight.js/lib/languages/tcl.js +0 -115
  590. package/node_modules/highlight.js/lib/languages/thrift.js +0 -51
  591. package/node_modules/highlight.js/lib/languages/tp.js +0 -95
  592. package/node_modules/highlight.js/lib/languages/twig.js +0 -77
  593. package/node_modules/highlight.js/lib/languages/typescript.js +0 -697
  594. package/node_modules/highlight.js/lib/languages/vala.js +0 -61
  595. package/node_modules/highlight.js/lib/languages/vbnet.js +0 -214
  596. package/node_modules/highlight.js/lib/languages/vbscript-html.js +0 -24
  597. package/node_modules/highlight.js/lib/languages/vbscript.js +0 -109
  598. package/node_modules/highlight.js/lib/languages/verilog.js +0 -131
  599. package/node_modules/highlight.js/lib/languages/vhdl.js +0 -71
  600. package/node_modules/highlight.js/lib/languages/vim.js +0 -123
  601. package/node_modules/highlight.js/lib/languages/x86asm.js +0 -163
  602. package/node_modules/highlight.js/lib/languages/xl.js +0 -92
  603. package/node_modules/highlight.js/lib/languages/xml.js +0 -287
  604. package/node_modules/highlight.js/lib/languages/xquery.js +0 -197
  605. package/node_modules/highlight.js/lib/languages/yaml.js +0 -176
  606. package/node_modules/highlight.js/lib/languages/zephir.js +0 -140
  607. package/node_modules/highlight.js/package.json +0 -86
  608. package/node_modules/highlight.js/scss/a11y-dark.scss +0 -99
  609. package/node_modules/highlight.js/scss/a11y-light.scss +0 -99
  610. package/node_modules/highlight.js/scss/agate.scss +0 -108
  611. package/node_modules/highlight.js/scss/an-old-hope.scss +0 -89
  612. package/node_modules/highlight.js/scss/androidstudio.scss +0 -66
  613. package/node_modules/highlight.js/scss/arduino-light.scss +0 -87
  614. package/node_modules/highlight.js/scss/arta.scss +0 -73
  615. package/node_modules/highlight.js/scss/ascetic.scss +0 -45
  616. package/node_modules/highlight.js/scss/atelier-cave-dark.scss +0 -83
  617. package/node_modules/highlight.js/scss/atelier-cave-light.scss +0 -85
  618. package/node_modules/highlight.js/scss/atelier-dune-dark.scss +0 -69
  619. package/node_modules/highlight.js/scss/atelier-dune-light.scss +0 -69
  620. package/node_modules/highlight.js/scss/atelier-estuary-dark.scss +0 -84
  621. package/node_modules/highlight.js/scss/atelier-estuary-light.scss +0 -84
  622. package/node_modules/highlight.js/scss/atelier-forest-dark.scss +0 -69
  623. package/node_modules/highlight.js/scss/atelier-forest-light.scss +0 -69
  624. package/node_modules/highlight.js/scss/atelier-heath-dark.scss +0 -69
  625. package/node_modules/highlight.js/scss/atelier-heath-light.scss +0 -69
  626. package/node_modules/highlight.js/scss/atelier-lakeside-dark.scss +0 -69
  627. package/node_modules/highlight.js/scss/atelier-lakeside-light.scss +0 -69
  628. package/node_modules/highlight.js/scss/atelier-plateau-dark.scss +0 -84
  629. package/node_modules/highlight.js/scss/atelier-plateau-light.scss +0 -84
  630. package/node_modules/highlight.js/scss/atelier-savanna-dark.scss +0 -84
  631. package/node_modules/highlight.js/scss/atelier-savanna-light.scss +0 -84
  632. package/node_modules/highlight.js/scss/atelier-seaside-dark.scss +0 -69
  633. package/node_modules/highlight.js/scss/atelier-seaside-light.scss +0 -69
  634. package/node_modules/highlight.js/scss/atelier-sulphurpool-dark.scss +0 -69
  635. package/node_modules/highlight.js/scss/atelier-sulphurpool-light.scss +0 -69
  636. package/node_modules/highlight.js/scss/atom-one-dark-reasonable.scss +0 -75
  637. package/node_modules/highlight.js/scss/atom-one-dark.scss +0 -96
  638. package/node_modules/highlight.js/scss/atom-one-light.scss +0 -96
  639. package/node_modules/highlight.js/scss/brown-paper.scss +0 -64
  640. package/node_modules/highlight.js/scss/brown-papersq.png +0 -0
  641. package/node_modules/highlight.js/scss/codepen-embed.scss +0 -60
  642. package/node_modules/highlight.js/scss/color-brewer.scss +0 -71
  643. package/node_modules/highlight.js/scss/darcula.scss +0 -74
  644. package/node_modules/highlight.js/scss/dark.scss +0 -63
  645. package/node_modules/highlight.js/scss/default.scss +0 -99
  646. package/node_modules/highlight.js/scss/docco.scss +0 -97
  647. package/node_modules/highlight.js/scss/dracula.scss +0 -76
  648. package/node_modules/highlight.js/scss/far.scss +0 -71
  649. package/node_modules/highlight.js/scss/foundation.scss +0 -89
  650. package/node_modules/highlight.js/scss/github-gist.scss +0 -79
  651. package/node_modules/highlight.js/scss/github.scss +0 -99
  652. package/node_modules/highlight.js/scss/gml.scss +0 -78
  653. package/node_modules/highlight.js/scss/googlecode.scss +0 -89
  654. package/node_modules/highlight.js/scss/gradient-dark.scss +0 -122
  655. package/node_modules/highlight.js/scss/gradient-light.scss +0 -130
  656. package/node_modules/highlight.js/scss/grayscale.scss +0 -101
  657. package/node_modules/highlight.js/scss/gruvbox-dark.scss +0 -108
  658. package/node_modules/highlight.js/scss/gruvbox-light.scss +0 -108
  659. package/node_modules/highlight.js/scss/hopscotch.scss +0 -84
  660. package/node_modules/highlight.js/scss/hybrid.scss +0 -102
  661. package/node_modules/highlight.js/scss/idea.scss +0 -97
  662. package/node_modules/highlight.js/scss/ir-black.scss +0 -73
  663. package/node_modules/highlight.js/scss/isbl-editor-dark.scss +0 -112
  664. package/node_modules/highlight.js/scss/isbl-editor-light.scss +0 -111
  665. package/node_modules/highlight.js/scss/kimbie.dark.scss +0 -74
  666. package/node_modules/highlight.js/scss/kimbie.light.scss +0 -74
  667. package/node_modules/highlight.js/scss/lightfair.scss +0 -88
  668. package/node_modules/highlight.js/scss/lioshi.scss +0 -88
  669. package/node_modules/highlight.js/scss/magula.scss +0 -70
  670. package/node_modules/highlight.js/scss/mono-blue.scss +0 -56
  671. package/node_modules/highlight.js/scss/monokai-sublime.scss +0 -83
  672. package/node_modules/highlight.js/scss/monokai.scss +0 -71
  673. package/node_modules/highlight.js/scss/night-owl.scss +0 -182
  674. package/node_modules/highlight.js/scss/nnfx-dark.scss +0 -106
  675. package/node_modules/highlight.js/scss/nnfx.scss +0 -106
  676. package/node_modules/highlight.js/scss/nord.scss +0 -309
  677. package/node_modules/highlight.js/scss/obsidian.scss +0 -88
  678. package/node_modules/highlight.js/scss/ocean.scss +0 -74
  679. package/node_modules/highlight.js/scss/paraiso-dark.scss +0 -72
  680. package/node_modules/highlight.js/scss/paraiso-light.scss +0 -72
  681. package/node_modules/highlight.js/scss/pojoaque.jpg +0 -0
  682. package/node_modules/highlight.js/scss/pojoaque.scss +0 -83
  683. package/node_modules/highlight.js/scss/purebasic.scss +0 -96
  684. package/node_modules/highlight.js/scss/qtcreator_dark.scss +0 -83
  685. package/node_modules/highlight.js/scss/qtcreator_light.scss +0 -83
  686. package/node_modules/highlight.js/scss/railscasts.scss +0 -106
  687. package/node_modules/highlight.js/scss/rainbow.scss +0 -85
  688. package/node_modules/highlight.js/scss/routeros.scss +0 -108
  689. package/node_modules/highlight.js/scss/school-book.png +0 -0
  690. package/node_modules/highlight.js/scss/school-book.scss +0 -69
  691. package/node_modules/highlight.js/scss/shades-of-purple.scss +0 -96
  692. package/node_modules/highlight.js/scss/solarized-dark.scss +0 -84
  693. package/node_modules/highlight.js/scss/solarized-light.scss +0 -84
  694. package/node_modules/highlight.js/scss/srcery.scss +0 -78
  695. package/node_modules/highlight.js/scss/stackoverflow-dark.scss +0 -78
  696. package/node_modules/highlight.js/scss/stackoverflow-light.scss +0 -78
  697. package/node_modules/highlight.js/scss/sunburst.scss +0 -102
  698. package/node_modules/highlight.js/scss/tomorrow-night-blue.scss +0 -75
  699. package/node_modules/highlight.js/scss/tomorrow-night-bright.scss +0 -74
  700. package/node_modules/highlight.js/scss/tomorrow-night-eighties.scss +0 -74
  701. package/node_modules/highlight.js/scss/tomorrow-night.scss +0 -75
  702. package/node_modules/highlight.js/scss/tomorrow.scss +0 -72
  703. package/node_modules/highlight.js/scss/vs.scss +0 -68
  704. package/node_modules/highlight.js/scss/vs2015.scss +0 -115
  705. package/node_modules/highlight.js/scss/xcode.scss +0 -104
  706. package/node_modules/highlight.js/scss/xt256.scss +0 -92
  707. package/node_modules/highlight.js/scss/zenburn.scss +0 -80
  708. package/node_modules/highlight.js/styles/a11y-dark.css +0 -99
  709. package/node_modules/highlight.js/styles/a11y-light.css +0 -99
  710. package/node_modules/highlight.js/styles/agate.css +0 -108
  711. package/node_modules/highlight.js/styles/an-old-hope.css +0 -89
  712. package/node_modules/highlight.js/styles/androidstudio.css +0 -66
  713. package/node_modules/highlight.js/styles/arduino-light.css +0 -87
  714. package/node_modules/highlight.js/styles/arta.css +0 -73
  715. package/node_modules/highlight.js/styles/ascetic.css +0 -45
  716. package/node_modules/highlight.js/styles/atelier-cave-dark.css +0 -83
  717. package/node_modules/highlight.js/styles/atelier-cave-light.css +0 -85
  718. package/node_modules/highlight.js/styles/atelier-dune-dark.css +0 -69
  719. package/node_modules/highlight.js/styles/atelier-dune-light.css +0 -69
  720. package/node_modules/highlight.js/styles/atelier-estuary-dark.css +0 -84
  721. package/node_modules/highlight.js/styles/atelier-estuary-light.css +0 -84
  722. package/node_modules/highlight.js/styles/atelier-forest-dark.css +0 -69
  723. package/node_modules/highlight.js/styles/atelier-forest-light.css +0 -69
  724. package/node_modules/highlight.js/styles/atelier-heath-dark.css +0 -69
  725. package/node_modules/highlight.js/styles/atelier-heath-light.css +0 -69
  726. package/node_modules/highlight.js/styles/atelier-lakeside-dark.css +0 -69
  727. package/node_modules/highlight.js/styles/atelier-lakeside-light.css +0 -69
  728. package/node_modules/highlight.js/styles/atelier-plateau-dark.css +0 -84
  729. package/node_modules/highlight.js/styles/atelier-plateau-light.css +0 -84
  730. package/node_modules/highlight.js/styles/atelier-savanna-dark.css +0 -84
  731. package/node_modules/highlight.js/styles/atelier-savanna-light.css +0 -84
  732. package/node_modules/highlight.js/styles/atelier-seaside-dark.css +0 -69
  733. package/node_modules/highlight.js/styles/atelier-seaside-light.css +0 -69
  734. package/node_modules/highlight.js/styles/atelier-sulphurpool-dark.css +0 -69
  735. package/node_modules/highlight.js/styles/atelier-sulphurpool-light.css +0 -69
  736. package/node_modules/highlight.js/styles/atom-one-dark-reasonable.css +0 -75
  737. package/node_modules/highlight.js/styles/atom-one-dark.css +0 -96
  738. package/node_modules/highlight.js/styles/atom-one-light.css +0 -96
  739. package/node_modules/highlight.js/styles/brown-paper.css +0 -64
  740. package/node_modules/highlight.js/styles/brown-papersq.png +0 -0
  741. package/node_modules/highlight.js/styles/codepen-embed.css +0 -60
  742. package/node_modules/highlight.js/styles/color-brewer.css +0 -71
  743. package/node_modules/highlight.js/styles/darcula.css +0 -74
  744. package/node_modules/highlight.js/styles/dark.css +0 -63
  745. package/node_modules/highlight.js/styles/default.css +0 -99
  746. package/node_modules/highlight.js/styles/docco.css +0 -97
  747. package/node_modules/highlight.js/styles/dracula.css +0 -76
  748. package/node_modules/highlight.js/styles/far.css +0 -71
  749. package/node_modules/highlight.js/styles/foundation.css +0 -89
  750. package/node_modules/highlight.js/styles/github-gist.css +0 -79
  751. package/node_modules/highlight.js/styles/github.css +0 -99
  752. package/node_modules/highlight.js/styles/gml.css +0 -78
  753. package/node_modules/highlight.js/styles/googlecode.css +0 -89
  754. package/node_modules/highlight.js/styles/gradient-dark.css +0 -122
  755. package/node_modules/highlight.js/styles/gradient-light.css +0 -130
  756. package/node_modules/highlight.js/styles/grayscale.css +0 -101
  757. package/node_modules/highlight.js/styles/gruvbox-dark.css +0 -108
  758. package/node_modules/highlight.js/styles/gruvbox-light.css +0 -108
  759. package/node_modules/highlight.js/styles/hopscotch.css +0 -84
  760. package/node_modules/highlight.js/styles/hybrid.css +0 -102
  761. package/node_modules/highlight.js/styles/idea.css +0 -97
  762. package/node_modules/highlight.js/styles/ir-black.css +0 -73
  763. package/node_modules/highlight.js/styles/isbl-editor-dark.css +0 -112
  764. package/node_modules/highlight.js/styles/isbl-editor-light.css +0 -111
  765. package/node_modules/highlight.js/styles/kimbie.dark.css +0 -74
  766. package/node_modules/highlight.js/styles/kimbie.light.css +0 -74
  767. package/node_modules/highlight.js/styles/lightfair.css +0 -88
  768. package/node_modules/highlight.js/styles/lioshi.css +0 -88
  769. package/node_modules/highlight.js/styles/magula.css +0 -70
  770. package/node_modules/highlight.js/styles/mono-blue.css +0 -56
  771. package/node_modules/highlight.js/styles/monokai-sublime.css +0 -83
  772. package/node_modules/highlight.js/styles/monokai.css +0 -71
  773. package/node_modules/highlight.js/styles/night-owl.css +0 -182
  774. package/node_modules/highlight.js/styles/nnfx-dark.css +0 -106
  775. package/node_modules/highlight.js/styles/nnfx.css +0 -106
  776. package/node_modules/highlight.js/styles/nord.css +0 -309
  777. package/node_modules/highlight.js/styles/obsidian.css +0 -88
  778. package/node_modules/highlight.js/styles/ocean.css +0 -74
  779. package/node_modules/highlight.js/styles/paraiso-dark.css +0 -72
  780. package/node_modules/highlight.js/styles/paraiso-light.css +0 -72
  781. package/node_modules/highlight.js/styles/pojoaque.css +0 -83
  782. package/node_modules/highlight.js/styles/pojoaque.jpg +0 -0
  783. package/node_modules/highlight.js/styles/purebasic.css +0 -96
  784. package/node_modules/highlight.js/styles/qtcreator_dark.css +0 -83
  785. package/node_modules/highlight.js/styles/qtcreator_light.css +0 -83
  786. package/node_modules/highlight.js/styles/railscasts.css +0 -106
  787. package/node_modules/highlight.js/styles/rainbow.css +0 -85
  788. package/node_modules/highlight.js/styles/routeros.css +0 -108
  789. package/node_modules/highlight.js/styles/school-book.css +0 -69
  790. package/node_modules/highlight.js/styles/school-book.png +0 -0
  791. package/node_modules/highlight.js/styles/shades-of-purple.css +0 -96
  792. package/node_modules/highlight.js/styles/solarized-dark.css +0 -84
  793. package/node_modules/highlight.js/styles/solarized-light.css +0 -84
  794. package/node_modules/highlight.js/styles/srcery.css +0 -78
  795. package/node_modules/highlight.js/styles/stackoverflow-dark.css +0 -78
  796. package/node_modules/highlight.js/styles/stackoverflow-light.css +0 -78
  797. package/node_modules/highlight.js/styles/sunburst.css +0 -102
  798. package/node_modules/highlight.js/styles/tomorrow-night-blue.css +0 -75
  799. package/node_modules/highlight.js/styles/tomorrow-night-bright.css +0 -74
  800. package/node_modules/highlight.js/styles/tomorrow-night-eighties.css +0 -74
  801. package/node_modules/highlight.js/styles/tomorrow-night.css +0 -75
  802. package/node_modules/highlight.js/styles/tomorrow.css +0 -72
  803. package/node_modules/highlight.js/styles/vs.css +0 -68
  804. package/node_modules/highlight.js/styles/vs2015.css +0 -115
  805. package/node_modules/highlight.js/styles/xcode.css +0 -104
  806. package/node_modules/highlight.js/styles/xt256.css +0 -92
  807. package/node_modules/highlight.js/styles/zenburn.css +0 -80
  808. package/node_modules/highlight.js/types/index.d.ts +0 -261
  809. package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  810. package/node_modules/is-fullwidth-code-point/index.js +0 -50
  811. package/node_modules/is-fullwidth-code-point/license +0 -9
  812. package/node_modules/is-fullwidth-code-point/package.json +0 -42
  813. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  814. package/node_modules/mz/HISTORY.md +0 -66
  815. package/node_modules/mz/LICENSE +0 -22
  816. package/node_modules/mz/README.md +0 -106
  817. package/node_modules/mz/child_process.js +0 -8
  818. package/node_modules/mz/crypto.js +0 -9
  819. package/node_modules/mz/dns.js +0 -16
  820. package/node_modules/mz/fs.js +0 -62
  821. package/node_modules/mz/index.js +0 -8
  822. package/node_modules/mz/package.json +0 -44
  823. package/node_modules/mz/readline.js +0 -64
  824. package/node_modules/mz/zlib.js +0 -13
  825. package/node_modules/object-assign/index.js +0 -90
  826. package/node_modules/object-assign/license +0 -21
  827. package/node_modules/object-assign/package.json +0 -42
  828. package/node_modules/object-assign/readme.md +0 -61
  829. package/node_modules/parse5/LICENSE +0 -19
  830. package/node_modules/parse5/README.md +0 -38
  831. package/node_modules/parse5/lib/common/doctype.js +0 -162
  832. package/node_modules/parse5/lib/common/error-codes.js +0 -65
  833. package/node_modules/parse5/lib/common/foreign-content.js +0 -265
  834. package/node_modules/parse5/lib/common/html.js +0 -272
  835. package/node_modules/parse5/lib/common/unicode.js +0 -109
  836. package/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js +0 -43
  837. package/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js +0 -52
  838. package/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  839. package/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  840. package/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  841. package/node_modules/parse5/lib/extensions/location-info/parser-mixin.js +0 -222
  842. package/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  843. package/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  844. package/node_modules/parse5/lib/index.js +0 -29
  845. package/node_modules/parse5/lib/parser/formatting-element-list.js +0 -181
  846. package/node_modules/parse5/lib/parser/index.js +0 -2956
  847. package/node_modules/parse5/lib/parser/open-element-stack.js +0 -482
  848. package/node_modules/parse5/lib/serializer/index.js +0 -176
  849. package/node_modules/parse5/lib/tokenizer/index.js +0 -2196
  850. package/node_modules/parse5/lib/tokenizer/named-entity-data.js +0 -5
  851. package/node_modules/parse5/lib/tokenizer/preprocessor.js +0 -159
  852. package/node_modules/parse5/lib/tree-adapters/default.js +0 -217
  853. package/node_modules/parse5/lib/utils/merge-options.js +0 -13
  854. package/node_modules/parse5/lib/utils/mixin.js +0 -39
  855. package/node_modules/parse5/package.json +0 -35
  856. package/node_modules/parse5-htmlparser2-tree-adapter/LICENSE +0 -19
  857. package/node_modules/parse5-htmlparser2-tree-adapter/README.md +0 -34
  858. package/node_modules/parse5-htmlparser2-tree-adapter/lib/index.js +0 -348
  859. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/LICENSE +0 -19
  860. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/README.md +0 -38
  861. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/doctype.js +0 -162
  862. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/error-codes.js +0 -65
  863. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/foreign-content.js +0 -265
  864. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/html.js +0 -272
  865. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/unicode.js +0 -109
  866. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js +0 -43
  867. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js +0 -52
  868. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  869. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  870. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  871. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/parser-mixin.js +0 -223
  872. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  873. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  874. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/index.js +0 -29
  875. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/formatting-element-list.js +0 -181
  876. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/index.js +0 -2956
  877. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/parser/open-element-stack.js +0 -482
  878. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/serializer/index.js +0 -176
  879. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/index.js +0 -2196
  880. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/named-entity-data.js +0 -5
  881. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tokenizer/preprocessor.js +0 -159
  882. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/tree-adapters/default.js +0 -221
  883. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/utils/merge-options.js +0 -13
  884. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/utils/mixin.js +0 -39
  885. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/package.json +0 -35
  886. package/node_modules/parse5-htmlparser2-tree-adapter/package.json +0 -27
  887. package/node_modules/proper-lockfile/CHANGELOG.md +0 -108
  888. package/node_modules/require-directory/.jshintrc +0 -67
  889. package/node_modules/require-directory/.npmignore +0 -1
  890. package/node_modules/require-directory/.travis.yml +0 -3
  891. package/node_modules/require-directory/LICENSE +0 -22
  892. package/node_modules/require-directory/README.markdown +0 -184
  893. package/node_modules/require-directory/index.js +0 -86
  894. package/node_modules/require-directory/package.json +0 -40
  895. package/node_modules/source-map/CHANGELOG.md +0 -301
  896. package/node_modules/string-width/index.d.ts +0 -29
  897. package/node_modules/string-width/index.js +0 -47
  898. package/node_modules/string-width/license +0 -9
  899. package/node_modules/string-width/node_modules/ansi-regex/index.d.ts +0 -37
  900. package/node_modules/string-width/node_modules/ansi-regex/index.js +0 -10
  901. package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  902. package/node_modules/string-width/node_modules/ansi-regex/package.json +0 -55
  903. package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -78
  904. package/node_modules/string-width/node_modules/strip-ansi/index.d.ts +0 -17
  905. package/node_modules/string-width/node_modules/strip-ansi/index.js +0 -4
  906. package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
  907. package/node_modules/string-width/node_modules/strip-ansi/package.json +0 -54
  908. package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -46
  909. package/node_modules/string-width/package.json +0 -56
  910. package/node_modules/string-width/readme.md +0 -50
  911. package/node_modules/supports-color/browser.js +0 -5
  912. package/node_modules/supports-color/index.js +0 -135
  913. package/node_modules/supports-color/license +0 -9
  914. package/node_modules/supports-color/package.json +0 -53
  915. package/node_modules/supports-color/readme.md +0 -76
  916. package/node_modules/thenify/History.md +0 -11
  917. package/node_modules/thenify/LICENSE +0 -22
  918. package/node_modules/thenify/README.md +0 -120
  919. package/node_modules/thenify/index.js +0 -77
  920. package/node_modules/thenify/package.json +0 -31
  921. package/node_modules/thenify-all/History.md +0 -11
  922. package/node_modules/thenify-all/LICENSE +0 -22
  923. package/node_modules/thenify-all/README.md +0 -66
  924. package/node_modules/thenify-all/index.js +0 -73
  925. package/node_modules/thenify-all/package.json +0 -34
  926. package/node_modules/wrap-ansi/index.js +0 -216
  927. package/node_modules/wrap-ansi/license +0 -9
  928. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.d.ts +0 -37
  929. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.js +0 -10
  930. package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
  931. package/node_modules/wrap-ansi/node_modules/ansi-regex/package.json +0 -55
  932. package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
  933. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.d.ts +0 -17
  934. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.js +0 -4
  935. package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
  936. package/node_modules/wrap-ansi/node_modules/strip-ansi/package.json +0 -54
  937. package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
  938. package/node_modules/wrap-ansi/package.json +0 -62
  939. package/node_modules/wrap-ansi/readme.md +0 -91
  940. package/node_modules/y18n/CHANGELOG.md +0 -100
  941. package/node_modules/y18n/LICENSE +0 -13
  942. package/node_modules/y18n/README.md +0 -127
  943. package/node_modules/y18n/build/index.cjs +0 -203
  944. package/node_modules/y18n/build/lib/cjs.js +0 -6
  945. package/node_modules/y18n/build/lib/index.js +0 -174
  946. package/node_modules/y18n/build/lib/platform-shims/node.js +0 -19
  947. package/node_modules/y18n/index.mjs +0 -8
  948. package/node_modules/y18n/package.json +0 -70
  949. package/node_modules/yargs/CHANGELOG.md +0 -88
  950. package/node_modules/yargs/LICENSE +0 -21
  951. package/node_modules/yargs/README.md +0 -202
  952. package/node_modules/yargs/browser.mjs +0 -7
  953. package/node_modules/yargs/build/index.cjs +0 -2920
  954. package/node_modules/yargs/build/lib/argsert.js +0 -62
  955. package/node_modules/yargs/build/lib/command.js +0 -382
  956. package/node_modules/yargs/build/lib/completion-templates.js +0 -47
  957. package/node_modules/yargs/build/lib/completion.js +0 -128
  958. package/node_modules/yargs/build/lib/middleware.js +0 -53
  959. package/node_modules/yargs/build/lib/parse-command.js +0 -32
  960. package/node_modules/yargs/build/lib/typings/common-types.js +0 -9
  961. package/node_modules/yargs/build/lib/typings/yargs-parser-types.js +0 -1
  962. package/node_modules/yargs/build/lib/usage.js +0 -548
  963. package/node_modules/yargs/build/lib/utils/apply-extends.js +0 -59
  964. package/node_modules/yargs/build/lib/utils/is-promise.js +0 -5
  965. package/node_modules/yargs/build/lib/utils/levenshtein.js +0 -26
  966. package/node_modules/yargs/build/lib/utils/obj-filter.js +0 -10
  967. package/node_modules/yargs/build/lib/utils/process-argv.js +0 -17
  968. package/node_modules/yargs/build/lib/utils/set-blocking.js +0 -12
  969. package/node_modules/yargs/build/lib/utils/which-module.js +0 -10
  970. package/node_modules/yargs/build/lib/validation.js +0 -308
  971. package/node_modules/yargs/build/lib/yargs-factory.js +0 -1143
  972. package/node_modules/yargs/build/lib/yerror.js +0 -7
  973. package/node_modules/yargs/helpers/helpers.mjs +0 -10
  974. package/node_modules/yargs/helpers/index.js +0 -14
  975. package/node_modules/yargs/helpers/package.json +0 -3
  976. package/node_modules/yargs/index.cjs +0 -39
  977. package/node_modules/yargs/index.mjs +0 -8
  978. package/node_modules/yargs/lib/platform-shims/browser.mjs +0 -92
  979. package/node_modules/yargs/lib/platform-shims/esm.mjs +0 -67
  980. package/node_modules/yargs/locales/be.json +0 -46
  981. package/node_modules/yargs/locales/de.json +0 -46
  982. package/node_modules/yargs/locales/en.json +0 -51
  983. package/node_modules/yargs/locales/es.json +0 -46
  984. package/node_modules/yargs/locales/fi.json +0 -49
  985. package/node_modules/yargs/locales/fr.json +0 -53
  986. package/node_modules/yargs/locales/hi.json +0 -49
  987. package/node_modules/yargs/locales/hu.json +0 -46
  988. package/node_modules/yargs/locales/id.json +0 -50
  989. package/node_modules/yargs/locales/it.json +0 -46
  990. package/node_modules/yargs/locales/ja.json +0 -51
  991. package/node_modules/yargs/locales/ko.json +0 -49
  992. package/node_modules/yargs/locales/nb.json +0 -44
  993. package/node_modules/yargs/locales/nl.json +0 -49
  994. package/node_modules/yargs/locales/nn.json +0 -44
  995. package/node_modules/yargs/locales/pirate.json +0 -13
  996. package/node_modules/yargs/locales/pl.json +0 -49
  997. package/node_modules/yargs/locales/pt.json +0 -45
  998. package/node_modules/yargs/locales/pt_BR.json +0 -48
  999. package/node_modules/yargs/locales/ru.json +0 -46
  1000. package/node_modules/yargs/locales/th.json +0 -46
  1001. package/node_modules/yargs/locales/tr.json +0 -48
  1002. package/node_modules/yargs/locales/zh_CN.json +0 -48
  1003. package/node_modules/yargs/locales/zh_TW.json +0 -47
  1004. package/node_modules/yargs/package.json +0 -122
  1005. package/node_modules/yargs/yargs +0 -9
  1006. package/node_modules/yargs-parser/CHANGELOG.md +0 -263
  1007. package/node_modules/yargs-parser/LICENSE.txt +0 -14
  1008. package/node_modules/yargs-parser/README.md +0 -518
  1009. package/node_modules/yargs-parser/browser.js +0 -29
  1010. package/node_modules/yargs-parser/build/index.cjs +0 -1042
  1011. package/node_modules/yargs-parser/build/lib/index.js +0 -59
  1012. package/node_modules/yargs-parser/build/lib/string-utils.js +0 -65
  1013. package/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -40
  1014. package/node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -12
  1015. package/node_modules/yargs-parser/build/lib/yargs-parser.js +0 -1037
  1016. package/node_modules/yargs-parser/package.json +0 -87
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashline-read.js","sourceRoot":"","sources":["../../../src/core/tools/hashline-read.ts"],"names":[],"mappings":"AAYA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAyB,YAAY,EAAE,MAAM,eAAe,CAAC;AAEtH,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IACrF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC,CAAC;IACpG,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC,CAAC;CACrF,CAAC,CAAC;AAiBH,MAAM,qBAAqB,GAA2B;IACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IAChD,mBAAmB,EAAE,oCAAoC;CACzD,CAAC;AAOF,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,OAAiC;IACpF,MAAM,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;IAC3D,MAAM,GAAG,GAAG,OAAO,EAAE,UAAU,IAAI,qBAAqB,CAAC;IAEzD,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,8NAA8N,iBAAiB,aAAa,iBAAiB,GAAG,IAAI,uCAAuC;QACxU,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,KAAK,EACb,WAAmB,EACnB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAqD,EAC1E,MAAoB,EACnB,EAAE;YACH,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEhD,OAAO,IAAI,OAAO,CACjB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACvC,OAAO;gBACR,CAAC;gBAED,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,OAAO,GAAG,GAAG,EAAE;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACxC,CAAC,CAAC;gBACF,IAAI,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAED,CAAC,KAAK,IAAI,EAAE;oBACX,IAAI,CAAC;wBACJ,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAE/B,IAAI,OAAO;4BAAE,OAAO;wBAEpB,MAAM,QAAQ,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAEnG,IAAI,OAAuC,CAAC;wBAC5C,IAAI,OAA4C,CAAC;wBAEjD,IAAI,QAAQ,EAAE,CAAC;4BACd,mDAAmD;4BACnD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;4BAChD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BAEzC,IAAI,gBAAgB,EAAE,CAAC;gCACtB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gCAC7E,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;gCACnD,IAAI,QAAQ,GAAG,oBAAoB,OAAO,CAAC,QAAQ,GAAG,CAAC;gCACvD,IAAI,aAAa,EAAE,CAAC;oCACnB,QAAQ,IAAI,KAAK,aAAa,EAAE,CAAC;gCAClC,CAAC;gCACD,OAAO,GAAG;oCACT,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;iCACjE,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACP,OAAO,GAAG;oCACT,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,QAAQ,GAAG,EAAE;oCACvD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;iCACzC,CAAC;4BACH,CAAC;wBACF,CAAC;6BAAM,CAAC;4BACP,4CAA4C;4BAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;4BAChD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACvD,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,CAAC;4BAEvC,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gCAClC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,2BAA2B,QAAQ,CAAC,MAAM,eAAe,CAAC,CAAC;4BAC5F,CAAC;4BAED,IAAI,eAAuB,CAAC;4BAC5B,IAAI,gBAAoC,CAAC;4BACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gCACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gCAC7D,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAChE,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAC;4BACxC,CAAC;iCAAM,CAAC;gCACP,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACxD,CAAC;4BAED,mBAAmB;4BACnB,MAAM,UAAU,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;4BAEjD,IAAI,UAAkB,CAAC;4BAEvB,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;gCACtC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gCAClF,UAAU,GAAG,SAAS,gBAAgB,OAAO,aAAa,aAAa,UAAU,CAAC,iBAAiB,CAAC,6BAA6B,gBAAgB,MAAM,IAAI,cAAc,iBAAiB,GAAG,CAAC;gCAC9L,OAAO,GAAG,EAAE,UAAU,EAAE,CAAC;4BAC1B,CAAC;iCAAM,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gCACjC,MAAM,cAAc,GAAG,gBAAgB,GAAG,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;gCACrE,MAAM,UAAU,GAAG,cAAc,GAAG,CAAC,CAAC;gCAEtC,gCAAgC;gCAChC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gCAEnE,IAAI,UAAU,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;oCACxC,UAAU,IAAI,sBAAsB,gBAAgB,IAAI,cAAc,OAAO,cAAc,gBAAgB,UAAU,gBAAgB,CAAC;gCACvI,CAAC;qCAAM,CAAC;oCACP,UAAU,IAAI,sBAAsB,gBAAgB,IAAI,cAAc,OAAO,cAAc,KAAK,UAAU,CAAC,iBAAiB,CAAC,uBAAuB,UAAU,gBAAgB,CAAC;gCAChL,CAAC;gCACD,OAAO,GAAG,EAAE,UAAU,EAAE,CAAC;4BAC1B,CAAC;iCAAM,IAAI,gBAAgB,KAAK,SAAS,IAAI,SAAS,GAAG,gBAAgB,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gCAC7F,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC;gCACnE,MAAM,UAAU,GAAG,SAAS,GAAG,gBAAgB,GAAG,CAAC,CAAC;gCAEpD,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gCACnE,UAAU,IAAI,QAAQ,SAAS,mCAAmC,UAAU,gBAAgB,CAAC;4BAC9F,CAAC;iCAAM,CAAC;gCACP,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;4BACpE,CAAC;4BAED,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;wBAChD,CAAC;wBAED,IAAI,OAAO;4BAAE,OAAO;wBAEpB,IAAI,MAAM;4BAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACzD,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC/B,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACrB,IAAI,MAAM;4BAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACzD,IAAI,CAAC,OAAO,EAAE,CAAC;4BACd,MAAM,CAAC,KAAK,CAAC,CAAC;wBACf,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC,EAAE,CAAC;YACN,CAAC,CACD,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC","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