bentoworks 0.9.2__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 (88) hide show
  1. bentoworks-0.9.2/.gitignore +26 -0
  2. bentoworks-0.9.2/CHANGELOG.md +82 -0
  3. bentoworks-0.9.2/Cargo.lock +410 -0
  4. bentoworks-0.9.2/Cargo.toml +40 -0
  5. bentoworks-0.9.2/LICENSE +26 -0
  6. bentoworks-0.9.2/PKG-INFO +22 -0
  7. bentoworks-0.9.2/README.md +302 -0
  8. bentoworks-0.9.2/include/bentobox.h +100 -0
  9. bentoworks-0.9.2/pyproject.toml +45 -0
  10. bentoworks-0.9.2/python/bentoworks/__init__.py +14 -0
  11. bentoworks-0.9.2/python/bentoworks/bentobox.py +235 -0
  12. bentoworks-0.9.2/python/bentoworks/cli.py +135 -0
  13. bentoworks-0.9.2/python/bentoworks/compartments/__init__.py +12 -0
  14. bentoworks-0.9.2/python/bentoworks/compartments/base.py +71 -0
  15. bentoworks-0.9.2/python/bentoworks/compartments/config.py +39 -0
  16. bentoworks-0.9.2/python/bentoworks/compartments/message.py +12 -0
  17. bentoworks-0.9.2/python/bentoworks/compartments/runtime.py +219 -0
  18. bentoworks-0.9.2/python/bentoworks/engine/__init__.py +7 -0
  19. bentoworks-0.9.2/python/bentoworks/engine/events.py +36 -0
  20. bentoworks-0.9.2/python/bentoworks/engine/tracer.py +143 -0
  21. bentoworks-0.9.2/python/bentoworks/errors.py +6 -0
  22. bentoworks-0.9.2/python/bentoworks/runtime.py +15 -0
  23. bentoworks-0.9.2/python/bentoworks/sandbox/__init__.py +11 -0
  24. bentoworks-0.9.2/python/bentoworks/sandbox/behaviour.py +64 -0
  25. bentoworks-0.9.2/python/bentoworks/sandbox/box.py +139 -0
  26. bentoworks-0.9.2/python/bentoworks/sandbox/compression.py +92 -0
  27. bentoworks-0.9.2/python/bentoworks/sandbox/credential_module.py +45 -0
  28. bentoworks-0.9.2/python/bentoworks/sandbox/enforcer.py +213 -0
  29. bentoworks-0.9.2/python/bentoworks/sandbox/lid.py +69 -0
  30. bentoworks-0.9.2/python/bentoworks/sandbox/proxy.py +235 -0
  31. bentoworks-0.9.2/python/bentoworks/sandbox/snapshot.py +115 -0
  32. bentoworks-0.9.2/python/bentoworks/sandbox/snapshot_module.py +61 -0
  33. bentoworks-0.9.2/python/bentoworks/sandbox/task_profile.py +19 -0
  34. bentoworks-0.9.2/sdk/README.md +97 -0
  35. bentoworks-0.9.2/sdk/typescript/index.d.ts +25 -0
  36. bentoworks-0.9.2/sdk/typescript/index.js +327 -0
  37. bentoworks-0.9.2/sdk/typescript/package-lock.json +46 -0
  38. bentoworks-0.9.2/sdk/typescript/package.json +57 -0
  39. bentoworks-0.9.2/sdk/typescript/test/smoke.mjs +88 -0
  40. bentoworks-0.9.2/src/c_api.rs +616 -0
  41. bentoworks-0.9.2/src/compress.rs +4 -0
  42. bentoworks-0.9.2/src/engines/compression/adaptive_sizer.rs +415 -0
  43. bentoworks-0.9.2/src/engines/compression/anchor_selector.rs +841 -0
  44. bentoworks-0.9.2/src/engines/compression/bm25.rs +82 -0
  45. bentoworks-0.9.2/src/engines/compression/content_detector.rs +544 -0
  46. bentoworks-0.9.2/src/engines/compression/diff_compressor.rs +1234 -0
  47. bentoworks-0.9.2/src/engines/compression/log_compressor.rs +1111 -0
  48. bentoworks-0.9.2/src/engines/compression/mod.rs +89 -0
  49. bentoworks-0.9.2/src/engines/compression/smart_crusher/analyzer.rs +949 -0
  50. bentoworks-0.9.2/src/engines/compression/smart_crusher/anchors.rs +260 -0
  51. bentoworks-0.9.2/src/engines/compression/smart_crusher/classifier.rs +118 -0
  52. bentoworks-0.9.2/src/engines/compression/smart_crusher/compaction/classifier.rs +239 -0
  53. bentoworks-0.9.2/src/engines/compression/smart_crusher/compaction/compactor.rs +722 -0
  54. bentoworks-0.9.2/src/engines/compression/smart_crusher/compaction/formatter.rs +491 -0
  55. bentoworks-0.9.2/src/engines/compression/smart_crusher/compaction/ir.rs +177 -0
  56. bentoworks-0.9.2/src/engines/compression/smart_crusher/compaction/mod.rs +44 -0
  57. bentoworks-0.9.2/src/engines/compression/smart_crusher/compaction/walker.rs +50 -0
  58. bentoworks-0.9.2/src/engines/compression/smart_crusher/crusher.rs +1322 -0
  59. bentoworks-0.9.2/src/engines/compression/smart_crusher/crushers.rs +633 -0
  60. bentoworks-0.9.2/src/engines/compression/smart_crusher/field_detect.rs +295 -0
  61. bentoworks-0.9.2/src/engines/compression/smart_crusher/mod.rs +250 -0
  62. bentoworks-0.9.2/src/engines/compression/smart_crusher/orchestration.rs +340 -0
  63. bentoworks-0.9.2/src/engines/compression/smart_crusher/outliers.rs +341 -0
  64. bentoworks-0.9.2/src/engines/compression/smart_crusher/planning.rs +753 -0
  65. bentoworks-0.9.2/src/engines/compression/smart_crusher/statistics.rs +361 -0
  66. bentoworks-0.9.2/src/engines/compression/smart_crusher/stats_math.rs +214 -0
  67. bentoworks-0.9.2/src/engines/compression/smart_crusher/types.rs +152 -0
  68. bentoworks-0.9.2/src/engines/compression/text_crusher/config.rs +24 -0
  69. bentoworks-0.9.2/src/engines/compression/text_crusher/crusher.rs +266 -0
  70. bentoworks-0.9.2/src/engines/compression/text_crusher/mod.rs +5 -0
  71. bentoworks-0.9.2/src/engines/mod.rs +1 -0
  72. bentoworks-0.9.2/src/lib.rs +17 -0
  73. bentoworks-0.9.2/src/py_bindings.rs +49 -0
  74. bentoworks-0.9.2/src/runtime/ccr/mod.rs +174 -0
  75. bentoworks-0.9.2/src/runtime/compartments/mod.rs +218 -0
  76. bentoworks-0.9.2/src/runtime/credential.rs +155 -0
  77. bentoworks-0.9.2/src/runtime/enforcer.rs +87 -0
  78. bentoworks-0.9.2/src/runtime/mod.rs +5 -0
  79. bentoworks-0.9.2/src/runtime/snapshot.rs +204 -0
  80. bentoworks-0.9.2/src/sandbox/linux.rs +354 -0
  81. bentoworks-0.9.2/src/sandbox/macos.rs +329 -0
  82. bentoworks-0.9.2/src/sandbox/mod.rs +98 -0
  83. bentoworks-0.9.2/tests/bentoworks/test_bentoworks_e2e.py +147 -0
  84. bentoworks-0.9.2/tests/test_box_lifecycle.py +55 -0
  85. bentoworks-0.9.2/tests/test_cli.py +62 -0
  86. bentoworks-0.9.2/tests/test_e2e_full_suite.py +484 -0
  87. bentoworks-0.9.2/tests/test_proxy.py +125 -0
  88. bentoworks-0.9.2/tests/test_snapshot.py +307 -0
