@openclaw/mxc-sandbox 2026.7.2-beta.5 → 2026.7.2-beta.7

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 (123) hide show
  1. package/dist/index.js +18 -2
  2. package/package.json +4 -4
  3. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/LICENSE.md +0 -0
  4. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/README.md +0 -0
  5. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/common.gypi +0 -0
  6. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/except.gypi +0 -0
  7. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/index.js +0 -0
  8. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/napi-inl.deprecated.h +0 -0
  9. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/napi-inl.h +0 -0
  10. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/napi.h +0 -0
  11. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/node_addon_api.gyp +0 -0
  12. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/node_api.gyp +0 -0
  13. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/noexcept.gypi +0 -0
  14. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/nothing.c +0 -0
  15. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/package-support.json +0 -0
  16. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/package.json +0 -0
  17. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/tools/README.md +0 -0
  18. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/tools/check-napi.js +0 -0
  19. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/tools/clang-format.js +0 -0
  20. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/tools/conversion.js +0 -0
  21. /package/node_modules/{node-addon-api → @microsoft/mxc-sdk/node_modules/node-addon-api}/tools/eslint-format.js +0 -0
  22. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/LICENSE +0 -0
  23. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/README.md +0 -0
  24. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/binding.gyp +0 -0
  25. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/conpty_console_list_agent.js +0 -0
  26. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/eventEmitter2.js +0 -0
  27. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/index.js +0 -0
  28. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/interfaces.js +0 -0
  29. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/shared/conout.js +0 -0
  30. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/terminal.js +0 -0
  31. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/types.js +0 -0
  32. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/unixTerminal.js +0 -0
  33. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/utils.js +0 -0
  34. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/windowsConoutConnection.js +0 -0
  35. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/windowsPtyAgent.js +0 -0
  36. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/windowsTerminal.js +0 -0
  37. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/lib/worker/conoutSocketWorker.js +0 -0
  38. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/package.json +0 -0
  39. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/darwin-arm64/pty.node +0 -0
  40. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/darwin-arm64/spawn-helper +0 -0
  41. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/darwin-x64/pty.node +0 -0
  42. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/darwin-x64/spawn-helper +0 -0
  43. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/linux-arm64/pty.node +0 -0
  44. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/linux-x64/pty.node +0 -0
  45. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  46. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  47. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-arm64/conpty.node +0 -0
  48. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-arm64/conpty.pdb +0 -0
  49. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  50. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  51. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  52. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  53. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-x64/conpty.node +0 -0
  54. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-x64/conpty.pdb +0 -0
  55. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-x64/conpty_console_list.node +0 -0
  56. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  57. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/scripts/post-install.js +0 -0
  58. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/scripts/prebuild.js +0 -0
  59. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/src/unix/pty.cc +0 -0
  60. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/src/unix/spawn-helper.cc +0 -0
  61. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/src/win/conpty.cc +0 -0
  62. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/src/win/conpty.h +0 -0
  63. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/src/win/conpty_console_list.cc +0 -0
  64. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/src/win/path_util.cc +0 -0
  65. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/src/win/path_util.h +0 -0
  66. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/third_party/conpty/1.25.260303002/win10-arm64/OpenConsole.exe +0 -0
  67. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/third_party/conpty/1.25.260303002/win10-arm64/conpty.dll +0 -0
  68. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/third_party/conpty/1.25.260303002/win10-x64/OpenConsole.exe +0 -0
  69. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/third_party/conpty/1.25.260303002/win10-x64/conpty.dll +0 -0
  70. /package/node_modules/{node-pty → @microsoft/mxc-sdk/node_modules/node-pty}/typings/node-pty.d.ts +0 -0
  71. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/LICENSE +0 -0
  72. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/README.md +0 -0
  73. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/bin/semver.js +0 -0
  74. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/classes/comparator.js +0 -0
  75. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/classes/index.js +0 -0
  76. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/classes/range.js +0 -0
  77. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/classes/semver.js +0 -0
  78. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/clean.js +0 -0
  79. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/cmp.js +0 -0
  80. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/coerce.js +0 -0
  81. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/compare-build.js +0 -0
  82. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/compare-loose.js +0 -0
  83. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/compare.js +0 -0
  84. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/diff.js +0 -0
  85. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/eq.js +0 -0
  86. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/gt.js +0 -0
  87. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/gte.js +0 -0
  88. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/inc.js +0 -0
  89. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/lt.js +0 -0
  90. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/lte.js +0 -0
  91. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/major.js +0 -0
  92. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/minor.js +0 -0
  93. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/neq.js +0 -0
  94. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/parse.js +0 -0
  95. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/patch.js +0 -0
  96. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/prerelease.js +0 -0
  97. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/rcompare.js +0 -0
  98. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/rsort.js +0 -0
  99. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/satisfies.js +0 -0
  100. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/sort.js +0 -0
  101. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/truncate.js +0 -0
  102. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/functions/valid.js +0 -0
  103. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/index.js +0 -0
  104. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/internal/constants.js +0 -0
  105. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/internal/debug.js +0 -0
  106. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/internal/identifiers.js +0 -0
  107. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/internal/lrucache.js +0 -0
  108. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/internal/parse-options.js +0 -0
  109. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/internal/re.js +0 -0
  110. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/package.json +0 -0
  111. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/preload.js +0 -0
  112. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/range.bnf +0 -0
  113. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/gtr.js +0 -0
  114. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/intersects.js +0 -0
  115. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/ltr.js +0 -0
  116. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/max-satisfying.js +0 -0
  117. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/min-satisfying.js +0 -0
  118. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/min-version.js +0 -0
  119. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/outside.js +0 -0
  120. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/simplify.js +0 -0
  121. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/subset.js +0 -0
  122. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/to-comparators.js +0 -0
  123. /package/node_modules/{semver → @microsoft/mxc-sdk/node_modules/semver}/ranges/valid.js +0 -0
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import fs, { lstatSync, mkdtempSync, readFileSync, realpathSync, rmSync, statSyn
12
12
  import { createHash, randomBytes } from "node:crypto";
13
13
  import { runCommandBuffered } from "openclaw/plugin-sdk/process-runtime";
14
14
  import { removePathWithinRoot, root } from "openclaw/plugin-sdk/file-access-runtime";
15
- import { isPathInside } from "openclaw/plugin-sdk/security-runtime";
15
+ import { FsSafeError, isPathInside } from "openclaw/plugin-sdk/security-runtime";
16
16
  import { fileURLToPath } from "node:url";
17
17
  import { execFileSync } from "node:child_process";
18
18
  //#region extensions/mxc/src/config.ts
@@ -198,7 +198,10 @@ var MxcFsBridge = class {
198
198
  }
199
199
  async readFile(params) {
200
200
  const target = this.resolveTarget(params);
201
- return await (await root(target.mount.hostRoot)).readBytes(target.mountRelativePath, { hardlinks: "reject" });
201
+ return await (await root(target.mount.hostRoot)).readBytes(target.mountRelativePath, {
202
+ hardlinks: "reject",
203
+ ...params.maxBytes === void 0 ? {} : { maxBytes: params.maxBytes }
204
+ });
202
205
  }
203
206
  async writeFile(params) {
204
207
  const target = this.resolveTarget(params);
@@ -206,6 +209,18 @@ var MxcFsBridge = class {
206
209
  const buffer = Buffer.isBuffer(params.data) ? params.data : Buffer.from(params.data, params.encoding ?? "utf8");
207
210
  await (await root(target.mount.hostRoot)).write(target.mountRelativePath, buffer, { mkdir: params.mkdir !== false });
208
211
  }
212
+ async createFileExclusive(params) {
213
+ const target = this.resolveTarget(params);
214
+ this.ensureWritable(target, "create files");
215
+ const buffer = Buffer.isBuffer(params.data) ? params.data : Buffer.from(params.data, params.encoding ?? "utf8");
216
+ try {
217
+ await (await root(target.mount.hostRoot)).create(target.mountRelativePath, buffer, { mkdir: params.mkdir !== false });
218
+ return "created";
219
+ } catch (error) {
220
+ if (error instanceof FsSafeError && error.code === "already-exists") return "exists";
221
+ throw error;
222
+ }
223
+ }
209
224
  async mkdirp(params) {
210
225
  const target = this.resolveTarget(params);
211
226
  this.ensureWritable(target, "create directories");
@@ -1210,6 +1225,7 @@ const mxcSandboxBackendManager = {
1210
1225
  //#endregion
1211
1226
  //#region extensions/mxc/src/mxc-backend-factory.ts
1212
1227
  function sanitizeRuntimeId(value) {
1228
+ if (/:workspace:[a-f0-9]{32}$/i.test(value.trim())) return `openclaw-mxc-workspace-${createHash("sha256").update(value).digest("hex").slice(0, 32)}`;
1213
1229
  const slug = value.toLowerCase().replace(/[^a-z0-9_.-]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 48);
1214
1230
  const hash = createHash("sha256").update(value).digest("hex").slice(0, 8);
1215
1231
  return `openclaw-mxc-${slug || "sandbox"}-${hash}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/mxc-sandbox",
3
- "version": "2026.7.2-beta.5",
3
+ "version": "2026.7.2-beta.7",
4
4
  "description": "OpenClaw MXC sandbox execution plugin for MXC-capable hosts",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,10 +21,10 @@
21
21
  "minHostVersion": ">=2026.6.11"
22
22
  },
23
23
  "compat": {
24
- "pluginApi": ">=2026.7.2-beta.5"
24
+ "pluginApi": ">=2026.7.2-beta.7"
25
25
  },
26
26
  "build": {
27
- "openclawVersion": "2026.7.2-beta.5",
27
+ "openclawVersion": "2026.7.2-beta.7",
28
28
  "bundledDist": false,
29
29
  "staticAssets": [
30
30
  {
@@ -47,7 +47,7 @@
47
47
  "README.md"
48
48
  ],
49
49
  "peerDependencies": {
50
- "openclaw": ">=2026.7.2-beta.5"
50
+ "openclaw": ">=2026.7.2-beta.7"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "openclaw": {