bashkit 0.1.16__tar.gz → 0.1.18__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 (417) hide show
  1. {bashkit-0.1.16 → bashkit-0.1.18}/Cargo.lock +218 -43
  2. {bashkit-0.1.16 → bashkit-0.1.18}/Cargo.toml +5 -10
  3. {bashkit-0.1.16 → bashkit-0.1.18}/PKG-INFO +19 -13
  4. {bashkit-0.1.16/crates/bashkit-python → bashkit-0.1.18}/README.md +18 -12
  5. {bashkit-0.1.16 → bashkit-0.1.18}/bashkit/_bashkit.pyi +9 -13
  6. {bashkit-0.1.16 → bashkit-0.1.18}/bashkit/deepagents.py +10 -2
  7. {bashkit-0.1.16 → bashkit-0.1.18}/bashkit/langchain.py +23 -15
  8. {bashkit-0.1.16 → bashkit-0.1.18}/bashkit/pydantic_ai.py +10 -2
  9. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/Cargo.toml +14 -10
  10. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/README.md +7 -3
  11. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/compatibility.md +1 -1
  12. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/custom_builtins.md +1 -0
  13. bashkit-0.1.18/crates/bashkit/docs/hooks.md +386 -0
  14. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/logging.md +5 -3
  15. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/python.md +2 -2
  16. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/ssh_supabase.rs +5 -1
  17. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/archive.rs +160 -3
  18. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/awk.rs +7 -0
  19. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/base64.rs +7 -0
  20. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/bc.rs +7 -0
  21. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/cat.rs +7 -0
  22. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/checksum.rs +21 -0
  23. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/column.rs +7 -0
  24. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/comm.rs +7 -0
  25. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/curl.rs +14 -0
  26. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/cuttr.rs +14 -0
  27. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/date.rs +200 -7
  28. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/diff.rs +7 -0
  29. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/disk.rs +23 -0
  30. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/echo.rs +7 -0
  31. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/environ.rs +14 -0
  32. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/expand.rs +14 -0
  33. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/expr.rs +7 -0
  34. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/fileops.rs +80 -0
  35. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/fold.rs +7 -0
  36. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/git.rs +1 -1
  37. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/grep.rs +7 -0
  38. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/headtail.rs +14 -0
  39. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/hextools.rs +21 -0
  40. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/iconv.rs +126 -13
  41. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/inspect.rs +21 -0
  42. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/join.rs +7 -0
  43. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/jq.rs +37 -3
  44. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/ls.rs +24 -0
  45. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/mkfifo.rs +8 -0
  46. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/mod.rs +70 -0
  47. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/nl.rs +7 -0
  48. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/numfmt.rs +7 -0
  49. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/parallel.rs +7 -0
  50. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/paste.rs +7 -0
  51. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/patch.rs +7 -0
  52. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/path.rs +28 -0
  53. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/pipeline.rs +21 -0
  54. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/printf.rs +7 -0
  55. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/python.rs +137 -8
  56. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/rg.rs +7 -0
  57. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/sed.rs +105 -21
  58. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/seq.rs +7 -0
  59. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/sleep.rs +7 -0
  60. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/sortuniq.rs +14 -0
  61. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/split.rs +7 -0
  62. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/strings.rs +7 -0
  63. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/system.rs +30 -32
  64. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/template.rs +76 -3
  65. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/textrev.rs +14 -0
  66. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/timeout.rs +7 -0
  67. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/tree.rs +8 -0
  68. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/vars.rs +3 -3
  69. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/wc.rs +7 -0
  70. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/yes.rs +7 -0
  71. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/zip_cmd.rs +14 -0
  72. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/memory.rs +133 -0
  73. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/overlay.rs +222 -2
  74. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/posix.rs +89 -21
  75. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/realfs.rs +40 -10
  76. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/git/client.rs +61 -18
  77. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/git/config.rs +62 -1
  78. bashkit-0.1.18/crates/bashkit/src/git/mod.rs +160 -0
  79. bashkit-0.1.18/crates/bashkit/src/hooks.rs +192 -0
  80. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/interpreter/glob.rs +1 -1
  81. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/interpreter/mod.rs +698 -80
  82. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/lib.rs +794 -15
  83. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/limits.rs +166 -25
  84. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/logging_impl.rs +44 -4
  85. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/network/allowlist.rs +133 -1
  86. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/network/bot_auth.rs +56 -6
  87. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/network/client.rs +231 -36
  88. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/parser/lexer.rs +46 -2
  89. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/scripted_tool/execute.rs +85 -22
  90. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/scripted_tool/mod.rs +148 -5
  91. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/scripted_tool/toolset.rs +157 -6
  92. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/snapshot.rs +103 -3
  93. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/ssh/client.rs +6 -1
  94. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/ssh/config.rs +127 -1
  95. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/ssh/handler.rs +44 -1
  96. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/ssh/mod.rs +1 -1
  97. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/ssh/russh_handler.rs +210 -12
  98. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/tool.rs +3 -3
  99. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/trace.rs +87 -0
  100. bashkit-0.1.18/crates/bashkit/tests/issue_1175_test.rs +60 -0
  101. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/jq_fuzz_scaffold_tests.rs +3 -0
  102. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/logging_security_tests.rs +7 -0
  103. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/network_security_tests.rs +58 -0
  104. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/output_truncation_tests.rs +5 -4
  105. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/realfs_tests.rs +62 -0
  106. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/security_audit_pocs.rs +47 -0
  107. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_tests.rs +2 -0
  108. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/snapshot_tests.rs +52 -3
  109. bashkit-0.1.18/crates/bashkit/tests/spec_cases/bash/append_redirect.test.sh +74 -0
  110. bashkit-0.1.18/crates/bashkit/tests/spec_cases/bash/command_v.test.sh +62 -0
  111. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/date.test.sh +34 -0
  112. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/exec-fd-redirect.test.sh +9 -0
  113. bashkit-0.1.18/crates/bashkit/tests/spec_cases/bash/help-flag.test.sh +55 -0
  114. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/pipes-redirects.test.sh +24 -0
  115. bashkit-0.1.18/crates/bashkit/tests/spec_cases/bash/tar_create.test.sh +29 -0
  116. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/sed/sed.test.sh +14 -0
  117. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_tests.rs +1 -0
  118. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/ssh_supabase_tests.rs +5 -1
  119. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/threat_model_tests.rs +27 -6
  120. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/Cargo.toml +1 -1
  121. {bashkit-0.1.16 → bashkit-0.1.18/crates/bashkit-python}/README.md +18 -12
  122. bashkit-0.1.18/crates/bashkit-python/examples/fastapi_async_tool.py +196 -0
  123. bashkit-0.1.18/crates/bashkit-python/examples/langgraph_async_tool.py +208 -0
  124. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/src/lib.rs +249 -157
  125. bashkit-0.1.18/crates/bashkit-python/tests/test_async_callbacks.py +293 -0
  126. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/tests/test_bashkit.py +34 -17
  127. bashkit-0.1.18/crates/bashkit-python/tests/test_fastapi_integration.py +192 -0
  128. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/tests/test_frameworks.py +77 -0
  129. bashkit-0.1.18/crates/bashkit-python/tests/test_langgraph_integration.py +181 -0
  130. bashkit-0.1.16/crates/bashkit/src/git/mod.rs +0 -55
  131. {bashkit-0.1.16 → bashkit-0.1.18}/bashkit/__init__.py +0 -0
  132. {bashkit-0.1.16 → bashkit-0.1.18}/bashkit/py.typed +0 -0
  133. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/benches/parallel_execution.rs +0 -0
  134. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/live_mounts.md +0 -0
  135. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/ssh.md +0 -0
  136. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/threat-model.md +0 -0
  137. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/docs/typescript.md +0 -0
  138. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/agent_tool.rs +0 -0
  139. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/basic.rs +0 -0
  140. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/custom_backend.rs +0 -0
  141. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/custom_builtins.rs +0 -0
  142. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/custom_filesystem_impl.rs +0 -0
  143. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/custom_fs.rs +0 -0
  144. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/git_workflow.rs +0 -0
  145. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/live_mounts.rs +0 -0
  146. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/python_external_functions.rs +0 -0
  147. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/python_scripts.rs +0 -0
  148. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/realfs_readonly.rs +0 -0
  149. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/realfs_readwrite.rs +0 -0
  150. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/resource_limits.rs +0 -0
  151. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/scripted_tool.rs +0 -0
  152. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/show_tool_output.rs +0 -0
  153. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/streaming_output.rs +0 -0
  154. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/text_files.rs +0 -0
  155. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/text_processing.rs +0 -0
  156. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/typescript_external_functions.rs +0 -0
  157. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/typescript_scripts.rs +0 -0
  158. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/examples/virtual_identity.rs +0 -0
  159. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/alias.rs +0 -0
  160. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/arg_parser.rs +0 -0
  161. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/assert.rs +0 -0
  162. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/caller.rs +0 -0
  163. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/clear.rs +0 -0
  164. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/compgen.rs +0 -0
  165. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/csv.rs +0 -0
  166. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/dirstack.rs +0 -0
  167. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/dotenv.rs +0 -0
  168. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/envsubst.rs +0 -0
  169. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/export.rs +0 -0
  170. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/fc.rs +0 -0
  171. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/flow.rs +0 -0
  172. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/glob_cmd.rs +0 -0
  173. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/help.rs +0 -0
  174. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/http.rs +0 -0
  175. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/introspect.rs +0 -0
  176. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/json.rs +0 -0
  177. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/log.rs +0 -0
  178. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/mapfile.rs +0 -0
  179. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/navigation.rs +0 -0
  180. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/read.rs +0 -0
  181. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/retry.rs +0 -0
  182. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/search_common.rs +0 -0
  183. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/semver.rs +0 -0
  184. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/source.rs +0 -0
  185. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/ssh.rs +0 -0
  186. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/test.rs +0 -0
  187. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/tomlq.rs +0 -0
  188. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/trap.rs +0 -0
  189. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/typescript.rs +0 -0
  190. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/verify.rs +0 -0
  191. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/wait.rs +0 -0
  192. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/builtins/yaml.rs +0 -0
  193. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/error.rs +0 -0
  194. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/backend.rs +0 -0
  195. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/limits.rs +0 -0
  196. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/mod.rs +0 -0
  197. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/mountable.rs +0 -0
  198. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/search.rs +0 -0
  199. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/fs/traits.rs +0 -0
  200. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/interpreter/jobs.rs +0 -0
  201. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/interpreter/state.rs +0 -0
  202. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/network/mod.rs +0 -0
  203. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/parser/ast.rs +0 -0
  204. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/parser/budget.rs +0 -0
  205. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/parser/mod.rs +0 -0
  206. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/parser/span.rs +0 -0
  207. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/parser/tokens.rs +0 -0
  208. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/src/ssh/allowlist.rs +0 -0
  209. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/allexport_tests.rs +0 -0
  210. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/awk_fuzz_scaffold_tests.rs +0 -0
  211. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/awk_newline_tests.rs +0 -0
  212. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/awk_pattern_tests.rs +0 -0
  213. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/awk_printf_expr_test.rs +0 -0
  214. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/background_exec_tests.rs +0 -0
  215. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/bash_source_tests.rs +0 -0
  216. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/blackbox_security_tests.rs +0 -0
  217. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/builtin_error_security_tests.rs +0 -0
  218. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/byte_range_panic_tests.rs +0 -0
  219. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/cancellation_tests.rs +0 -0
  220. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/cmdsub_quote_test.rs +0 -0
  221. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/coproc_tests.rs +0 -0
  222. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/custom_builtins_tests.rs +0 -0
  223. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/custom_fs_tests.rs +0 -0
  224. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/dev_null_tests.rs +0 -0
  225. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/final_env_tests.rs +0 -0
  226. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/find_multi_path_tests.rs +0 -0
  227. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/git_advanced_tests.rs +0 -0
  228. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/git_inspection_tests.rs +0 -0
  229. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/git_integration_tests.rs +0 -0
  230. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/git_remote_security_tests.rs +0 -0
  231. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/git_security_tests.rs +0 -0
  232. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/history_tests.rs +0 -0
  233. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_274_test.rs +0 -0
  234. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_275_279_282_test.rs +0 -0
  235. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_276_test.rs +0 -0
  236. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_277_test.rs +0 -0
  237. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_289_test.rs +0 -0
  238. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_290_test.rs +0 -0
  239. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_291_test.rs +0 -0
  240. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_853_test.rs +0 -0
  241. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_872_test.rs +0 -0
  242. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_873_test.rs +0 -0
  243. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/issue_875_test.rs +0 -0
  244. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/live_mount_tests.rs +0 -0
  245. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/mkfifo_tests.rs +0 -0
  246. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/nested_subscript_tests.rs +0 -0
  247. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/overlay_path_validation_tests.rs +0 -0
  248. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/proptest_differential.rs +0 -0
  249. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/proptest_security.rs +0 -0
  250. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/python_integration_tests.rs +0 -0
  251. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/python_security_tests.rs +0 -0
  252. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/regex_limit_tests.rs +0 -0
  253. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/script_execution_tests.rs +0 -0
  254. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/security_failpoint_tests.rs +0 -0
  255. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/set_e_and_or_tests.rs +0 -0
  256. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/azure_discover_rank.sh +0 -0
  257. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/azure_generate_url.sh +0 -0
  258. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/azure_query_capacity.sh +0 -0
  259. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/helm_validate_chart.sh +0 -0
  260. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/jwt_test_setup.sh +0 -0
  261. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/stitch_download_asset.sh +0 -0
  262. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/stitch_fetch.sh +0 -0
  263. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/stitch_verify_setup.sh +0 -0
  264. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/superpowers_find_polluter.sh +0 -0
  265. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/skills_fixtures/vercel_deploy.sh +0 -0
  266. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/source_function_tests.rs +0 -0
  267. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/awk/awk.test.sh +0 -0
  268. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/awk/delete-array.test.sh +0 -0
  269. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/awk/dev-stderr.test.sh +0 -0
  270. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/awk/eval-bugs.test.sh +0 -0
  271. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/awk/filename.test.sh +0 -0
  272. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/awk/getline-file.test.sh +0 -0
  273. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/alias.test.sh +0 -0
  274. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/arith-dynamic.test.sh +0 -0
  275. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/arithmetic-base-expansion.test.sh +0 -0
  276. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/arithmetic.test.sh +0 -0
  277. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/array-slicing.test.sh +0 -0
  278. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/array-splat.test.sh +0 -0
  279. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/arrays.test.sh +0 -0
  280. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/assoc-arrays.test.sh +0 -0
  281. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/awk-printf-width.test.sh +0 -0
  282. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/background.test.sh +0 -0
  283. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/bash-c-exports.test.sh +0 -0
  284. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/bash-command.test.sh +0 -0
  285. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/bash-flags.test.sh +0 -0
  286. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/bash-source-var.test.sh +0 -0
  287. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/bash-stdin-pipe.test.sh +0 -0
  288. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/bc.test.sh +0 -0
  289. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/blackbox-edge-cases.test.sh +0 -0
  290. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/blackbox-exploration.test.sh +0 -0
  291. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/brace-expansion.test.sh +0 -0
  292. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/brace_expansion_lookahead.test.sh +0 -0
  293. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/checksum.test.sh +0 -0
  294. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/chown-kill.test.sh +0 -0
  295. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/cmd-suggestions.test.sh +0 -0
  296. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/cmdsub_depth_unquoted.test.sh +0 -0
  297. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/column.test.sh +0 -0
  298. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/comm.test.sh +0 -0
  299. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/command-not-found.test.sh +0 -0
  300. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/command-subst.test.sh +0 -0
  301. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/command.test.sh +0 -0
  302. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/compgen-path.test.sh +0 -0
  303. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/conditional-short-circuit.test.sh +0 -0
  304. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/conditional.test.sh +0 -0
  305. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/control-flow.test.sh +0 -0
  306. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/cuttr.test.sh +0 -0
  307. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/declare.test.sh +0 -0
  308. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/df.test.sh +0 -0
  309. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/diff.test.sh +0 -0
  310. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/dirstack.test.sh +0 -0
  311. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/du.test.sh +0 -0
  312. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/echo.test.sh +0 -0
  313. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/empty-bodies.test.sh +0 -0
  314. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/env.test.sh +0 -0
  315. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/errexit.test.sh +0 -0
  316. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/eval-bugs.test.sh +0 -0
  317. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/exec-command.test.sh +0 -0
  318. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/exec-fd-variable.test.sh +0 -0
  319. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/exit-status.test.sh +0 -0
  320. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/expr.test.sh +0 -0
  321. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/extglob.test.sh +0 -0
  322. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/file.test.sh +0 -0
  323. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/fileops.test.sh +0 -0
  324. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/find.test.sh +0 -0
  325. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/functions.test.sh +0 -0
  326. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/getopts.test.sh +0 -0
  327. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/glob-options.test.sh +0 -0
  328. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/glob_match_cap.test.sh +0 -0
  329. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/globs.test.sh +0 -0
  330. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/gzip.test.sh +0 -0
  331. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/headtail.test.sh +0 -0
  332. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/heredoc-edge.test.sh +0 -0
  333. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/heredoc.test.sh +0 -0
  334. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/herestring.test.sh +0 -0
  335. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/hextools.test.sh +0 -0
  336. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/history.test.sh +0 -0
  337. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/indirect-expansion.test.sh +0 -0
  338. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/less.test.sh +0 -0
  339. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/ln.test.sh +0 -0
  340. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/ls.test.sh +0 -0
  341. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/memory_budget_desync.test.sh +0 -0
  342. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/nameref-assoc.test.sh +0 -0
  343. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/nameref.test.sh +0 -0
  344. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/negative-tests.test.sh +0 -0
  345. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/nl.test.sh +0 -0
  346. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/nounset.test.sh +0 -0
  347. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/numfmt.test.sh +0 -0
  348. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/parse-errors.test.sh +0 -0
  349. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/paste-flags.test.sh +0 -0
  350. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/paste.test.sh +0 -0
  351. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/path.test.sh +0 -0
  352. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/printenv.test.sh +0 -0
  353. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/printf.test.sh +0 -0
  354. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/procsub.test.sh +0 -0
  355. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/quote.test.sh +0 -0
  356. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/read-builtin.test.sh +0 -0
  357. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/recursive-cmdsub.test.sh +0 -0
  358. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/regex-limit.test.sh +0 -0
  359. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/replace_pattern_limit.test.sh +0 -0
  360. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/script-exec.test.sh +0 -0
  361. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/seq.test.sh +0 -0
  362. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/set-allexport.test.sh +0 -0
  363. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/shell-grammar.test.sh +0 -0
  364. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/sleep.test.sh +0 -0
  365. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/sortuniq.test.sh +0 -0
  366. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/source.test.sh +0 -0
  367. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/stat.test.sh +0 -0
  368. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/string-ops.test.sh +0 -0
  369. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/strings.test.sh +0 -0
  370. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/subprocess-isolation.test.sh +0 -0
  371. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/subshell.test.sh +0 -0
  372. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/tar.test.sh +0 -0
  373. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/tee.test.sh +0 -0
  374. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/temp-binding.test.sh +0 -0
  375. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/test-operators.test.sh +0 -0
  376. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/test-tty.test.sh +0 -0
  377. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/textrev.test.sh +0 -0
  378. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/time.test.sh +0 -0
  379. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/timeout.test.sh +0 -0
  380. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/tree.test.sh +0 -0
  381. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/type.test.sh +0 -0
  382. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/unicode.test.sh +0 -0
  383. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/unset-exported-var.test.sh +0 -0
  384. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/var-op-test.test.sh +0 -0
  385. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/variables.test.sh +0 -0
  386. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/wait.test.sh +0 -0
  387. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/watch.test.sh +0 -0
  388. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/wc.test.sh +0 -0
  389. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/word-split.test.sh +0 -0
  390. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/bash/xargs.test.sh +0 -0
  391. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/grep/eval-bugs.test.sh +0 -0
  392. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/grep/grep.test.sh +0 -0
  393. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/grep/rg.test.sh +0 -0
  394. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/jq/jq.test.sh +0 -0
  395. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/python/env_leak.test.sh +0 -0
  396. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/python/python.test.sh +0 -0
  397. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/sed/eval-bugs.test.sh +0 -0
  398. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_cases/typescript/typescript.test.sh +0 -0
  399. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/spec_runner.rs +0 -0
  400. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/ssh_builtin_tests.rs +0 -0
  401. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/stack_overflow_regression_tests.rs +0 -0
  402. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/subst_depth_limit_tests.rs +0 -0
  403. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/symlink_overlay_security_tests.rs +0 -0
  404. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/tty_tests.rs +0 -0
  405. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/typescript_integration_tests.rs +0 -0
  406. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/typescript_security_tests.rs +0 -0
  407. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/unicode_security_tests.rs +0 -0
  408. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/unset_function_tests.rs +0 -0
  409. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit/tests/urandom_tests.rs +0 -0
  410. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/examples/bash_basics.py +0 -0
  411. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/examples/k8s_orchestrator.py +0 -0
  412. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/tests/test_integration.py +0 -0
  413. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/tests/test_python_security.py +0 -0
  414. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/tests/test_security.py +0 -0
  415. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/tests/test_security_advanced.py +0 -0
  416. {bashkit-0.1.16 → bashkit-0.1.18}/crates/bashkit-python/tests/test_shell_injection.py +0 -0
  417. {bashkit-0.1.16 → bashkit-0.1.18}/pyproject.toml +0 -0
