bashkit 0.11.0__tar.gz → 0.12.0__tar.gz

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 (551) hide show
  1. {bashkit-0.11.0 → bashkit-0.12.0}/Cargo.lock +24 -184
  2. {bashkit-0.11.0 → bashkit-0.12.0}/Cargo.toml +1 -1
  3. {bashkit-0.11.0 → bashkit-0.12.0}/PKG-INFO +1 -1
  4. {bashkit-0.11.0 → bashkit-0.12.0}/bashkit/_bashkit.pyi +2 -2
  5. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/Cargo.toml +17 -4
  6. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/parallel_execution.rs +4 -2
  7. bashkit-0.12.0/crates/bashkit/benches/results/criterion-parallel-vm-linux-x86_64-1782162173.md +67 -0
  8. bashkit-0.12.0/crates/bashkit/benches/results/criterion-parallel-vm-linux-x86_64-1782168239.md +75 -0
  9. bashkit-0.12.0/crates/bashkit/src/builtins/dirstack.rs +192 -0
  10. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/limits.rs +2 -0
  11. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/mod.rs +6 -0
  12. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/python.rs +31 -35
  13. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/read.rs +79 -9
  14. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/rg/mod.rs +51 -8
  15. bashkit-0.12.0/crates/bashkit/src/builtins/runtime_limits.rs +110 -0
  16. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/strings.rs +32 -2
  17. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/typescript.rs +34 -38
  18. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/vars.rs +18 -24
  19. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/overlay.rs +95 -14
  20. bashkit-0.12.0/crates/bashkit/src/interpreter/arithmetic.rs +989 -0
  21. bashkit-0.12.0/crates/bashkit/src/interpreter/brace_expansion.rs +275 -0
  22. bashkit-0.12.0/crates/bashkit/src/interpreter/expansion.rs +1738 -0
  23. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/interpreter/glob.rs +37 -21
  24. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/interpreter/mod.rs +669 -3685
  25. bashkit-0.12.0/crates/bashkit/src/interpreter/redirection.rs +457 -0
  26. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/lib.rs +113 -10
  27. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/parser/mod.rs +33 -4
  28. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/tool.rs +64 -21
  29. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/blackbox_security_tests.rs +22 -0
  30. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/builtin_registry_tests.rs +9 -0
  31. bashkit-0.12.0/crates/bashkit/tests/integration/exec_options_tests.rs +73 -0
  32. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/main.rs +2 -0
  33. bashkit-0.12.0/crates/bashkit/tests/integration/parallel_sessions_tests.rs +74 -0
  34. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/set_e_and_or_tests.rs +42 -0
  35. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/snapshot_tests.rs +49 -0
  36. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/threat_model_tests.rs +33 -4
  37. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/command.test.sh +14 -0
  38. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/dirstack.test.sh +30 -0
  39. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/getopts.test.sh +30 -0
  40. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/read-builtin.test.sh +21 -0
  41. bashkit-0.12.0/crates/bashkit/tests/spec_cases/bash/wait.test.sh +52 -0
  42. bashkit-0.11.0/crates/bashkit/src/builtins/dirstack.rs +0 -482
  43. bashkit-0.11.0/crates/bashkit/tests/spec_cases/bash/wait.test.sh +0 -19
  44. {bashkit-0.11.0 → bashkit-0.12.0}/README.md +0 -0
  45. {bashkit-0.11.0 → bashkit-0.12.0}/bashkit/__init__.py +0 -0
  46. {bashkit-0.11.0 → bashkit-0.12.0}/bashkit/deepagents.py +0 -0
  47. {bashkit-0.11.0 → bashkit-0.12.0}/bashkit/langchain.py +0 -0
  48. {bashkit-0.11.0 → bashkit-0.12.0}/bashkit/py.typed +0 -0
  49. {bashkit-0.11.0 → bashkit-0.12.0}/bashkit/pydantic_ai.py +0 -0
  50. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/README.md +0 -0
  51. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/file_ops.rs +0 -0
  52. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/hotpath.rs +0 -0
  53. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/results/README.md +0 -0
  54. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/results/criterion-file_ops-linux-x86_64-1779759850.md +0 -0
  55. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/results/criterion-hotpath-attrs+shopt-linux-x86_64-1779759850.md +0 -0
  56. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/results/criterion-hotpath-perf-linux-x86_64-1779744742.md +0 -0
  57. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/results/criterion-parallel-(none)-linux-x86_64-1773469129.md +0 -0
  58. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/results/criterion-sqlite-vm-linux-x86_64-1777865268.md +0 -0
  59. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/benches/sqlite.rs +0 -0
  60. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/clap-builtins.md +0 -0
  61. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/compatibility.md +0 -0
  62. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/credential-injection.md +0 -0
  63. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/custom_builtins.md +0 -0
  64. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/hooks.md +0 -0
  65. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/jq.md +0 -0
  66. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/live_mounts.md +0 -0
  67. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/logging.md +0 -0
  68. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/python.md +0 -0
  69. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/sqlite.md +0 -0
  70. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/ssh.md +0 -0
  71. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/threat-model.md +0 -0
  72. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/docs/typescript.md +0 -0
  73. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/agent_tool.rs +0 -0
  74. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/basic.rs +0 -0
  75. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/clap_builtin.rs +0 -0
  76. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/clap_builtin_subcommands.rs +0 -0
  77. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/custom_backend.rs +0 -0
  78. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/custom_builtins.rs +0 -0
  79. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/custom_filesystem_impl.rs +0 -0
  80. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/custom_fs.rs +0 -0
  81. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/dump_builtins.rs +0 -0
  82. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/git_workflow.rs +0 -0
  83. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/live_mounts.rs +0 -0
  84. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/python_external_functions.rs +0 -0
  85. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/python_scripts.rs +0 -0
  86. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/realfs_readonly.rs +0 -0
  87. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/realfs_readwrite.rs +0 -0
  88. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/resource_limits.rs +0 -0
  89. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/scripted_tool.rs +0 -0
  90. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/show_tool_output.rs +0 -0
  91. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/sqlite_basic.rs +0 -0
  92. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/sqlite_workflow.rs +0 -0
  93. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/ssh_supabase.rs +0 -0
  94. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/streaming_output.rs +0 -0
  95. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/text_files.rs +0 -0
  96. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/text_processing.rs +0 -0
  97. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/typescript_external_functions.rs +0 -0
  98. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/typescript_scripts.rs +0 -0
  99. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/examples/virtual_identity.rs +0 -0
  100. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/out file.txt +0 -0
  101. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/proptest-regressions/builtins/sqlite/tests.txt +0 -0
  102. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/alias.rs +0 -0
  103. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/archive.rs +0 -0
  104. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/arg_parser.rs +0 -0
  105. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/assert.rs +0 -0
  106. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/awk/interpreter.rs +0 -0
  107. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/awk/mod.rs +0 -0
  108. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/awk/parser.rs +0 -0
  109. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/awk/tests.rs +0 -0
  110. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/base64.rs +0 -0
  111. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/bc.rs +0 -0
  112. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/caller.rs +0 -0
  113. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/cat.rs +0 -0
  114. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/checksum.rs +0 -0
  115. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/clap_env.rs +0 -0
  116. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/clear.rs +0 -0
  117. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/column.rs +0 -0
  118. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/comm.rs +0 -0
  119. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/compgen.rs +0 -0
  120. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/csv.rs +0 -0
  121. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/curl.rs +0 -0
  122. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/cuttr.rs +0 -0
  123. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/date.rs +0 -0
  124. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/diff.rs +0 -0
  125. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/disk.rs +0 -0
  126. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/dotenv.rs +0 -0
  127. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/echo.rs +0 -0
  128. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/environ.rs +0 -0
  129. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/envsubst.rs +0 -0
  130. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/expand.rs +0 -0
  131. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/export.rs +0 -0
  132. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/expr.rs +0 -0
  133. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/fc.rs +0 -0
  134. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/fileops.rs +0 -0
  135. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/flow.rs +0 -0
  136. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/fold.rs +0 -0
  137. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/cat_args.rs +0 -0
  138. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/extendedbigdecimal.rs +0 -0
  139. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/format/argument.rs +0 -0
  140. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/format/escape.rs +0 -0
  141. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/format/human.rs +0 -0
  142. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/format/mod.rs +0 -0
  143. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/format/num_format.rs +0 -0
  144. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/format/spec.rs +0 -0
  145. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/format_support.rs +0 -0
  146. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/ls_args.rs +0 -0
  147. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/mktemp_args.rs +0 -0
  148. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/mod.rs +0 -0
  149. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/num_parser.rs +0 -0
  150. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/od_args.rs +0 -0
  151. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/readlink_args.rs +0 -0
  152. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/realpath_args.rs +0 -0
  153. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/shuf_args.rs +0 -0
  154. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/stat_args.rs +0 -0
  155. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/tac_args.rs +0 -0
  156. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/tee_args.rs +0 -0
  157. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/generated/truncate_args.rs +0 -0
  158. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/git/client.rs +0 -0
  159. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/git/cmd.rs +0 -0
  160. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/git/config.rs +0 -0
  161. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/git/mod.rs +0 -0
  162. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/glob_cmd.rs +0 -0
  163. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/grep.rs +0 -0
  164. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/headtail.rs +0 -0
  165. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/help.rs +0 -0
  166. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/helpers.rs +0 -0
  167. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/hextools.rs +0 -0
  168. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/http.rs +0 -0
  169. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/iconv.rs +0 -0
  170. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/inspect.rs +0 -0
  171. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/introspect.rs +0 -0
  172. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/join.rs +0 -0
  173. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/args.rs +0 -0
  174. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/compat.rs +0 -0
  175. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/convert.rs +0 -0
  176. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/errors.rs +0 -0
  177. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/format.rs +0 -0
  178. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/mod.rs +0 -0
  179. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/regex_compat.rs +0 -0
  180. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/jq/tests.rs +0 -0
  181. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/json.rs +0 -0
  182. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/log.rs +0 -0
  183. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ls/find.rs +0 -0
  184. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ls/glob.rs +0 -0
  185. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ls/list.rs +0 -0
  186. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ls/mod.rs +0 -0
  187. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ls/rmdir.rs +0 -0
  188. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ls/tests.rs +0 -0
  189. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/mapfile.rs +0 -0
  190. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/mkfifo.rs +0 -0
  191. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/navigation.rs +0 -0
  192. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/nl.rs +0 -0
  193. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/numfmt.rs +0 -0
  194. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/parallel.rs +0 -0
  195. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/paste.rs +0 -0
  196. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/patch.rs +0 -0
  197. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/path.rs +0 -0
  198. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/pipeline.rs +0 -0
  199. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/printf.rs +0 -0
  200. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/retry.rs +0 -0
  201. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/search_common.rs +0 -0
  202. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sed.rs +0 -0
  203. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/semver.rs +0 -0
  204. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/seq.rs +0 -0
  205. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/shuf.rs +0 -0
  206. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sleep.rs +0 -0
  207. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sortuniq.rs +0 -0
  208. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/source.rs +0 -0
  209. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/split.rs +0 -0
  210. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sqlite/dot_commands.rs +0 -0
  211. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sqlite/engine.rs +0 -0
  212. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sqlite/formatter.rs +0 -0
  213. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sqlite/mod.rs +0 -0
  214. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sqlite/parser.rs +0 -0
  215. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sqlite/tests.rs +0 -0
  216. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/sqlite/vfs_io.rs +0 -0
  217. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ssh/allowlist.rs +0 -0
  218. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ssh/client.rs +0 -0
  219. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ssh/cmd.rs +0 -0
  220. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ssh/config.rs +0 -0
  221. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ssh/handler.rs +0 -0
  222. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ssh/mod.rs +0 -0
  223. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/ssh/russh_handler.rs +0 -0
  224. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/system.rs +0 -0
  225. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/template.rs +0 -0
  226. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/test.rs +0 -0
  227. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/textrev.rs +0 -0
  228. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/timeout.rs +0 -0
  229. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/tomlq.rs +0 -0
  230. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/trap.rs +0 -0
  231. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/tree.rs +0 -0
  232. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/truncate.rs +0 -0
  233. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/verify.rs +0 -0
  234. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/wait.rs +0 -0
  235. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/wc.rs +0 -0
  236. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/yaml.rs +0 -0
  237. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/yes.rs +0 -0
  238. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/builtins/zip_cmd.rs +0 -0
  239. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/credential.rs +0 -0
  240. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/error.rs +0 -0
  241. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/backend.rs +0 -0
  242. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/limits.rs +0 -0
  243. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/memory.rs +0 -0
  244. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/mod.rs +0 -0
  245. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/mountable.rs +0 -0
  246. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/posix.rs +0 -0
  247. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/readonly.rs +0 -0
  248. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/realfs.rs +0 -0
  249. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/search.rs +0 -0
  250. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/fs/traits.rs +0 -0
  251. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/hooks.rs +0 -0
  252. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/interop/fs.rs +0 -0
  253. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/interop/mod.rs +0 -0
  254. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/interpreter/jobs.rs +0 -0
  255. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/interpreter/state.rs +0 -0
  256. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/limits.rs +0 -0
  257. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/logging_impl.rs +0 -0
  258. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/network/allowlist.rs +0 -0
  259. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/network/bot_auth.rs +0 -0
  260. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/network/client.rs +0 -0
  261. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/network/mod.rs +0 -0
  262. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/parser/ast.rs +0 -0
  263. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/parser/budget.rs +0 -0
  264. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/parser/lexer.rs +0 -0
  265. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/parser/span.rs +0 -0
  266. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/parser/tokens.rs +0 -0
  267. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/scripted_tool/execute.rs +0 -0
  268. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/scripted_tool/extension.rs +0 -0
  269. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/scripted_tool/mod.rs +0 -0
  270. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/scripted_tool/toolset.rs +0 -0
  271. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/snapshot.rs +0 -0
  272. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/testing.rs +0 -0
  273. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/tool_def.rs +0 -0
  274. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/src/trace.rs +0 -0
  275. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/agent_skills_publication_tests.rs +0 -0
  276. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/allexport_tests.rs +0 -0
  277. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/awk_fuzz_scaffold_tests.rs +0 -0
  278. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/awk_newline_tests.rs +0 -0
  279. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/awk_pattern_tests.rs +0 -0
  280. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/awk_printf_expr_test.rs +0 -0
  281. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/awk_range_pattern_tests.rs +0 -0
  282. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/background_exec_tests.rs +0 -0
  283. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/base64_binary_tests.rs +0 -0
  284. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/bash_source_tests.rs +0 -0
  285. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/builtin_error_security_tests.rs +0 -0
  286. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/byte_range_panic_tests.rs +0 -0
  287. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/cancellation_tests.rs +0 -0
  288. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/cmdsub_quote_test.rs +0 -0
  289. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/compgen_tests.rs +0 -0
  290. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/coproc_tests.rs +0 -0
  291. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/coreutils_differential_tests.rs +0 -0
  292. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/credential_injection_tests.rs +0 -0
  293. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/custom_builtins_tests.rs +0 -0
  294. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/custom_fs_tests.rs +0 -0
  295. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/dev_null_tests.rs +0 -0
  296. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/final_env_tests.rs +0 -0
  297. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/find_multi_path_tests.rs +0 -0
  298. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/git_advanced_tests.rs +0 -0
  299. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/git_inspection_tests.rs +0 -0
  300. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/git_integration_tests.rs +0 -0
  301. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/git_remote_security_tests.rs +0 -0
  302. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/git_security_tests.rs +0 -0
  303. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/harness_example_tests.rs +0 -0
  304. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/history_tests.rs +0 -0
  305. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_1175_test.rs +0 -0
  306. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_1776_test.rs +0 -0
  307. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_1777_test.rs +0 -0
  308. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_274_test.rs +0 -0
  309. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_275_279_282_test.rs +0 -0
  310. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_276_test.rs +0 -0
  311. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_277_test.rs +0 -0
  312. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_289_test.rs +0 -0
  313. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_290_test.rs +0 -0
  314. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_291_test.rs +0 -0
  315. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_853_test.rs +0 -0
  316. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_872_test.rs +0 -0
  317. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_873_test.rs +0 -0
  318. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/issue_875_test.rs +0 -0
  319. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/jq_fuzz_scaffold_tests.rs +0 -0
  320. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/limitations_doc_tests.rs +0 -0
  321. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/limitations_evidence_tests.rs +0 -0
  322. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/live_mount_tests.rs +0 -0
  323. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/mkfifo_tests.rs +0 -0
  324. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/nested_subscript_tests.rs +0 -0
  325. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/network_security_tests.rs +0 -0
  326. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/output_truncation_tests.rs +0 -0
  327. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/proptest_differential.rs +0 -0
  328. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/python_integration_tests.rs +0 -0
  329. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/python_security_tests.rs +0 -0
  330. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/regex_limit_tests.rs +0 -0
  331. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/release_profile_tests.rs +0 -0
  332. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/script_execution_tests.rs +0 -0
  333. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/security_audit_pocs.rs +0 -0
  334. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/shuf_resource_tests.rs +0 -0
  335. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/skills_tests.rs +0 -0
  336. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/source_function_tests.rs +0 -0
  337. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/spec_runner.rs +0 -0
  338. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/spec_tests.rs +0 -0
  339. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/sqlite_compat_tests.rs +0 -0
  340. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/sqlite_differential_tests.rs +0 -0
  341. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/sqlite_fuzz_tests.rs +0 -0
  342. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/sqlite_integration_tests.rs +0 -0
  343. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/sqlite_security_tests.rs +0 -0
  344. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/stack_overflow_regression_tests.rs +0 -0
  345. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/subst_depth_limit_tests.rs +0 -0
  346. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/symlink_overlay_security_tests.rs +0 -0
  347. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/threat_model_doc_tests.rs +0 -0
  348. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/tty_tests.rs +0 -0
  349. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/typescript_integration_tests.rs +0 -0
  350. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/typescript_security_tests.rs +0 -0
  351. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/unicode_security_tests.rs +0 -0
  352. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/unset_function_tests.rs +0 -0
  353. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/urandom_tests.rs +0 -0
  354. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/integration/workflow_security_tests.rs +0 -0
  355. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/logging_security_tests.rs +0 -0
  356. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/proptest_security.rs +0 -0
  357. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/realfs_tests.rs +0 -0
  358. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/security_failpoint_tests.rs +0 -0
  359. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/azure_discover_rank.sh +0 -0
  360. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/azure_generate_url.sh +0 -0
  361. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/azure_query_capacity.sh +0 -0
  362. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/helm_validate_chart.sh +0 -0
  363. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/jwt_test_setup.sh +0 -0
  364. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/stitch_download_asset.sh +0 -0
  365. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/stitch_fetch.sh +0 -0
  366. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/stitch_verify_setup.sh +0 -0
  367. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/superpowers_find_polluter.sh +0 -0
  368. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/skills_fixtures/vercel_deploy.sh +0 -0
  369. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/awk/awk.test.sh +0 -0
  370. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/awk/delete-array.test.sh +0 -0
  371. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/awk/dev-stderr.test.sh +0 -0
  372. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/awk/eval-bugs.test.sh +0 -0
  373. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/awk/filename.test.sh +0 -0
  374. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/awk/getline-file.test.sh +0 -0
  375. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/alias.test.sh +0 -0
  376. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/append_redirect.test.sh +0 -0
  377. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/arith-dynamic.test.sh +0 -0
  378. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/arithmetic-base-expansion.test.sh +0 -0
  379. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/arithmetic.test.sh +0 -0
  380. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/array-slicing.test.sh +0 -0
  381. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/array-splat.test.sh +0 -0
  382. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/arrays.test.sh +0 -0
  383. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/assoc-arrays.test.sh +0 -0
  384. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/awk-printf-width.test.sh +0 -0
  385. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/background.test.sh +0 -0
  386. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/bash-c-exports.test.sh +0 -0
  387. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/bash-command.test.sh +0 -0
  388. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/bash-flags.test.sh +0 -0
  389. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/bash-source-var.test.sh +0 -0
  390. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/bash-stdin-pipe.test.sh +0 -0
  391. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/bc.test.sh +0 -0
  392. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/blackbox-edge-cases.test.sh +0 -0
  393. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/blackbox-exploration.test.sh +0 -0
  394. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/brace-expansion.test.sh +0 -0
  395. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/brace_expansion_lookahead.test.sh +0 -0
  396. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/cat.test.sh +0 -0
  397. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/checksum.test.sh +0 -0
  398. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/chown-kill.test.sh +0 -0
  399. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/cmd-suggestions.test.sh +0 -0
  400. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/cmdsub_depth_unquoted.test.sh +0 -0
  401. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/column.test.sh +0 -0
  402. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/comm.test.sh +0 -0
  403. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/command-not-found.test.sh +0 -0
  404. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/command-subst.test.sh +0 -0
  405. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/command_v.test.sh +0 -0
  406. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/compgen-path.test.sh +0 -0
  407. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/conditional-short-circuit.test.sh +0 -0
  408. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/conditional.test.sh +0 -0
  409. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/control-flow.test.sh +0 -0
  410. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/cuttr.test.sh +0 -0
  411. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/date.test.sh +0 -0
  412. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/declare.test.sh +0 -0
  413. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/df.test.sh +0 -0
  414. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/diff.test.sh +0 -0
  415. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/du.test.sh +0 -0
  416. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/echo.test.sh +0 -0
  417. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/empty-bodies.test.sh +0 -0
  418. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/env.test.sh +0 -0
  419. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/errexit.test.sh +0 -0
  420. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/eval-bugs.test.sh +0 -0
  421. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/exec-command.test.sh +0 -0
  422. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/exec-fd-redirect.test.sh +0 -0
  423. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/exec-fd-variable.test.sh +0 -0
  424. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/exit-status.test.sh +0 -0
  425. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/expr.test.sh +0 -0
  426. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/extglob.test.sh +0 -0
  427. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/file.test.sh +0 -0
  428. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/fileops.test.sh +0 -0
  429. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/find.test.sh +0 -0
  430. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/functions.test.sh +0 -0
  431. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/glob-options.test.sh +0 -0
  432. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/glob_match_cap.test.sh +0 -0
  433. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/globs.test.sh +0 -0
  434. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/gzip.test.sh +0 -0
  435. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/headtail.test.sh +0 -0
  436. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/help-flag.test.sh +0 -0
  437. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/heredoc-edge.test.sh +0 -0
  438. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/heredoc.test.sh +0 -0
  439. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/herestring.test.sh +0 -0
  440. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/hextools.test.sh +0 -0
  441. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/history.test.sh +0 -0
  442. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/indirect-expansion.test.sh +0 -0
  443. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/less.test.sh +0 -0
  444. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/ln.test.sh +0 -0
  445. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/ls.test.sh +0 -0
  446. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/memory_budget_desync.test.sh +0 -0
  447. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/mktemp.test.sh +0 -0
  448. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/nameref-assoc.test.sh +0 -0
  449. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/nameref.test.sh +0 -0
  450. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/negative-tests.test.sh +0 -0
  451. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/nl.test.sh +0 -0
  452. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/nounset.test.sh +0 -0
  453. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/numfmt.test.sh +0 -0
  454. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/od.test.sh +0 -0
  455. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/parse-errors.test.sh +0 -0
  456. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/paste-flags.test.sh +0 -0
  457. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/paste.test.sh +0 -0
  458. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/path.test.sh +0 -0
  459. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/pipes-redirects.test.sh +0 -0
  460. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/printenv.test.sh +0 -0
  461. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/printf.test.sh +0 -0
  462. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/procsub.test.sh +0 -0
  463. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/quote.test.sh +0 -0
  464. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/readlink.test.sh +0 -0
  465. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/recursive-cmdsub.test.sh +0 -0
  466. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/regex-limit.test.sh +0 -0
  467. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/replace_pattern_limit.test.sh +0 -0
  468. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/script-exec.test.sh +0 -0
  469. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/seq.test.sh +0 -0
  470. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/set-allexport.test.sh +0 -0
  471. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/shell-grammar.test.sh +0 -0
  472. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/shuf.test.sh +0 -0
  473. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/sleep.test.sh +0 -0
  474. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/sortuniq.test.sh +0 -0
  475. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/source.test.sh +0 -0
  476. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/stat.test.sh +0 -0
  477. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/string-ops.test.sh +0 -0
  478. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/strings.test.sh +0 -0
  479. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/subprocess-isolation.test.sh +0 -0
  480. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/subshell.test.sh +0 -0
  481. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/tar.test.sh +0 -0
  482. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/tar_create.test.sh +0 -0
  483. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/tee.test.sh +0 -0
  484. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/temp-binding.test.sh +0 -0
  485. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/test-operators.test.sh +0 -0
  486. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/test-tty.test.sh +0 -0
  487. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/textrev.test.sh +0 -0
  488. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/time.test.sh +0 -0
  489. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/timeout.test.sh +0 -0
  490. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/tree.test.sh +0 -0
  491. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/truncate.test.sh +0 -0
  492. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/type.test.sh +0 -0
  493. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/unicode.test.sh +0 -0
  494. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/unset-exported-var.test.sh +0 -0
  495. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/var-op-test.test.sh +0 -0
  496. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/variables.test.sh +0 -0
  497. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/watch.test.sh +0 -0
  498. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/wc.test.sh +0 -0
  499. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/word-split.test.sh +0 -0
  500. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/bash/xargs.test.sh +0 -0
  501. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/grep/eval-bugs.test.sh +0 -0
  502. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/grep/grep.test.sh +0 -0
  503. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/grep/rg.test.sh +0 -0
  504. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/jq/jq.test.sh +0 -0
  505. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/python/env_leak.test.sh +0 -0
  506. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/python/python.test.sh +0 -0
  507. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/sed/eval-bugs.test.sh +0 -0
  508. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/sed/sed.test.sh +0 -0
  509. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/spec_cases/typescript/typescript.test.sh +0 -0
  510. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/ssh_builtin_tests.rs +0 -0
  511. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit/tests/ssh_supabase_tests.rs +0 -0
  512. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/Cargo.toml +0 -0
  513. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/README.md +0 -0
  514. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/bash_basics.py +0 -0
  515. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/custom_filesystem_interop.py +0 -0
  516. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/data_pipeline.py +0 -0
  517. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/fastapi_async_tool.py +0 -0
  518. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/jupyter_async_test.ipynb +0 -0
  519. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/k8s_orchestrator.py +0 -0
  520. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/langgraph_async_tool.py +0 -0
  521. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/examples/llm_tool.py +0 -0
  522. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/src/lib.rs +0 -0
  523. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/_bashkit_categories.py +0 -0
  524. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/_security_advanced.py +0 -0
  525. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/_security_core.py +0 -0
  526. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_ai_adapters.py +0 -0
  527. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_async_callbacks.py +0 -0
  528. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_basic.py +0 -0
  529. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_builtins.py +0 -0
  530. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_control_flow.py +0 -0
  531. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_custom_builtin_fs.py +0 -0
  532. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_error_handling.py +0 -0
  533. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_fastapi_integration.py +0 -0
  534. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_filesystem_interop.py +0 -0
  535. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_integration.py +0 -0
  536. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_jupyter_compat.py +0 -0
  537. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_langgraph_integration.py +0 -0
  538. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_network_config.py +0 -0
  539. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_network_credentials.py +0 -0
  540. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_python_security.py +0 -0
  541. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_registered_tools.py +0 -0
  542. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_scripts.py +0 -0
  543. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_security.py +0 -0
  544. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_shell_injection.py +0 -0
  545. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_sqlite.py +0 -0
  546. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_streaming_output.py +0 -0
  547. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_strings_and_quoting.py +0 -0
  548. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_teardown_determinism.py +0 -0
  549. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_tool_metadata.py +0 -0
  550. {bashkit-0.11.0 → bashkit-0.12.0}/crates/bashkit-python/tests/test_vfs.py +0 -0
  551. {bashkit-0.11.0 → bashkit-0.12.0}/pyproject.toml +0 -0
