command-stream 0.8.2 → 0.9.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 (500) hide show
  1. package/js/examples/01-basic-streaming.mjs +14 -0
  2. package/js/examples/02-async-iterator.mjs +9 -0
  3. package/js/examples/03-file-and-console.mjs +16 -0
  4. package/js/examples/04-claude-jq-pipe.mjs +16 -0
  5. package/js/examples/CI-DEBUG-README.md +138 -0
  6. package/js/examples/README-examples.mjs +111 -0
  7. package/js/examples/README.md +345 -0
  8. package/js/examples/STREAMING_INTERFACES_SUMMARY.md +116 -0
  9. package/js/examples/add-test-timeouts.js +107 -0
  10. package/js/examples/ansi-default-preserved.mjs +11 -0
  11. package/js/examples/ansi-global-config.mjs +12 -0
  12. package/js/examples/ansi-reset-default.mjs +12 -0
  13. package/js/examples/ansi-strip-utils.mjs +12 -0
  14. package/js/examples/baseline-child-process.mjs +23 -0
  15. package/js/examples/baseline-claude-test.mjs +47 -0
  16. package/js/examples/baseline-working.mjs +34 -0
  17. package/js/examples/capture-mirror-comparison.mjs +23 -0
  18. package/js/examples/capture-mirror-default.mjs +11 -0
  19. package/js/examples/capture-mirror-performance.mjs +16 -0
  20. package/js/examples/capture-mirror-show-only.mjs +16 -0
  21. package/js/examples/capture-mirror-silent-processing.mjs +16 -0
  22. package/js/examples/ci-debug-baseline-vs-library.mjs +265 -0
  23. package/js/examples/ci-debug-es-module-loading.mjs +184 -0
  24. package/js/examples/ci-debug-signal-handling.mjs +225 -0
  25. package/js/examples/ci-debug-stdout-buffering.mjs +94 -0
  26. package/js/examples/ci-debug-test-timeouts.mjs +259 -0
  27. package/js/examples/claude-exact-file-output.mjs +20 -0
  28. package/js/examples/claude-exact-jq.mjs +13 -0
  29. package/js/examples/claude-exact-streaming.mjs +13 -0
  30. package/js/examples/claude-jq-pipeline.mjs +13 -0
  31. package/js/examples/claude-json-stream.mjs +39 -0
  32. package/js/examples/claude-streaming-basic.mjs +99 -0
  33. package/js/examples/claude-streaming-demo.mjs +126 -0
  34. package/js/examples/claude-streaming-final.mjs +20 -0
  35. package/js/examples/cleanup-verification-test.mjs +115 -0
  36. package/js/examples/colors-buffer-processing.mjs +14 -0
  37. package/js/examples/colors-default-preserved.mjs +15 -0
  38. package/js/examples/colors-per-command-config.mjs +15 -0
  39. package/js/examples/colors-strip-ansi.mjs +13 -0
  40. package/js/examples/commandstream-jq.mjs +29 -0
  41. package/js/examples/commandstream-working.mjs +23 -0
  42. package/js/examples/comprehensive-streams-demo.mjs +121 -0
  43. package/js/examples/ctrl-c-concurrent-processes.mjs +20 -0
  44. package/js/examples/ctrl-c-long-running-command.mjs +20 -0
  45. package/js/examples/ctrl-c-real-system-command.mjs +17 -0
  46. package/js/examples/ctrl-c-sleep-command.mjs +17 -0
  47. package/js/examples/ctrl-c-stdin-forwarding.mjs +20 -0
  48. package/js/examples/ctrl-c-virtual-command.mjs +17 -0
  49. package/js/examples/debug-already-started.mjs +20 -0
  50. package/js/examples/debug-ansi-processing.mjs +42 -0
  51. package/js/examples/debug-basic-streaming.mjs +44 -0
  52. package/js/examples/debug-buildshellcommand.mjs +82 -0
  53. package/js/examples/debug-child-process.mjs +43 -0
  54. package/js/examples/debug-child-state.mjs +55 -0
  55. package/js/examples/debug-chunking.mjs +38 -0
  56. package/js/examples/debug-command-parsing.mjs +61 -0
  57. package/js/examples/debug-complete-consolidation.mjs +97 -0
  58. package/js/examples/debug-echo-args.mjs +22 -0
  59. package/js/examples/debug-emit-timing.mjs +28 -0
  60. package/js/examples/debug-end-event.mjs +56 -0
  61. package/js/examples/debug-errexit.mjs +16 -0
  62. package/js/examples/debug-event-emission.mjs +40 -0
  63. package/js/examples/debug-event-timing.mjs +67 -0
  64. package/js/examples/debug-event-vs-result.mjs +30 -0
  65. package/js/examples/debug-exact-command.mjs +28 -0
  66. package/js/examples/debug-exact-test-scenario.mjs +44 -0
  67. package/js/examples/debug-execution-path.mjs +27 -0
  68. package/js/examples/debug-exit-command.mjs +38 -0
  69. package/js/examples/debug-exit-virtual.mjs +54 -0
  70. package/js/examples/debug-finish-consolidation.mjs +44 -0
  71. package/js/examples/debug-force-cleanup.mjs +47 -0
  72. package/js/examples/debug-getter-basic.mjs +13 -0
  73. package/js/examples/debug-getter-direct.mjs +23 -0
  74. package/js/examples/debug-getter-internals.mjs +61 -0
  75. package/js/examples/debug-handler-detection.mjs +65 -0
  76. package/js/examples/debug-idempotent-finish.mjs +54 -0
  77. package/js/examples/debug-idempotent-kill.mjs +58 -0
  78. package/js/examples/debug-interpolation-individual.mjs +88 -0
  79. package/js/examples/debug-interpolation-issue.mjs +101 -0
  80. package/js/examples/debug-jq-streaming.mjs +57 -0
  81. package/js/examples/debug-jq-tty-colors.mjs +168 -0
  82. package/js/examples/debug-kill-cleanup.mjs +56 -0
  83. package/js/examples/debug-kill-method.mjs +33 -0
  84. package/js/examples/debug-listener-interference.mjs +38 -0
  85. package/js/examples/debug-listener-lifecycle.mjs +50 -0
  86. package/js/examples/debug-listener-timing.mjs +62 -0
  87. package/js/examples/debug-listeners-property.mjs +34 -0
  88. package/js/examples/debug-map-methods.mjs +39 -0
  89. package/js/examples/debug-not-awaited-cleanup.mjs +106 -0
  90. package/js/examples/debug-off-method.mjs +28 -0
  91. package/js/examples/debug-option-merging.mjs +17 -0
  92. package/js/examples/debug-options.mjs +36 -0
  93. package/js/examples/debug-output.mjs +25 -0
  94. package/js/examples/debug-pattern-matching.mjs +69 -0
  95. package/js/examples/debug-pipeline-cat.mjs +28 -0
  96. package/js/examples/debug-pipeline-cleanup.mjs +71 -0
  97. package/js/examples/debug-pipeline-error-detailed.mjs +78 -0
  98. package/js/examples/debug-pipeline-error.mjs +65 -0
  99. package/js/examples/debug-pipeline-issue.mjs +26 -0
  100. package/js/examples/debug-pipeline-method.mjs +22 -0
  101. package/js/examples/debug-pipeline-stream.mjs +66 -0
  102. package/js/examples/debug-pipeline.mjs +14 -0
  103. package/js/examples/debug-process-exit-trace.mjs +41 -0
  104. package/js/examples/debug-process-path.mjs +38 -0
  105. package/js/examples/debug-property-check.mjs +29 -0
  106. package/js/examples/debug-resource-cleanup.mjs +83 -0
  107. package/js/examples/debug-shell-args.mjs +103 -0
  108. package/js/examples/debug-sigint-child-handler.mjs +44 -0
  109. package/js/examples/debug-sigint-forwarding.mjs +61 -0
  110. package/js/examples/debug-sigint-handler-install.mjs +79 -0
  111. package/js/examples/debug-sigint-handler-order.mjs +85 -0
  112. package/js/examples/debug-sigint-listeners.mjs +48 -0
  113. package/js/examples/debug-sigint-start-pattern.mjs +62 -0
  114. package/js/examples/debug-sigint-timer.mjs +40 -0
  115. package/js/examples/debug-simple-command.mjs +49 -0
  116. package/js/examples/debug-simple-getter.mjs +30 -0
  117. package/js/examples/debug-simple.mjs +39 -0
  118. package/js/examples/debug-simplified-finished.mjs +102 -0
  119. package/js/examples/debug-stack-overflow.mjs +25 -0
  120. package/js/examples/debug-stdin-simple.mjs +28 -0
  121. package/js/examples/debug-stdin.mjs +28 -0
  122. package/js/examples/debug-stream-emitter-isolated.mjs +45 -0
  123. package/js/examples/debug-stream-emitter.mjs +25 -0
  124. package/js/examples/debug-stream-events.mjs +70 -0
  125. package/js/examples/debug-stream-generator.mjs +23 -0
  126. package/js/examples/debug-stream-getter-issue.mjs +37 -0
  127. package/js/examples/debug-stream-getter.mjs +19 -0
  128. package/js/examples/debug-stream-internals.mjs +64 -0
  129. package/js/examples/debug-stream-method.mjs +46 -0
  130. package/js/examples/debug-stream-object.mjs +58 -0
  131. package/js/examples/debug-stream-properties.mjs +37 -0
  132. package/js/examples/debug-stream-timing.mjs +28 -0
  133. package/js/examples/debug-streaming.mjs +24 -0
  134. package/js/examples/debug-test-isolation.mjs +54 -0
  135. package/js/examples/debug-test-state.mjs +27 -0
  136. package/js/examples/debug-user-sigint.mjs +19 -0
  137. package/js/examples/debug-virtual-disable.mjs +21 -0
  138. package/js/examples/debug-virtual-vs-real.mjs +68 -0
  139. package/js/examples/debug-with-trace.mjs +23 -0
  140. package/js/examples/debug_parent_stream.mjs +22 -0
  141. package/js/examples/emulate-claude-stream.mjs +30 -0
  142. package/js/examples/emulated-streaming-direct.mjs +22 -0
  143. package/js/examples/emulated-streaming-jq-pipe.mjs +22 -0
  144. package/js/examples/emulated-streaming-sh-pipe.mjs +23 -0
  145. package/js/examples/events-build-process.mjs +73 -0
  146. package/js/examples/events-concurrent-streams.mjs +51 -0
  147. package/js/examples/events-error-handling.mjs +59 -0
  148. package/js/examples/events-file-monitoring.mjs +66 -0
  149. package/js/examples/events-interactive-simulation.mjs +69 -0
  150. package/js/examples/events-log-processing.mjs +72 -0
  151. package/js/examples/events-network-monitoring.mjs +68 -0
  152. package/js/examples/events-ping-basic.mjs +37 -0
  153. package/js/examples/events-progress-tracking.mjs +55 -0
  154. package/js/examples/events-stdin-input.mjs +34 -0
  155. package/js/examples/example-ansi-ls.mjs +39 -0
  156. package/js/examples/example-top.mjs +27 -0
  157. package/js/examples/final-ping-stdin-proof.mjs +88 -0
  158. package/js/examples/final-test-shell-operators.mjs +123 -0
  159. package/js/examples/final-working-examples.mjs +162 -0
  160. package/js/examples/gh-auth-test.mjs +103 -0
  161. package/js/examples/gh-delete-hang-test.mjs +79 -0
  162. package/js/examples/gh-gist-creation-test.mjs +276 -0
  163. package/js/examples/gh-gist-minimal-test.mjs +89 -0
  164. package/js/examples/gh-hang-exact-original.mjs +83 -0
  165. package/js/examples/gh-hang-reproduction.mjs +151 -0
  166. package/js/examples/gh-hang-test-with-redirect.mjs +45 -0
  167. package/js/examples/gh-hang-test-without-redirect.mjs +43 -0
  168. package/js/examples/gh-minimal-hang-check.mjs +33 -0
  169. package/js/examples/gh-operations-with-cd.mjs +187 -0
  170. package/js/examples/gh-output-test.mjs +102 -0
  171. package/js/examples/gh-reproduce-hang.mjs +41 -0
  172. package/js/examples/git-operations-with-cd.mjs +186 -0
  173. package/js/examples/interactive-math-calc.mjs +45 -0
  174. package/js/examples/interactive-top-fixed.mjs +25 -0
  175. package/js/examples/interactive-top-improved.mjs +72 -0
  176. package/js/examples/interactive-top-pty-logging.mjs +69 -0
  177. package/js/examples/interactive-top-pty.mjs +27 -0
  178. package/js/examples/interactive-top-with-logging.mjs +56 -0
  179. package/js/examples/interactive-top.mjs +29 -0
  180. package/js/examples/jq-color-demo.mjs +53 -0
  181. package/js/examples/jq-colors-streaming.mjs +42 -0
  182. package/js/examples/manual-ctrl-c-test.mjs +50 -0
  183. package/js/examples/methods-multiple-options.mjs +25 -0
  184. package/js/examples/methods-run-basic.mjs +10 -0
  185. package/js/examples/methods-start-basic.mjs +10 -0
  186. package/js/examples/node-compat-data-events.mjs +36 -0
  187. package/js/examples/node-compat-readable-event.mjs +29 -0
  188. package/js/examples/node-compat-small-buffer.mjs +33 -0
  189. package/js/examples/options-capture-false.mjs +12 -0
  190. package/js/examples/options-combined-settings.mjs +13 -0
  191. package/js/examples/options-custom-input.mjs +16 -0
  192. package/js/examples/options-default-behavior.mjs +10 -0
  193. package/js/examples/options-maximum-performance.mjs +15 -0
  194. package/js/examples/options-mirror-false.mjs +10 -0
  195. package/js/examples/options-performance-mode.mjs +13 -0
  196. package/js/examples/options-performance-optimization.mjs +14 -0
  197. package/js/examples/options-run-alias-demo.mjs +15 -0
  198. package/js/examples/options-run-alias.mjs +10 -0
  199. package/js/examples/options-silent-execution.mjs +14 -0
  200. package/js/examples/options-streaming-capture.mjs +24 -0
  201. package/js/examples/options-streaming-multiple.mjs +35 -0
  202. package/js/examples/options-streaming-silent.mjs +21 -0
  203. package/js/examples/options-streaming-stdin.mjs +21 -0
  204. package/js/examples/ping-streaming-filtered.mjs +22 -0
  205. package/js/examples/ping-streaming-interruptible.mjs +47 -0
  206. package/js/examples/ping-streaming-silent.mjs +24 -0
  207. package/js/examples/ping-streaming-simple.mjs +13 -0
  208. package/js/examples/ping-streaming-statistics.mjs +49 -0
  209. package/js/examples/ping-streaming-timestamps.mjs +22 -0
  210. package/js/examples/ping-streaming.mjs +48 -0
  211. package/js/examples/prove-ping-stdin-limitation.mjs +94 -0
  212. package/js/examples/readme-example.mjs +39 -0
  213. package/js/examples/realtime-json-stream.mjs +143 -0
  214. package/js/examples/reliable-stdin-commands.mjs +135 -0
  215. package/js/examples/reproduce-issue-135-v2.mjs +15 -0
  216. package/js/examples/reproduce-issue-135.mjs +17 -0
  217. package/js/examples/shell-cd-behavior.mjs +88 -0
  218. package/js/examples/sigint-forwarding-test.mjs +60 -0
  219. package/js/examples/sigint-handler-test.mjs +72 -0
  220. package/js/examples/simple-async-test.mjs +49 -0
  221. package/js/examples/simple-claude-test.mjs +17 -0
  222. package/js/examples/simple-event-test.mjs +33 -0
  223. package/js/examples/simple-jq-streaming.mjs +48 -0
  224. package/js/examples/simple-stream-demo.mjs +35 -0
  225. package/js/examples/simple-test-sleep.js +30 -0
  226. package/js/examples/simple-working-stdin.mjs +30 -0
  227. package/js/examples/streaming-behavior-test.mjs +116 -0
  228. package/js/examples/streaming-direct-command.mjs +21 -0
  229. package/js/examples/streaming-filtered-output.mjs +33 -0
  230. package/js/examples/streaming-grep-pipeline.mjs +21 -0
  231. package/js/examples/streaming-interactive-stdin.mjs +24 -0
  232. package/js/examples/streaming-jq-pipeline.mjs +23 -0
  233. package/js/examples/streaming-multistage-pipeline.mjs +23 -0
  234. package/js/examples/streaming-pipes-event-pattern.mjs +27 -0
  235. package/js/examples/streaming-pipes-multistage.mjs +22 -0
  236. package/js/examples/streaming-pipes-realtime-jq.mjs +23 -0
  237. package/js/examples/streaming-progress-tracking.mjs +34 -0
  238. package/js/examples/streaming-reusable-configs.mjs +52 -0
  239. package/js/examples/streaming-silent-capture.mjs +20 -0
  240. package/js/examples/streaming-test-simple.mjs +70 -0
  241. package/js/examples/streaming-virtual-pipeline.mjs +18 -0
  242. package/js/examples/syntax-basic-comparison.mjs +31 -0
  243. package/js/examples/syntax-basic-options.mjs +12 -0
  244. package/js/examples/syntax-combined-options.mjs +19 -0
  245. package/js/examples/syntax-command-chaining.mjs +12 -0
  246. package/js/examples/syntax-custom-directory.mjs +10 -0
  247. package/js/examples/syntax-custom-environment.mjs +13 -0
  248. package/js/examples/syntax-custom-stdin.mjs +10 -0
  249. package/js/examples/syntax-mixed-regular.mjs +11 -0
  250. package/js/examples/syntax-mixed-usage.mjs +15 -0
  251. package/js/examples/syntax-multiple-listeners.mjs +87 -0
  252. package/js/examples/syntax-piping-comparison.mjs +32 -0
  253. package/js/examples/syntax-reusable-config.mjs +16 -0
  254. package/js/examples/syntax-reusable-configs.mjs +21 -0
  255. package/js/examples/syntax-silent-operations.mjs +10 -0
  256. package/js/examples/syntax-stdin-option.mjs +12 -0
  257. package/js/examples/temp-sigint-test.mjs +21 -0
  258. package/js/examples/test-actual-buildshell.mjs +44 -0
  259. package/js/examples/test-async-streams-working.mjs +102 -0
  260. package/js/examples/test-async-streams.mjs +90 -0
  261. package/js/examples/test-auth-parse.mjs +74 -0
  262. package/js/examples/test-auto-quoting.mjs +57 -0
  263. package/js/examples/test-auto-start-fix.mjs +95 -0
  264. package/js/examples/test-baseline-sigint.mjs +38 -0
  265. package/js/examples/test-buffer-behavior.mjs +39 -0
  266. package/js/examples/test-buffers-simple.mjs +35 -0
  267. package/js/examples/test-bun-specific-issue.mjs +106 -0
  268. package/js/examples/test-bun-streaming.mjs +81 -0
  269. package/js/examples/test-cat-direct.mjs +41 -0
  270. package/js/examples/test-cat-pipe.mjs +34 -0
  271. package/js/examples/test-cd-behavior.mjs +42 -0
  272. package/js/examples/test-child-process-timing.mjs +53 -0
  273. package/js/examples/test-child-sigint-handler.mjs +62 -0
  274. package/js/examples/test-cleanup-simple.mjs +21 -0
  275. package/js/examples/test-comprehensive-tracing.mjs +58 -0
  276. package/js/examples/test-correct-space-handling.mjs +46 -0
  277. package/js/examples/test-ctrl-c-debug.mjs +44 -0
  278. package/js/examples/test-ctrl-c-inherit.mjs +30 -0
  279. package/js/examples/test-ctrl-c-sleep.mjs +31 -0
  280. package/js/examples/test-ctrl-c.mjs +17 -0
  281. package/js/examples/test-debug-new-options.mjs +55 -0
  282. package/js/examples/test-debug-pty.mjs +49 -0
  283. package/js/examples/test-debug-tee.mjs +38 -0
  284. package/js/examples/test-debug.mjs +25 -0
  285. package/js/examples/test-direct-jq.mjs +47 -0
  286. package/js/examples/test-direct-pipe-reading.mjs +119 -0
  287. package/js/examples/test-direct-pipe.sh +28 -0
  288. package/js/examples/test-double-quoting-prevention.mjs +138 -0
  289. package/js/examples/test-edge-cases-quoting.mjs +89 -0
  290. package/js/examples/test-events.mjs +37 -0
  291. package/js/examples/test-explicit-stdio.mjs +51 -0
  292. package/js/examples/test-final-streaming.mjs +71 -0
  293. package/js/examples/test-fix.mjs +71 -0
  294. package/js/examples/test-incremental-streaming.mjs +46 -0
  295. package/js/examples/test-individual-spawn.mjs +35 -0
  296. package/js/examples/test-inherit-stdout-not-stdin.mjs +133 -0
  297. package/js/examples/test-injection-protection.mjs +77 -0
  298. package/js/examples/test-interactive-streaming.mjs +140 -0
  299. package/js/examples/test-interactive-top.md +24 -0
  300. package/js/examples/test-interactive.mjs +17 -0
  301. package/js/examples/test-interpolation.mjs +14 -0
  302. package/js/examples/test-interrupt.mjs +40 -0
  303. package/js/examples/test-issue-135-comprehensive.mjs +41 -0
  304. package/js/examples/test-issue12-detailed.mjs +89 -0
  305. package/js/examples/test-issue12-exact.mjs +33 -0
  306. package/js/examples/test-jq-color.mjs +57 -0
  307. package/js/examples/test-jq-colors.mjs +41 -0
  308. package/js/examples/test-jq-compact.mjs +33 -0
  309. package/js/examples/test-jq-native.sh +10 -0
  310. package/js/examples/test-jq-pipeline-behavior.mjs +80 -0
  311. package/js/examples/test-jq-realtime.mjs +40 -0
  312. package/js/examples/test-manual-start.mjs +54 -0
  313. package/js/examples/test-mixed-quoting.mjs +88 -0
  314. package/js/examples/test-multi-stream.mjs +50 -0
  315. package/js/examples/test-multistage-debug.mjs +44 -0
  316. package/js/examples/test-native-spawn-vs-command-stream.mjs +154 -0
  317. package/js/examples/test-no-parse-pipeline.mjs +33 -0
  318. package/js/examples/test-non-virtual.mjs +52 -0
  319. package/js/examples/test-operators.mjs +53 -0
  320. package/js/examples/test-parent-continues.mjs +44 -0
  321. package/js/examples/test-path-interpolation.mjs +86 -0
  322. package/js/examples/test-ping-kill-and-stdin.mjs +98 -0
  323. package/js/examples/test-ping.mjs +12 -0
  324. package/js/examples/test-pty-spawn.mjs +101 -0
  325. package/js/examples/test-pty.mjs +38 -0
  326. package/js/examples/test-quote-behavior-summary.mjs +110 -0
  327. package/js/examples/test-quote-edge-cases.mjs +69 -0
  328. package/js/examples/test-quote-parsing.mjs +23 -0
  329. package/js/examples/test-raw-function.mjs +153 -0
  330. package/js/examples/test-raw-streaming.mjs +47 -0
  331. package/js/examples/test-readme-examples.mjs +142 -0
  332. package/js/examples/test-real-cat.mjs +28 -0
  333. package/js/examples/test-real-commands.mjs +21 -0
  334. package/js/examples/test-real-shell.mjs +31 -0
  335. package/js/examples/test-real-stdin-commands.mjs +160 -0
  336. package/js/examples/test-runner-batched.mjs +98 -0
  337. package/js/examples/test-runner-simple.mjs +80 -0
  338. package/js/examples/test-runner.mjs +67 -0
  339. package/js/examples/test-scope-parse.mjs +31 -0
  340. package/js/examples/test-sh-pipeline.mjs +24 -0
  341. package/js/examples/test-shell-detection.mjs +71 -0
  342. package/js/examples/test-shell-parser.mjs +37 -0
  343. package/js/examples/test-sigint-behavior.mjs +241 -0
  344. package/js/examples/test-sigint-handling.sh +14 -0
  345. package/js/examples/test-simple-pipe.mjs +12 -0
  346. package/js/examples/test-simple-streaming.mjs +32 -0
  347. package/js/examples/test-sleep-stdin.js +27 -0
  348. package/js/examples/test-sleep.mjs +56 -0
  349. package/js/examples/test-smart-quoting.mjs +180 -0
  350. package/js/examples/test-spaces-in-path.mjs +48 -0
  351. package/js/examples/test-special-chars-quoting.mjs +54 -0
  352. package/js/examples/test-stdin-after-start.mjs +39 -0
  353. package/js/examples/test-stdin-simple.mjs +67 -0
  354. package/js/examples/test-stdin-timing.mjs +74 -0
  355. package/js/examples/test-stdio-combinations.mjs +124 -0
  356. package/js/examples/test-stream-access.mjs +84 -0
  357. package/js/examples/test-stream-cleanup.mjs +27 -0
  358. package/js/examples/test-stream-readers.mjs +152 -0
  359. package/js/examples/test-streaming-final.mjs +57 -0
  360. package/js/examples/test-streaming-interfaces.mjs +141 -0
  361. package/js/examples/test-streaming-timing.mjs +27 -0
  362. package/js/examples/test-streaming.mjs +32 -0
  363. package/js/examples/test-streams-stdin-comprehensive.mjs +134 -0
  364. package/js/examples/test-streams-stdin-ctrl-c.mjs +96 -0
  365. package/js/examples/test-template-literal.mjs +26 -0
  366. package/js/examples/test-template-vs-interpolation.mjs +49 -0
  367. package/js/examples/test-timing.mjs +41 -0
  368. package/js/examples/test-top-inherit-stdout-stdin-control.mjs +123 -0
  369. package/js/examples/test-top-quit-stdin.mjs +118 -0
  370. package/js/examples/test-trace-option.mjs +21 -0
  371. package/js/examples/test-user-double-quotes.mjs +36 -0
  372. package/js/examples/test-user-single-quotes.mjs +36 -0
  373. package/js/examples/test-verbose.mjs +18 -0
  374. package/js/examples/test-verbose2.mjs +32 -0
  375. package/js/examples/test-virtual-streaming.mjs +125 -0
  376. package/js/examples/test-waiting-command.mjs +52 -0
  377. package/js/examples/test-waiting-commands.mjs +83 -0
  378. package/js/examples/test-watch-mode.mjs +104 -0
  379. package/js/examples/test-yes-cancellation.mjs +26 -0
  380. package/js/examples/test-yes-detailed.mjs +58 -0
  381. package/js/examples/test-yes-trace.mjs +28 -0
  382. package/js/examples/trace-abort-controller.mjs +30 -0
  383. package/js/examples/trace-error-handling.mjs +22 -0
  384. package/js/examples/trace-pipeline-command.mjs +22 -0
  385. package/js/examples/trace-signal-handling.mjs +35 -0
  386. package/js/examples/trace-simple-command.mjs +18 -0
  387. package/js/examples/trace-stderr-output.mjs +22 -0
  388. package/js/examples/verify-fix-both-runtimes.mjs +73 -0
  389. package/js/examples/verify-issue12-fixed.mjs +78 -0
  390. package/js/examples/which-command-common-commands.mjs +19 -0
  391. package/js/examples/which-command-gh-test.mjs +23 -0
  392. package/js/examples/which-command-nonexistent.mjs +20 -0
  393. package/js/examples/which-command-system-comparison.mjs +28 -0
  394. package/js/examples/working-example.mjs +13 -0
  395. package/js/examples/working-stdin-examples.mjs +138 -0
  396. package/js/examples/working-streaming-demo.mjs +49 -0
  397. package/{src → js/src}/$.mjs +20 -4
  398. package/{src → js/src}/$.utils.mjs +14 -2
  399. package/js/tests/$.features.test.mjs +283 -0
  400. package/js/tests/$.test.mjs +935 -0
  401. package/js/tests/builtin-commands.test.mjs +387 -0
  402. package/js/tests/bun-shell-path-fix.test.mjs +115 -0
  403. package/js/tests/bun.features.test.mjs +189 -0
  404. package/js/tests/cd-virtual-command.test.mjs +622 -0
  405. package/js/tests/cleanup-verification.test.mjs +127 -0
  406. package/js/tests/ctrl-c-baseline.test.mjs +207 -0
  407. package/js/tests/ctrl-c-basic.test.mjs +220 -0
  408. package/js/tests/ctrl-c-library.test.mjs +197 -0
  409. package/js/tests/ctrl-c-signal.test.mjs +915 -0
  410. package/js/tests/examples.test.mjs +252 -0
  411. package/js/tests/execa.features.test.mjs +198 -0
  412. package/js/tests/gh-commands.test.mjs +164 -0
  413. package/js/tests/gh-gist-operations.test.mjs +221 -0
  414. package/js/tests/git-gh-cd.test.mjs +466 -0
  415. package/js/tests/interactive-option.test.mjs +114 -0
  416. package/js/tests/interactive-streaming.test.mjs +307 -0
  417. package/js/tests/issue-135-final.test.mjs +58 -0
  418. package/js/tests/jq-color-behavior.test.mjs +140 -0
  419. package/js/tests/jq.test.mjs +318 -0
  420. package/js/tests/options-examples.test.mjs +106 -0
  421. package/js/tests/options-syntax.test.mjs +112 -0
  422. package/js/tests/path-interpolation.test.mjs +412 -0
  423. package/js/tests/pipe.test.mjs +291 -0
  424. package/js/tests/raw-function.test.mjs +266 -0
  425. package/js/tests/readme-examples.test.mjs +427 -0
  426. package/js/tests/resource-cleanup-internals.test.mjs +669 -0
  427. package/js/tests/shell-settings.test.mjs +279 -0
  428. package/js/tests/sigint-cleanup-isolated.test.mjs +151 -0
  429. package/js/tests/sigint-cleanup.test.mjs +118 -0
  430. package/js/tests/start-run-edge-cases.test.mjs +152 -0
  431. package/js/tests/start-run-options.test.mjs +181 -0
  432. package/js/tests/stderr-output-handling.test.mjs +279 -0
  433. package/js/tests/streaming-interfaces.test.mjs +194 -0
  434. package/js/tests/sync.test.mjs +297 -0
  435. package/js/tests/system-pipe.test.mjs +226 -0
  436. package/js/tests/test-cleanup.mjs +200 -0
  437. package/js/tests/test-helper-fixed.mjs +148 -0
  438. package/js/tests/test-helper-v2.mjs +118 -0
  439. package/js/tests/test-helper.mjs +171 -0
  440. package/js/tests/test-sigint-child.js +15 -0
  441. package/js/tests/text-method.test.mjs +225 -0
  442. package/js/tests/virtual.test.mjs +364 -0
  443. package/js/tests/yes-command-cleanup.test.mjs +208 -0
  444. package/js/tests/zx.features.test.mjs +233 -0
  445. package/package.json +13 -12
  446. package/rust/Cargo.lock +947 -0
  447. package/rust/Cargo.toml +47 -0
  448. package/rust/src/commands/basename.rs +69 -0
  449. package/rust/src/commands/cat.rs +123 -0
  450. package/rust/src/commands/cd.rs +67 -0
  451. package/rust/src/commands/cp.rs +187 -0
  452. package/rust/src/commands/dirname.rs +57 -0
  453. package/rust/src/commands/echo.rs +73 -0
  454. package/rust/src/commands/env.rs +33 -0
  455. package/rust/src/commands/exit.rs +36 -0
  456. package/rust/src/commands/false.rs +24 -0
  457. package/rust/src/commands/ls.rs +182 -0
  458. package/rust/src/commands/mkdir.rs +98 -0
  459. package/rust/src/commands/mod.rs +200 -0
  460. package/rust/src/commands/mv.rs +180 -0
  461. package/rust/src/commands/pwd.rs +28 -0
  462. package/rust/src/commands/rm.rs +150 -0
  463. package/rust/src/commands/seq.rs +179 -0
  464. package/rust/src/commands/sleep.rs +97 -0
  465. package/rust/src/commands/test.rs +204 -0
  466. package/rust/src/commands/touch.rs +99 -0
  467. package/rust/src/commands/true.rs +24 -0
  468. package/rust/src/commands/which.rs +87 -0
  469. package/rust/src/commands/yes.rs +99 -0
  470. package/rust/src/lib.rs +492 -0
  471. package/rust/src/main.rs +37 -0
  472. package/rust/src/shell_parser.rs +565 -0
  473. package/rust/src/utils.rs +335 -0
  474. package/rust/tests/builtin_commands.rs +549 -0
  475. package/rust/tests/process_runner.rs +286 -0
  476. package/rust/tests/shell_parser.rs +296 -0
  477. package/rust/tests/utils.rs +282 -0
  478. package/rust/tests/virtual_commands.rs +199 -0
  479. /package/{src → js/src}/commands/$.basename.mjs +0 -0
  480. /package/{src → js/src}/commands/$.cat.mjs +0 -0
  481. /package/{src → js/src}/commands/$.cd.mjs +0 -0
  482. /package/{src → js/src}/commands/$.cp.mjs +0 -0
  483. /package/{src → js/src}/commands/$.dirname.mjs +0 -0
  484. /package/{src → js/src}/commands/$.echo.mjs +0 -0
  485. /package/{src → js/src}/commands/$.env.mjs +0 -0
  486. /package/{src → js/src}/commands/$.exit.mjs +0 -0
  487. /package/{src → js/src}/commands/$.false.mjs +0 -0
  488. /package/{src → js/src}/commands/$.ls.mjs +0 -0
  489. /package/{src → js/src}/commands/$.mkdir.mjs +0 -0
  490. /package/{src → js/src}/commands/$.mv.mjs +0 -0
  491. /package/{src → js/src}/commands/$.pwd.mjs +0 -0
  492. /package/{src → js/src}/commands/$.rm.mjs +0 -0
  493. /package/{src → js/src}/commands/$.seq.mjs +0 -0
  494. /package/{src → js/src}/commands/$.sleep.mjs +0 -0
  495. /package/{src → js/src}/commands/$.test.mjs +0 -0
  496. /package/{src → js/src}/commands/$.touch.mjs +0 -0
  497. /package/{src → js/src}/commands/$.true.mjs +0 -0
  498. /package/{src → js/src}/commands/$.which.mjs +0 -0
  499. /package/{src → js/src}/commands/$.yes.mjs +0 -0
  500. /package/{src → js/src}/shell-parser.mjs +0 -0
