@poe-platform/safe-bash 0.1.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 (1023) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +300 -0
  3. package/dist/safe-bash/browser.d.ts +13 -0
  4. package/dist/safe-bash/browser.d.ts.map +1 -0
  5. package/dist/safe-bash/browser.js +14478 -0
  6. package/dist/safe-bash/browser.js.map +7 -0
  7. package/dist/safe-bash/commands/apply-patch/apply.d.ts +6 -0
  8. package/dist/safe-bash/commands/apply-patch/apply.d.ts.map +1 -0
  9. package/dist/safe-bash/commands/apply-patch/apply.js +273 -0
  10. package/dist/safe-bash/commands/apply-patch/apply.js.map +1 -0
  11. package/dist/safe-bash/commands/apply-patch/index.d.ts +7 -0
  12. package/dist/safe-bash/commands/apply-patch/index.d.ts.map +1 -0
  13. package/dist/safe-bash/commands/apply-patch/index.js +23 -0
  14. package/dist/safe-bash/commands/apply-patch/index.js.map +1 -0
  15. package/dist/safe-bash/commands/apply-patch/matcher.d.ts +4 -0
  16. package/dist/safe-bash/commands/apply-patch/matcher.d.ts.map +1 -0
  17. package/dist/safe-bash/commands/apply-patch/matcher.js +164 -0
  18. package/dist/safe-bash/commands/apply-patch/matcher.js.map +1 -0
  19. package/dist/safe-bash/commands/apply-patch/options.d.ts +22 -0
  20. package/dist/safe-bash/commands/apply-patch/options.d.ts.map +1 -0
  21. package/dist/safe-bash/commands/apply-patch/options.js +34 -0
  22. package/dist/safe-bash/commands/apply-patch/options.js.map +1 -0
  23. package/dist/safe-bash/commands/apply-patch/parser.d.ts +22 -0
  24. package/dist/safe-bash/commands/apply-patch/parser.d.ts.map +1 -0
  25. package/dist/safe-bash/commands/apply-patch/parser.js +164 -0
  26. package/dist/safe-bash/commands/apply-patch/parser.js.map +1 -0
  27. package/dist/safe-bash/commands/apply-patch/shared.d.ts +40 -0
  28. package/dist/safe-bash/commands/apply-patch/shared.d.ts.map +1 -0
  29. package/dist/safe-bash/commands/apply-patch/shared.js +248 -0
  30. package/dist/safe-bash/commands/apply-patch/shared.js.map +1 -0
  31. package/dist/safe-bash/commands/archive/create.d.ts +17 -0
  32. package/dist/safe-bash/commands/archive/create.d.ts.map +1 -0
  33. package/dist/safe-bash/commands/archive/create.js +168 -0
  34. package/dist/safe-bash/commands/archive/create.js.map +1 -0
  35. package/dist/safe-bash/commands/archive/extract.d.ts +5 -0
  36. package/dist/safe-bash/commands/archive/extract.d.ts.map +1 -0
  37. package/dist/safe-bash/commands/archive/extract.js +343 -0
  38. package/dist/safe-bash/commands/archive/extract.js.map +1 -0
  39. package/dist/safe-bash/commands/archive/format.d.ts +33 -0
  40. package/dist/safe-bash/commands/archive/format.d.ts.map +1 -0
  41. package/dist/safe-bash/commands/archive/format.js +225 -0
  42. package/dist/safe-bash/commands/archive/format.js.map +1 -0
  43. package/dist/safe-bash/commands/archive/index.d.ts +8 -0
  44. package/dist/safe-bash/commands/archive/index.d.ts.map +1 -0
  45. package/dist/safe-bash/commands/archive/index.js +70 -0
  46. package/dist/safe-bash/commands/archive/index.js.map +1 -0
  47. package/dist/safe-bash/commands/archive/internal.d.ts +48 -0
  48. package/dist/safe-bash/commands/archive/internal.d.ts.map +1 -0
  49. package/dist/safe-bash/commands/archive/internal.js +183 -0
  50. package/dist/safe-bash/commands/archive/internal.js.map +1 -0
  51. package/dist/safe-bash/commands/archive/options.d.ts +26 -0
  52. package/dist/safe-bash/commands/archive/options.d.ts.map +1 -0
  53. package/dist/safe-bash/commands/archive/options.js +265 -0
  54. package/dist/safe-bash/commands/archive/options.js.map +1 -0
  55. package/dist/safe-bash/commands/archive/stream.d.ts +18 -0
  56. package/dist/safe-bash/commands/archive/stream.d.ts.map +1 -0
  57. package/dist/safe-bash/commands/archive/stream.js +108 -0
  58. package/dist/safe-bash/commands/archive/stream.js.map +1 -0
  59. package/dist/safe-bash/commands/basic.d.ts +3 -0
  60. package/dist/safe-bash/commands/basic.d.ts.map +1 -0
  61. package/dist/safe-bash/commands/basic.js +208 -0
  62. package/dist/safe-bash/commands/basic.js.map +1 -0
  63. package/dist/safe-bash/commands/bytes/checksums/index.d.ts +3 -0
  64. package/dist/safe-bash/commands/bytes/checksums/index.d.ts.map +1 -0
  65. package/dist/safe-bash/commands/bytes/checksums/index.js +334 -0
  66. package/dist/safe-bash/commands/bytes/checksums/index.js.map +1 -0
  67. package/dist/safe-bash/commands/bytes/compression/files.d.ts +13 -0
  68. package/dist/safe-bash/commands/bytes/compression/files.d.ts.map +1 -0
  69. package/dist/safe-bash/commands/bytes/compression/files.js +213 -0
  70. package/dist/safe-bash/commands/bytes/compression/files.js.map +1 -0
  71. package/dist/safe-bash/commands/bytes/compression/gunzip.d.ts +3 -0
  72. package/dist/safe-bash/commands/bytes/compression/gunzip.d.ts.map +1 -0
  73. package/dist/safe-bash/commands/bytes/compression/gunzip.js +191 -0
  74. package/dist/safe-bash/commands/bytes/compression/gunzip.js.map +1 -0
  75. package/dist/safe-bash/commands/bytes/compression/index.d.ts +3 -0
  76. package/dist/safe-bash/commands/bytes/compression/index.d.ts.map +1 -0
  77. package/dist/safe-bash/commands/bytes/compression/index.js +46 -0
  78. package/dist/safe-bash/commands/bytes/compression/index.js.map +1 -0
  79. package/dist/safe-bash/commands/bytes/compression/options.d.ts +12 -0
  80. package/dist/safe-bash/commands/bytes/compression/options.d.ts.map +1 -0
  81. package/dist/safe-bash/commands/bytes/compression/options.js +58 -0
  82. package/dist/safe-bash/commands/bytes/compression/options.js.map +1 -0
  83. package/dist/safe-bash/commands/bytes/compression/stream.d.ts +6 -0
  84. package/dist/safe-bash/commands/bytes/compression/stream.d.ts.map +1 -0
  85. package/dist/safe-bash/commands/bytes/compression/stream.js +94 -0
  86. package/dist/safe-bash/commands/bytes/compression/stream.js.map +1 -0
  87. package/dist/safe-bash/commands/bytes/encoding/base.d.ts +3 -0
  88. package/dist/safe-bash/commands/bytes/encoding/base.d.ts.map +1 -0
  89. package/dist/safe-bash/commands/bytes/encoding/base.js +120 -0
  90. package/dist/safe-bash/commands/bytes/encoding/base.js.map +1 -0
  91. package/dist/safe-bash/commands/bytes/encoding/index.d.ts +3 -0
  92. package/dist/safe-bash/commands/bytes/encoding/index.d.ts.map +1 -0
  93. package/dist/safe-bash/commands/bytes/encoding/index.js +7 -0
  94. package/dist/safe-bash/commands/bytes/encoding/index.js.map +1 -0
  95. package/dist/safe-bash/commands/bytes/encoding/od.d.ts +3 -0
  96. package/dist/safe-bash/commands/bytes/encoding/od.d.ts.map +1 -0
  97. package/dist/safe-bash/commands/bytes/encoding/od.js +135 -0
  98. package/dist/safe-bash/commands/bytes/encoding/od.js.map +1 -0
  99. package/dist/safe-bash/commands/bytes/encoding/shared.d.ts +10 -0
  100. package/dist/safe-bash/commands/bytes/encoding/shared.d.ts.map +1 -0
  101. package/dist/safe-bash/commands/bytes/encoding/shared.js +107 -0
  102. package/dist/safe-bash/commands/bytes/encoding/shared.js.map +1 -0
  103. package/dist/safe-bash/commands/bytes/encoding/xxd.d.ts +3 -0
  104. package/dist/safe-bash/commands/bytes/encoding/xxd.d.ts.map +1 -0
  105. package/dist/safe-bash/commands/bytes/encoding/xxd.js +153 -0
  106. package/dist/safe-bash/commands/bytes/encoding/xxd.js.map +1 -0
  107. package/dist/safe-bash/commands/bytes/index.d.ts +7 -0
  108. package/dist/safe-bash/commands/bytes/index.d.ts.map +1 -0
  109. package/dist/safe-bash/commands/bytes/index.js +22 -0
  110. package/dist/safe-bash/commands/bytes/index.js.map +1 -0
  111. package/dist/safe-bash/commands/column/column.d.ts +4 -0
  112. package/dist/safe-bash/commands/column/column.d.ts.map +1 -0
  113. package/dist/safe-bash/commands/column/column.js +141 -0
  114. package/dist/safe-bash/commands/column/column.js.map +1 -0
  115. package/dist/safe-bash/commands/column/display.d.ts +11 -0
  116. package/dist/safe-bash/commands/column/display.d.ts.map +1 -0
  117. package/dist/safe-bash/commands/column/display.js +74 -0
  118. package/dist/safe-bash/commands/column/display.js.map +1 -0
  119. package/dist/safe-bash/commands/column/index.d.ts +7 -0
  120. package/dist/safe-bash/commands/column/index.d.ts.map +1 -0
  121. package/dist/safe-bash/commands/column/index.js +18 -0
  122. package/dist/safe-bash/commands/column/index.js.map +1 -0
  123. package/dist/safe-bash/commands/column/internal.d.ts +35 -0
  124. package/dist/safe-bash/commands/column/internal.d.ts.map +1 -0
  125. package/dist/safe-bash/commands/column/internal.js +193 -0
  126. package/dist/safe-bash/commands/column/internal.js.map +1 -0
  127. package/dist/safe-bash/commands/column/options.d.ts +34 -0
  128. package/dist/safe-bash/commands/column/options.d.ts.map +1 -0
  129. package/dist/safe-bash/commands/column/options.js +141 -0
  130. package/dist/safe-bash/commands/column/options.js.map +1 -0
  131. package/dist/safe-bash/commands/column/table.d.ts +4 -0
  132. package/dist/safe-bash/commands/column/table.d.ts.map +1 -0
  133. package/dist/safe-bash/commands/column/table.js +87 -0
  134. package/dist/safe-bash/commands/column/table.js.map +1 -0
  135. package/dist/safe-bash/commands/copy-identity.d.ts +4 -0
  136. package/dist/safe-bash/commands/copy-identity.d.ts.map +1 -0
  137. package/dist/safe-bash/commands/copy-identity.js +46 -0
  138. package/dist/safe-bash/commands/copy-identity.js.map +1 -0
  139. package/dist/safe-bash/commands/diff-patch/diff-format.d.ts +9 -0
  140. package/dist/safe-bash/commands/diff-patch/diff-format.d.ts.map +1 -0
  141. package/dist/safe-bash/commands/diff-patch/diff-format.js +155 -0
  142. package/dist/safe-bash/commands/diff-patch/diff-format.js.map +1 -0
  143. package/dist/safe-bash/commands/diff-patch/diff.d.ts +3 -0
  144. package/dist/safe-bash/commands/diff-patch/diff.d.ts.map +1 -0
  145. package/dist/safe-bash/commands/diff-patch/diff.js +291 -0
  146. package/dist/safe-bash/commands/diff-patch/diff.js.map +1 -0
  147. package/dist/safe-bash/commands/diff-patch/index.d.ts +6 -0
  148. package/dist/safe-bash/commands/diff-patch/index.d.ts.map +1 -0
  149. package/dist/safe-bash/commands/diff-patch/index.js +21 -0
  150. package/dist/safe-bash/commands/diff-patch/index.js.map +1 -0
  151. package/dist/safe-bash/commands/diff-patch/patch-envelope.d.ts +3 -0
  152. package/dist/safe-bash/commands/diff-patch/patch-envelope.d.ts.map +1 -0
  153. package/dist/safe-bash/commands/diff-patch/patch-envelope.js +56 -0
  154. package/dist/safe-bash/commands/diff-patch/patch-envelope.js.map +1 -0
  155. package/dist/safe-bash/commands/diff-patch/patch-formats.d.ts +8 -0
  156. package/dist/safe-bash/commands/diff-patch/patch-formats.d.ts.map +1 -0
  157. package/dist/safe-bash/commands/diff-patch/patch-formats.js +247 -0
  158. package/dist/safe-bash/commands/diff-patch/patch-formats.js.map +1 -0
  159. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.d.ts +34 -0
  160. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.d.ts.map +1 -0
  161. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +215 -0
  162. package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js.map +1 -0
  163. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.d.ts +4 -0
  164. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.d.ts.map +1 -0
  165. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +89 -0
  166. package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js.map +1 -0
  167. package/dist/safe-bash/commands/diff-patch/patch-path.d.ts +4 -0
  168. package/dist/safe-bash/commands/diff-patch/patch-path.d.ts.map +1 -0
  169. package/dist/safe-bash/commands/diff-patch/patch-path.js +95 -0
  170. package/dist/safe-bash/commands/diff-patch/patch-path.js.map +1 -0
  171. package/dist/safe-bash/commands/diff-patch/patch.d.ts +3 -0
  172. package/dist/safe-bash/commands/diff-patch/patch.d.ts.map +1 -0
  173. package/dist/safe-bash/commands/diff-patch/patch.js +389 -0
  174. package/dist/safe-bash/commands/diff-patch/patch.js.map +1 -0
  175. package/dist/safe-bash/commands/diff-patch/shared.d.ts +42 -0
  176. package/dist/safe-bash/commands/diff-patch/shared.d.ts.map +1 -0
  177. package/dist/safe-bash/commands/diff-patch/shared.js +177 -0
  178. package/dist/safe-bash/commands/diff-patch/shared.js.map +1 -0
  179. package/dist/safe-bash/commands/diff-patch/unified.d.ts +50 -0
  180. package/dist/safe-bash/commands/diff-patch/unified.d.ts.map +1 -0
  181. package/dist/safe-bash/commands/diff-patch/unified.js +263 -0
  182. package/dist/safe-bash/commands/diff-patch/unified.js.map +1 -0
  183. package/dist/safe-bash/commands/du/arguments.d.ts +17 -0
  184. package/dist/safe-bash/commands/du/arguments.d.ts.map +1 -0
  185. package/dist/safe-bash/commands/du/arguments.js +164 -0
  186. package/dist/safe-bash/commands/du/arguments.js.map +1 -0
  187. package/dist/safe-bash/commands/du/budget.d.ts +37 -0
  188. package/dist/safe-bash/commands/du/budget.d.ts.map +1 -0
  189. package/dist/safe-bash/commands/du/budget.js +127 -0
  190. package/dist/safe-bash/commands/du/budget.js.map +1 -0
  191. package/dist/safe-bash/commands/du/du.d.ts +4 -0
  192. package/dist/safe-bash/commands/du/du.d.ts.map +1 -0
  193. package/dist/safe-bash/commands/du/du.js +205 -0
  194. package/dist/safe-bash/commands/du/du.js.map +1 -0
  195. package/dist/safe-bash/commands/du/format.d.ts +10 -0
  196. package/dist/safe-bash/commands/du/format.d.ts.map +1 -0
  197. package/dist/safe-bash/commands/du/format.js +54 -0
  198. package/dist/safe-bash/commands/du/format.js.map +1 -0
  199. package/dist/safe-bash/commands/du/index.d.ts +7 -0
  200. package/dist/safe-bash/commands/du/index.d.ts.map +1 -0
  201. package/dist/safe-bash/commands/du/index.js +19 -0
  202. package/dist/safe-bash/commands/du/index.js.map +1 -0
  203. package/dist/safe-bash/commands/du/options.d.ts +17 -0
  204. package/dist/safe-bash/commands/du/options.d.ts.map +1 -0
  205. package/dist/safe-bash/commands/du/options.js +14 -0
  206. package/dist/safe-bash/commands/du/options.js.map +1 -0
  207. package/dist/safe-bash/commands/env-split.d.ts +8 -0
  208. package/dist/safe-bash/commands/env-split.d.ts.map +1 -0
  209. package/dist/safe-bash/commands/env-split.js +343 -0
  210. package/dist/safe-bash/commands/env-split.js.map +1 -0
  211. package/dist/safe-bash/commands/execution.d.ts +4 -0
  212. package/dist/safe-bash/commands/execution.d.ts.map +1 -0
  213. package/dist/safe-bash/commands/execution.js +230 -0
  214. package/dist/safe-bash/commands/execution.js.map +1 -0
  215. package/dist/safe-bash/commands/expr/bre-worker.d.ts +3 -0
  216. package/dist/safe-bash/commands/expr/bre-worker.d.ts.map +1 -0
  217. package/dist/safe-bash/commands/expr/bre-worker.js +445 -0
  218. package/dist/safe-bash/commands/expr/bre-worker.js.map +1 -0
  219. package/dist/safe-bash/commands/expr/evaluate.d.ts +15 -0
  220. package/dist/safe-bash/commands/expr/evaluate.d.ts.map +1 -0
  221. package/dist/safe-bash/commands/expr/evaluate.js +150 -0
  222. package/dist/safe-bash/commands/expr/evaluate.js.map +1 -0
  223. package/dist/safe-bash/commands/expr/index.d.ts +7 -0
  224. package/dist/safe-bash/commands/expr/index.d.ts.map +1 -0
  225. package/dist/safe-bash/commands/expr/index.js +86 -0
  226. package/dist/safe-bash/commands/expr/index.js.map +1 -0
  227. package/dist/safe-bash/commands/expr/internal.d.ts +45 -0
  228. package/dist/safe-bash/commands/expr/internal.d.ts.map +1 -0
  229. package/dist/safe-bash/commands/expr/internal.js +145 -0
  230. package/dist/safe-bash/commands/expr/internal.js.map +1 -0
  231. package/dist/safe-bash/commands/expr/syntax.d.ts +4 -0
  232. package/dist/safe-bash/commands/expr/syntax.d.ts.map +1 -0
  233. package/dist/safe-bash/commands/expr/syntax.js +120 -0
  234. package/dist/safe-bash/commands/expr/syntax.js.map +1 -0
  235. package/dist/safe-bash/commands/file/classify.d.ts +8 -0
  236. package/dist/safe-bash/commands/file/classify.d.ts.map +1 -0
  237. package/dist/safe-bash/commands/file/classify.js +125 -0
  238. package/dist/safe-bash/commands/file/classify.js.map +1 -0
  239. package/dist/safe-bash/commands/file/index.d.ts +7 -0
  240. package/dist/safe-bash/commands/file/index.d.ts.map +1 -0
  241. package/dist/safe-bash/commands/file/index.js +257 -0
  242. package/dist/safe-bash/commands/file/index.js.map +1 -0
  243. package/dist/safe-bash/commands/file/shared.d.ts +48 -0
  244. package/dist/safe-bash/commands/file/shared.d.ts.map +1 -0
  245. package/dist/safe-bash/commands/file/shared.js +166 -0
  246. package/dist/safe-bash/commands/file/shared.js.map +1 -0
  247. package/dist/safe-bash/commands/filesystem.d.ts +3 -0
  248. package/dist/safe-bash/commands/filesystem.d.ts.map +1 -0
  249. package/dist/safe-bash/commands/filesystem.js +427 -0
  250. package/dist/safe-bash/commands/filesystem.js.map +1 -0
  251. package/dist/safe-bash/commands/find.d.ts +3 -0
  252. package/dist/safe-bash/commands/find.d.ts.map +1 -0
  253. package/dist/safe-bash/commands/find.js +238 -0
  254. package/dist/safe-bash/commands/find.js.map +1 -0
  255. package/dist/safe-bash/commands/git/arguments.d.ts +17 -0
  256. package/dist/safe-bash/commands/git/arguments.d.ts.map +1 -0
  257. package/dist/safe-bash/commands/git/arguments.js +150 -0
  258. package/dist/safe-bash/commands/git/arguments.js.map +1 -0
  259. package/dist/safe-bash/commands/git/codec.d.ts +8 -0
  260. package/dist/safe-bash/commands/git/codec.d.ts.map +1 -0
  261. package/dist/safe-bash/commands/git/codec.js +225 -0
  262. package/dist/safe-bash/commands/git/codec.js.map +1 -0
  263. package/dist/safe-bash/commands/git/config.d.ts +8 -0
  264. package/dist/safe-bash/commands/git/config.d.ts.map +1 -0
  265. package/dist/safe-bash/commands/git/config.js +100 -0
  266. package/dist/safe-bash/commands/git/config.js.map +1 -0
  267. package/dist/safe-bash/commands/git/crc.d.ts +3 -0
  268. package/dist/safe-bash/commands/git/crc.d.ts.map +1 -0
  269. package/dist/safe-bash/commands/git/crc.js +14 -0
  270. package/dist/safe-bash/commands/git/crc.js.map +1 -0
  271. package/dist/safe-bash/commands/git/delta.d.ts +4 -0
  272. package/dist/safe-bash/commands/git/delta.d.ts.map +1 -0
  273. package/dist/safe-bash/commands/git/delta.js +62 -0
  274. package/dist/safe-bash/commands/git/delta.js.map +1 -0
  275. package/dist/safe-bash/commands/git/diff.d.ts +9 -0
  276. package/dist/safe-bash/commands/git/diff.d.ts.map +1 -0
  277. package/dist/safe-bash/commands/git/diff.js +131 -0
  278. package/dist/safe-bash/commands/git/diff.js.map +1 -0
  279. package/dist/safe-bash/commands/git/ignore.d.ts +22 -0
  280. package/dist/safe-bash/commands/git/ignore.d.ts.map +1 -0
  281. package/dist/safe-bash/commands/git/ignore.js +153 -0
  282. package/dist/safe-bash/commands/git/ignore.js.map +1 -0
  283. package/dist/safe-bash/commands/git/index.d.ts +7 -0
  284. package/dist/safe-bash/commands/git/index.d.ts.map +1 -0
  285. package/dist/safe-bash/commands/git/index.js +66 -0
  286. package/dist/safe-bash/commands/git/index.js.map +1 -0
  287. package/dist/safe-bash/commands/git/io.d.ts +46 -0
  288. package/dist/safe-bash/commands/git/io.d.ts.map +1 -0
  289. package/dist/safe-bash/commands/git/io.js +388 -0
  290. package/dist/safe-bash/commands/git/io.js.map +1 -0
  291. package/dist/safe-bash/commands/git/limits.d.ts +39 -0
  292. package/dist/safe-bash/commands/git/limits.d.ts.map +1 -0
  293. package/dist/safe-bash/commands/git/limits.js +43 -0
  294. package/dist/safe-bash/commands/git/limits.js.map +1 -0
  295. package/dist/safe-bash/commands/git/pack.d.ts +14 -0
  296. package/dist/safe-bash/commands/git/pack.d.ts.map +1 -0
  297. package/dist/safe-bash/commands/git/pack.js +273 -0
  298. package/dist/safe-bash/commands/git/pack.js.map +1 -0
  299. package/dist/safe-bash/commands/git/queries.d.ts +6 -0
  300. package/dist/safe-bash/commands/git/queries.d.ts.map +1 -0
  301. package/dist/safe-bash/commands/git/queries.js +292 -0
  302. package/dist/safe-bash/commands/git/queries.js.map +1 -0
  303. package/dist/safe-bash/commands/git/repository.d.ts +49 -0
  304. package/dist/safe-bash/commands/git/repository.d.ts.map +1 -0
  305. package/dist/safe-bash/commands/git/repository.js +473 -0
  306. package/dist/safe-bash/commands/git/repository.js.map +1 -0
  307. package/dist/safe-bash/commands/grep-aliases/index.d.ts +11 -0
  308. package/dist/safe-bash/commands/grep-aliases/index.d.ts.map +1 -0
  309. package/dist/safe-bash/commands/grep-aliases/index.js +52 -0
  310. package/dist/safe-bash/commands/grep-aliases/index.js.map +1 -0
  311. package/dist/safe-bash/commands/grep.d.ts +4 -0
  312. package/dist/safe-bash/commands/grep.d.ts.map +1 -0
  313. package/dist/safe-bash/commands/grep.js +112 -0
  314. package/dist/safe-bash/commands/grep.js.map +1 -0
  315. package/dist/safe-bash/commands/html-to-markdown/budget.d.ts +34 -0
  316. package/dist/safe-bash/commands/html-to-markdown/budget.d.ts.map +1 -0
  317. package/dist/safe-bash/commands/html-to-markdown/budget.js +94 -0
  318. package/dist/safe-bash/commands/html-to-markdown/budget.js.map +1 -0
  319. package/dist/safe-bash/commands/html-to-markdown/entities.d.ts +5 -0
  320. package/dist/safe-bash/commands/html-to-markdown/entities.d.ts.map +1 -0
  321. package/dist/safe-bash/commands/html-to-markdown/entities.js +126 -0
  322. package/dist/safe-bash/commands/html-to-markdown/entities.js.map +1 -0
  323. package/dist/safe-bash/commands/html-to-markdown/index.d.ts +7 -0
  324. package/dist/safe-bash/commands/html-to-markdown/index.d.ts.map +1 -0
  325. package/dist/safe-bash/commands/html-to-markdown/index.js +91 -0
  326. package/dist/safe-bash/commands/html-to-markdown/index.js.map +1 -0
  327. package/dist/safe-bash/commands/html-to-markdown/input.d.ts +18 -0
  328. package/dist/safe-bash/commands/html-to-markdown/input.d.ts.map +1 -0
  329. package/dist/safe-bash/commands/html-to-markdown/input.js +118 -0
  330. package/dist/safe-bash/commands/html-to-markdown/input.js.map +1 -0
  331. package/dist/safe-bash/commands/html-to-markdown/options.d.ts +28 -0
  332. package/dist/safe-bash/commands/html-to-markdown/options.d.ts.map +1 -0
  333. package/dist/safe-bash/commands/html-to-markdown/options.js +56 -0
  334. package/dist/safe-bash/commands/html-to-markdown/options.js.map +1 -0
  335. package/dist/safe-bash/commands/html-to-markdown/parser.d.ts +31 -0
  336. package/dist/safe-bash/commands/html-to-markdown/parser.d.ts.map +1 -0
  337. package/dist/safe-bash/commands/html-to-markdown/parser.js +293 -0
  338. package/dist/safe-bash/commands/html-to-markdown/parser.js.map +1 -0
  339. package/dist/safe-bash/commands/html-to-markdown/render.d.ts +25 -0
  340. package/dist/safe-bash/commands/html-to-markdown/render.d.ts.map +1 -0
  341. package/dist/safe-bash/commands/html-to-markdown/render.js +445 -0
  342. package/dist/safe-bash/commands/html-to-markdown/render.js.map +1 -0
  343. package/dist/safe-bash/commands/html-to-markdown/text.d.ts +5 -0
  344. package/dist/safe-bash/commands/html-to-markdown/text.d.ts.map +1 -0
  345. package/dist/safe-bash/commands/html-to-markdown/text.js +51 -0
  346. package/dist/safe-bash/commands/html-to-markdown/text.js.map +1 -0
  347. package/dist/safe-bash/commands/index.d.ts +10 -0
  348. package/dist/safe-bash/commands/index.d.ts.map +1 -0
  349. package/dist/safe-bash/commands/index.js +45 -0
  350. package/dist/safe-bash/commands/index.js.map +1 -0
  351. package/dist/safe-bash/commands/internal.d.ts +38 -0
  352. package/dist/safe-bash/commands/internal.d.ts.map +1 -0
  353. package/dist/safe-bash/commands/internal.js +328 -0
  354. package/dist/safe-bash/commands/internal.js.map +1 -0
  355. package/dist/safe-bash/commands/metadata/chmod.d.ts +3 -0
  356. package/dist/safe-bash/commands/metadata/chmod.d.ts.map +1 -0
  357. package/dist/safe-bash/commands/metadata/chmod.js +144 -0
  358. package/dist/safe-bash/commands/metadata/chmod.js.map +1 -0
  359. package/dist/safe-bash/commands/metadata/index.d.ts +6 -0
  360. package/dist/safe-bash/commands/metadata/index.d.ts.map +1 -0
  361. package/dist/safe-bash/commands/metadata/index.js +20 -0
  362. package/dist/safe-bash/commands/metadata/index.js.map +1 -0
  363. package/dist/safe-bash/commands/metadata/internal.d.ts +29 -0
  364. package/dist/safe-bash/commands/metadata/internal.d.ts.map +1 -0
  365. package/dist/safe-bash/commands/metadata/internal.js +67 -0
  366. package/dist/safe-bash/commands/metadata/internal.js.map +1 -0
  367. package/dist/safe-bash/commands/metadata/mktemp.d.ts +3 -0
  368. package/dist/safe-bash/commands/metadata/mktemp.d.ts.map +1 -0
  369. package/dist/safe-bash/commands/metadata/mktemp.js +142 -0
  370. package/dist/safe-bash/commands/metadata/mktemp.js.map +1 -0
  371. package/dist/safe-bash/commands/metadata/stat.d.ts +3 -0
  372. package/dist/safe-bash/commands/metadata/stat.d.ts.map +1 -0
  373. package/dist/safe-bash/commands/metadata/stat.js +245 -0
  374. package/dist/safe-bash/commands/metadata/stat.js.map +1 -0
  375. package/dist/safe-bash/commands/move.d.ts +10 -0
  376. package/dist/safe-bash/commands/move.d.ts.map +1 -0
  377. package/dist/safe-bash/commands/move.js +161 -0
  378. package/dist/safe-bash/commands/move.js.map +1 -0
  379. package/dist/safe-bash/commands/network/args.d.ts +37 -0
  380. package/dist/safe-bash/commands/network/args.d.ts.map +1 -0
  381. package/dist/safe-bash/commands/network/args.js +228 -0
  382. package/dist/safe-bash/commands/network/args.js.map +1 -0
  383. package/dist/safe-bash/commands/network/body.d.ts +10 -0
  384. package/dist/safe-bash/commands/network/body.d.ts.map +1 -0
  385. package/dist/safe-bash/commands/network/body.js +188 -0
  386. package/dist/safe-bash/commands/network/body.js.map +1 -0
  387. package/dist/safe-bash/commands/network/curl.d.ts +4 -0
  388. package/dist/safe-bash/commands/network/curl.d.ts.map +1 -0
  389. package/dist/safe-bash/commands/network/curl.js +404 -0
  390. package/dist/safe-bash/commands/network/curl.js.map +1 -0
  391. package/dist/safe-bash/commands/network/index.d.ts +10 -0
  392. package/dist/safe-bash/commands/network/index.d.ts.map +1 -0
  393. package/dist/safe-bash/commands/network/index.js +22 -0
  394. package/dist/safe-bash/commands/network/index.js.map +1 -0
  395. package/dist/safe-bash/commands/network/output.d.ts +7 -0
  396. package/dist/safe-bash/commands/network/output.d.ts.map +1 -0
  397. package/dist/safe-bash/commands/network/output.js +93 -0
  398. package/dist/safe-bash/commands/network/output.js.map +1 -0
  399. package/dist/safe-bash/commands/network/shared.d.ts +10 -0
  400. package/dist/safe-bash/commands/network/shared.d.ts.map +1 -0
  401. package/dist/safe-bash/commands/network/shared.js +52 -0
  402. package/dist/safe-bash/commands/network/shared.js.map +1 -0
  403. package/dist/safe-bash/commands/network/transport.d.ts +7 -0
  404. package/dist/safe-bash/commands/network/transport.d.ts.map +1 -0
  405. package/dist/safe-bash/commands/network/transport.js +81 -0
  406. package/dist/safe-bash/commands/network/transport.js.map +1 -0
  407. package/dist/safe-bash/commands/network/types.d.ts +49 -0
  408. package/dist/safe-bash/commands/network/types.d.ts.map +1 -0
  409. package/dist/safe-bash/commands/network/types.js +19 -0
  410. package/dist/safe-bash/commands/network/types.js.map +1 -0
  411. package/dist/safe-bash/commands/node/admission.d.ts +8 -0
  412. package/dist/safe-bash/commands/node/admission.d.ts.map +1 -0
  413. package/dist/safe-bash/commands/node/admission.js +557 -0
  414. package/dist/safe-bash/commands/node/admission.js.map +1 -0
  415. package/dist/safe-bash/commands/node/channel.d.ts +31 -0
  416. package/dist/safe-bash/commands/node/channel.d.ts.map +1 -0
  417. package/dist/safe-bash/commands/node/channel.js +58 -0
  418. package/dist/safe-bash/commands/node/channel.js.map +1 -0
  419. package/dist/safe-bash/commands/node/cli.d.ts +9 -0
  420. package/dist/safe-bash/commands/node/cli.d.ts.map +1 -0
  421. package/dist/safe-bash/commands/node/cli.js +55 -0
  422. package/dist/safe-bash/commands/node/cli.js.map +1 -0
  423. package/dist/safe-bash/commands/node/diagnostics.d.ts +8 -0
  424. package/dist/safe-bash/commands/node/diagnostics.d.ts.map +1 -0
  425. package/dist/safe-bash/commands/node/diagnostics.js +48 -0
  426. package/dist/safe-bash/commands/node/diagnostics.js.map +1 -0
  427. package/dist/safe-bash/commands/node/host.d.ts +30 -0
  428. package/dist/safe-bash/commands/node/host.d.ts.map +1 -0
  429. package/dist/safe-bash/commands/node/host.js +411 -0
  430. package/dist/safe-bash/commands/node/host.js.map +1 -0
  431. package/dist/safe-bash/commands/node/index.d.ts +15 -0
  432. package/dist/safe-bash/commands/node/index.d.ts.map +1 -0
  433. package/dist/safe-bash/commands/node/index.js +212 -0
  434. package/dist/safe-bash/commands/node/index.js.map +1 -0
  435. package/dist/safe-bash/commands/node/lifecycle.d.ts +29 -0
  436. package/dist/safe-bash/commands/node/lifecycle.d.ts.map +1 -0
  437. package/dist/safe-bash/commands/node/lifecycle.js +205 -0
  438. package/dist/safe-bash/commands/node/lifecycle.js.map +1 -0
  439. package/dist/safe-bash/commands/node/lower.d.ts +3 -0
  440. package/dist/safe-bash/commands/node/lower.d.ts.map +1 -0
  441. package/dist/safe-bash/commands/node/lower.js +407 -0
  442. package/dist/safe-bash/commands/node/lower.js.map +1 -0
  443. package/dist/safe-bash/commands/node/program.d.ts +3 -0
  444. package/dist/safe-bash/commands/node/program.d.ts.map +1 -0
  445. package/dist/safe-bash/commands/node/program.js +216 -0
  446. package/dist/safe-bash/commands/node/program.js.map +1 -0
  447. package/dist/safe-bash/commands/node/rules.d.ts +2 -0
  448. package/dist/safe-bash/commands/node/rules.d.ts.map +1 -0
  449. package/dist/safe-bash/commands/node/rules.js +134 -0
  450. package/dist/safe-bash/commands/node/rules.js.map +1 -0
  451. package/dist/safe-bash/commands/node/safejs.d.ts +4 -0
  452. package/dist/safe-bash/commands/node/safejs.d.ts.map +1 -0
  453. package/dist/safe-bash/commands/node/safejs.js +79 -0
  454. package/dist/safe-bash/commands/node/safejs.js.map +1 -0
  455. package/dist/safe-bash/commands/node/types.d.ts +143 -0
  456. package/dist/safe-bash/commands/node/types.d.ts.map +1 -0
  457. package/dist/safe-bash/commands/node/types.js +16 -0
  458. package/dist/safe-bash/commands/node/types.js.map +1 -0
  459. package/dist/safe-bash/commands/node/values.d.ts +13 -0
  460. package/dist/safe-bash/commands/node/values.d.ts.map +1 -0
  461. package/dist/safe-bash/commands/node/values.js +128 -0
  462. package/dist/safe-bash/commands/node/values.js.map +1 -0
  463. package/dist/safe-bash/commands/node/worker-main.d.ts +2 -0
  464. package/dist/safe-bash/commands/node/worker-main.d.ts.map +1 -0
  465. package/dist/safe-bash/commands/node/worker-main.js +179 -0
  466. package/dist/safe-bash/commands/node/worker-main.js.map +1 -0
  467. package/dist/safe-bash/commands/node/worker-provider.d.ts +4 -0
  468. package/dist/safe-bash/commands/node/worker-provider.d.ts.map +1 -0
  469. package/dist/safe-bash/commands/node/worker-provider.js +355 -0
  470. package/dist/safe-bash/commands/node/worker-provider.js.map +1 -0
  471. package/dist/safe-bash/commands/node/worker-types.d.ts +30 -0
  472. package/dist/safe-bash/commands/node/worker-types.d.ts.map +1 -0
  473. package/dist/safe-bash/commands/node/worker-types.js +2 -0
  474. package/dist/safe-bash/commands/node/worker-types.js.map +1 -0
  475. package/dist/safe-bash/commands/predicates.d.ts +3 -0
  476. package/dist/safe-bash/commands/predicates.d.ts.map +1 -0
  477. package/dist/safe-bash/commands/predicates.js +151 -0
  478. package/dist/safe-bash/commands/predicates.js.map +1 -0
  479. package/dist/safe-bash/commands/regex-execution/client.d.ts +70 -0
  480. package/dist/safe-bash/commands/regex-execution/client.d.ts.map +1 -0
  481. package/dist/safe-bash/commands/regex-execution/client.js +385 -0
  482. package/dist/safe-bash/commands/regex-execution/client.js.map +1 -0
  483. package/dist/safe-bash/commands/regex-execution/ere/errors.d.ts +22 -0
  484. package/dist/safe-bash/commands/regex-execution/ere/errors.d.ts.map +1 -0
  485. package/dist/safe-bash/commands/regex-execution/ere/errors.js +37 -0
  486. package/dist/safe-bash/commands/regex-execution/ere/errors.js.map +1 -0
  487. package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts +14 -0
  488. package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts.map +1 -0
  489. package/dist/safe-bash/commands/regex-execution/ere/limits.js +87 -0
  490. package/dist/safe-bash/commands/regex-execution/ere/limits.js.map +1 -0
  491. package/dist/safe-bash/commands/regex-execution/ere/matcher.d.ts +4 -0
  492. package/dist/safe-bash/commands/regex-execution/ere/matcher.d.ts.map +1 -0
  493. package/dist/safe-bash/commands/regex-execution/ere/matcher.js +202 -0
  494. package/dist/safe-bash/commands/regex-execution/ere/matcher.js.map +1 -0
  495. package/dist/safe-bash/commands/regex-execution/ere/syntax.d.ts +6 -0
  496. package/dist/safe-bash/commands/regex-execution/ere/syntax.d.ts.map +1 -0
  497. package/dist/safe-bash/commands/regex-execution/ere/syntax.js +291 -0
  498. package/dist/safe-bash/commands/regex-execution/ere/syntax.js.map +1 -0
  499. package/dist/safe-bash/commands/regex-execution/ere/transport/accounting.d.ts +54 -0
  500. package/dist/safe-bash/commands/regex-execution/ere/transport/accounting.d.ts.map +1 -0
  501. package/dist/safe-bash/commands/regex-execution/ere/transport/accounting.js +175 -0
  502. package/dist/safe-bash/commands/regex-execution/ere/transport/accounting.js.map +1 -0
  503. package/dist/safe-bash/commands/regex-execution/ere/transport/owner.d.ts +15 -0
  504. package/dist/safe-bash/commands/regex-execution/ere/transport/owner.d.ts.map +1 -0
  505. package/dist/safe-bash/commands/regex-execution/ere/transport/owner.js +253 -0
  506. package/dist/safe-bash/commands/regex-execution/ere/transport/owner.js.map +1 -0
  507. package/dist/safe-bash/commands/regex-execution/ere/transport/protocol.d.ts +68 -0
  508. package/dist/safe-bash/commands/regex-execution/ere/transport/protocol.d.ts.map +1 -0
  509. package/dist/safe-bash/commands/regex-execution/ere/transport/protocol.js +35 -0
  510. package/dist/safe-bash/commands/regex-execution/ere/transport/protocol.js.map +1 -0
  511. package/dist/safe-bash/commands/regex-execution/ere/transport/root.d.ts +15 -0
  512. package/dist/safe-bash/commands/regex-execution/ere/transport/root.d.ts.map +1 -0
  513. package/dist/safe-bash/commands/regex-execution/ere/transport/root.js +372 -0
  514. package/dist/safe-bash/commands/regex-execution/ere/transport/root.js.map +1 -0
  515. package/dist/safe-bash/commands/regex-execution/ere/transport/validation.d.ts +22 -0
  516. package/dist/safe-bash/commands/regex-execution/ere/transport/validation.d.ts.map +1 -0
  517. package/dist/safe-bash/commands/regex-execution/ere/transport/validation.js +286 -0
  518. package/dist/safe-bash/commands/regex-execution/ere/transport/validation.js.map +1 -0
  519. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.d.ts +3 -0
  520. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.d.ts.map +1 -0
  521. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.js +47 -0
  522. package/dist/safe-bash/commands/regex-execution/ere/transport/wire-engine.js.map +1 -0
  523. package/dist/safe-bash/commands/regex-execution/ere/transport/worker-entry.d.ts +2 -0
  524. package/dist/safe-bash/commands/regex-execution/ere/transport/worker-entry.d.ts.map +1 -0
  525. package/dist/safe-bash/commands/regex-execution/ere/transport/worker-entry.js +32 -0
  526. package/dist/safe-bash/commands/regex-execution/ere/transport/worker-entry.js.map +1 -0
  527. package/dist/safe-bash/commands/regex-execution/ere/types.d.ts +56 -0
  528. package/dist/safe-bash/commands/regex-execution/ere/types.d.ts.map +1 -0
  529. package/dist/safe-bash/commands/regex-execution/ere/types.js +2 -0
  530. package/dist/safe-bash/commands/regex-execution/ere/types.js.map +1 -0
  531. package/dist/safe-bash/commands/regex-execution/matching.d.ts +3 -0
  532. package/dist/safe-bash/commands/regex-execution/matching.d.ts.map +1 -0
  533. package/dist/safe-bash/commands/regex-execution/matching.js +321 -0
  534. package/dist/safe-bash/commands/regex-execution/matching.js.map +1 -0
  535. package/dist/safe-bash/commands/regex-execution/protocol.d.ts +116 -0
  536. package/dist/safe-bash/commands/regex-execution/protocol.d.ts.map +1 -0
  537. package/dist/safe-bash/commands/regex-execution/protocol.js +159 -0
  538. package/dist/safe-bash/commands/regex-execution/protocol.js.map +1 -0
  539. package/dist/safe-bash/commands/regex-execution/worker.d.ts +2 -0
  540. package/dist/safe-bash/commands/regex-execution/worker.d.ts.map +1 -0
  541. package/dist/safe-bash/commands/regex-execution/worker.js +52 -0
  542. package/dist/safe-bash/commands/regex-execution/worker.js.map +1 -0
  543. package/dist/safe-bash/commands/safejs/index.d.ts +18 -0
  544. package/dist/safe-bash/commands/safejs/index.d.ts.map +1 -0
  545. package/dist/safe-bash/commands/safejs/index.js +184 -0
  546. package/dist/safe-bash/commands/safejs/index.js.map +1 -0
  547. package/dist/safe-bash/commands/safejs/io.d.ts +36 -0
  548. package/dist/safe-bash/commands/safejs/io.d.ts.map +1 -0
  549. package/dist/safe-bash/commands/safejs/io.js +127 -0
  550. package/dist/safe-bash/commands/safejs/io.js.map +1 -0
  551. package/dist/safe-bash/commands/safejs/options.d.ts +12 -0
  552. package/dist/safe-bash/commands/safejs/options.d.ts.map +1 -0
  553. package/dist/safe-bash/commands/safejs/options.js +46 -0
  554. package/dist/safe-bash/commands/safejs/options.js.map +1 -0
  555. package/dist/safe-bash/commands/safejs/render.d.ts +2 -0
  556. package/dist/safe-bash/commands/safejs/render.d.ts.map +1 -0
  557. package/dist/safe-bash/commands/safejs/render.js +100 -0
  558. package/dist/safe-bash/commands/safejs/render.js.map +1 -0
  559. package/dist/safe-bash/commands/safejs/types.d.ts +64 -0
  560. package/dist/safe-bash/commands/safejs/types.d.ts.map +1 -0
  561. package/dist/safe-bash/commands/safejs/types.js +10 -0
  562. package/dist/safe-bash/commands/safejs/types.js.map +1 -0
  563. package/dist/safe-bash/commands/search/glob.d.ts +21 -0
  564. package/dist/safe-bash/commands/search/glob.d.ts.map +1 -0
  565. package/dist/safe-bash/commands/search/glob.js +79 -0
  566. package/dist/safe-bash/commands/search/glob.js.map +1 -0
  567. package/dist/safe-bash/commands/search/index.d.ts +6 -0
  568. package/dist/safe-bash/commands/search/index.d.ts.map +1 -0
  569. package/dist/safe-bash/commands/search/index.js +20 -0
  570. package/dist/safe-bash/commands/search/index.js.map +1 -0
  571. package/dist/safe-bash/commands/search/matcher.d.ts +12 -0
  572. package/dist/safe-bash/commands/search/matcher.d.ts.map +1 -0
  573. package/dist/safe-bash/commands/search/matcher.js +24 -0
  574. package/dist/safe-bash/commands/search/matcher.js.map +1 -0
  575. package/dist/safe-bash/commands/search/options.d.ts +56 -0
  576. package/dist/safe-bash/commands/search/options.d.ts.map +1 -0
  577. package/dist/safe-bash/commands/search/options.js +307 -0
  578. package/dist/safe-bash/commands/search/options.js.map +1 -0
  579. package/dist/safe-bash/commands/search/output.d.ts +37 -0
  580. package/dist/safe-bash/commands/search/output.d.ts.map +1 -0
  581. package/dist/safe-bash/commands/search/output.js +63 -0
  582. package/dist/safe-bash/commands/search/output.js.map +1 -0
  583. package/dist/safe-bash/commands/search/rg.d.ts +4 -0
  584. package/dist/safe-bash/commands/search/rg.d.ts.map +1 -0
  585. package/dist/safe-bash/commands/search/rg.js +219 -0
  586. package/dist/safe-bash/commands/search/rg.js.map +1 -0
  587. package/dist/safe-bash/commands/search/shared.d.ts +37 -0
  588. package/dist/safe-bash/commands/search/shared.d.ts.map +1 -0
  589. package/dist/safe-bash/commands/search/shared.js +111 -0
  590. package/dist/safe-bash/commands/search/shared.js.map +1 -0
  591. package/dist/safe-bash/commands/search/walk.d.ts +28 -0
  592. package/dist/safe-bash/commands/search/walk.d.ts.map +1 -0
  593. package/dist/safe-bash/commands/search/walk.js +201 -0
  594. package/dist/safe-bash/commands/search/walk.js.map +1 -0
  595. package/dist/safe-bash/commands/split/index.d.ts +6 -0
  596. package/dist/safe-bash/commands/split/index.d.ts.map +1 -0
  597. package/dist/safe-bash/commands/split/index.js +18 -0
  598. package/dist/safe-bash/commands/split/index.js.map +1 -0
  599. package/dist/safe-bash/commands/split/io.d.ts +28 -0
  600. package/dist/safe-bash/commands/split/io.d.ts.map +1 -0
  601. package/dist/safe-bash/commands/split/io.js +101 -0
  602. package/dist/safe-bash/commands/split/io.js.map +1 -0
  603. package/dist/safe-bash/commands/split/names.d.ts +11 -0
  604. package/dist/safe-bash/commands/split/names.d.ts.map +1 -0
  605. package/dist/safe-bash/commands/split/names.js +42 -0
  606. package/dist/safe-bash/commands/split/names.js.map +1 -0
  607. package/dist/safe-bash/commands/split/options.d.ts +28 -0
  608. package/dist/safe-bash/commands/split/options.d.ts.map +1 -0
  609. package/dist/safe-bash/commands/split/options.js +130 -0
  610. package/dist/safe-bash/commands/split/options.js.map +1 -0
  611. package/dist/safe-bash/commands/split/outputs.d.ts +19 -0
  612. package/dist/safe-bash/commands/split/outputs.d.ts.map +1 -0
  613. package/dist/safe-bash/commands/split/outputs.js +105 -0
  614. package/dist/safe-bash/commands/split/outputs.js.map +1 -0
  615. package/dist/safe-bash/commands/split/split.d.ts +4 -0
  616. package/dist/safe-bash/commands/split/split.d.ts.map +1 -0
  617. package/dist/safe-bash/commands/split/split.js +146 -0
  618. package/dist/safe-bash/commands/split/split.js.map +1 -0
  619. package/dist/safe-bash/commands/stream-format/index.d.ts +6 -0
  620. package/dist/safe-bash/commands/stream-format/index.d.ts.map +1 -0
  621. package/dist/safe-bash/commands/stream-format/index.js +22 -0
  622. package/dist/safe-bash/commands/stream-format/index.js.map +1 -0
  623. package/dist/safe-bash/commands/stream-format/nl.d.ts +4 -0
  624. package/dist/safe-bash/commands/stream-format/nl.d.ts.map +1 -0
  625. package/dist/safe-bash/commands/stream-format/nl.js +96 -0
  626. package/dist/safe-bash/commands/stream-format/nl.js.map +1 -0
  627. package/dist/safe-bash/commands/stream-format/rev.d.ts +4 -0
  628. package/dist/safe-bash/commands/stream-format/rev.d.ts.map +1 -0
  629. package/dist/safe-bash/commands/stream-format/rev.js +65 -0
  630. package/dist/safe-bash/commands/stream-format/rev.js.map +1 -0
  631. package/dist/safe-bash/commands/stream-format/seq.d.ts +4 -0
  632. package/dist/safe-bash/commands/stream-format/seq.d.ts.map +1 -0
  633. package/dist/safe-bash/commands/stream-format/seq.js +249 -0
  634. package/dist/safe-bash/commands/stream-format/seq.js.map +1 -0
  635. package/dist/safe-bash/commands/stream-format/shared.d.ts +49 -0
  636. package/dist/safe-bash/commands/stream-format/shared.d.ts.map +1 -0
  637. package/dist/safe-bash/commands/stream-format/shared.js +209 -0
  638. package/dist/safe-bash/commands/stream-format/shared.js.map +1 -0
  639. package/dist/safe-bash/commands/stream-format/unexpand.d.ts +4 -0
  640. package/dist/safe-bash/commands/stream-format/unexpand.d.ts.map +1 -0
  641. package/dist/safe-bash/commands/stream-format/unexpand.js +130 -0
  642. package/dist/safe-bash/commands/stream-format/unexpand.js.map +1 -0
  643. package/dist/safe-bash/commands/stream-inspection/expand.d.ts +4 -0
  644. package/dist/safe-bash/commands/stream-inspection/expand.d.ts.map +1 -0
  645. package/dist/safe-bash/commands/stream-inspection/expand.js +100 -0
  646. package/dist/safe-bash/commands/stream-inspection/expand.js.map +1 -0
  647. package/dist/safe-bash/commands/stream-inspection/fold.d.ts +4 -0
  648. package/dist/safe-bash/commands/stream-inspection/fold.d.ts.map +1 -0
  649. package/dist/safe-bash/commands/stream-inspection/fold.js +55 -0
  650. package/dist/safe-bash/commands/stream-inspection/fold.js.map +1 -0
  651. package/dist/safe-bash/commands/stream-inspection/index.d.ts +6 -0
  652. package/dist/safe-bash/commands/stream-inspection/index.d.ts.map +1 -0
  653. package/dist/safe-bash/commands/stream-inspection/index.js +22 -0
  654. package/dist/safe-bash/commands/stream-inspection/index.js.map +1 -0
  655. package/dist/safe-bash/commands/stream-inspection/numeric-options.d.ts +5 -0
  656. package/dist/safe-bash/commands/stream-inspection/numeric-options.d.ts.map +1 -0
  657. package/dist/safe-bash/commands/stream-inspection/numeric-options.js +53 -0
  658. package/dist/safe-bash/commands/stream-inspection/numeric-options.js.map +1 -0
  659. package/dist/safe-bash/commands/stream-inspection/shared.d.ts +55 -0
  660. package/dist/safe-bash/commands/stream-inspection/shared.d.ts.map +1 -0
  661. package/dist/safe-bash/commands/stream-inspection/shared.js +202 -0
  662. package/dist/safe-bash/commands/stream-inspection/shared.js.map +1 -0
  663. package/dist/safe-bash/commands/stream-inspection/strings.d.ts +4 -0
  664. package/dist/safe-bash/commands/stream-inspection/strings.d.ts.map +1 -0
  665. package/dist/safe-bash/commands/stream-inspection/strings.js +54 -0
  666. package/dist/safe-bash/commands/stream-inspection/strings.js.map +1 -0
  667. package/dist/safe-bash/commands/stream-inspection/tac.d.ts +4 -0
  668. package/dist/safe-bash/commands/stream-inspection/tac.d.ts.map +1 -0
  669. package/dist/safe-bash/commands/stream-inspection/tac.js +54 -0
  670. package/dist/safe-bash/commands/stream-inspection/tac.js.map +1 -0
  671. package/dist/safe-bash/commands/streams.d.ts +3 -0
  672. package/dist/safe-bash/commands/streams.d.ts.map +1 -0
  673. package/dist/safe-bash/commands/streams.js +477 -0
  674. package/dist/safe-bash/commands/streams.js.map +1 -0
  675. package/dist/safe-bash/commands/structured/index.d.ts +7 -0
  676. package/dist/safe-bash/commands/structured/index.d.ts.map +1 -0
  677. package/dist/safe-bash/commands/structured/index.js +21 -0
  678. package/dist/safe-bash/commands/structured/index.js.map +1 -0
  679. package/dist/safe-bash/commands/structured/input.d.ts +18 -0
  680. package/dist/safe-bash/commands/structured/input.d.ts.map +1 -0
  681. package/dist/safe-bash/commands/structured/input.js +438 -0
  682. package/dist/safe-bash/commands/structured/input.js.map +1 -0
  683. package/dist/safe-bash/commands/structured/interpreter.d.ts +21 -0
  684. package/dist/safe-bash/commands/structured/interpreter.d.ts.map +1 -0
  685. package/dist/safe-bash/commands/structured/interpreter.js +644 -0
  686. package/dist/safe-bash/commands/structured/interpreter.js.map +1 -0
  687. package/dist/safe-bash/commands/structured/jq.d.ts +4 -0
  688. package/dist/safe-bash/commands/structured/jq.d.ts.map +1 -0
  689. package/dist/safe-bash/commands/structured/jq.js +278 -0
  690. package/dist/safe-bash/commands/structured/jq.js.map +1 -0
  691. package/dist/safe-bash/commands/structured/limits.d.ts +61 -0
  692. package/dist/safe-bash/commands/structured/limits.d.ts.map +1 -0
  693. package/dist/safe-bash/commands/structured/limits.js +162 -0
  694. package/dist/safe-bash/commands/structured/limits.js.map +1 -0
  695. package/dist/safe-bash/commands/structured/numbers.d.ts +17 -0
  696. package/dist/safe-bash/commands/structured/numbers.d.ts.map +1 -0
  697. package/dist/safe-bash/commands/structured/numbers.js +143 -0
  698. package/dist/safe-bash/commands/structured/numbers.js.map +1 -0
  699. package/dist/safe-bash/commands/structured/parser.d.ts +54 -0
  700. package/dist/safe-bash/commands/structured/parser.d.ts.map +1 -0
  701. package/dist/safe-bash/commands/structured/parser.js +320 -0
  702. package/dist/safe-bash/commands/structured/parser.js.map +1 -0
  703. package/dist/safe-bash/commands/structured/split.d.ts +3 -0
  704. package/dist/safe-bash/commands/structured/split.d.ts.map +1 -0
  705. package/dist/safe-bash/commands/structured/split.js +65 -0
  706. package/dist/safe-bash/commands/structured/split.js.map +1 -0
  707. package/dist/safe-bash/commands/structured/values.d.ts +12 -0
  708. package/dist/safe-bash/commands/structured/values.d.ts.map +1 -0
  709. package/dist/safe-bash/commands/structured/values.js +213 -0
  710. package/dist/safe-bash/commands/structured/values.js.map +1 -0
  711. package/dist/safe-bash/commands/table-text/comm.d.ts +4 -0
  712. package/dist/safe-bash/commands/table-text/comm.d.ts.map +1 -0
  713. package/dist/safe-bash/commands/table-text/comm.js +101 -0
  714. package/dist/safe-bash/commands/table-text/comm.js.map +1 -0
  715. package/dist/safe-bash/commands/table-text/index.d.ts +6 -0
  716. package/dist/safe-bash/commands/table-text/index.d.ts.map +1 -0
  717. package/dist/safe-bash/commands/table-text/index.js +21 -0
  718. package/dist/safe-bash/commands/table-text/index.js.map +1 -0
  719. package/dist/safe-bash/commands/table-text/internal.d.ts +73 -0
  720. package/dist/safe-bash/commands/table-text/internal.d.ts.map +1 -0
  721. package/dist/safe-bash/commands/table-text/internal.js +223 -0
  722. package/dist/safe-bash/commands/table-text/internal.js.map +1 -0
  723. package/dist/safe-bash/commands/table-text/join.d.ts +4 -0
  724. package/dist/safe-bash/commands/table-text/join.d.ts.map +1 -0
  725. package/dist/safe-bash/commands/table-text/join.js +252 -0
  726. package/dist/safe-bash/commands/table-text/join.js.map +1 -0
  727. package/dist/safe-bash/commands/table-text/paste.d.ts +4 -0
  728. package/dist/safe-bash/commands/table-text/paste.d.ts.map +1 -0
  729. package/dist/safe-bash/commands/table-text/paste.js +125 -0
  730. package/dist/safe-bash/commands/table-text/paste.js.map +1 -0
  731. package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +45 -0
  732. package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts.map +1 -0
  733. package/dist/safe-bash/commands/text-programs/awk-runtime.js +679 -0
  734. package/dist/safe-bash/commands/text-programs/awk-runtime.js.map +1 -0
  735. package/dist/safe-bash/commands/text-programs/awk-syntax.d.ts +141 -0
  736. package/dist/safe-bash/commands/text-programs/awk-syntax.d.ts.map +1 -0
  737. package/dist/safe-bash/commands/text-programs/awk-syntax.js +495 -0
  738. package/dist/safe-bash/commands/text-programs/awk-syntax.js.map +1 -0
  739. package/dist/safe-bash/commands/text-programs/awk-values.d.ts +29 -0
  740. package/dist/safe-bash/commands/text-programs/awk-values.d.ts.map +1 -0
  741. package/dist/safe-bash/commands/text-programs/awk-values.js +155 -0
  742. package/dist/safe-bash/commands/text-programs/awk-values.js.map +1 -0
  743. package/dist/safe-bash/commands/text-programs/awk.d.ts +4 -0
  744. package/dist/safe-bash/commands/text-programs/awk.d.ts.map +1 -0
  745. package/dist/safe-bash/commands/text-programs/awk.js +45 -0
  746. package/dist/safe-bash/commands/text-programs/awk.js.map +1 -0
  747. package/dist/safe-bash/commands/text-programs/index.d.ts +6 -0
  748. package/dist/safe-bash/commands/text-programs/index.d.ts.map +1 -0
  749. package/dist/safe-bash/commands/text-programs/index.js +21 -0
  750. package/dist/safe-bash/commands/text-programs/index.js.map +1 -0
  751. package/dist/safe-bash/commands/text-programs/regex.d.ts +19 -0
  752. package/dist/safe-bash/commands/text-programs/regex.d.ts.map +1 -0
  753. package/dist/safe-bash/commands/text-programs/regex.js +387 -0
  754. package/dist/safe-bash/commands/text-programs/regex.js.map +1 -0
  755. package/dist/safe-bash/commands/text-programs/sed.d.ts +4 -0
  756. package/dist/safe-bash/commands/text-programs/sed.d.ts.map +1 -0
  757. package/dist/safe-bash/commands/text-programs/sed.js +602 -0
  758. package/dist/safe-bash/commands/text-programs/sed.js.map +1 -0
  759. package/dist/safe-bash/commands/text-programs/shared.d.ts +33 -0
  760. package/dist/safe-bash/commands/text-programs/shared.d.ts.map +1 -0
  761. package/dist/safe-bash/commands/text-programs/shared.js +102 -0
  762. package/dist/safe-bash/commands/text-programs/shared.js.map +1 -0
  763. package/dist/safe-bash/commands/text.d.ts +3 -0
  764. package/dist/safe-bash/commands/text.d.ts.map +1 -0
  765. package/dist/safe-bash/commands/text.js +428 -0
  766. package/dist/safe-bash/commands/text.js.map +1 -0
  767. package/dist/safe-bash/commands/time-env/calendar.d.ts +30 -0
  768. package/dist/safe-bash/commands/time-env/calendar.d.ts.map +1 -0
  769. package/dist/safe-bash/commands/time-env/calendar.js +184 -0
  770. package/dist/safe-bash/commands/time-env/calendar.js.map +1 -0
  771. package/dist/safe-bash/commands/time-env/date.d.ts +3 -0
  772. package/dist/safe-bash/commands/time-env/date.d.ts.map +1 -0
  773. package/dist/safe-bash/commands/time-env/date.js +149 -0
  774. package/dist/safe-bash/commands/time-env/date.js.map +1 -0
  775. package/dist/safe-bash/commands/time-env/format.d.ts +4 -0
  776. package/dist/safe-bash/commands/time-env/format.d.ts.map +1 -0
  777. package/dist/safe-bash/commands/time-env/format.js +247 -0
  778. package/dist/safe-bash/commands/time-env/format.js.map +1 -0
  779. package/dist/safe-bash/commands/time-env/index.d.ts +6 -0
  780. package/dist/safe-bash/commands/time-env/index.d.ts.map +1 -0
  781. package/dist/safe-bash/commands/time-env/index.js +21 -0
  782. package/dist/safe-bash/commands/time-env/index.js.map +1 -0
  783. package/dist/safe-bash/commands/time-env/printenv.d.ts +3 -0
  784. package/dist/safe-bash/commands/time-env/printenv.d.ts.map +1 -0
  785. package/dist/safe-bash/commands/time-env/printenv.js +59 -0
  786. package/dist/safe-bash/commands/time-env/printenv.js.map +1 -0
  787. package/dist/safe-bash/commands/time-env/shared.d.ts +38 -0
  788. package/dist/safe-bash/commands/time-env/shared.d.ts.map +1 -0
  789. package/dist/safe-bash/commands/time-env/shared.js +68 -0
  790. package/dist/safe-bash/commands/time-env/shared.js.map +1 -0
  791. package/dist/safe-bash/commands/time-env/sleep.d.ts +3 -0
  792. package/dist/safe-bash/commands/time-env/sleep.d.ts.map +1 -0
  793. package/dist/safe-bash/commands/time-env/sleep.js +150 -0
  794. package/dist/safe-bash/commands/time-env/sleep.js.map +1 -0
  795. package/dist/safe-bash/commands/timeout/duration.d.ts +10 -0
  796. package/dist/safe-bash/commands/timeout/duration.d.ts.map +1 -0
  797. package/dist/safe-bash/commands/timeout/duration.js +82 -0
  798. package/dist/safe-bash/commands/timeout/duration.js.map +1 -0
  799. package/dist/safe-bash/commands/timeout/index.d.ts +18 -0
  800. package/dist/safe-bash/commands/timeout/index.d.ts.map +1 -0
  801. package/dist/safe-bash/commands/timeout/index.js +218 -0
  802. package/dist/safe-bash/commands/timeout/index.js.map +1 -0
  803. package/dist/safe-bash/commands/timeout/scheduler.d.ts +17 -0
  804. package/dist/safe-bash/commands/timeout/scheduler.d.ts.map +1 -0
  805. package/dist/safe-bash/commands/timeout/scheduler.js +110 -0
  806. package/dist/safe-bash/commands/timeout/scheduler.js.map +1 -0
  807. package/dist/safe-bash/commands/tree/arguments.d.ts +24 -0
  808. package/dist/safe-bash/commands/tree/arguments.d.ts.map +1 -0
  809. package/dist/safe-bash/commands/tree/arguments.js +125 -0
  810. package/dist/safe-bash/commands/tree/arguments.js.map +1 -0
  811. package/dist/safe-bash/commands/tree/charset.d.ts +5 -0
  812. package/dist/safe-bash/commands/tree/charset.d.ts.map +1 -0
  813. package/dist/safe-bash/commands/tree/charset.js +36 -0
  814. package/dist/safe-bash/commands/tree/charset.js.map +1 -0
  815. package/dist/safe-bash/commands/tree/index.d.ts +7 -0
  816. package/dist/safe-bash/commands/tree/index.d.ts.map +1 -0
  817. package/dist/safe-bash/commands/tree/index.js +19 -0
  818. package/dist/safe-bash/commands/tree/index.js.map +1 -0
  819. package/dist/safe-bash/commands/tree/io.d.ts +28 -0
  820. package/dist/safe-bash/commands/tree/io.d.ts.map +1 -0
  821. package/dist/safe-bash/commands/tree/io.js +95 -0
  822. package/dist/safe-bash/commands/tree/io.js.map +1 -0
  823. package/dist/safe-bash/commands/tree/options.d.ts +17 -0
  824. package/dist/safe-bash/commands/tree/options.d.ts.map +1 -0
  825. package/dist/safe-bash/commands/tree/options.js +14 -0
  826. package/dist/safe-bash/commands/tree/options.js.map +1 -0
  827. package/dist/safe-bash/commands/tree/pattern.d.ts +10 -0
  828. package/dist/safe-bash/commands/tree/pattern.d.ts.map +1 -0
  829. package/dist/safe-bash/commands/tree/pattern.js +90 -0
  830. package/dist/safe-bash/commands/tree/pattern.js.map +1 -0
  831. package/dist/safe-bash/commands/tree/tree.d.ts +4 -0
  832. package/dist/safe-bash/commands/tree/tree.d.ts.map +1 -0
  833. package/dist/safe-bash/commands/tree/tree.js +242 -0
  834. package/dist/safe-bash/commands/tree/tree.js.map +1 -0
  835. package/dist/safe-bash/commands/which/index.d.ts +7 -0
  836. package/dist/safe-bash/commands/which/index.d.ts.map +1 -0
  837. package/dist/safe-bash/commands/which/index.js +22 -0
  838. package/dist/safe-bash/commands/which/index.js.map +1 -0
  839. package/dist/safe-bash/commands/which/options.d.ts +15 -0
  840. package/dist/safe-bash/commands/which/options.d.ts.map +1 -0
  841. package/dist/safe-bash/commands/which/options.js +24 -0
  842. package/dist/safe-bash/commands/which/options.js.map +1 -0
  843. package/dist/safe-bash/commands/which/which.d.ts +4 -0
  844. package/dist/safe-bash/commands/which/which.d.ts.map +1 -0
  845. package/dist/safe-bash/commands/which/which.js +284 -0
  846. package/dist/safe-bash/commands/which/which.js.map +1 -0
  847. package/dist/safe-bash/contracts/command.d.ts +67 -0
  848. package/dist/safe-bash/contracts/command.d.ts.map +1 -0
  849. package/dist/safe-bash/contracts/command.js +209 -0
  850. package/dist/safe-bash/contracts/command.js.map +1 -0
  851. package/dist/safe-bash/contracts/errors.d.ts +3 -0
  852. package/dist/safe-bash/contracts/errors.d.ts.map +1 -0
  853. package/dist/safe-bash/contracts/errors.js +2 -0
  854. package/dist/safe-bash/contracts/errors.js.map +1 -0
  855. package/dist/safe-bash/contracts/filesystem.d.ts +3 -0
  856. package/dist/safe-bash/contracts/filesystem.d.ts.map +1 -0
  857. package/dist/safe-bash/contracts/filesystem.js +2 -0
  858. package/dist/safe-bash/contracts/filesystem.js.map +1 -0
  859. package/dist/safe-bash/contracts/index.d.ts +8 -0
  860. package/dist/safe-bash/contracts/index.d.ts.map +1 -0
  861. package/dist/safe-bash/contracts/index.js +8 -0
  862. package/dist/safe-bash/contracts/index.js.map +1 -0
  863. package/dist/safe-bash/contracts/io.d.ts +26 -0
  864. package/dist/safe-bash/contracts/io.d.ts.map +1 -0
  865. package/dist/safe-bash/contracts/io.js +154 -0
  866. package/dist/safe-bash/contracts/io.js.map +1 -0
  867. package/dist/safe-bash/contracts/output.d.ts +12 -0
  868. package/dist/safe-bash/contracts/output.d.ts.map +1 -0
  869. package/dist/safe-bash/contracts/output.js +126 -0
  870. package/dist/safe-bash/contracts/output.js.map +1 -0
  871. package/dist/safe-bash/contracts/path.d.ts +2 -0
  872. package/dist/safe-bash/contracts/path.d.ts.map +1 -0
  873. package/dist/safe-bash/contracts/path.js +2 -0
  874. package/dist/safe-bash/contracts/path.js.map +1 -0
  875. package/dist/safe-bash/contracts/plugin.d.ts +16 -0
  876. package/dist/safe-bash/contracts/plugin.d.ts.map +1 -0
  877. package/dist/safe-bash/contracts/plugin.js +47 -0
  878. package/dist/safe-bash/contracts/plugin.js.map +1 -0
  879. package/dist/safe-bash/contracts/value.d.ts +21 -0
  880. package/dist/safe-bash/contracts/value.d.ts.map +1 -0
  881. package/dist/safe-bash/contracts/value.js +203 -0
  882. package/dist/safe-bash/contracts/value.js.map +1 -0
  883. package/dist/safe-bash/fs/memory/index.d.ts +2 -0
  884. package/dist/safe-bash/fs/memory/index.d.ts.map +1 -0
  885. package/dist/safe-bash/fs/memory/index.js +2 -0
  886. package/dist/safe-bash/fs/memory/index.js.map +1 -0
  887. package/dist/safe-bash/fs/mount/index.d.ts +3 -0
  888. package/dist/safe-bash/fs/mount/index.d.ts.map +1 -0
  889. package/dist/safe-bash/fs/mount/index.js +2 -0
  890. package/dist/safe-bash/fs/mount/index.js.map +1 -0
  891. package/dist/safe-bash/fs/overlay/index.d.ts +3 -0
  892. package/dist/safe-bash/fs/overlay/index.d.ts.map +1 -0
  893. package/dist/safe-bash/fs/overlay/index.js +2 -0
  894. package/dist/safe-bash/fs/overlay/index.js.map +1 -0
  895. package/dist/safe-bash/fs/readonly/index.d.ts +2 -0
  896. package/dist/safe-bash/fs/readonly/index.d.ts.map +1 -0
  897. package/dist/safe-bash/fs/readonly/index.js +2 -0
  898. package/dist/safe-bash/fs/readonly/index.js.map +1 -0
  899. package/dist/safe-bash/fs/real/index.d.ts +3 -0
  900. package/dist/safe-bash/fs/real/index.d.ts.map +1 -0
  901. package/dist/safe-bash/fs/real/index.js +2 -0
  902. package/dist/safe-bash/fs/real/index.js.map +1 -0
  903. package/dist/safe-bash/fs/s3/http/index.d.ts +3 -0
  904. package/dist/safe-bash/fs/s3/http/index.d.ts.map +1 -0
  905. package/dist/safe-bash/fs/s3/http/index.js +2 -0
  906. package/dist/safe-bash/fs/s3/http/index.js.map +1 -0
  907. package/dist/safe-bash/fs/s3/index.d.ts +3 -0
  908. package/dist/safe-bash/fs/s3/index.d.ts.map +1 -0
  909. package/dist/safe-bash/fs/s3/index.js +2 -0
  910. package/dist/safe-bash/fs/s3/index.js.map +1 -0
  911. package/dist/safe-bash/fs/webdav/index.d.ts +3 -0
  912. package/dist/safe-bash/fs/webdav/index.d.ts.map +1 -0
  913. package/dist/safe-bash/fs/webdav/index.js +2 -0
  914. package/dist/safe-bash/fs/webdav/index.js.map +1 -0
  915. package/dist/safe-bash/index.d.ts +40 -0
  916. package/dist/safe-bash/index.d.ts.map +1 -0
  917. package/dist/safe-bash/index.js +39 -0
  918. package/dist/safe-bash/index.js.map +1 -0
  919. package/dist/safe-bash/integrations/safejs/filesystem.d.ts +7 -0
  920. package/dist/safe-bash/integrations/safejs/filesystem.d.ts.map +1 -0
  921. package/dist/safe-bash/integrations/safejs/filesystem.js +5 -0
  922. package/dist/safe-bash/integrations/safejs/filesystem.js.map +1 -0
  923. package/dist/safe-bash/integrations/safejs/index.d.ts +5 -0
  924. package/dist/safe-bash/integrations/safejs/index.d.ts.map +1 -0
  925. package/dist/safe-bash/integrations/safejs/index.js +3 -0
  926. package/dist/safe-bash/integrations/safejs/index.js.map +1 -0
  927. package/dist/safe-bash/integrations/safejs/shell.d.ts +31 -0
  928. package/dist/safe-bash/integrations/safejs/shell.d.ts.map +1 -0
  929. package/dist/safe-bash/integrations/safejs/shell.js +53 -0
  930. package/dist/safe-bash/integrations/safejs/shell.js.map +1 -0
  931. package/dist/safe-bash/integrations/safejs/values.d.ts +8 -0
  932. package/dist/safe-bash/integrations/safejs/values.d.ts.map +1 -0
  933. package/dist/safe-bash/integrations/safejs/values.js +71 -0
  934. package/dist/safe-bash/integrations/safejs/values.js.map +1 -0
  935. package/dist/safe-bash/plugins/index.d.ts +50 -0
  936. package/dist/safe-bash/plugins/index.d.ts.map +1 -0
  937. package/dist/safe-bash/plugins/index.js +63 -0
  938. package/dist/safe-bash/plugins/index.js.map +1 -0
  939. package/dist/safe-bash/shell/arithmetic-parameters.d.ts +14 -0
  940. package/dist/safe-bash/shell/arithmetic-parameters.d.ts.map +1 -0
  941. package/dist/safe-bash/shell/arithmetic-parameters.js +156 -0
  942. package/dist/safe-bash/shell/arithmetic-parameters.js.map +1 -0
  943. package/dist/safe-bash/shell/arithmetic.d.ts +35 -0
  944. package/dist/safe-bash/shell/arithmetic.d.ts.map +1 -0
  945. package/dist/safe-bash/shell/arithmetic.js +265 -0
  946. package/dist/safe-bash/shell/arithmetic.js.map +1 -0
  947. package/dist/safe-bash/shell/arrays/bindings.d.ts +83 -0
  948. package/dist/safe-bash/shell/arrays/bindings.d.ts.map +1 -0
  949. package/dist/safe-bash/shell/arrays/bindings.js +284 -0
  950. package/dist/safe-bash/shell/arrays/bindings.js.map +1 -0
  951. package/dist/safe-bash/shell/arrays/ledger.d.ts +73 -0
  952. package/dist/safe-bash/shell/arrays/ledger.d.ts.map +1 -0
  953. package/dist/safe-bash/shell/arrays/ledger.js +270 -0
  954. package/dist/safe-bash/shell/arrays/ledger.js.map +1 -0
  955. package/dist/safe-bash/shell/arrays/state.d.ts +75 -0
  956. package/dist/safe-bash/shell/arrays/state.d.ts.map +1 -0
  957. package/dist/safe-bash/shell/arrays/state.js +444 -0
  958. package/dist/safe-bash/shell/arrays/state.js.map +1 -0
  959. package/dist/safe-bash/shell/arrays/syntax.d.ts +47 -0
  960. package/dist/safe-bash/shell/arrays/syntax.d.ts.map +1 -0
  961. package/dist/safe-bash/shell/arrays/syntax.js +122 -0
  962. package/dist/safe-bash/shell/arrays/syntax.js.map +1 -0
  963. package/dist/safe-bash/shell/cancellation.d.ts +129 -0
  964. package/dist/safe-bash/shell/cancellation.d.ts.map +1 -0
  965. package/dist/safe-bash/shell/cancellation.js +703 -0
  966. package/dist/safe-bash/shell/cancellation.js.map +1 -0
  967. package/dist/safe-bash/shell/cleanup.d.ts +19 -0
  968. package/dist/safe-bash/shell/cleanup.d.ts.map +1 -0
  969. package/dist/safe-bash/shell/cleanup.js +83 -0
  970. package/dist/safe-bash/shell/cleanup.js.map +1 -0
  971. package/dist/safe-bash/shell/conditional.d.ts +48 -0
  972. package/dist/safe-bash/shell/conditional.d.ts.map +1 -0
  973. package/dist/safe-bash/shell/conditional.js +218 -0
  974. package/dist/safe-bash/shell/conditional.js.map +1 -0
  975. package/dist/safe-bash/shell/display.d.ts +3 -0
  976. package/dist/safe-bash/shell/display.d.ts.map +1 -0
  977. package/dist/safe-bash/shell/display.js +57 -0
  978. package/dist/safe-bash/shell/display.js.map +1 -0
  979. package/dist/safe-bash/shell/getopts.d.ts +46 -0
  980. package/dist/safe-bash/shell/getopts.d.ts.map +1 -0
  981. package/dist/safe-bash/shell/getopts.js +215 -0
  982. package/dist/safe-bash/shell/getopts.js.map +1 -0
  983. package/dist/safe-bash/shell/index.d.ts +5 -0
  984. package/dist/safe-bash/shell/index.d.ts.map +1 -0
  985. package/dist/safe-bash/shell/index.js +4 -0
  986. package/dist/safe-bash/shell/index.js.map +1 -0
  987. package/dist/safe-bash/shell/input.d.ts +26 -0
  988. package/dist/safe-bash/shell/input.d.ts.map +1 -0
  989. package/dist/safe-bash/shell/input.js +323 -0
  990. package/dist/safe-bash/shell/input.js.map +1 -0
  991. package/dist/safe-bash/shell/locale.d.ts +2 -0
  992. package/dist/safe-bash/shell/locale.d.ts.map +1 -0
  993. package/dist/safe-bash/shell/locale.js +5 -0
  994. package/dist/safe-bash/shell/locale.js.map +1 -0
  995. package/dist/safe-bash/shell/parser.d.ts +149 -0
  996. package/dist/safe-bash/shell/parser.d.ts.map +1 -0
  997. package/dist/safe-bash/shell/parser.js +1023 -0
  998. package/dist/safe-bash/shell/parser.js.map +1 -0
  999. package/dist/safe-bash/shell/pattern.d.ts +9 -0
  1000. package/dist/safe-bash/shell/pattern.d.ts.map +1 -0
  1001. package/dist/safe-bash/shell/pattern.js +134 -0
  1002. package/dist/safe-bash/shell/pattern.js.map +1 -0
  1003. package/dist/safe-bash/shell/pipestatus.d.ts +6 -0
  1004. package/dist/safe-bash/shell/pipestatus.d.ts.map +1 -0
  1005. package/dist/safe-bash/shell/pipestatus.js +82 -0
  1006. package/dist/safe-bash/shell/pipestatus.js.map +1 -0
  1007. package/dist/safe-bash/shell/runtime.d.ts +282 -0
  1008. package/dist/safe-bash/shell/runtime.d.ts.map +1 -0
  1009. package/dist/safe-bash/shell/runtime.js +5400 -0
  1010. package/dist/safe-bash/shell/runtime.js.map +1 -0
  1011. package/dist/safe-bash/shell/shell.d.ts +15 -0
  1012. package/dist/safe-bash/shell/shell.d.ts.map +1 -0
  1013. package/dist/safe-bash/shell/shell.js +355 -0
  1014. package/dist/safe-bash/shell/shell.js.map +1 -0
  1015. package/dist/safe-bash/shell/types.d.ts +76 -0
  1016. package/dist/safe-bash/shell/types.d.ts.map +1 -0
  1017. package/dist/safe-bash/shell/types.js +25 -0
  1018. package/dist/safe-bash/shell/types.js.map +1 -0
  1019. package/dist/safe-bash/shell/value-state.d.ts +57 -0
  1020. package/dist/safe-bash/shell/value-state.d.ts.map +1 -0
  1021. package/dist/safe-bash/shell/value-state.js +275 -0
  1022. package/dist/safe-bash/shell/value-state.js.map +1 -0
  1023. package/package.json +143 -0