@@ -347,7 +347,7 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
347
347
 
348
348
  [[package]]
349
349
  name = "bashkit"
350
- version = "0.11.0"
350
+ version = "0.12.0"
351
351
  dependencies = [
352
352
  "anyhow",
353
353
  "async-trait",
@@ -363,7 +363,7 @@ dependencies = [
363
363
  "flate2",
364
364
  "futures-core",
365
365
  "futures-util",
366
- "getrandom 0.4.2",
366
+ "getrandom 0.4.3",
367
367
  "hmac",
368
368
  "insta",
369
369
  "jaq-core",
@@ -400,7 +400,7 @@ dependencies = [
400
400
 
401
401
  [[package]]
402
402
  name = "bashkit-bench"
403
- version = "0.11.0"
403
+ version = "0.12.0"
404
404
  dependencies = [
405
405
  "anyhow",
406
406
  "bashkit",
@@ -415,7 +415,7 @@ dependencies = [
415
415
 
416
416
  [[package]]
417
417
  name = "bashkit-cli"
418
- version = "0.11.0"
418
+ version = "0.12.0"
419
419
  dependencies = [
420
420
  "anyhow",
421
421
  "bashkit",
@@ -429,7 +429,7 @@ dependencies = [
429
429
 
430
430
  [[package]]
431
431
  name = "bashkit-coreutils-port"
432
- version = "0.11.0"
432
+ version = "0.12.0"
433
433
  dependencies = [
434
434
  "anyhow",
435
435
  "prettyplease",
@@ -443,7 +443,7 @@ dependencies = [
443
443
 
444
444
  [[package]]
445
445
  name = "bashkit-eval"
446
- version = "0.11.0"
446
+ version = "0.12.0"
447
447
  dependencies = [
448
448
  "anyhow",
449
449
  "async-trait",
@@ -460,7 +460,7 @@ dependencies = [
460
460
 
461
461
  [[package]]
462
462
  name = "bashkit-js"
463
- version = "0.11.0"
463
+ version = "0.12.0"
464
464
  dependencies = [
465
465
  "bashkit",
466
466
  "napi",
@@ -472,7 +472,7 @@ dependencies = [
472
472
 
473
473
  [[package]]
474
474
  name = "bashkit-python"
475
- version = "0.11.0"
475
+ version = "0.12.0"
476
476
  dependencies = [
477
477
  "bashkit",
478
478
  "num-bigint",
@@ -1094,7 +1094,7 @@ checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3"
1094
1094
  dependencies = [
1095
1095
  "cpubits",
1096
1096
  "ctutils",
1097
- "getrandom 0.4.2",
1097
+ "getrandom 0.4.3",
1098
1098
  "hybrid-array",
1099
1099
  "num-traits",
1100
1100
  "rand_core 0.10.1",
@@ -1120,7 +1120,7 @@ version = "0.2.2"
1120
1120
  source = "registry+https://github.com/rust-lang/crates.io-index"
1121
1121
  checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453"
1122
1122
  dependencies = [
1123
- "getrandom 0.4.2",
1123
+ "getrandom 0.4.3",
1124
1124
  "hybrid-array",
1125
1125
  "rand_core 0.10.1",
1126
1126
  ]
@@ -1796,17 +1796,15 @@ dependencies = [
1796
1796
 
1797
1797
  [[package]]
1798
1798
  name = "getrandom"
1799
- version = "0.4.2"
1799
+ version = "0.4.3"
1800
1800
  source = "registry+https://github.com/rust-lang/crates.io-index"
1801
- checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
1801
+ checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
1802
1802
  dependencies = [
1803
1803
  "cfg-if",
1804
1804
  "js-sys",
1805
1805
  "libc",
1806
1806
  "r-efi 6.0.0",
1807
1807
  "rand_core 0.10.1",
1808
- "wasip2",
1809
- "wasip3",
1810
1808
  "wasm-bindgen",
1811
1809
  ]
1812
1810
 
@@ -1860,15 +1858,6 @@ dependencies = [
1860
1858
  "byteorder",
1861
1859
  ]
1862
1860
 
1863
- [[package]]
1864
- name = "hashbrown"
1865
- version = "0.15.5"
1866
- source = "registry+https://github.com/rust-lang/crates.io-index"
1867
- checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
1868
- dependencies = [
1869
- "foldhash 0.1.5",
1870
- ]
1871
-
1872
1861
  [[package]]
1873
1862
  name = "hashbrown"
1874
1863
  version = "0.16.1"
@@ -2172,12 +2161,6 @@ dependencies = [
2172
2161
  "zerovec",
2173
2162
  ]
2174
2163
 
2175
- [[package]]
2176
- name = "id-arena"
2177
- version = "2.3.0"
2178
- source = "registry+https://github.com/rust-lang/crates.io-index"
2179
- checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
2180
-
2181
2164
  [[package]]
2182
2165
  name = "idna"
2183
2166
  version = "1.1.0"
@@ -2516,12 +2499,6 @@ version = "1.5.0"
2516
2499
  source = "registry+https://github.com/rust-lang/crates.io-index"
2517
2500
  checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
2518
2501
 
2519
- [[package]]
2520
- name = "leb128fmt"
2521
- version = "0.1.0"
2522
- source = "registry+https://github.com/rust-lang/crates.io-index"
2523
- checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
2524
-
2525
2502
  [[package]]
2526
2503
  name = "lexical-parse-float"
2527
2504
  version = "1.0.6"
@@ -2811,9 +2788,9 @@ dependencies = [
2811
2788
 
2812
2789
  [[package]]
2813
2790
  name = "napi"
2814
- version = "3.9.2"
2791
+ version = "3.9.3"
2815
2792
  source = "registry+https://github.com/rust-lang/crates.io-index"
2816
- checksum = "26d3c7dd60231116a47854321c9ac8df6f13435d11aa3a59d8533a76e07a3730"
2793
+ checksum = "fbd9f9295f3ff5921e78a71222c3361a8216f7760b1a99a6ad4e8441de18bbb9"
2817
2794
  dependencies = [
2818
2795
  "bitflags",
2819
2796
  "ctor",
@@ -3815,9 +3792,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
3815
3792
 
3816
3793
  [[package]]
3817
3794
  name = "quote"
3818
- version = "1.0.45"
3795
+ version = "1.0.46"
3819
3796
  source = "registry+https://github.com/rust-lang/crates.io-index"
3820
- checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
3797
+ checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
3821
3798
  dependencies = [
3822
3799
  "proc-macro2",
3823
3800
  ]
@@ -3900,7 +3877,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3900
3877
  checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207"
3901
3878
  dependencies = [
3902
3879
  "chacha20",
3903
- "getrandom 0.4.2",
3880
+ "getrandom 0.4.3",
3904
3881
  "rand_core 0.10.1",
3905
3882
  ]
3906
3883
 
@@ -4236,7 +4213,7 @@ dependencies = [
4236
4213
  "flate2",
4237
4214
  "futures",
4238
4215
  "generic-array 1.4.3",
4239
- "getrandom 0.4.2",
4216
+ "getrandom 0.4.3",
4240
4217
  "ghash 0.6.0",
4241
4218
  "hex-literal",
4242
4219
  "hmac",
@@ -5028,9 +5005,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
5028
5005
 
5029
5006
  [[package]]
5030
5007
  name = "syn"
5031
- version = "2.0.117"
5008
+ version = "2.0.118"
5032
5009
  source = "registry+https://github.com/rust-lang/crates.io-index"
5033
- checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
5010
+ checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
5034
5011
  dependencies = [
5035
5012
  "proc-macro2",
5036
5013
  "quote",
@@ -5100,7 +5077,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
5100
5077
  checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
5101
5078
  dependencies = [
5102
5079
  "fastrand",
5103
- "getrandom 0.4.2",
5080
+ "getrandom 0.4.3",
5104
5081
  "once_cell",
5105
5082
  "rustix",
5106
5083
  "windows-sys 0.61.2",
@@ -5500,7 +5477,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
5500
5477
  checksum = "f9a47927d766b9ae7e3adf092d5e150dce80533615edc502641797878f190080"
5501
5478
  dependencies = [
5502
5479
  "chrono",
5503
- "getrandom 0.4.2",
5480
+ "getrandom 0.4.3",
5504
5481
  "turso_macros",
5505
5482
  ]
5506
5483
 
@@ -5611,12 +5588,6 @@ version = "0.2.2"
5611
5588
  source = "registry+https://github.com/rust-lang/crates.io-index"
5612
5589
  checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
5613
5590
 
5614
- [[package]]
5615
- name = "unicode-xid"
5616
- version = "0.2.6"
5617
- source = "registry+https://github.com/rust-lang/crates.io-index"
5618
- checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
5619
-
5620
5591
  [[package]]
5621
5592
  name = "unicode_names2"
5622
5593
  version = "1.3.0"
@@ -5713,7 +5684,7 @@ version = "1.23.3"
5713
5684
  source = "registry+https://github.com/rust-lang/crates.io-index"
5714
5685
  checksum = "144d6b123cef80b301b8f72a9e2ca4370ddec21950d0a103dd22c437006d2db7"
5715
5686
  dependencies = [
5716
- "getrandom 0.4.2",
5687
+ "getrandom 0.4.3",
5717
5688
  "js-sys",
5718
5689
  "sha1_smol",
5719
5690
  "wasm-bindgen",
@@ -5771,16 +5742,7 @@ version = "1.0.4+wasi-0.2.12"
5771
5742
  source = "registry+https://github.com/rust-lang/crates.io-index"
5772
5743
  checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487"
5773
5744
  dependencies = [
5774
- "wit-bindgen 0.57.1",
5775
- ]
5776
-
5777
- [[package]]
5778
- name = "wasip3"
5779
- version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
5780
- source = "registry+https://github.com/rust-lang/crates.io-index"
5781
- checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
5782
- dependencies = [
5783
- "wit-bindgen 0.51.0",
5745
+ "wit-bindgen",
5784
5746
  ]
5785
5747
 
5786
5748
  [[package]]
@@ -5838,28 +5800,6 @@ dependencies = [
5838
5800
  "unicode-ident",
5839
5801
  ]
5840
5802
 
5841
- [[package]]
5842
- name = "wasm-encoder"
5843
- version = "0.244.0"
5844
- source = "registry+https://github.com/rust-lang/crates.io-index"
5845
- checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
5846
- dependencies = [
5847
- "leb128fmt",
5848
- "wasmparser",
5849
- ]
5850
-
5851
- [[package]]
5852
- name = "wasm-metadata"
5853
- version = "0.244.0"
5854
- source = "registry+https://github.com/rust-lang/crates.io-index"
5855
- checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
5856
- dependencies = [
5857
- "anyhow",
5858
- "indexmap",
5859
- "wasm-encoder",
5860
- "wasmparser",
5861
- ]
5862
-
5863
5803
  [[package]]
5864
5804
  name = "wasm-streams"
5865
5805
  version = "0.5.0"
@@ -5873,18 +5813,6 @@ dependencies = [
5873
5813
  "web-sys",
5874
5814
  ]
5875
5815
 
5876
- [[package]]
5877
- name = "wasmparser"
5878
- version = "0.244.0"
5879
- source = "registry+https://github.com/rust-lang/crates.io-index"
5880
- checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
5881
- dependencies = [
5882
- "bitflags",
5883
- "hashbrown 0.15.5",
5884
- "indexmap",
5885
- "semver",
5886
- ]
5887
-
5888
5816
  [[package]]
5889
5817
  name = "web-sys"
5890
5818
  version = "0.3.102"
@@ -6133,100 +6061,12 @@ version = "1.0.3"
6133
6061
  source = "registry+https://github.com/rust-lang/crates.io-index"
6134
6062
  checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1"
6135
6063
 
6136
- [[package]]
6137
- name = "wit-bindgen"
6138
- version = "0.51.0"
6139
- source = "registry+https://github.com/rust-lang/crates.io-index"
6140
- checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
6141
- dependencies = [
6142
- "wit-bindgen-rust-macro",
6143
- ]
6144
-
6145
6064
  [[package]]
6146
6065
  name = "wit-bindgen"
6147
6066
  version = "0.57.1"
6148
6067
  source = "registry+https://github.com/rust-lang/crates.io-index"
6149
6068
  checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
6150
6069
 
6151
- [[package]]
6152
- name = "wit-bindgen-core"
6153
- version = "0.51.0"
6154
- source = "registry+https://github.com/rust-lang/crates.io-index"
6155
- checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
6156
- dependencies = [
6157
- "anyhow",
6158
- "heck",
6159
- "wit-parser",
6160
- ]
6161
-
6162
- [[package]]
6163
- name = "wit-bindgen-rust"
6164
- version = "0.51.0"
6165
- source = "registry+https://github.com/rust-lang/crates.io-index"
6166
- checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
6167
- dependencies = [
6168
- "anyhow",
6169
- "heck",
6170
- "indexmap",
6171
- "prettyplease",
6172
- "syn",
6173
- "wasm-metadata",
6174
- "wit-bindgen-core",
6175
- "wit-component",
6176
- ]
6177
-
6178
- [[package]]
6179
- name = "wit-bindgen-rust-macro"
6180
- version = "0.51.0"
6181
- source = "registry+https://github.com/rust-lang/crates.io-index"
6182
- checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
6183
- dependencies = [
6184
- "anyhow",
6185
- "prettyplease",
6186
- "proc-macro2",
6187
- "quote",
6188
- "syn",
6189
- "wit-bindgen-core",
6190
- "wit-bindgen-rust",
6191
- ]
6192
-
6193
- [[package]]
6194
- name = "wit-component"
6195
- version = "0.244.0"
6196
- source = "registry+https://github.com/rust-lang/crates.io-index"
6197
- checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
6198
- dependencies = [
6199
- "anyhow",
6200
- "bitflags",
6201
- "indexmap",
6202
- "log",
6203
- "serde",
6204
- "serde_derive",
6205
- "serde_json",
6206
- "wasm-encoder",
6207
- "wasm-metadata",
6208
- "wasmparser",
6209
- "wit-parser",
6210
- ]
6211
-
6212
- [[package]]
6213
- name = "wit-parser"
6214
- version = "0.244.0"
6215
- source = "registry+https://github.com/rust-lang/crates.io-index"
6216
- checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
6217
- dependencies = [
6218
- "anyhow",
6219
- "id-arena",
6220
- "indexmap",
6221
- "log",
6222
- "semver",
6223
- "serde",
6224
- "serde_derive",
6225
- "serde_json",
6226
- "unicode-xid",
6227
- "wasmparser",
6228
- ]
6229
-
6230
6070
  [[package]]
6231
6071
  name = "writeable"
6232
6072
  version = "0.6.3"
@@ -7,7 +7,7 @@ resolver = "2"
7
7
  members = ["crates/*"]
8
8
 
9
9
  [workspace.package]
10
- version = "0.11.0"
10
+ version = "0.12.0"
11
11
  edition = "2024"
12
12
  license = "MIT"
13
13
  authors = ["Mykhailo Chalyi <mike@chaliy.name>", "Everruns"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bashkit
3
- Version: 0.11.0
3
+ Version: 0.12.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -130,7 +130,7 @@ BuiltinCallback = Callable[
130
130
  ]
131
131
 
132
132
  class FileSystem:
133
- """Direct access to BashKit's virtual filesystem or a standalone mountable FS.
133
+ """Direct access to Bashkit's virtual filesystem or a standalone mountable FS.
134
134
 
135
135
  Two ways to create:
136
136
 
@@ -458,7 +458,7 @@ class Bash:
458
458
  ... external_functions=["api_request"],
459
459
  ... external_handler=handler,
460
460
  ... )
461
- >>> result = await bash.execute("python3 -c 'print(api_request(url=\"/data\"))'")
461
+ >>> result = await bash.execute("python3 -c 'print(api_request())'")
462
462
  """
463
463
 
464
464
  def __init__(
@@ -17,9 +17,11 @@ readme = "README.md"
17
17
  # Async runtime
18
18
  tokio = { workspace = true }
19
19
  async-trait = { workspace = true }
20
- futures-core = { workspace = true }
20
+ # futures-core / tower are only pulled in by the LLM `BashTool` wrapper
21
+ # (and the `scripted_tool` layer on top of it). Optional, gated under `bash_tool`.
22
+ futures-core = { workspace = true, optional = true }
21
23
  futures-util = { workspace = true }
22
- tower = { workspace = true }
24
+ tower = { workspace = true, optional = true }
23
25
 
24
26
  # Error handling
25
27
  thiserror = { workspace = true }
@@ -108,7 +110,13 @@ zapcode-core = { version = "1.5", optional = true }
108
110
  turso_core = { workspace = true, optional = true }
109
111
 
110
112
  [features]
111
- default = []
113
+ default = ["bash_tool"]
114
+ # Enable the LLM-facing `BashTool` wrapper: the `Tool` trait, `ToolExecution`,
115
+ # OpenAI tool-definition/JSON-schema helpers, and the `tower::Service` bridge.
116
+ # On by default. Disable with `--no-default-features` to compile just the
117
+ # embeddable `Bash` interpreter and drop the `tower` / `futures-core` deps.
118
+ # Usage: cargo build --no-default-features [--features <others>]
119
+ bash_tool = ["dep:tower", "dep:futures-core"]
112
120
  # Enable jq builtin via embedded jaq interpreter
113
121
  # Usage: cargo build --features jq
114
122
  jq = ["dep:jaq-core", "dep:jaq-std", "dep:jaq-json"]
@@ -130,8 +138,9 @@ git = []
130
138
  # Usage: cargo build --features ssh
131
139
  ssh = ["russh"]
132
140
  # Enable ScriptedTool: compose ToolDef+callback pairs into a single Tool
141
+ # Builds on the `BashTool` contract, so it pulls in the `bash_tool` feature.
133
142
  # Usage: cargo build --features scripted_tool
134
- scripted_tool = []
143
+ scripted_tool = ["bash_tool"]
135
144
  # Enable python/python3 builtins via embedded Monty interpreter
136
145
  # Monty is a git dep (not yet on crates.io) — feature unavailable from registry
137
146
  python = ["dep:monty"]
@@ -210,6 +219,10 @@ required-features = ["git"]
210
219
  name = "ssh_supabase"
211
220
  required-features = ["ssh"]
212
221
 
222
+ [[example]]
223
+ name = "show_tool_output"
224
+ required-features = ["bash_tool"]
225
+
213
226
  [[example]]
214
227
  name = "scripted_tool"
215
228
  required-features = ["scripted_tool"]
@@ -14,8 +14,10 @@ use criterion::{BenchmarkId, Criterion, Throughput, criterion_group, criterion_m
14
14
  use std::sync::Arc;
15
15
  use tokio::runtime::Runtime;
16
16
 
17
- /// Number of parallel sessions to benchmark
18
- const SESSION_COUNTS: &[usize] = &[10, 50, 100, 200];
17
+ /// Number of parallel sessions to benchmark.
18
+ /// Goes up to 1000 to confirm large fan-outs stay healthy (no per-session
19
+ /// thread/process; sessions are heap objects + tokio tasks).
20
+ const SESSION_COUNTS: &[usize] = &[10, 50, 100, 200, 500, 1000];
19
21
 
20
22
  /// Heavy workload: file creation, text processing with grep/awk/sed
21
23
  const HEAVY_SCRIPT: &str = r#"
@@ -0,0 +1,67 @@
1
+ # Criterion Parallel Execution Benchmark
2
+
3
+ ## System Information
4
+
5
+ - **Moniker**: `vm-linux-x86_64`
6
+ - **Hostname**: vm
7
+ - **OS**: linux
8
+ - **Architecture**: x86_64
9
+ - **CPUs**: 4
10
+ - **Timestamp**: 1782162173
11
+
12
+ ## Workload Comparison (50 sessions)
13
+
14
+ | Benchmark | Time |
15
+ |-----------|------|
16
+ | workload_types/light_sequential | 2.9735 ms |
17
+ | workload_types/light_parallel | 982.07 µs |
18
+ | workload_types/medium_sequential | 14.484 ms |
19
+ | workload_types/medium_parallel | 4.1479 ms |
20
+ | workload_types/heavy_sequential | 47.101 ms |
21
+ | workload_types/heavy_parallel | 12.260 ms |
22
+
23
+ ## Parallel Scaling (medium workload)
24
+
25
+ | Benchmark | Time |
26
+ |-----------|------|
27
+ | parallel_scaling/medium_seq/10 | 2.8015 ms |
28
+ | parallel_scaling/medium_par/10 | 1.0280 ms |
29
+ | parallel_scaling/shared_fs/10 | 661.04 µs |
30
+ | parallel_scaling/medium_seq/50 | 14.232 ms |
31
+ | parallel_scaling/medium_par/50 | 4.0529 ms |
32
+ | parallel_scaling/shared_fs/50 | 2.6310 ms |
33
+ | parallel_scaling/medium_seq/100 | 27.965 ms |
34
+ | parallel_scaling/medium_par/100 | 7.9751 ms |
35
+ | parallel_scaling/shared_fs/100 | 5.5717 ms |
36
+ | parallel_scaling/medium_seq/200 | 57.317 ms |
37
+ | parallel_scaling/medium_par/200 | 15.607 ms |
38
+ | parallel_scaling/shared_fs/200 | 14.397 ms |
39
+
40
+ ## Single Operations
41
+
42
+ | Benchmark | Time |
43
+ |-----------|------|
44
+ | single_bash_new | 31.669 µs |
45
+ | single_echo | 38.924 µs |
46
+ | single_file_write_read | 60.190 µs |
47
+ | single_grep | 58.610 µs |
48
+ | single_awk | 62.195 µs |
49
+ | single_sed | 153.72 µs |
50
+ | single_light_script | 65.103 µs |
51
+ | single_medium_script | 297.61 µs |
52
+ | single_heavy_script | 943.32 µs |
53
+
54
+ ## Speedup Summary
55
+
56
+ | Workload | Sequential | Parallel | Speedup |
57
+ |----------|-----------|----------|---------|
58
+ | light | 2.974 ms | 0.982 ms | **3.03x** |
59
+ | medium | 14.484 ms | 4.148 ms | **3.49x** |
60
+ | heavy | 47.101 ms | 12.260 ms | **3.84x** |
61
+
62
+ | Sessions | Sequential | Parallel | Shared FS | Par Speedup |
63
+ |----------|-----------|----------|-----------|-------------|
64
+ | 10 | 2.801 ms | 1.028 ms | 0.661 ms | **2.73x** |
65
+ | 50 | 14.232 ms | 4.053 ms | 2.631 ms | **3.51x** |
66
+ | 100 | 27.965 ms | 7.975 ms | 5.572 ms | **3.51x** |
67
+ | 200 | 57.317 ms | 15.607 ms | 14.397 ms | **3.67x** |
@@ -0,0 +1,75 @@
1
+ # Criterion Parallel Execution Benchmark
2
+
3
+ ## System Information
4
+
5
+ - **Moniker**: `vm-linux-x86_64`
6
+ - **Hostname**: vm
7
+ - **OS**: linux
8
+ - **Architecture**: x86_64
9
+ - **CPUs**: 4
10
+ - **Timestamp**: 1782168239
11
+
12
+ ## Workload Comparison (50 sessions)
13
+
14
+ | Benchmark | Time |
15
+ |-----------|------|
16
+ | workload_types/light_sequential | 3.8932 ms |
17
+ | workload_types/light_parallel | 1.3279 ms |
18
+ | workload_types/medium_sequential | 18.656 ms |
19
+ | workload_types/medium_parallel | 5.1439 ms |
20
+ | workload_types/heavy_sequential | 56.175 ms |
21
+ | workload_types/heavy_parallel | 14.620 ms |
22
+
23
+ ## Parallel Scaling (medium workload)
24
+
25
+ | Benchmark | Time |
26
+ |-----------|------|
27
+ | parallel_scaling/medium_seq/10 | 3.7044 ms |
28
+ | parallel_scaling/medium_par/10 | 1.2981 ms |
29
+ | parallel_scaling/shared_fs/10 | 807.42 µs |
30
+ | parallel_scaling/medium_seq/50 | 18.635 ms |
31
+ | parallel_scaling/medium_par/50 | 5.2968 ms |
32
+ | parallel_scaling/shared_fs/50 | 3.5919 ms |
33
+ | parallel_scaling/medium_seq/100 | 37.804 ms |
34
+ | parallel_scaling/medium_par/100 | 10.336 ms |
35
+ | parallel_scaling/shared_fs/100 | 6.8304 ms |
36
+ | parallel_scaling/medium_seq/200 | 74.215 ms |
37
+ | parallel_scaling/medium_par/200 | 20.338 ms |
38
+ | parallel_scaling/shared_fs/200 | 16.870 ms |
39
+ | parallel_scaling/medium_seq/500 | 182.29 ms |
40
+ | parallel_scaling/medium_par/500 | 50.491 ms |
41
+ | parallel_scaling/shared_fs/500 | 47.912 ms |
42
+ | parallel_scaling/medium_seq/1000 | 371.62 ms |
43
+ | parallel_scaling/medium_par/1000 | 97.672 ms |
44
+ | parallel_scaling/shared_fs/1000 | 140.56 ms |
45
+
46
+ ## Single Operations
47
+
48
+ | Benchmark | Time |
49
+ |-----------|------|
50
+ | single_bash_new | 39.904 µs |
51
+ | single_echo | 48.200 µs |
52
+ | single_file_write_read | 81.555 µs |
53
+ | single_grep | 76.044 µs |
54
+ | single_awk | 72.376 µs |
55
+ | single_sed | 194.96 µs |
56
+ | single_light_script | 75.035 µs |
57
+ | single_medium_script | 376.66 µs |
58
+ | single_heavy_script | 1.0537 ms |
59
+
60
+ ## Speedup Summary
61
+
62
+ | Workload | Sequential | Parallel | Speedup |
63
+ |----------|-----------|----------|---------|
64
+ | light | 3.893 ms | 1.328 ms | **2.93x** |
65
+ | medium | 18.656 ms | 5.144 ms | **3.63x** |
66
+ | heavy | 56.175 ms | 14.620 ms | **3.84x** |
67
+
68
+ | Sessions | Sequential | Parallel | Shared FS | Par Speedup |
69
+ |----------|-----------|----------|-----------|-------------|
70
+ | 10 | 3.704 ms | 1.298 ms | 0.807 ms | **2.85x** |
71
+ | 50 | 18.635 ms | 5.297 ms | 3.592 ms | **3.52x** |
72
+ | 100 | 37.804 ms | 10.336 ms | 6.830 ms | **3.66x** |
73
+ | 200 | 74.215 ms | 20.338 ms | 16.870 ms | **3.65x** |
74
+ | 500 | 182.290 ms | 50.491 ms | 47.912 ms | **3.61x** |
75
+ | 1000 | 371.620 ms | 97.672 ms | 140.560 ms | **3.80x** |