@@ -0,0 +1,947 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.4"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "android_system_properties"
16
+ version = "0.1.5"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
19
+ dependencies = [
20
+ "libc",
21
+ ]
22
+
23
+ [[package]]
24
+ name = "anstyle"
25
+ version = "1.0.13"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
28
+
29
+ [[package]]
30
+ name = "assert_cmd"
31
+ version = "2.1.1"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85"
34
+ dependencies = [
35
+ "anstyle",
36
+ "bstr",
37
+ "libc",
38
+ "predicates",
39
+ "predicates-core",
40
+ "predicates-tree",
41
+ "wait-timeout",
42
+ ]
43
+
44
+ [[package]]
45
+ name = "async-stream"
46
+ version = "0.3.6"
47
+ source = "registry+https://github.com/rust-lang/crates.io-index"
48
+ checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476"
49
+ dependencies = [
50
+ "async-stream-impl",
51
+ "futures-core",
52
+ "pin-project-lite",
53
+ ]
54
+
55
+ [[package]]
56
+ name = "async-stream-impl"
57
+ version = "0.3.6"
58
+ source = "registry+https://github.com/rust-lang/crates.io-index"
59
+ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
60
+ dependencies = [
61
+ "proc-macro2",
62
+ "quote",
63
+ "syn",
64
+ ]
65
+
66
+ [[package]]
67
+ name = "async-trait"
68
+ version = "0.1.89"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
71
+ dependencies = [
72
+ "proc-macro2",
73
+ "quote",
74
+ "syn",
75
+ ]
76
+
77
+ [[package]]
78
+ name = "autocfg"
79
+ version = "1.5.0"
80
+ source = "registry+https://github.com/rust-lang/crates.io-index"
81
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
82
+
83
+ [[package]]
84
+ name = "bitflags"
85
+ version = "2.10.0"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
88
+
89
+ [[package]]
90
+ name = "bstr"
91
+ version = "1.12.1"
92
+ source = "registry+https://github.com/rust-lang/crates.io-index"
93
+ checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
94
+ dependencies = [
95
+ "memchr",
96
+ "regex-automata",
97
+ "serde",
98
+ ]
99
+
100
+ [[package]]
101
+ name = "bumpalo"
102
+ version = "3.19.1"
103
+ source = "registry+https://github.com/rust-lang/crates.io-index"
104
+ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
105
+
106
+ [[package]]
107
+ name = "bytes"
108
+ version = "1.11.0"
109
+ source = "registry+https://github.com/rust-lang/crates.io-index"
110
+ checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
111
+
112
+ [[package]]
113
+ name = "cc"
114
+ version = "1.2.51"
115
+ source = "registry+https://github.com/rust-lang/crates.io-index"
116
+ checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203"
117
+ dependencies = [
118
+ "find-msvc-tools",
119
+ "shlex",
120
+ ]
121
+
122
+ [[package]]
123
+ name = "cfg-if"
124
+ version = "1.0.4"
125
+ source = "registry+https://github.com/rust-lang/crates.io-index"
126
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
127
+
128
+ [[package]]
129
+ name = "cfg_aliases"
130
+ version = "0.2.1"
131
+ source = "registry+https://github.com/rust-lang/crates.io-index"
132
+ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
133
+
134
+ [[package]]
135
+ name = "chrono"
136
+ version = "0.4.42"
137
+ source = "registry+https://github.com/rust-lang/crates.io-index"
138
+ checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
139
+ dependencies = [
140
+ "iana-time-zone",
141
+ "js-sys",
142
+ "num-traits",
143
+ "wasm-bindgen",
144
+ "windows-link",
145
+ ]
146
+
147
+ [[package]]
148
+ name = "command-stream"
149
+ version = "0.8.3"
150
+ dependencies = [
151
+ "assert_cmd",
152
+ "async-trait",
153
+ "chrono",
154
+ "filetime",
155
+ "glob",
156
+ "libc",
157
+ "nix",
158
+ "once_cell",
159
+ "regex",
160
+ "serde",
161
+ "serde_json",
162
+ "tempfile",
163
+ "thiserror",
164
+ "tokio",
165
+ "tokio-test",
166
+ "which",
167
+ ]
168
+
169
+ [[package]]
170
+ name = "core-foundation-sys"
171
+ version = "0.8.7"
172
+ source = "registry+https://github.com/rust-lang/crates.io-index"
173
+ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
174
+
175
+ [[package]]
176
+ name = "difflib"
177
+ version = "0.4.0"
178
+ source = "registry+https://github.com/rust-lang/crates.io-index"
179
+ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
180
+
181
+ [[package]]
182
+ name = "either"
183
+ version = "1.15.0"
184
+ source = "registry+https://github.com/rust-lang/crates.io-index"
185
+ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
186
+
187
+ [[package]]
188
+ name = "env_home"
189
+ version = "0.1.0"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe"
192
+
193
+ [[package]]
194
+ name = "errno"
195
+ version = "0.3.14"
196
+ source = "registry+https://github.com/rust-lang/crates.io-index"
197
+ checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
198
+ dependencies = [
199
+ "libc",
200
+ "windows-sys 0.61.2",
201
+ ]
202
+
203
+ [[package]]
204
+ name = "fastrand"
205
+ version = "2.3.0"
206
+ source = "registry+https://github.com/rust-lang/crates.io-index"
207
+ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
208
+
209
+ [[package]]
210
+ name = "filetime"
211
+ version = "0.2.26"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed"
214
+ dependencies = [
215
+ "cfg-if",
216
+ "libc",
217
+ "libredox",
218
+ "windows-sys 0.60.2",
219
+ ]
220
+
221
+ [[package]]
222
+ name = "find-msvc-tools"
223
+ version = "0.1.6"
224
+ source = "registry+https://github.com/rust-lang/crates.io-index"
225
+ checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff"
226
+
227
+ [[package]]
228
+ name = "futures-core"
229
+ version = "0.3.31"
230
+ source = "registry+https://github.com/rust-lang/crates.io-index"
231
+ checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
232
+
233
+ [[package]]
234
+ name = "getrandom"
235
+ version = "0.3.4"
236
+ source = "registry+https://github.com/rust-lang/crates.io-index"
237
+ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
238
+ dependencies = [
239
+ "cfg-if",
240
+ "libc",
241
+ "r-efi",
242
+ "wasip2",
243
+ ]
244
+
245
+ [[package]]
246
+ name = "glob"
247
+ version = "0.3.3"
248
+ source = "registry+https://github.com/rust-lang/crates.io-index"
249
+ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
250
+
251
+ [[package]]
252
+ name = "iana-time-zone"
253
+ version = "0.1.64"
254
+ source = "registry+https://github.com/rust-lang/crates.io-index"
255
+ checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
256
+ dependencies = [
257
+ "android_system_properties",
258
+ "core-foundation-sys",
259
+ "iana-time-zone-haiku",
260
+ "js-sys",
261
+ "log",
262
+ "wasm-bindgen",
263
+ "windows-core",
264
+ ]
265
+
266
+ [[package]]
267
+ name = "iana-time-zone-haiku"
268
+ version = "0.1.2"
269
+ source = "registry+https://github.com/rust-lang/crates.io-index"
270
+ checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
271
+ dependencies = [
272
+ "cc",
273
+ ]
274
+
275
+ [[package]]
276
+ name = "itoa"
277
+ version = "1.0.17"
278
+ source = "registry+https://github.com/rust-lang/crates.io-index"
279
+ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
280
+
281
+ [[package]]
282
+ name = "js-sys"
283
+ version = "0.3.83"
284
+ source = "registry+https://github.com/rust-lang/crates.io-index"
285
+ checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
286
+ dependencies = [
287
+ "once_cell",
288
+ "wasm-bindgen",
289
+ ]
290
+
291
+ [[package]]
292
+ name = "libc"
293
+ version = "0.2.178"
294
+ source = "registry+https://github.com/rust-lang/crates.io-index"
295
+ checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
296
+
297
+ [[package]]
298
+ name = "libredox"
299
+ version = "0.1.12"
300
+ source = "registry+https://github.com/rust-lang/crates.io-index"
301
+ checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616"
302
+ dependencies = [
303
+ "bitflags",
304
+ "libc",
305
+ "redox_syscall 0.7.0",
306
+ ]
307
+
308
+ [[package]]
309
+ name = "linux-raw-sys"
310
+ version = "0.11.0"
311
+ source = "registry+https://github.com/rust-lang/crates.io-index"
312
+ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
313
+
314
+ [[package]]
315
+ name = "lock_api"
316
+ version = "0.4.14"
317
+ source = "registry+https://github.com/rust-lang/crates.io-index"
318
+ checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
319
+ dependencies = [
320
+ "scopeguard",
321
+ ]
322
+
323
+ [[package]]
324
+ name = "log"
325
+ version = "0.4.29"
326
+ source = "registry+https://github.com/rust-lang/crates.io-index"
327
+ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
328
+
329
+ [[package]]
330
+ name = "memchr"
331
+ version = "2.7.6"
332
+ source = "registry+https://github.com/rust-lang/crates.io-index"
333
+ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
334
+
335
+ [[package]]
336
+ name = "mio"
337
+ version = "1.1.1"
338
+ source = "registry+https://github.com/rust-lang/crates.io-index"
339
+ checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
340
+ dependencies = [
341
+ "libc",
342
+ "wasi",
343
+ "windows-sys 0.61.2",
344
+ ]
345
+
346
+ [[package]]
347
+ name = "nix"
348
+ version = "0.29.0"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
351
+ dependencies = [
352
+ "bitflags",
353
+ "cfg-if",
354
+ "cfg_aliases",
355
+ "libc",
356
+ ]
357
+
358
+ [[package]]
359
+ name = "num-traits"
360
+ version = "0.2.19"
361
+ source = "registry+https://github.com/rust-lang/crates.io-index"
362
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
363
+ dependencies = [
364
+ "autocfg",
365
+ ]
366
+
367
+ [[package]]
368
+ name = "once_cell"
369
+ version = "1.21.3"
370
+ source = "registry+https://github.com/rust-lang/crates.io-index"
371
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
372
+
373
+ [[package]]
374
+ name = "parking_lot"
375
+ version = "0.12.5"
376
+ source = "registry+https://github.com/rust-lang/crates.io-index"
377
+ checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
378
+ dependencies = [
379
+ "lock_api",
380
+ "parking_lot_core",
381
+ ]
382
+
383
+ [[package]]
384
+ name = "parking_lot_core"
385
+ version = "0.9.12"
386
+ source = "registry+https://github.com/rust-lang/crates.io-index"
387
+ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
388
+ dependencies = [
389
+ "cfg-if",
390
+ "libc",
391
+ "redox_syscall 0.5.18",
392
+ "smallvec",
393
+ "windows-link",
394
+ ]
395
+
396
+ [[package]]
397
+ name = "pin-project-lite"
398
+ version = "0.2.16"
399
+ source = "registry+https://github.com/rust-lang/crates.io-index"
400
+ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
401
+
402
+ [[package]]
403
+ name = "predicates"
404
+ version = "3.1.3"
405
+ source = "registry+https://github.com/rust-lang/crates.io-index"
406
+ checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573"
407
+ dependencies = [
408
+ "anstyle",
409
+ "difflib",
410
+ "predicates-core",
411
+ ]
412
+
413
+ [[package]]
414
+ name = "predicates-core"
415
+ version = "1.0.9"
416
+ source = "registry+https://github.com/rust-lang/crates.io-index"
417
+ checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa"
418
+
419
+ [[package]]
420
+ name = "predicates-tree"
421
+ version = "1.0.12"
422
+ source = "registry+https://github.com/rust-lang/crates.io-index"
423
+ checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c"
424
+ dependencies = [
425
+ "predicates-core",
426
+ "termtree",
427
+ ]
428
+
429
+ [[package]]
430
+ name = "proc-macro2"
431
+ version = "1.0.104"
432
+ source = "registry+https://github.com/rust-lang/crates.io-index"
433
+ checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0"
434
+ dependencies = [
435
+ "unicode-ident",
436
+ ]
437
+
438
+ [[package]]
439
+ name = "quote"
440
+ version = "1.0.42"
441
+ source = "registry+https://github.com/rust-lang/crates.io-index"
442
+ checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
443
+ dependencies = [
444
+ "proc-macro2",
445
+ ]
446
+
447
+ [[package]]
448
+ name = "r-efi"
449
+ version = "5.3.0"
450
+ source = "registry+https://github.com/rust-lang/crates.io-index"
451
+ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
452
+
453
+ [[package]]
454
+ name = "redox_syscall"
455
+ version = "0.5.18"
456
+ source = "registry+https://github.com/rust-lang/crates.io-index"
457
+ checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
458
+ dependencies = [
459
+ "bitflags",
460
+ ]
461
+
462
+ [[package]]
463
+ name = "redox_syscall"
464
+ version = "0.7.0"
465
+ source = "registry+https://github.com/rust-lang/crates.io-index"
466
+ checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27"
467
+ dependencies = [
468
+ "bitflags",
469
+ ]
470
+
471
+ [[package]]
472
+ name = "regex"
473
+ version = "1.12.2"
474
+ source = "registry+https://github.com/rust-lang/crates.io-index"
475
+ checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
476
+ dependencies = [
477
+ "aho-corasick",
478
+ "memchr",
479
+ "regex-automata",
480
+ "regex-syntax",
481
+ ]
482
+
483
+ [[package]]
484
+ name = "regex-automata"
485
+ version = "0.4.13"
486
+ source = "registry+https://github.com/rust-lang/crates.io-index"
487
+ checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
488
+ dependencies = [
489
+ "aho-corasick",
490
+ "memchr",
491
+ "regex-syntax",
492
+ ]
493
+
494
+ [[package]]
495
+ name = "regex-syntax"
496
+ version = "0.8.8"
497
+ source = "registry+https://github.com/rust-lang/crates.io-index"
498
+ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
499
+
500
+ [[package]]
501
+ name = "rustix"
502
+ version = "1.1.3"
503
+ source = "registry+https://github.com/rust-lang/crates.io-index"
504
+ checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34"
505
+ dependencies = [
506
+ "bitflags",
507
+ "errno",
508
+ "libc",
509
+ "linux-raw-sys",
510
+ "windows-sys 0.61.2",
511
+ ]
512
+
513
+ [[package]]
514
+ name = "rustversion"
515
+ version = "1.0.22"
516
+ source = "registry+https://github.com/rust-lang/crates.io-index"
517
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
518
+
519
+ [[package]]
520
+ name = "scopeguard"
521
+ version = "1.2.0"
522
+ source = "registry+https://github.com/rust-lang/crates.io-index"
523
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
524
+
525
+ [[package]]
526
+ name = "serde"
527
+ version = "1.0.228"
528
+ source = "registry+https://github.com/rust-lang/crates.io-index"
529
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
530
+ dependencies = [
531
+ "serde_core",
532
+ "serde_derive",
533
+ ]
534
+
535
+ [[package]]
536
+ name = "serde_core"
537
+ version = "1.0.228"
538
+ source = "registry+https://github.com/rust-lang/crates.io-index"
539
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
540
+ dependencies = [
541
+ "serde_derive",
542
+ ]
543
+
544
+ [[package]]
545
+ name = "serde_derive"
546
+ version = "1.0.228"
547
+ source = "registry+https://github.com/rust-lang/crates.io-index"
548
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
549
+ dependencies = [
550
+ "proc-macro2",
551
+ "quote",
552
+ "syn",
553
+ ]
554
+
555
+ [[package]]
556
+ name = "serde_json"
557
+ version = "1.0.148"
558
+ source = "registry+https://github.com/rust-lang/crates.io-index"
559
+ checksum = "3084b546a1dd6289475996f182a22aba973866ea8e8b02c51d9f46b1336a22da"
560
+ dependencies = [
561
+ "itoa",
562
+ "memchr",
563
+ "serde",
564
+ "serde_core",
565
+ "zmij",
566
+ ]
567
+
568
+ [[package]]
569
+ name = "shlex"
570
+ version = "1.3.0"
571
+ source = "registry+https://github.com/rust-lang/crates.io-index"
572
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
573
+
574
+ [[package]]
575
+ name = "signal-hook-registry"
576
+ version = "1.4.8"
577
+ source = "registry+https://github.com/rust-lang/crates.io-index"
578
+ checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
579
+ dependencies = [
580
+ "errno",
581
+ "libc",
582
+ ]
583
+
584
+ [[package]]
585
+ name = "smallvec"
586
+ version = "1.15.1"
587
+ source = "registry+https://github.com/rust-lang/crates.io-index"
588
+ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
589
+
590
+ [[package]]
591
+ name = "socket2"
592
+ version = "0.6.1"
593
+ source = "registry+https://github.com/rust-lang/crates.io-index"
594
+ checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881"
595
+ dependencies = [
596
+ "libc",
597
+ "windows-sys 0.60.2",
598
+ ]
599
+
600
+ [[package]]
601
+ name = "syn"
602
+ version = "2.0.111"
603
+ source = "registry+https://github.com/rust-lang/crates.io-index"
604
+ checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
605
+ dependencies = [
606
+ "proc-macro2",
607
+ "quote",
608
+ "unicode-ident",
609
+ ]
610
+
611
+ [[package]]
612
+ name = "tempfile"
613
+ version = "3.24.0"
614
+ source = "registry+https://github.com/rust-lang/crates.io-index"
615
+ checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c"
616
+ dependencies = [
617
+ "fastrand",
618
+ "getrandom",
619
+ "once_cell",
620
+ "rustix",
621
+ "windows-sys 0.61.2",
622
+ ]
623
+
624
+ [[package]]
625
+ name = "termtree"
626
+ version = "0.5.1"
627
+ source = "registry+https://github.com/rust-lang/crates.io-index"
628
+ checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
629
+
630
+ [[package]]
631
+ name = "thiserror"
632
+ version = "2.0.17"
633
+ source = "registry+https://github.com/rust-lang/crates.io-index"
634
+ checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
635
+ dependencies = [
636
+ "thiserror-impl",
637
+ ]
638
+
639
+ [[package]]
640
+ name = "thiserror-impl"
641
+ version = "2.0.17"
642
+ source = "registry+https://github.com/rust-lang/crates.io-index"
643
+ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
644
+ dependencies = [
645
+ "proc-macro2",
646
+ "quote",
647
+ "syn",
648
+ ]
649
+
650
+ [[package]]
651
+ name = "tokio"
652
+ version = "1.48.0"
653
+ source = "registry+https://github.com/rust-lang/crates.io-index"
654
+ checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
655
+ dependencies = [
656
+ "bytes",
657
+ "libc",
658
+ "mio",
659
+ "parking_lot",
660
+ "pin-project-lite",
661
+ "signal-hook-registry",
662
+ "socket2",
663
+ "tokio-macros",
664
+ "windows-sys 0.61.2",
665
+ ]
666
+
667
+ [[package]]
668
+ name = "tokio-macros"
669
+ version = "2.6.0"
670
+ source = "registry+https://github.com/rust-lang/crates.io-index"
671
+ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
672
+ dependencies = [
673
+ "proc-macro2",
674
+ "quote",
675
+ "syn",
676
+ ]
677
+
678
+ [[package]]
679
+ name = "tokio-stream"
680
+ version = "0.1.17"
681
+ source = "registry+https://github.com/rust-lang/crates.io-index"
682
+ checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
683
+ dependencies = [
684
+ "futures-core",
685
+ "pin-project-lite",
686
+ "tokio",
687
+ ]
688
+
689
+ [[package]]
690
+ name = "tokio-test"
691
+ version = "0.4.4"
692
+ source = "registry+https://github.com/rust-lang/crates.io-index"
693
+ checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7"
694
+ dependencies = [
695
+ "async-stream",
696
+ "bytes",
697
+ "futures-core",
698
+ "tokio",
699
+ "tokio-stream",
700
+ ]
701
+
702
+ [[package]]
703
+ name = "unicode-ident"
704
+ version = "1.0.22"
705
+ source = "registry+https://github.com/rust-lang/crates.io-index"
706
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
707
+
708
+ [[package]]
709
+ name = "wait-timeout"
710
+ version = "0.2.1"
711
+ source = "registry+https://github.com/rust-lang/crates.io-index"
712
+ checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11"
713
+ dependencies = [
714
+ "libc",
715
+ ]
716
+
717
+ [[package]]
718
+ name = "wasi"
719
+ version = "0.11.1+wasi-snapshot-preview1"
720
+ source = "registry+https://github.com/rust-lang/crates.io-index"
721
+ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
722
+
723
+ [[package]]
724
+ name = "wasip2"
725
+ version = "1.0.1+wasi-0.2.4"
726
+ source = "registry+https://github.com/rust-lang/crates.io-index"
727
+ checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
728
+ dependencies = [
729
+ "wit-bindgen",
730
+ ]
731
+
732
+ [[package]]
733
+ name = "wasm-bindgen"
734
+ version = "0.2.106"
735
+ source = "registry+https://github.com/rust-lang/crates.io-index"
736
+ checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
737
+ dependencies = [
738
+ "cfg-if",
739
+ "once_cell",
740
+ "rustversion",
741
+ "wasm-bindgen-macro",
742
+ "wasm-bindgen-shared",
743
+ ]
744
+
745
+ [[package]]
746
+ name = "wasm-bindgen-macro"
747
+ version = "0.2.106"
748
+ source = "registry+https://github.com/rust-lang/crates.io-index"
749
+ checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
750
+ dependencies = [
751
+ "quote",
752
+ "wasm-bindgen-macro-support",
753
+ ]
754
+
755
+ [[package]]
756
+ name = "wasm-bindgen-macro-support"
757
+ version = "0.2.106"
758
+ source = "registry+https://github.com/rust-lang/crates.io-index"
759
+ checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
760
+ dependencies = [
761
+ "bumpalo",
762
+ "proc-macro2",
763
+ "quote",
764
+ "syn",
765
+ "wasm-bindgen-shared",
766
+ ]
767
+
768
+ [[package]]
769
+ name = "wasm-bindgen-shared"
770
+ version = "0.2.106"
771
+ source = "registry+https://github.com/rust-lang/crates.io-index"
772
+ checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
773
+ dependencies = [
774
+ "unicode-ident",
775
+ ]
776
+
777
+ [[package]]
778
+ name = "which"
779
+ version = "7.0.3"
780
+ source = "registry+https://github.com/rust-lang/crates.io-index"
781
+ checksum = "24d643ce3fd3e5b54854602a080f34fb10ab75e0b813ee32d00ca2b44fa74762"
782
+ dependencies = [
783
+ "either",
784
+ "env_home",
785
+ "rustix",
786
+ "winsafe",
787
+ ]
788
+
789
+ [[package]]
790
+ name = "windows-core"
791
+ version = "0.62.2"
792
+ source = "registry+https://github.com/rust-lang/crates.io-index"
793
+ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
794
+ dependencies = [
795
+ "windows-implement",
796
+ "windows-interface",
797
+ "windows-link",
798
+ "windows-result",
799
+ "windows-strings",
800
+ ]
801
+
802
+ [[package]]
803
+ name = "windows-implement"
804
+ version = "0.60.2"
805
+ source = "registry+https://github.com/rust-lang/crates.io-index"
806
+ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
807
+ dependencies = [
808
+ "proc-macro2",
809
+ "quote",
810
+ "syn",
811
+ ]
812
+
813
+ [[package]]
814
+ name = "windows-interface"
815
+ version = "0.59.3"
816
+ source = "registry+https://github.com/rust-lang/crates.io-index"
817
+ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
818
+ dependencies = [
819
+ "proc-macro2",
820
+ "quote",
821
+ "syn",
822
+ ]
823
+
824
+ [[package]]
825
+ name = "windows-link"
826
+ version = "0.2.1"
827
+ source = "registry+https://github.com/rust-lang/crates.io-index"
828
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
829
+
830
+ [[package]]
831
+ name = "windows-result"
832
+ version = "0.4.1"
833
+ source = "registry+https://github.com/rust-lang/crates.io-index"
834
+ checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
835
+ dependencies = [
836
+ "windows-link",
837
+ ]
838
+
839
+ [[package]]
840
+ name = "windows-strings"
841
+ version = "0.5.1"
842
+ source = "registry+https://github.com/rust-lang/crates.io-index"
843
+ checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
844
+ dependencies = [
845
+ "windows-link",
846
+ ]
847
+
848
+ [[package]]
849
+ name = "windows-sys"
850
+ version = "0.60.2"
851
+ source = "registry+https://github.com/rust-lang/crates.io-index"
852
+ checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
853
+ dependencies = [
854
+ "windows-targets",
855
+ ]
856
+
857
+ [[package]]
858
+ name = "windows-sys"
859
+ version = "0.61.2"
860
+ source = "registry+https://github.com/rust-lang/crates.io-index"
861
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
862
+ dependencies = [
863
+ "windows-link",
864
+ ]
865
+
866
+ [[package]]
867
+ name = "windows-targets"
868
+ version = "0.53.5"
869
+ source = "registry+https://github.com/rust-lang/crates.io-index"
870
+ checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
871
+ dependencies = [
872
+ "windows-link",
873
+ "windows_aarch64_gnullvm",
874
+ "windows_aarch64_msvc",
875
+ "windows_i686_gnu",
876
+ "windows_i686_gnullvm",
877
+ "windows_i686_msvc",
878
+ "windows_x86_64_gnu",
879
+ "windows_x86_64_gnullvm",
880
+ "windows_x86_64_msvc",
881
+ ]
882
+
883
+ [[package]]
884
+ name = "windows_aarch64_gnullvm"
885
+ version = "0.53.1"
886
+ source = "registry+https://github.com/rust-lang/crates.io-index"
887
+ checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
888
+
889
+ [[package]]
890
+ name = "windows_aarch64_msvc"
891
+ version = "0.53.1"
892
+ source = "registry+https://github.com/rust-lang/crates.io-index"
893
+ checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
894
+
895
+ [[package]]
896
+ name = "windows_i686_gnu"
897
+ version = "0.53.1"
898
+ source = "registry+https://github.com/rust-lang/crates.io-index"
899
+ checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
900
+
901
+ [[package]]
902
+ name = "windows_i686_gnullvm"
903
+ version = "0.53.1"
904
+ source = "registry+https://github.com/rust-lang/crates.io-index"
905
+ checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
906
+
907
+ [[package]]
908
+ name = "windows_i686_msvc"
909
+ version = "0.53.1"
910
+ source = "registry+https://github.com/rust-lang/crates.io-index"
911
+ checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
912
+
913
+ [[package]]
914
+ name = "windows_x86_64_gnu"
915
+ version = "0.53.1"
916
+ source = "registry+https://github.com/rust-lang/crates.io-index"
917
+ checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
918
+
919
+ [[package]]
920
+ name = "windows_x86_64_gnullvm"
921
+ version = "0.53.1"
922
+ source = "registry+https://github.com/rust-lang/crates.io-index"
923
+ checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
924
+
925
+ [[package]]
926
+ name = "windows_x86_64_msvc"
927
+ version = "0.53.1"
928
+ source = "registry+https://github.com/rust-lang/crates.io-index"
929
+ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
930
+
931
+ [[package]]
932
+ name = "winsafe"
933
+ version = "0.0.19"
934
+ source = "registry+https://github.com/rust-lang/crates.io-index"
935
+ checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
936
+
937
+ [[package]]
938
+ name = "wit-bindgen"
939
+ version = "0.46.0"
940
+ source = "registry+https://github.com/rust-lang/crates.io-index"
941
+ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
942
+
943
+ [[package]]
944
+ name = "zmij"
945
+ version = "1.0.2"
946
+ source = "registry+https://github.com/rust-lang/crates.io-index"
947
+ checksum = "0f4a4e8e9dc5c62d159f04fcdbe07f4c3fb710415aab4754bf11505501e3251d"