@@ -0,0 +1,273 @@
1
+ import { inflatePackedFrame } from "./codec.js";
2
+ import { crc32 } from "./crc.js";
3
+ import { applyDelta } from "./delta.js";
4
+ import { GIT_LIMITS, demand } from "./limits.js";
5
+ const packName = /^pack-([0-9a-f]{40})\.(pack|idx|rev|bitmap|keep|mtimes)$/;
6
+ export class PackCatalogue {
7
+ session;
8
+ objects = new Map();
9
+ owners = new Set();
10
+ constructor(session) {
11
+ this.session = session;
12
+ session.onFinish(() => this.close());
13
+ }
14
+ close() {
15
+ for (const body of this.owners)
16
+ this.session.release(body);
17
+ this.owners.clear();
18
+ this.objects.clear();
19
+ }
20
+ async retain(oid, object) {
21
+ const prior = this.objects.get(oid);
22
+ if (!prior) {
23
+ this.owners.add(object.bytes);
24
+ this.objects.set(oid, object);
25
+ return object;
26
+ }
27
+ let same = prior.type === object.type && prior.bytes.length === object.bytes.length;
28
+ for (let offset = 0; same && offset < object.bytes.length; offset += 4096) {
29
+ const end = Math.min(object.bytes.length, offset + 4096);
30
+ await this.session.step(end - offset);
31
+ same = prior.bytes.subarray(offset, end).equals(object.bytes.subarray(offset, end));
32
+ }
33
+ demand(same, "conflicting Git packed duplicate object");
34
+ this.session.release(object.bytes);
35
+ return prior;
36
+ }
37
+ async admit(gitdir) {
38
+ const session = this.session;
39
+ const census = async () => {
40
+ const pairs = new Map();
41
+ const observations = [];
42
+ for (const part of ["pack", "info"]) {
43
+ const directory = session.path(gitdir, `objects/${part}`);
44
+ const parent = await session.stat(directory);
45
+ if (!parent) {
46
+ observations.push(`${part}:absent`);
47
+ continue;
48
+ }
49
+ demand(parent.type === "directory", "Git packed metadata directory required");
50
+ observations.push(`${part}:directory`);
51
+ for (const entry of await session.list(directory)) {
52
+ const path = session.path(directory, entry.name);
53
+ const stat = await session.stat(path);
54
+ demand(entry.type === "file" && stat?.type === "file", "Git packed sidecar/link/type refused");
55
+ demand(Number.isSafeInteger(stat.size) && stat.size >= 0, "invalid Git packed metadata size");
56
+ const matched = part === "pack" ? packName.exec(entry.name) : null;
57
+ if (matched) {
58
+ const name = matched[1], kind = matched[2];
59
+ if (!pairs.has(name)) {
60
+ session.reserve(256);
61
+ pairs.set(name, new Set());
62
+ }
63
+ pairs.get(name).add(kind);
64
+ demand(stat.size <= (kind === "pack" ? GIT_LIMITS.maxPackBytes : GIT_LIMITS.maxIndexBytes), "Git pack/idx/sidecar size exceeded");
65
+ }
66
+ else {
67
+ demand(part === "pack" ? entry.name === "multi-pack-index" : entry.name === "packs" || entry.name === "commit-graph", "unsupported Git unknown/promisor packed storage");
68
+ demand(stat.size <= GIT_LIMITS.maxIndexBytes, "Git inert sidecar size exceeded");
69
+ }
70
+ const observation = `${part}/${entry.name}:${stat.type}:${stat.size}:${stat.mode}:${stat.mtimeMs}:${stat.ctimeMs}`;
71
+ session.reserve(observation.length * 2);
72
+ observations.push(observation);
73
+ }
74
+ }
75
+ for (const kinds of pairs.values())
76
+ demand(kinds.has("pack") && kinds.has("idx"), "Git incomplete pack/idx pair");
77
+ demand(pairs.size <= GIT_LIMITS.maxPacks, "Git maxPacks exceeded");
78
+ return session.sorted(observations);
79
+ };
80
+ const before = await census();
81
+ session.observe(async () => {
82
+ const after = await census();
83
+ demand(after.length === before.length, "Git pack membership changed before output");
84
+ for (let index = 0; index < before.length; index++) {
85
+ await session.step(before[index].length + 1);
86
+ demand(after[index] === before[index], "Git pack/sidecar observations changed before output");
87
+ }
88
+ });
89
+ for (const row of before) {
90
+ const match = /^pack\/(pack-([0-9a-f]{40})\.pack):/.exec(row);
91
+ if (!match)
92
+ continue;
93
+ session.charge("maxPacks", 1);
94
+ await this.readPack(session.path(gitdir, `objects/pack/${match[1]}`), match[2]);
95
+ }
96
+ }
97
+ async index(bytes, pack) {
98
+ const session = this.session;
99
+ demand(bytes.length >= 1072 && bytes.subarray(0, 8).equals(Buffer.from("ff744f6300000002", "hex")), "Git idx2 header/size refused");
100
+ demand(await session.hash(bytes.subarray(0, -20)) === bytes.subarray(-20).toString("hex"), "Git idx checksum mismatch");
101
+ demand(bytes.subarray(-40, -20).equals(pack.subarray(-20)), "Git idx pack checksum mismatch");
102
+ const count = bytes.readUInt32BE(1028);
103
+ session.charge("maxEntries", count);
104
+ const base = 1072 + count * 28, extra = bytes.length - base;
105
+ demand(Number.isSafeInteger(base) && extra >= 0 && extra % 8 === 0 && (count === 0 ? extra === 0 : extra / 8 <= count - 1), "Git idx extent refused");
106
+ demand(pack.readUInt32BE(8) === count, "Git pack/index object count mismatch");
107
+ const largeStart = 1032 + count * 28, largeCount = extra / 8;
108
+ session.reserve(count * 256);
109
+ const slots = session.allocate(largeCount);
110
+ let buckets;
111
+ try {
112
+ buckets = session.allocate(1024);
113
+ const rows = [];
114
+ let previous = "";
115
+ for (let index = 0; index < count; index++) {
116
+ await session.step(40);
117
+ const oid = bytes.subarray(1032 + index * 20, 1052 + index * 20).toString("hex");
118
+ demand(oid > previous, "Git idx OID order/duplicate refused");
119
+ previous = oid;
120
+ const bucket = bytes[1032 + index * 20];
121
+ buckets.writeUInt32BE(buckets.readUInt32BE(bucket * 4) + 1, bucket * 4);
122
+ const value = bytes.readUInt32BE(1032 + count * 24 + index * 4);
123
+ let offset = value;
124
+ if (value >= 0x80000000) {
125
+ const slot = value - 0x80000000;
126
+ demand(slot < largeCount && slots[slot] === 0, "Git idx large slot invalid/duplicate");
127
+ slots[slot] = 1;
128
+ const large = bytes.readBigUInt64BE(largeStart + slot * 8);
129
+ demand(large <= BigInt(Number.MAX_SAFE_INTEGER), "Git idx offset unsafe");
130
+ offset = Number(large);
131
+ }
132
+ demand(offset >= 12 && offset < pack.length - 20, "Git idx offset outside pack");
133
+ rows.push({ oid, offset, crc: bytes.readUInt32BE(1032 + count * 20 + index * 4), end: 0, type: 0, declared: 0, compressed: 0, base: undefined, state: 0, depth: 0, object: undefined });
134
+ }
135
+ for (let slot = 0; slot < largeCount; slot++) {
136
+ await session.step();
137
+ demand(slots[slot] === 1, "unused Git idx large slot");
138
+ }
139
+ let cumulative = 0;
140
+ for (let bucket = 0; bucket < 256; bucket++) {
141
+ await session.step();
142
+ cumulative += buckets.readUInt32BE(bucket * 4);
143
+ demand(bytes.readUInt32BE(8 + bucket * 4) === cumulative, "Git idx fanout mismatch");
144
+ }
145
+ return rows;
146
+ }
147
+ finally {
148
+ session.release(slots);
149
+ if (buckets)
150
+ session.release(buckets);
151
+ }
152
+ }
153
+ async readPack(path, name) {
154
+ const session = this.session;
155
+ const pack = await session.readExact(path, GIT_LIMITS.maxPackBytes);
156
+ let index;
157
+ try {
158
+ demand(pack.length >= 32 && pack.subarray(0, 4).toString("ascii") === "PACK", "Git pack header refused");
159
+ demand(pack.readUInt32BE(4) === 2 || pack.readUInt32BE(4) === 3, "Git pack version refused");
160
+ const checksum = pack.subarray(-20).toString("hex");
161
+ demand(await session.hash(pack.subarray(0, -20)) === checksum && name === checksum, "Git pack checksum/name mismatch");
162
+ index = await session.readExact(path.slice(0, -5) + ".idx", GIT_LIMITS.maxIndexBytes);
163
+ const rows = await this.index(index, pack);
164
+ const byOid = new Map();
165
+ const byOffset = new Map();
166
+ const offsets = [];
167
+ for (const row of rows) {
168
+ await session.step(4);
169
+ byOid.set(row.oid, row);
170
+ byOffset.set(row.offset, row);
171
+ offsets.push(row.offset.toString().padStart(10, "0"));
172
+ }
173
+ demand(byOffset.size === rows.length, "duplicate Git idx pack offset");
174
+ const order = await session.sorted(offsets);
175
+ const ordered = [];
176
+ for (const offset of order) {
177
+ await session.step();
178
+ ordered.push(byOffset.get(Number(offset)));
179
+ }
180
+ if (!ordered.length)
181
+ demand(pack.length === 32, "Git empty pack trailing bytes");
182
+ for (let position = 0; position < ordered.length; position++) {
183
+ const row = ordered[position];
184
+ demand(position !== 0 || row.offset === 12, "Git first pack entry offset mismatch");
185
+ row.end = ordered[position + 1]?.offset ?? pack.length - 20;
186
+ demand(await crc32(session, pack.subarray(row.offset, row.end)) === row.crc, "Git pack entry CRC mismatch");
187
+ let cursor = row.offset;
188
+ const byte = () => { demand(cursor < row.end, "truncated Git pack entry header"); return pack[cursor++]; };
189
+ let part = byte(), factor = 16;
190
+ row.type = (part >>> 4) & 7;
191
+ demand([1, 2, 3, 4, 6, 7].includes(row.type), "Git pack entry type refused");
192
+ row.declared = part & 15;
193
+ while (part >= 128) {
194
+ await session.step();
195
+ part = byte();
196
+ row.declared += (part & 127) * factor;
197
+ demand(Number.isSafeInteger(row.declared) && row.declared <= GIT_LIMITS.maxObjectBytes, "Git pack declared size exceeded");
198
+ factor *= 128;
199
+ demand(Number.isSafeInteger(factor), "Git pack size overflow");
200
+ }
201
+ if (row.type === 6) {
202
+ part = byte();
203
+ let distance = part & 127;
204
+ while (part >= 128) {
205
+ await session.step();
206
+ part = byte();
207
+ distance = (distance + 1) * 128 + (part & 127);
208
+ demand(Number.isSafeInteger(distance), "Git OFS distance overflow");
209
+ }
210
+ row.base = byOffset.get(row.offset - distance);
211
+ demand(distance > 0 && row.base && row.base.offset < row.offset, "Git OFS base is not earlier entry");
212
+ }
213
+ else if (row.type === 7) {
214
+ demand(cursor + 20 <= row.end, "truncated Git REF base");
215
+ row.base = byOid.get(pack.subarray(cursor, cursor + 20).toString("hex"));
216
+ cursor += 20;
217
+ demand(row.base, "Git REF base outside same pack");
218
+ }
219
+ row.compressed = cursor;
220
+ }
221
+ for (const target of ordered) {
222
+ const pending = [];
223
+ let current = target;
224
+ while (current.state !== 2) {
225
+ await session.step();
226
+ demand(current.state === 0, "Git delta cycle");
227
+ current.state = 1;
228
+ pending.push(current);
229
+ demand(pending.length <= GIT_LIMITS.maxDeltaDepth + 1, "Git delta depth exceeded");
230
+ if (!current.base)
231
+ break;
232
+ current = current.base;
233
+ }
234
+ while (pending.length) {
235
+ const row = pending.pop();
236
+ row.depth = row.base ? row.base.depth + 1 : 0;
237
+ demand(row.depth <= GIT_LIMITS.maxDeltaDepth, "Git delta intrinsic depth exceeded");
238
+ const inflated = await inflatePackedFrame(session, pack.subarray(row.compressed, row.end), row.declared);
239
+ let object;
240
+ let transferred = false;
241
+ try {
242
+ if (row.base) {
243
+ demand(row.base.state === 2 && row.base.object, "Git delta base not verified");
244
+ object = await applyDelta(session, row.base.object, inflated, row.oid);
245
+ }
246
+ else {
247
+ const type = ["commit", "tree", "blob", "tag"][row.type - 1];
248
+ demand(await session.hash(inflated, type) === row.oid, "Git packed object hash mismatch");
249
+ object = { type, bytes: inflated };
250
+ }
251
+ row.object = await this.retain(row.oid, object);
252
+ transferred = true;
253
+ row.state = 2;
254
+ }
255
+ finally {
256
+ if (row.base || !transferred)
257
+ session.release(inflated);
258
+ if (object && !transferred)
259
+ session.release(object.bytes);
260
+ }
261
+ }
262
+ }
263
+ await session.observeExact(path, GIT_LIMITS.maxPackBytes, pack);
264
+ await session.observeExact(path.slice(0, -5) + ".idx", GIT_LIMITS.maxIndexBytes, index);
265
+ }
266
+ finally {
267
+ session.release(pack);
268
+ if (index)
269
+ session.release(index);
270
+ }
271
+ }
272
+ }
273
+ //# sourceMappingURL=pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../../src/commands/git/pack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type Arguments } from "./arguments.js";
2
+ import { Repository } from "./repository.js";
3
+ export declare function status(repository: Repository, parsed: Arguments): Promise<number>;
4
+ export declare function diff(repository: Repository, parsed: Arguments): Promise<number>;
5
+ export declare function query(repository: Repository, parsed: Arguments): Promise<number>;
6
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/commands/git/queries.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK5E,OAAO,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAC;AA6GzD,wBAAsB,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBvF;AAED,wBAAsB,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BrF;AAED,wBAAsB,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CtF"}
@@ -0,0 +1,292 @@
1
+ import { relativePath } from "../../contracts/index.js";
2
+ import { pathspecs, quote, selected } from "./arguments.js";
3
+ import { patch } from "./diff.js";
4
+ import { ignored, ignoreFile } from "./ignore.js";
5
+ import { objectPath, parent } from "./io.js";
6
+ import { GIT_LIMITS, GitFailure, demand } from "./limits.js";
7
+ import { Repository } from "./repository.js";
8
+ function change(before, after) {
9
+ if (!before)
10
+ return after ? "A" : " ";
11
+ if (!after)
12
+ return "D";
13
+ if ((before.mode & 0o170000) !== (after.mode & 0o170000))
14
+ return "T";
15
+ return before.mode !== after.mode || before.oid !== after.oid ? "M" : " ";
16
+ }
17
+ async function blob(repository, entry) {
18
+ if (!entry)
19
+ return undefined;
20
+ const object = await repository.object(entry.oid);
21
+ demand(object.type === "blob", "Git index/tree leaf is not a blob");
22
+ return { ...entry, bytes: object.bytes };
23
+ }
24
+ async function attributes(repository, specs, maps, worktree) {
25
+ const session = repository.session;
26
+ const check = async (bytes) => {
27
+ for (const line of session.text(bytes).split("\n")) {
28
+ await session.step(line.length + 1);
29
+ demand(!line.trim() || line.trimStart().startsWith("#"), "M1A active Git attributes unsupported");
30
+ }
31
+ };
32
+ const info = await session.read(session.path(repository.gitdir, "info/attributes"), GIT_LIMITS.maxMetadataBytes, true, true);
33
+ if (info) {
34
+ try {
35
+ await check(info);
36
+ }
37
+ finally {
38
+ session.release(info);
39
+ }
40
+ }
41
+ const names = new Set([".gitattributes"]);
42
+ for (const map of maps)
43
+ for (const name of map.keys()) {
44
+ if (!selected(name, specs))
45
+ continue;
46
+ let directory = parent(name);
47
+ while (directory !== "." && directory !== "/") {
48
+ names.add(directory + "/.gitattributes");
49
+ directory = parent(directory);
50
+ }
51
+ if (name.endsWith("/.gitattributes"))
52
+ names.add(name);
53
+ }
54
+ for (const spec of specs) {
55
+ let directory = spec;
56
+ while (directory && directory !== "." && directory !== "/") {
57
+ names.add(directory + "/.gitattributes");
58
+ directory = parent(directory);
59
+ }
60
+ }
61
+ for (const name of names) {
62
+ for (const map of maps) {
63
+ const entry = map.get(name);
64
+ if (!entry)
65
+ continue;
66
+ demand(entry.mode !== 0o120000, "symlinked Git attributes unsupported");
67
+ const value = await blob(repository, entry);
68
+ demand(value.bytes.length <= GIT_LIMITS.maxMetadataBytes, "Git attributes size exceeded");
69
+ await check(value.bytes);
70
+ }
71
+ if (worktree && repository.root) {
72
+ let directory = parent(name), obstructed = false;
73
+ while (directory !== "." && directory !== "/") {
74
+ const stat = await session.stat(session.path(repository.root, directory));
75
+ if (!stat || stat.type !== "directory") {
76
+ obstructed = true;
77
+ break;
78
+ }
79
+ directory = parent(directory);
80
+ }
81
+ if (obstructed)
82
+ continue;
83
+ const value = await session.read(session.path(repository.root, name), GIT_LIMITS.maxMetadataBytes, true, true);
84
+ if (value) {
85
+ try {
86
+ await check(value);
87
+ }
88
+ finally {
89
+ session.release(value);
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ async function untracked(repository, parsed, tracked) {
96
+ const session = repository.session, root = repository.root;
97
+ const specs = pathspecs(parsed, root);
98
+ const directories = new Set();
99
+ for (const path of tracked) {
100
+ let directory = parent(path);
101
+ while (directory !== "." && directory !== "/") {
102
+ await session.step(directory.length + 1);
103
+ if (!directories.has(directory)) {
104
+ session.reserve(directory.length * 2 + 24);
105
+ directories.add(directory);
106
+ }
107
+ directory = parent(directory);
108
+ }
109
+ }
110
+ const initial = await ignoreFile(session, session.path(repository.gitdir, "info/exclude"), "");
111
+ const walk = async (directory, inherited, depth) => {
112
+ demand(depth <= GIT_LIMITS.maxDepth, "Git worktree depth exceeded");
113
+ const absolute = session.path(root, directory);
114
+ const rules = [...inherited, ...await ignoreFile(session, session.path(absolute, ".gitignore"), directory)];
115
+ const output = [];
116
+ for (const name of await session.sorted((await session.list(absolute)).map(entry => entry.name))) {
117
+ if (name.toLowerCase() === ".git") {
118
+ demand(!directory && name === ".git", "nested/case-aliased Git repository unsupported");
119
+ continue;
120
+ }
121
+ const path = directory ? directory + "/" + name : name;
122
+ objectPath(path);
123
+ const stat = (await session.stat(session.path(root, path)));
124
+ demand(stat, "Git directory changed during scan");
125
+ const hasTracked = tracked.has(path) || directories.has(path);
126
+ await session.step(path.length + 1);
127
+ if (!hasTracked && await ignored(session, rules, path, stat.type === "directory"))
128
+ continue;
129
+ if (stat.type === "directory") {
130
+ const children = await walk(path, rules, depth + 1);
131
+ if (children.length && !hasTracked && parsed.untracked === "normal" && selected(path, specs))
132
+ output.push(path + "/");
133
+ else
134
+ output.push(...children);
135
+ }
136
+ else if (!tracked.has(path) && selected(path, specs)) {
137
+ demand(stat.type === "file" || stat.type === "symlink", "unsupported Git worktree entry");
138
+ output.push(path);
139
+ }
140
+ }
141
+ return output;
142
+ };
143
+ return walk("", initial, 0);
144
+ }
145
+ function display(repository, parsed, path, porcelain = false) {
146
+ const name = porcelain ? path : relativePath(parsed.cwd, repository.session.path(repository.root ?? repository.cwd, path)) + (path.endsWith("/") ? "/" : "");
147
+ return parsed.flags.has("-z") ? name : quote(name);
148
+ }
149
+ export async function status(repository, parsed) {
150
+ demand(repository.root, "Git status requires a worktree");
151
+ const session = repository.session, specs = pathspecs(parsed, repository.root);
152
+ const index = await repository.index(), head = await repository.tree(await repository.revision("HEAD", true));
153
+ const cached = new Map(index.filter(entry => entry.stage === 0).map(entry => [entry.path, entry]));
154
+ await attributes(repository, specs, [head, cached], true);
155
+ const stages = new Map();
156
+ for (const entry of index)
157
+ if (entry.stage)
158
+ stages.set(entry.path, (stages.get(entry.path) ?? 0) | 1 << (entry.stage - 1));
159
+ const rows = [];
160
+ const conflict = { 1: "DD", 2: "AU", 4: "UA", 3: "UD", 5: "DU", 6: "AA", 7: "UU" };
161
+ for (const path of await session.sorted(new Set([...head.keys(), ...cached.keys(), ...stages.keys()]))) {
162
+ if (!selected(path, specs))
163
+ continue;
164
+ if (stages.has(path)) {
165
+ rows.push({ path, code: conflict[stages.get(path)] });
166
+ continue;
167
+ }
168
+ const entry = cached.get(path), working = entry ? await repository.working(entry) : undefined;
169
+ const code = change(head.get(path), entry) + (entry ? change(entry, working) : " ");
170
+ if (working)
171
+ session.release(working.bytes);
172
+ if (code !== " ")
173
+ rows.push({ path, code });
174
+ }
175
+ if (parsed.untracked !== "no")
176
+ for (const path of await untracked(repository, parsed, new Set(index.map(entry => entry.path))))
177
+ rows.push({ path, code: "??" });
178
+ await session.unchanged();
179
+ const porcelain = ["--porcelain", "--porcelain=v1", "-z"].some(flag => parsed.flags.has(flag));
180
+ for (const row of rows)
181
+ await session.output(`${row.code} ${display(repository, parsed, row.path, porcelain)}${parsed.flags.has("-z") ? "\0" : "\n"}`);
182
+ return 0;
183
+ }
184
+ export async function diff(repository, parsed) {
185
+ const session = repository.session, specs = pathspecs(parsed, repository.root);
186
+ const cached = parsed.flags.has("--cached") || parsed.flags.has("--staged");
187
+ demand(!cached || parsed.operands.length <= 1, "cached Git diff takes at most one revision");
188
+ const working = !cached && parsed.operands.length < 2;
189
+ demand(!working || repository.root, "working Git diff requires a worktree");
190
+ const index = cached || working ? await repository.index() : [];
191
+ demand(!index.some(entry => entry.stage && selected(entry.path, specs)), "selected unmerged Git diff unsupported");
192
+ const indexMap = new Map(index.filter(entry => !entry.stage).map(entry => [entry.path, entry]));
193
+ const before = parsed.operands[0] || cached ? await repository.tree(await repository.revision(parsed.operands[0] ?? "HEAD", cached && !parsed.operands[0])) : indexMap;
194
+ const after = parsed.operands[1] ? await repository.tree(await repository.revision(parsed.operands[1])) : indexMap;
195
+ await attributes(repository, specs, [before, after], working);
196
+ await session.unchanged();
197
+ let different = false;
198
+ const paths = new Set([...before.keys(), ...after.keys()]);
199
+ for (const path of await session.sorted(paths)) {
200
+ if (!selected(path, specs))
201
+ continue;
202
+ const original = await blob(repository, before.get(path));
203
+ const replacement = working ? after.has(path) ? await repository.working(after.get(path)) : undefined : await blob(repository, after.get(path));
204
+ try {
205
+ const code = change(original, replacement);
206
+ if (code === " ")
207
+ continue;
208
+ different = true;
209
+ if (parsed.flags.has("--quiet"))
210
+ continue;
211
+ if (parsed.flags.has("--name-only") || parsed.flags.has("--name-status")) {
212
+ const prefix = parsed.flags.has("--name-status") ? code + (parsed.flags.has("-z") ? "\0" : "\t") : "";
213
+ await session.output(prefix + (parsed.flags.has("-z") ? path : quote(path)) + (parsed.flags.has("-z") ? "\0" : "\n"));
214
+ }
215
+ else
216
+ await patch(repository, parsed, path, original, replacement);
217
+ }
218
+ finally {
219
+ if (working && replacement)
220
+ session.release(replacement.bytes);
221
+ }
222
+ }
223
+ return different && (parsed.flags.has("--quiet") || parsed.flags.has("--exit-code")) ? 1 : 0;
224
+ }
225
+ export async function query(repository, parsed) {
226
+ const session = repository.session;
227
+ if (parsed.command === "status")
228
+ return status(repository, parsed);
229
+ if (parsed.command === "diff")
230
+ return diff(repository, parsed);
231
+ if (parsed.command === "ls-files") {
232
+ const specs = pathspecs(parsed, repository.root), rows = (await repository.index()).filter(entry => selected(entry.path, specs));
233
+ await session.unchanged();
234
+ for (const entry of rows)
235
+ await session.output(`${parsed.flags.has("-s") || parsed.flags.has("--stage") ? `${entry.mode.toString(8)} ${entry.oid} ${entry.stage}\t` : ""}${display(repository, parsed, entry.path)}${parsed.flags.has("-z") ? "\0" : "\n"}`);
236
+ return 0;
237
+ }
238
+ if (parsed.command === "rev-parse") {
239
+ let value;
240
+ if (parsed.flags.has("--show-toplevel")) {
241
+ demand(repository.root, "bare Git repository has no toplevel");
242
+ value = repository.root;
243
+ }
244
+ else if (parsed.flags.has("--absolute-git-dir"))
245
+ value = repository.gitdir;
246
+ else if (parsed.flags.has("--is-bare-repository"))
247
+ value = String(!repository.root);
248
+ else if (parsed.flags.has("--is-inside-work-tree"))
249
+ value = String(Boolean(repository.root));
250
+ else
251
+ value = (await repository.revision(parsed.operands[0]));
252
+ await session.unchanged();
253
+ await session.output(value + "\n");
254
+ return 0;
255
+ }
256
+ if (parsed.command === "show" && !parsed.flags.has("--no-patch")) {
257
+ const operand = parsed.operands[0], colon = operand.indexOf(":");
258
+ demand(colon > 0 && !parsed.format, "M1A show requires REV:path or --no-patch --format");
259
+ const name = operand.slice(colon + 1);
260
+ objectPath(name);
261
+ const entries = await repository.tree(await repository.revision(operand.slice(0, colon)));
262
+ const entry = entries.get(name);
263
+ demand(entry, "Git tree path not found");
264
+ const content = (await blob(repository, entry));
265
+ await session.unchanged();
266
+ await session.output(content.bytes);
267
+ return 0;
268
+ }
269
+ let oid = await repository.revision(parsed.operands[0] ?? "HEAD");
270
+ const limit = parsed.command === "show" ? 1 : parsed.count ?? GIT_LIMITS.maxCommits;
271
+ const seen = new Set();
272
+ await session.unchanged();
273
+ for (let index = 0; oid && index < limit; index++) {
274
+ oid = await repository.peel(oid, "commit");
275
+ demand(!seen.has(oid), "cyclic Git history");
276
+ seen.add(oid);
277
+ const commit = await repository.commit(oid);
278
+ let text = parsed.format === "oneline" ? await repository.abbreviation(oid) : oid;
279
+ if (parsed.format !== "%H") {
280
+ const message = session.text(commit.message), newline = message.indexOf("\n");
281
+ const subject = newline < 0 ? message : message.slice(0, newline);
282
+ demand(!/[\x00-\x1f\x7f]/.test(subject) && (newline < 0 || newline === message.length - 1 || message[newline + 1] === "\n"), "unsupported Git commit subject");
283
+ text += " " + subject;
284
+ }
285
+ await session.output(text + "\n");
286
+ oid = commit.parents[0];
287
+ if (index + 1 === GIT_LIMITS.maxCommits && parsed.count === undefined && oid)
288
+ throw new GitFailure("Git history limit exceeded");
289
+ }
290
+ return 0;
291
+ }
292
+ //# sourceMappingURL=queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/commands/git/queries.ts"],"names":[],"mappings":"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"}