@@ -0,0 +1,26 @@
1
+ # Rust build artifacts
2
+ /target/
3
+
4
+ # Python artifacts
5
+ __pycache__/
6
+ *.pyc
7
+ *.pyo
8
+ *.pyd
9
+ *.so
10
+ *.dylib
11
+ *.egg-info/
12
+ dist/
13
+ build/
14
+ .pytest_cache/
15
+ .venv/
16
+
17
+ # BentoBox transient state
18
+ .bentoworks/
19
+
20
+ # Language SDK artifacts
21
+ sdk/typescript/node_modules/
22
+ sdk/typescript/*.node
23
+ sdk/typescript/native/target/
24
+ sdk/typescript/native/Cargo.lock
25
+ sdk/typescript/*.tgz
26
+ sdk/typescript/sdk-darwin-*/
@@ -0,0 +1,82 @@
1
+ # Changelog
2
+
3
+ All notable changes to BentoBox are documented here.
4
+
5
+ ## [0.9.2] - 2026-08-01
6
+
7
+ ### Removed
8
+
9
+ - **Go SDK removed.** The `sdk/go/` module was dropped; BentoBox now ships
10
+ Python and TypeScript SDKs only. `Cargo.toml` no longer emits a
11
+ `staticlib` archive, `include/bentobox.h` no longer references the Go
12
+ bindings, and all Go code samples were stripped from the docs.
13
+
14
+ ### Changed
15
+
16
+ - **Product rebrand.** The README is now a product landing page rather than a
17
+ technical writeup: a one-line hero promise ("Sandbox any AI agent in
18
+ seconds"), a "Why BentoBox" section, benefit-led features, real use cases
19
+ (coding agents, builds/tests, deploys, pipelines), and an honest security
20
+ model. SDK, CLI, and package metadata descriptions now carry the same
21
+ product voice.
22
+ - **CLI branding.** `bentoworks --version` and `--help` now surface the
23
+ tagline, and `bentoworks run`/`why` print a brand banner on interactive
24
+ terminals. Non-TTY output stays machine-friendly for scripts and CI.
25
+ - **TypeScript SDK package metadata.** `@bentwork/sdk` descriptions updated;
26
+ the publish layout is trimmed to the shipped macOS platform packages
27
+ (`darwin-arm64`, `darwin-x64`) at version `0.9.2`.
28
+ - **Version bumped to `0.9.2`** across the Rust core, Python package, and
29
+ TypeScript SDK to publish the rebranded build to PyPI.
30
+
31
+ ## [0.9.1] - 2026-07-31
32
+
33
+ ### Fixed
34
+
35
+ - **CLI: `bentoworks run` now prints command output.** The compartment
36
+ function returned a `subprocess.CompletedProcess` while the CLI only
37
+ printed dict results, so `stdout`/`stderr` were silently swallowed. The
38
+ CLI now captures and prints `Stdout:`/`Stderr:` blocks after the run
39
+ summary.
40
+ - **CLI: non-zero command exit codes now surface.** `bentoworks run "exit 3"`
41
+ previously reported `Status: success`; the CLI now exits with status `1`
42
+ when the shell command fails.
43
+ - **Credential proxy: absolute-form (`HTTP_PROXY`) requests now get
44
+ credential-injected.** Route matching now uses the path component of the
45
+ request target, so both origin-form (`/openai/v1/chat`) and absolute-form
46
+ (`http://host/openai/v1/chat`, as sent by `HTTP_PROXY` clients) are
47
+ matched and rewritten. Query strings survive the rewrite.
48
+ - **TypeScript SDK: fixed compile error.** `Runtime::names()` in the napi
49
+ wrapper called a method that had been removed from the Rust `Runtime`
50
+ struct; the `names()` method was restored, so `npm run build` and
51
+ `npm test` pass again.
52
+
53
+ ### Changed
54
+
55
+ - **Docs restyled.** The README and SDK docs now follow the structure used
56
+ by top YC developer-tool projects: a one-line value proposition, an
57
+ above-the-fold quickstart, a "Why" section, a feature table, and a
58
+ professional footer. The stale `bentoworks.runtime` import in the
59
+ "Advanced Users" example was replaced with the correct
60
+ `bentoworks.compartments` subclass pattern.
61
+ - **Tests import the installed package.** The pytest `pythonpath = ["python"]`
62
+ config was removed because the source tree no longer contains a compiled
63
+ native core (`_core` ships inside the wheel). Install the package
64
+ (`pip install .`) before running the test suite.
65
+ - **Test isolation.** `Box.enter()` calls in the box-lifecycle tests now pass
66
+ `sandbox=False`, so the irreversible kernel Seatbelt sandbox is no longer
67
+ applied to the shared pytest process (which poisoned `os.getcwd()` for
68
+ later tests).
69
+
70
+ ### Added
71
+
72
+ - `tests/test_cli.py` - CLI regression tests (stdout/stderr printing, exit
73
+ codes, `goal` positional, `why`).
74
+ - `tests/test_proxy.py` - credential proxy regression tests (origin-form,
75
+ absolute-form, no-match pass-through, query preservation).
76
+
77
+ ### Verified
78
+
79
+ - Python: 73 tests pass (installed wheel).
80
+ - Rust core: 425 tests pass.
81
+ - Go SDK: `go vet` clean, 15 tests pass.
82
+ - TypeScript SDK: builds and all smoke tests pass.
@@ -0,0 +1,410 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "adler2"
7
+ version = "2.0.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
+
11
+ [[package]]
12
+ name = "aho-corasick"
13
+ version = "1.1.4"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
16
+ dependencies = [
17
+ "memchr",
18
+ ]
19
+
20
+ [[package]]
21
+ name = "arrayref"
22
+ version = "0.3.9"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
25
+
26
+ [[package]]
27
+ name = "arrayvec"
28
+ version = "0.7.8"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56"
31
+
32
+ [[package]]
33
+ name = "bentoworks-core"
34
+ version = "0.9.2"
35
+ dependencies = [
36
+ "aho-corasick",
37
+ "blake3",
38
+ "flate2",
39
+ "landlock",
40
+ "pyo3",
41
+ "regex",
42
+ "serde",
43
+ "serde_json",
44
+ ]
45
+
46
+ [[package]]
47
+ name = "blake3"
48
+ version = "1.8.5"
49
+ source = "registry+https://github.com/rust-lang/crates.io-index"
50
+ checksum = "0aa83c34e62843d924f905e0f5c866eb1dd6545fc4d719e803d9ba6030371fce"
51
+ dependencies = [
52
+ "arrayref",
53
+ "arrayvec",
54
+ "cc",
55
+ "cfg-if",
56
+ "constant_time_eq",
57
+ "cpufeatures",
58
+ ]
59
+
60
+ [[package]]
61
+ name = "cc"
62
+ version = "1.3.0"
63
+ source = "registry+https://github.com/rust-lang/crates.io-index"
64
+ checksum = "c89588d05638b5b4594a3348a2d6c20277e43a7f5c5202b05cc56888475a47b8"
65
+ dependencies = [
66
+ "find-msvc-tools",
67
+ "shlex",
68
+ ]
69
+
70
+ [[package]]
71
+ name = "cfg-if"
72
+ version = "1.0.4"
73
+ source = "registry+https://github.com/rust-lang/crates.io-index"
74
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
75
+
76
+ [[package]]
77
+ name = "constant_time_eq"
78
+ version = "0.4.2"
79
+ source = "registry+https://github.com/rust-lang/crates.io-index"
80
+ checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"
81
+
82
+ [[package]]
83
+ name = "cpufeatures"
84
+ version = "0.3.0"
85
+ source = "registry+https://github.com/rust-lang/crates.io-index"
86
+ checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201"
87
+ dependencies = [
88
+ "libc",
89
+ ]
90
+
91
+ [[package]]
92
+ name = "crc32fast"
93
+ version = "1.5.0"
94
+ source = "registry+https://github.com/rust-lang/crates.io-index"
95
+ checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
96
+ dependencies = [
97
+ "cfg-if",
98
+ ]
99
+
100
+ [[package]]
101
+ name = "enumflags2"
102
+ version = "0.7.12"
103
+ source = "registry+https://github.com/rust-lang/crates.io-index"
104
+ checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef"
105
+ dependencies = [
106
+ "enumflags2_derive",
107
+ ]
108
+
109
+ [[package]]
110
+ name = "enumflags2_derive"
111
+ version = "0.7.12"
112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
113
+ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
114
+ dependencies = [
115
+ "proc-macro2",
116
+ "quote",
117
+ "syn 2.0.119",
118
+ ]
119
+
120
+ [[package]]
121
+ name = "find-msvc-tools"
122
+ version = "0.1.9"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
125
+
126
+ [[package]]
127
+ name = "flate2"
128
+ version = "1.1.9"
129
+ source = "registry+https://github.com/rust-lang/crates.io-index"
130
+ checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
131
+ dependencies = [
132
+ "crc32fast",
133
+ "miniz_oxide",
134
+ ]
135
+
136
+ [[package]]
137
+ name = "heck"
138
+ version = "0.5.0"
139
+ source = "registry+https://github.com/rust-lang/crates.io-index"
140
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
141
+
142
+ [[package]]
143
+ name = "itoa"
144
+ version = "1.0.18"
145
+ source = "registry+https://github.com/rust-lang/crates.io-index"
146
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
147
+
148
+ [[package]]
149
+ name = "landlock"
150
+ version = "0.4.7"
151
+ source = "registry+https://github.com/rust-lang/crates.io-index"
152
+ checksum = "4cca98e95f35b29d469dade6724c6f96cec9236640f745a0e99b0334ec320ab1"
153
+ dependencies = [
154
+ "enumflags2",
155
+ "libc",
156
+ "thiserror",
157
+ ]
158
+
159
+ [[package]]
160
+ name = "libc"
161
+ version = "0.2.187"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "a7743783ea728ef5c31194c6590797eed286449b4a4e87d626d8a51f0a94e732"
164
+
165
+ [[package]]
166
+ name = "memchr"
167
+ version = "2.8.3"
168
+ source = "registry+https://github.com/rust-lang/crates.io-index"
169
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
170
+
171
+ [[package]]
172
+ name = "miniz_oxide"
173
+ version = "0.8.9"
174
+ source = "registry+https://github.com/rust-lang/crates.io-index"
175
+ checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
176
+ dependencies = [
177
+ "adler2",
178
+ "simd-adler32",
179
+ ]
180
+
181
+ [[package]]
182
+ name = "once_cell"
183
+ version = "1.21.4"
184
+ source = "registry+https://github.com/rust-lang/crates.io-index"
185
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
186
+
187
+ [[package]]
188
+ name = "portable-atomic"
189
+ version = "1.14.0"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3"
192
+
193
+ [[package]]
194
+ name = "proc-macro2"
195
+ version = "1.0.107"
196
+ source = "registry+https://github.com/rust-lang/crates.io-index"
197
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
198
+ dependencies = [
199
+ "unicode-ident",
200
+ ]
201
+
202
+ [[package]]
203
+ name = "pyo3"
204
+ version = "0.29.0"
205
+ source = "registry+https://github.com/rust-lang/crates.io-index"
206
+ checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
207
+ dependencies = [
208
+ "libc",
209
+ "once_cell",
210
+ "portable-atomic",
211
+ "pyo3-build-config",
212
+ "pyo3-ffi",
213
+ "pyo3-macros",
214
+ ]
215
+
216
+ [[package]]
217
+ name = "pyo3-build-config"
218
+ version = "0.29.0"
219
+ source = "registry+https://github.com/rust-lang/crates.io-index"
220
+ checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
221
+ dependencies = [
222
+ "target-lexicon",
223
+ ]
224
+
225
+ [[package]]
226
+ name = "pyo3-ffi"
227
+ version = "0.29.0"
228
+ source = "registry+https://github.com/rust-lang/crates.io-index"
229
+ checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
230
+ dependencies = [
231
+ "libc",
232
+ "pyo3-build-config",
233
+ ]
234
+
235
+ [[package]]
236
+ name = "pyo3-macros"
237
+ version = "0.29.0"
238
+ source = "registry+https://github.com/rust-lang/crates.io-index"
239
+ checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
240
+ dependencies = [
241
+ "proc-macro2",
242
+ "pyo3-macros-backend",
243
+ "quote",
244
+ "syn 2.0.119",
245
+ ]
246
+
247
+ [[package]]
248
+ name = "pyo3-macros-backend"
249
+ version = "0.29.0"
250
+ source = "registry+https://github.com/rust-lang/crates.io-index"
251
+ checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
252
+ dependencies = [
253
+ "heck",
254
+ "proc-macro2",
255
+ "quote",
256
+ "syn 2.0.119",
257
+ ]
258
+
259
+ [[package]]
260
+ name = "quote"
261
+ version = "1.0.47"
262
+ source = "registry+https://github.com/rust-lang/crates.io-index"
263
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
264
+ dependencies = [
265
+ "proc-macro2",
266
+ ]
267
+
268
+ [[package]]
269
+ name = "regex"
270
+ version = "1.13.1"
271
+ source = "registry+https://github.com/rust-lang/crates.io-index"
272
+ checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
273
+ dependencies = [
274
+ "aho-corasick",
275
+ "memchr",
276
+ "regex-automata",
277
+ "regex-syntax",
278
+ ]
279
+
280
+ [[package]]
281
+ name = "regex-automata"
282
+ version = "0.4.16"
283
+ source = "registry+https://github.com/rust-lang/crates.io-index"
284
+ checksum = "8fcfdb36bda0c880c5931cdc7a2bcdc8ba4556847b9d912bca70bc94708711ad"
285
+ dependencies = [
286
+ "aho-corasick",
287
+ "memchr",
288
+ "regex-syntax",
289
+ ]
290
+
291
+ [[package]]
292
+ name = "regex-syntax"
293
+ version = "0.8.11"
294
+ source = "registry+https://github.com/rust-lang/crates.io-index"
295
+ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
296
+
297
+ [[package]]
298
+ name = "serde"
299
+ version = "1.0.229"
300
+ source = "registry+https://github.com/rust-lang/crates.io-index"
301
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
302
+ dependencies = [
303
+ "serde_core",
304
+ "serde_derive",
305
+ ]
306
+
307
+ [[package]]
308
+ name = "serde_core"
309
+ version = "1.0.229"
310
+ source = "registry+https://github.com/rust-lang/crates.io-index"
311
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
312
+ dependencies = [
313
+ "serde_derive",
314
+ ]
315
+
316
+ [[package]]
317
+ name = "serde_derive"
318
+ version = "1.0.229"
319
+ source = "registry+https://github.com/rust-lang/crates.io-index"
320
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
321
+ dependencies = [
322
+ "proc-macro2",
323
+ "quote",
324
+ "syn 3.0.2",
325
+ ]
326
+
327
+ [[package]]
328
+ name = "serde_json"
329
+ version = "1.0.151"
330
+ source = "registry+https://github.com/rust-lang/crates.io-index"
331
+ checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
332
+ dependencies = [
333
+ "itoa",
334
+ "memchr",
335
+ "serde",
336
+ "serde_core",
337
+ "zmij",
338
+ ]
339
+
340
+ [[package]]
341
+ name = "shlex"
342
+ version = "2.0.1"
343
+ source = "registry+https://github.com/rust-lang/crates.io-index"
344
+ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
345
+
346
+ [[package]]
347
+ name = "simd-adler32"
348
+ version = "0.3.10"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
351
+
352
+ [[package]]
353
+ name = "syn"
354
+ version = "2.0.119"
355
+ source = "registry+https://github.com/rust-lang/crates.io-index"
356
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
357
+ dependencies = [
358
+ "proc-macro2",
359
+ "quote",
360
+ "unicode-ident",
361
+ ]
362
+
363
+ [[package]]
364
+ name = "syn"
365
+ version = "3.0.2"
366
+ source = "registry+https://github.com/rust-lang/crates.io-index"
367
+ checksum = "a207d6d6a2b7fc470b80443726053f18a2481b7e1eee970597051596567987a3"
368
+ dependencies = [
369
+ "proc-macro2",
370
+ "quote",
371
+ "unicode-ident",
372
+ ]
373
+
374
+ [[package]]
375
+ name = "target-lexicon"
376
+ version = "0.13.5"
377
+ source = "registry+https://github.com/rust-lang/crates.io-index"
378
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
379
+
380
+ [[package]]
381
+ name = "thiserror"
382
+ version = "2.0.19"
383
+ source = "registry+https://github.com/rust-lang/crates.io-index"
384
+ checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
385
+ dependencies = [
386
+ "thiserror-impl",
387
+ ]
388
+
389
+ [[package]]
390
+ name = "thiserror-impl"
391
+ version = "2.0.19"
392
+ source = "registry+https://github.com/rust-lang/crates.io-index"
393
+ checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd"
394
+ dependencies = [
395
+ "proc-macro2",
396
+ "quote",
397
+ "syn 3.0.2",
398
+ ]
399
+
400
+ [[package]]
401
+ name = "unicode-ident"
402
+ version = "1.0.24"
403
+ source = "registry+https://github.com/rust-lang/crates.io-index"
404
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
405
+
406
+ [[package]]
407
+ name = "zmij"
408
+ version = "1.0.23"
409
+ source = "registry+https://github.com/rust-lang/crates.io-index"
410
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
@@ -0,0 +1,40 @@
1
+ [package]
2
+ name = "bentoworks-core"
3
+ version = "0.9.2"
4
+ edition = "2021"
5
+ license = "BUSL-1.1"
6
+ description = "BentoBox - kernel-level sandbox with compartmentalized isolated execution (Rust core)"
7
+ repository = "https://github.com/Devaretanmay/BentoBox"
8
+ homepage = "https://github.com/Devaretanmay/BentoBox"
9
+ documentation = "https://docs.rs/crate/bentoworks-core"
10
+ keywords = ["ai", "mcp", "compression", "execution", "sandbox"]
11
+ categories = ["development-tools", "command-line-utilities"]
12
+ readme = "README.md"
13
+
14
+ [lib]
15
+ name = "bentoworks_core"
16
+ crate-type = ["cdylib", "lib"]
17
+
18
+ [features]
19
+ default = []
20
+ # Python extension module (enabled by maturin). Plain `cargo build`
21
+ # without this feature produces a clean FFI cdylib for the TS SDK.
22
+ pyo3-binding = ["dep:pyo3", "pyo3/extension-module", "pyo3/abi3-py38"]
23
+
24
+ [dependencies]
25
+ pyo3 = { version = "0.29", features = ["abi3-py38"], optional = true }
26
+ serde = { version = "1.0.228", features = ["derive"] }
27
+ serde_json = { version = "1.0.150" }
28
+ regex = "1"
29
+ flate2 = "1"
30
+ aho-corasick = "1"
31
+ blake3 = "1"
32
+
33
+ [target.'cfg(target_os = "linux")'.dependencies]
34
+ landlock = "0.4"
35
+
36
+ [profile.release]
37
+ opt-level = "z"
38
+ lto = true
39
+ codegen-units = 1
40
+ strip = "symbols"
@@ -0,0 +1,26 @@
1
+ Business Source License 1.1
2
+
3
+ Parameters:
4
+
5
+ Licensor: BentoBox Labs (Devaretanmay) / Tanmay Jayant Devare
6
+ Licensor's Website: https://github.com/Devaretanmay/BentoBox
7
+ Change Date: January 1st, 2030
8
+ Change License: Apache License, Version 2.0
9
+ Additional Use Grant: Production use, personal use, academic use, and internal company use are permitted. Offering BentoBox as a managed commercial SaaS, competing commercial execution service, or commercial redistribution of BentoBox as a hosted product is NOT permitted under this Additional Use Grant without explicit authorization from Licensor.
10
+
11
+ --------------------------------------------------------------------------------
12
+
13
+ Licensor hereby grants you the right to copy, modify, create derivative works, use, and sublicense the Licensed Work, strictly in accordance with the Additional Use Grant specified above.
14
+
15
+ Under the Additional Use Grant:
16
+ - Production use: Allowed
17
+ - Personal & Academic use: Allowed
18
+ - Internal company use: Allowed
19
+ - Commercial SaaS offerings: NOT allowed
20
+ - Competing commercial products: NOT allowed
21
+ - Commercial redistribution: NOT allowed
22
+
23
+ Change License & Date:
24
+ On the Change Date (January 1st, 2030), this Business Source License 1.1 shall automatically terminate and the version of BentoBox licensed hereunder shall be governed by the Apache License, Version 2.0.
25
+
26
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,22 @@
1
+ Metadata-Version: 2.4
2
+ Name: bentoworks
3
+ Version: 0.9.2
4
+ Classifier: Development Status :: 4 - Beta
5
+ Classifier: Intended Audience :: Developers
6
+ Classifier: License :: Other/Proprietary License
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Rust
13
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
14
+ License-File: LICENSE
15
+ Summary: BentoBox - sandbox any AI agent in seconds. Kernel-enforced isolation, deny-by-default, no containers, no VMs.
16
+ Keywords: ai-agents,developer-tools,sandbox,isolation,runtime
17
+ Home-Page: https://github.com/Devaretanmay/BentoBox
18
+ License: BUSL-1.1
19
+ Requires-Python: >=3.10
20
+ Project-URL: Homepage, https://github.com/Devaretanmay/BentoBox
21
+ Project-URL: Issues, https://github.com/Devaretanmay/BentoBox/issues
22
+ Project-URL: Repository, https://github.com/Devaretanmay/BentoBox