@@ -319,7 +319,7 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
319
319
 
320
320
  [[package]]
321
321
  name = "bashkit"
322
- version = "0.1.16"
322
+ version = "0.1.18"
323
323
  dependencies = [
324
324
  "anyhow",
325
325
  "async-trait",
@@ -328,9 +328,11 @@ dependencies = [
328
328
  "criterion",
329
329
  "ed25519-dalek 2.2.0",
330
330
  "fail",
331
+ "fancy-regex",
331
332
  "flate2",
332
- "futures",
333
- "globset",
333
+ "futures-core",
334
+ "futures-util",
335
+ "hmac 0.13.0",
334
336
  "insta",
335
337
  "jaq-core",
336
338
  "jaq-json",
@@ -339,7 +341,7 @@ dependencies = [
339
341
  "monty",
340
342
  "pretty_assertions",
341
343
  "proptest",
342
- "rand 0.10.0",
344
+ "rand 0.10.1",
343
345
  "regex",
344
346
  "reqwest",
345
347
  "russh",
@@ -358,17 +360,17 @@ dependencies = [
358
360
  "tracing",
359
361
  "url",
360
362
  "zapcode-core",
363
+ "zeroize",
361
364
  ]
362
365
 
363
366
  [[package]]
364
367
  name = "bashkit-bench"
365
- version = "0.1.16"
368
+ version = "0.1.18"
366
369
  dependencies = [
367
370
  "anyhow",
368
371
  "bashkit",
369
372
  "clap",
370
373
  "colored",
371
- "instant",
372
374
  "serde",
373
375
  "serde_json",
374
376
  "statrs",
@@ -378,20 +380,23 @@ dependencies = [
378
380
 
379
381
  [[package]]
380
382
  name = "bashkit-cli"
381
- version = "0.1.16"
383
+ version = "0.1.18"
382
384
  dependencies = [
383
385
  "anyhow",
384
386
  "bashkit",
385
387
  "clap",
388
+ "rustyline",
386
389
  "serde",
387
390
  "serde_json",
391
+ "signal-hook",
388
392
  "tempfile",
393
+ "terminal_size",
389
394
  "tokio",
390
395
  ]
391
396
 
392
397
  [[package]]
393
398
  name = "bashkit-eval"
394
- version = "0.1.16"
399
+ version = "0.1.18"
395
400
  dependencies = [
396
401
  "anyhow",
397
402
  "async-trait",
@@ -407,7 +412,7 @@ dependencies = [
407
412
 
408
413
  [[package]]
409
414
  name = "bashkit-js"
410
- version = "0.1.16"
415
+ version = "0.1.18"
411
416
  dependencies = [
412
417
  "bashkit",
413
418
  "napi",
@@ -420,7 +425,7 @@ dependencies = [
420
425
 
421
426
  [[package]]
422
427
  name = "bashkit-python"
423
- version = "0.1.16"
428
+ version = "0.1.18"
424
429
  dependencies = [
425
430
  "bashkit",
426
431
  "num-bigint",
@@ -462,6 +467,18 @@ version = "2.11.0"
462
467
  source = "registry+https://github.com/rust-lang/crates.io-index"
463
468
  checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
464
469
 
470
+ [[package]]
471
+ name = "bitvec"
472
+ version = "1.0.1"
473
+ source = "registry+https://github.com/rust-lang/crates.io-index"
474
+ checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
475
+ dependencies = [
476
+ "funty",
477
+ "radium",
478
+ "tap",
479
+ "wyz",
480
+ ]
481
+
465
482
  [[package]]
466
483
  name = "blake2"
467
484
  version = "0.10.6"
@@ -545,6 +562,20 @@ name = "bytemuck"
545
562
  version = "1.25.0"
546
563
  source = "registry+https://github.com/rust-lang/crates.io-index"
547
564
  checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
565
+ dependencies = [
566
+ "bytemuck_derive",
567
+ ]
568
+
569
+ [[package]]
570
+ name = "bytemuck_derive"
571
+ version = "1.10.2"
572
+ source = "registry+https://github.com/rust-lang/crates.io-index"
573
+ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
574
+ dependencies = [
575
+ "proc-macro2",
576
+ "quote",
577
+ "syn",
578
+ ]
548
579
 
549
580
  [[package]]
550
581
  name = "byteorder"
@@ -652,6 +683,7 @@ dependencies = [
652
683
  "iana-time-zone",
653
684
  "js-sys",
654
685
  "num-traits",
686
+ "serde",
655
687
  "wasm-bindgen",
656
688
  "windows-link",
657
689
  ]
@@ -744,6 +776,15 @@ version = "1.1.0"
744
776
  source = "registry+https://github.com/rust-lang/crates.io-index"
745
777
  checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
746
778
 
779
+ [[package]]
780
+ name = "clipboard-win"
781
+ version = "5.4.1"
782
+ source = "registry+https://github.com/rust-lang/crates.io-index"
783
+ checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4"
784
+ dependencies = [
785
+ "error-code",
786
+ ]
787
+
747
788
  [[package]]
748
789
  name = "cmake"
749
790
  version = "0.1.58"
@@ -1393,6 +1434,12 @@ version = "1.0.0"
1393
1434
  source = "registry+https://github.com/rust-lang/crates.io-index"
1394
1435
  checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
1395
1436
 
1437
+ [[package]]
1438
+ name = "endian-type"
1439
+ version = "0.2.0"
1440
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1441
+ checksum = "869b0adbda23651a9c5c0c3d270aac9fcb52e8622a8f2b17e57802d7791962f2"
1442
+
1396
1443
  [[package]]
1397
1444
  name = "enum_dispatch"
1398
1445
  version = "0.3.13"
@@ -1421,6 +1468,12 @@ dependencies = [
1421
1468
  "windows-sys 0.61.2",
1422
1469
  ]
1423
1470
 
1471
+ [[package]]
1472
+ name = "error-code"
1473
+ version = "3.3.2"
1474
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1475
+ checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59"
1476
+
1424
1477
  [[package]]
1425
1478
  name = "fail"
1426
1479
  version = "0.5.1"
@@ -1445,9 +1498,9 @@ dependencies = [
1445
1498
 
1446
1499
  [[package]]
1447
1500
  name = "fastrand"
1448
- version = "2.4.0"
1501
+ version = "2.4.1"
1449
1502
  source = "registry+https://github.com/rust-lang/crates.io-index"
1450
- checksum = "a043dc74da1e37d6afe657061213aa6f425f855399a11d3463c6ecccc4dfda1f"
1503
+ checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
1451
1504
 
1452
1505
  [[package]]
1453
1506
  name = "ff"
@@ -1520,6 +1573,12 @@ version = "1.3.0"
1520
1573
  source = "registry+https://github.com/rust-lang/crates.io-index"
1521
1574
  checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
1522
1575
 
1576
+ [[package]]
1577
+ name = "funty"
1578
+ version = "2.0.0"
1579
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1580
+ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
1581
+
1523
1582
  [[package]]
1524
1583
  name = "futures"
1525
1584
  version = "0.3.32"
@@ -1723,19 +1782,6 @@ dependencies = [
1723
1782
  "polyval 0.7.1",
1724
1783
  ]
1725
1784
 
1726
- [[package]]
1727
- name = "globset"
1728
- version = "0.4.18"
1729
- source = "registry+https://github.com/rust-lang/crates.io-index"
1730
- checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3"
1731
- dependencies = [
1732
- "aho-corasick",
1733
- "bstr",
1734
- "log",
1735
- "regex-automata",
1736
- "regex-syntax",
1737
- ]
1738
-
1739
1785
  [[package]]
1740
1786
  name = "group"
1741
1787
  version = "0.13.0"
@@ -2157,15 +2203,6 @@ dependencies = [
2157
2203
  "tempfile",
2158
2204
  ]
2159
2205
 
2160
- [[package]]
2161
- name = "instant"
2162
- version = "0.1.13"
2163
- source = "registry+https://github.com/rust-lang/crates.io-index"
2164
- checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
2165
- dependencies = [
2166
- "cfg-if",
2167
- ]
2168
-
2169
2206
  [[package]]
2170
2207
  name = "internal-russh-forked-ssh-key"
2171
2208
  version = "0.6.18+upstream-0.6.7"
@@ -2203,7 +2240,7 @@ checksum = "ae8e22120c32fb4d19ec55fba35015f57095cd95a2e3b732e44457f5915b2ee8"
2203
2240
  dependencies = [
2204
2241
  "num-integer",
2205
2242
  "num-traits",
2206
- "rand 0.10.0",
2243
+ "rand 0.10.1",
2207
2244
  "rand_core 0.10.0",
2208
2245
  ]
2209
2246
 
@@ -2359,6 +2396,21 @@ dependencies = [
2359
2396
  "jiff-tzdb",
2360
2397
  ]
2361
2398
 
2399
+ [[package]]
2400
+ name = "jiter"
2401
+ version = "0.13.0"
2402
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2403
+ checksum = "020ba671987d7444d251d3ee5340be1bf4606cd6c0b53e6f4066b5a1ee376b22"
2404
+ dependencies = [
2405
+ "ahash",
2406
+ "bitvec",
2407
+ "lexical-parse-float",
2408
+ "num-bigint",
2409
+ "num-traits",
2410
+ "pyo3",
2411
+ "smallvec",
2412
+ ]
2413
+
2362
2414
  [[package]]
2363
2415
  name = "jni"
2364
2416
  version = "0.21.1"
@@ -2460,6 +2512,31 @@ version = "0.1.0"
2460
2512
  source = "registry+https://github.com/rust-lang/crates.io-index"
2461
2513
  checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
2462
2514
 
2515
+ [[package]]
2516
+ name = "lexical-parse-float"
2517
+ version = "1.0.6"
2518
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2519
+ checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56"
2520
+ dependencies = [
2521
+ "lexical-parse-integer",
2522
+ "lexical-util",
2523
+ ]
2524
+
2525
+ [[package]]
2526
+ name = "lexical-parse-integer"
2527
+ version = "1.0.6"
2528
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2529
+ checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34"
2530
+ dependencies = [
2531
+ "lexical-util",
2532
+ ]
2533
+
2534
+ [[package]]
2535
+ name = "lexical-util"
2536
+ version = "1.0.7"
2537
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2538
+ checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17"
2539
+
2463
2540
  [[package]]
2464
2541
  name = "libc"
2465
2542
  version = "0.2.184"
@@ -2617,14 +2694,17 @@ dependencies = [
2617
2694
 
2618
2695
  [[package]]
2619
2696
  name = "monty"
2620
- version = "0.0.8"
2621
- source = "git+https://github.com/pydantic/monty?rev=e59c8fa#e59c8fa5229e38757ab0632d990b528aac395f35"
2697
+ version = "0.0.11"
2698
+ source = "git+https://github.com/pydantic/monty?rev=2e9df4b#2e9df4b508e8a9ac80f3a6a26ed680242d1f460d"
2622
2699
  dependencies = [
2623
2700
  "ahash",
2701
+ "bytemuck",
2702
+ "chrono",
2624
2703
  "fancy-regex",
2625
2704
  "hashbrown 0.16.1",
2626
2705
  "indexmap",
2627
2706
  "itertools 0.14.0",
2707
+ "jiter",
2628
2708
  "libm",
2629
2709
  "num-bigint",
2630
2710
  "num-integer",
@@ -2636,6 +2716,7 @@ dependencies = [
2636
2716
  "ruff_text_size",
2637
2717
  "serde",
2638
2718
  "smallvec",
2719
+ "speedate",
2639
2720
  "strum",
2640
2721
  ]
2641
2722
 
@@ -2714,6 +2795,15 @@ dependencies = [
2714
2795
  "libloading",
2715
2796
  ]
2716
2797
 
2798
+ [[package]]
2799
+ name = "nibble_vec"
2800
+ version = "0.1.0"
2801
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2802
+ checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
2803
+ dependencies = [
2804
+ "smallvec",
2805
+ ]
2806
+
2717
2807
  [[package]]
2718
2808
  name = "nix"
2719
2809
  version = "0.31.2"
@@ -3671,6 +3761,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3671
3761
  checksum = "91fd8e38a3b50ed1167fb981cd6fd60147e091784c427b8f7183a7ee32c31c12"
3672
3762
  dependencies = [
3673
3763
  "libc",
3764
+ "num-bigint",
3765
+ "num-traits",
3674
3766
  "once_cell",
3675
3767
  "portable-atomic",
3676
3768
  "pyo3-build-config",
@@ -3851,6 +3943,22 @@ version = "6.0.0"
3851
3943
  source = "registry+https://github.com/rust-lang/crates.io-index"
3852
3944
  checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
3853
3945
 
3946
+ [[package]]
3947
+ name = "radium"
3948
+ version = "0.7.0"
3949
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3950
+ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
3951
+
3952
+ [[package]]
3953
+ name = "radix_trie"
3954
+ version = "0.3.0"
3955
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3956
+ checksum = "3b4431027dcd37fc2a73ef740b5f233aa805897935b8bce0195e41bbf9a3289a"
3957
+ dependencies = [
3958
+ "endian-type",
3959
+ "nibble_vec",
3960
+ ]
3961
+
3854
3962
  [[package]]
3855
3963
  name = "rand"
3856
3964
  version = "0.8.5"
@@ -3874,9 +3982,9 @@ dependencies = [
3874
3982
 
3875
3983
  [[package]]
3876
3984
  name = "rand"
3877
- version = "0.10.0"
3985
+ version = "0.10.1"
3878
3986
  source = "registry+https://github.com/rust-lang/crates.io-index"
3879
- checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8"
3987
+ checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207"
3880
3988
  dependencies = [
3881
3989
  "chacha20 0.10.0",
3882
3990
  "getrandom 0.4.2",
@@ -4263,7 +4371,7 @@ dependencies = [
4263
4371
  "pkcs5 0.8.0-rc.13",
4264
4372
  "pkcs8 0.11.0-rc.11",
4265
4373
  "polyval 0.7.1",
4266
- "rand 0.10.0",
4374
+ "rand 0.10.1",
4267
4375
  "rand_core 0.10.0",
4268
4376
  "rsa 0.10.0-rc.17",
4269
4377
  "russh-cryptovec 0.59.0",
@@ -4527,6 +4635,27 @@ dependencies = [
4527
4635
  "wait-timeout",
4528
4636
  ]
4529
4637
 
4638
+ [[package]]
4639
+ name = "rustyline"
4640
+ version = "18.0.0"
4641
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4642
+ checksum = "4a990b25f351b25139ddc7f21ee3f6f56f86d6846b74ac8fad3a719a287cd4a0"
4643
+ dependencies = [
4644
+ "bitflags",
4645
+ "cfg-if",
4646
+ "clipboard-win",
4647
+ "home",
4648
+ "libc",
4649
+ "log",
4650
+ "memchr",
4651
+ "nix",
4652
+ "radix_trie",
4653
+ "unicode-segmentation",
4654
+ "unicode-width",
4655
+ "utf8parse",
4656
+ "windows-sys 0.61.2",
4657
+ ]
4658
+
4530
4659
  [[package]]
4531
4660
  name = "ryu"
4532
4661
  version = "1.0.23"
@@ -4867,6 +4996,16 @@ version = "1.3.0"
4867
4996
  source = "registry+https://github.com/rust-lang/crates.io-index"
4868
4997
  checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
4869
4998
 
4999
+ [[package]]
5000
+ name = "signal-hook"
5001
+ version = "0.4.4"
5002
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5003
+ checksum = "b2a0c28ca5908dbdbcd52e6fdaa00358ab88637f8ab33e1f188dd510eb44b53d"
5004
+ dependencies = [
5005
+ "libc",
5006
+ "signal-hook-registry",
5007
+ ]
5008
+
4870
5009
  [[package]]
4871
5010
  name = "signal-hook-registry"
4872
5011
  version = "1.4.8"
@@ -4959,6 +5098,17 @@ dependencies = [
4959
5098
  "windows-sys 0.61.2",
4960
5099
  ]
4961
5100
 
5101
+ [[package]]
5102
+ name = "speedate"
5103
+ version = "0.17.0"
5104
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5105
+ checksum = "aba069c070b5e213f2a094deb7e5ed50ecb092be36102a4f4042e8d2056d060e"
5106
+ dependencies = [
5107
+ "lexical-parse-float",
5108
+ "strum",
5109
+ "strum_macros",
5110
+ ]
5111
+
4962
5112
  [[package]]
4963
5113
  name = "spin"
4964
5114
  version = "0.9.8"
@@ -5152,6 +5302,12 @@ dependencies = [
5152
5302
  "syn",
5153
5303
  ]
5154
5304
 
5305
+ [[package]]
5306
+ name = "tap"
5307
+ version = "1.0.1"
5308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5309
+ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
5310
+
5155
5311
  [[package]]
5156
5312
  name = "target-lexicon"
5157
5313
  version = "0.13.5"
@@ -5165,12 +5321,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
5165
5321
  checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
5166
5322
  dependencies = [
5167
5323
  "fastrand",
5168
- "getrandom 0.4.2",
5324
+ "getrandom 0.3.4",
5169
5325
  "once_cell",
5170
5326
  "rustix",
5171
5327
  "windows-sys 0.61.2",
5172
5328
  ]
5173
5329
 
5330
+ [[package]]
5331
+ name = "terminal_size"
5332
+ version = "0.4.4"
5333
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5334
+ checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874"
5335
+ dependencies = [
5336
+ "rustix",
5337
+ "windows-sys 0.61.2",
5338
+ ]
5339
+
5174
5340
  [[package]]
5175
5341
  name = "testing_table"
5176
5342
  version = "0.3.0"
@@ -5268,9 +5434,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
5268
5434
 
5269
5435
  [[package]]
5270
5436
  name = "tokio"
5271
- version = "1.51.0"
5437
+ version = "1.51.1"
5272
5438
  source = "registry+https://github.com/rust-lang/crates.io-index"
5273
- checksum = "2bd1c4c0fc4a7ab90fc15ef6daaa3ec3b893f004f915f2392557ed23237820cd"
5439
+ checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c"
5274
5440
  dependencies = [
5275
5441
  "bytes",
5276
5442
  "libc",
@@ -6288,6 +6454,15 @@ version = "0.6.3"
6288
6454
  source = "registry+https://github.com/rust-lang/crates.io-index"
6289
6455
  checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
6290
6456
 
6457
+ [[package]]
6458
+ name = "wyz"
6459
+ version = "0.5.1"
6460
+ source = "registry+https://github.com/rust-lang/crates.io-index"
6461
+ checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
6462
+ dependencies = [
6463
+ "tap",
6464
+ ]
6465
+
6291
6466
  [[package]]
6292
6467
  name = "yansi"
6293
6468
  version = "1.0.1"
@@ -7,7 +7,7 @@ resolver = "2"
7
7
  members = ["crates/*"]
8
8
 
9
9
  [workspace.package]
10
- version = "0.1.16"
10
+ version = "0.1.18"
11
11
  edition = "2024"
12
12
  license = "MIT"
13
13
  authors = ["Everruns"]
@@ -22,7 +22,8 @@ categories = ["command-line-utilities", "parser-implementations"]
22
22
  # add them in their own Cargo.toml or via [target.'cfg(...)'.dependencies].
23
23
  tokio = { version = "1", features = ["sync", "macros", "io-util", "rt", "time"] }
24
24
  async-trait = "0.1"
25
- futures = "0.3"
25
+ futures-core = "0.3"
26
+ futures-util = "0.3"
26
27
 
27
28
  # Error handling
28
29
  thiserror = "2"
@@ -37,19 +38,12 @@ jaq-core = "3.0"
37
38
  jaq-std = "3.0"
38
39
  jaq-json = "2.0"
39
40
 
40
- # Text search (grep) - verified supports search_slice() for in-memory
41
- grep = "0.3"
42
- grep-regex = "0.1"
43
- grep-searcher = "0.1"
44
-
45
41
  # HTTP client (for curl and API calls)
46
42
  reqwest = { version = "0.13", default-features = false, features = ["json", "rustls", "stream"] }
47
43
 
48
- # Glob matching
49
- globset = "0.4"
50
-
51
44
  # Regex
52
45
  regex = "1"
46
+ fancy-regex = "0.17"
53
47
 
54
48
  # Date/Time
55
49
  chrono = "0.4"
@@ -68,6 +62,7 @@ sha2 = "0.11"
68
62
  # Ed25519 signing (bot-auth request signing)
69
63
  ed25519-dalek = { version = "2", features = ["rand_core"] }
70
64
  rand = "0.10"
65
+ zeroize = "1"
71
66
 
72
67
  # CLI
73
68
  clap = { version = "4", features = ["derive"] }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bashkit
3
- Version: 0.1.16
3
+ Version: 0.1.18
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -51,7 +51,7 @@ print(result.stdout) # Hello, World!
51
51
  ## Features
52
52
 
53
53
  - **Sandboxed execution** — all commands run in-process with a virtual filesystem, no containers needed
54
- - **156 built-in commands** — echo, cat, grep, sed, awk, jq, curl, find, and more
54
+ - **160 built-in commands** — echo, cat, grep, sed, awk, jq, curl, find, and more
55
55
  - **Full bash syntax** — variables, pipelines, redirects, loops, functions, arrays
56
56
  - **Resource limits** — protect against infinite loops and runaway scripts
57
57
  - **Framework integrations** — LangChain, PydanticAI, and Deep Agents
@@ -135,28 +135,34 @@ fs.symlink("/data/link", "/data/blob.bin")
135
135
  fs.chmod("/data/blob.bin", 0o644)
136
136
  ```
137
137
 
138
+ ### Files and Mounts
139
+
140
+ ```python
141
+ from bashkit import Bash, FileSystem
142
+
143
+ # Text files (in-memory, writable)
144
+ bash = Bash(files={"/config/app.conf": "debug=true\n"})
145
+
146
+ # Real filesystem mounts (read-only by default)
147
+ bash = Bash(mounts=[
148
+ {"host_path": "/path/to/data", "vfs_path": "/data"},
149
+ {"host_path": "/path/to/workspace", "vfs_path": "/workspace", "writable": True},
150
+ ])
151
+ ```
152
+
138
153
  ### Live Mounts
139
154
 
140
155
  ```python
141
156
  from bashkit import Bash, FileSystem
142
157
 
143
158
  bash = Bash()
144
- workspace = FileSystem.real("/path/to/workspace", readwrite=True)
159
+ workspace = FileSystem.real("/path/to/workspace", writable=True)
145
160
  bash.mount("/workspace", workspace)
146
161
 
147
162
  bash.execute_sync("echo 'hello' > /workspace/demo.txt")
148
163
  bash.unmount("/workspace")
149
164
  ```
150
165
 
151
- `Bash` and `BashTool` also still support constructor-time mounts:
152
-
153
- - `mount_text=[("/path", "content")]`
154
- - `mount_readonly_text=[("/path", "content")]`
155
- - `mount_real_readonly=["/host/path"]`
156
- - `mount_real_readonly_at=[("/host/path", "/vfs/path")]`
157
- - `mount_real_readwrite=["/host/path"]`
158
- - `mount_real_readwrite_at=[("/host/path", "/vfs/path")]`
159
-
160
166
  ### BashTool — Convenience Wrapper for AI Agents
161
167
 
162
168
  `BashTool` is a convenience wrapper specifically designed for AI agents. It wraps `Bash` and adds contract metadata (`description`, Markdown `help`, `system_prompt`, JSON schemas) needed by tool-use protocols. Use this when integrating with LangChain, PydanticAI, or similar agent frameworks.
@@ -233,7 +239,7 @@ print(result.stdout) # Alice
233
239
  ## Features
234
240
 
235
241
  - **Sandboxed, in-process execution**: All commands run in isolation with a virtual filesystem
236
- - **150 built-in commands**: echo, cat, grep, sed, awk, jq, curl, find, and more
242
+ - **160 built-in commands**: echo, cat, grep, sed, awk, jq, curl, find, and more
237
243
  - **Full bash syntax**: Variables, pipelines, redirects, loops, functions, arrays
238
244
  - **Resource limits**: Protect against infinite loops and runaway scripts
239
245
 
@@ -15,7 +15,7 @@ print(result.stdout) # Hello, World!
15
15
  ## Features
16
16
 
17
17
  - **Sandboxed execution** — all commands run in-process with a virtual filesystem, no containers needed
18
- - **156 built-in commands** — echo, cat, grep, sed, awk, jq, curl, find, and more
18
+ - **160 built-in commands** — echo, cat, grep, sed, awk, jq, curl, find, and more
19
19
  - **Full bash syntax** — variables, pipelines, redirects, loops, functions, arrays
20
20
  - **Resource limits** — protect against infinite loops and runaway scripts
21
21
  - **Framework integrations** — LangChain, PydanticAI, and Deep Agents
@@ -99,28 +99,34 @@ fs.symlink("/data/link", "/data/blob.bin")
99
99
  fs.chmod("/data/blob.bin", 0o644)
100
100
  ```
101
101
 
102
+ ### Files and Mounts
103
+
104
+ ```python
105
+ from bashkit import Bash, FileSystem
106
+
107
+ # Text files (in-memory, writable)
108
+ bash = Bash(files={"/config/app.conf": "debug=true\n"})
109
+
110
+ # Real filesystem mounts (read-only by default)
111
+ bash = Bash(mounts=[
112
+ {"host_path": "/path/to/data", "vfs_path": "/data"},
113
+ {"host_path": "/path/to/workspace", "vfs_path": "/workspace", "writable": True},
114
+ ])
115
+ ```
116
+
102
117
  ### Live Mounts
103
118
 
104
119
  ```python
105
120
  from bashkit import Bash, FileSystem
106
121
 
107
122
  bash = Bash()
108
- workspace = FileSystem.real("/path/to/workspace", readwrite=True)
123
+ workspace = FileSystem.real("/path/to/workspace", writable=True)
109
124
  bash.mount("/workspace", workspace)
110
125
 
111
126
  bash.execute_sync("echo 'hello' > /workspace/demo.txt")
112
127
  bash.unmount("/workspace")
113
128
  ```
114
129
 
115
- `Bash` and `BashTool` also still support constructor-time mounts:
116
-
117
- - `mount_text=[("/path", "content")]`
118
- - `mount_readonly_text=[("/path", "content")]`
119
- - `mount_real_readonly=["/host/path"]`
120
- - `mount_real_readonly_at=[("/host/path", "/vfs/path")]`
121
- - `mount_real_readwrite=["/host/path"]`
122
- - `mount_real_readwrite_at=[("/host/path", "/vfs/path")]`
123
-
124
130
  ### BashTool — Convenience Wrapper for AI Agents
125
131
 
126
132
  `BashTool` is a convenience wrapper specifically designed for AI agents. It wraps `Bash` and adds contract metadata (`description`, Markdown `help`, `system_prompt`, JSON schemas) needed by tool-use protocols. Use this when integrating with LangChain, PydanticAI, or similar agent frameworks.
@@ -197,7 +203,7 @@ print(result.stdout) # Alice
197
203
  ## Features
198
204
 
199
205
  - **Sandboxed, in-process execution**: All commands run in isolation with a virtual filesystem
200
- - **150 built-in commands**: echo, cat, grep, sed, awk, jq, curl, find, and more
206
+ - **160 built-in commands**: echo, cat, grep, sed, awk, jq, curl, find, and more
201
207
  - **Full bash syntax**: Variables, pipelines, redirects, loops, functions, arrays
202
208
  - **Resource limits**: Protect against infinite loops and runaway scripts
203
209