just-bash 2.12.2 → 2.12.4

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 (232) hide show
  1. package/dist/bin/chunks/awk2-RGDNV4HO.js +2 -0
  2. package/dist/bin/chunks/{base64-YXBFJFHG.js → base64-43M2R3GA.js} +1 -1
  3. package/dist/bin/{shell/chunks/cat-3J7U3HHI.js → chunks/cat-XZIJZXKP.js} +1 -1
  4. package/dist/bin/chunks/chunk-4C4F4EKM.js +2 -0
  5. package/dist/bin/{shell/chunks/chunk-MZKPWGID.js → chunks/chunk-54G6AE72.js} +23 -23
  6. package/dist/bin/chunks/chunk-55QIFSKH.js +36 -0
  7. package/dist/bin/chunks/chunk-6MF2IYQX.js +10 -0
  8. package/dist/bin/{shell/chunks/chunk-NEQEZ32M.js → chunks/chunk-CGE2EHYP.js} +3 -3
  9. package/dist/bin/chunks/chunk-DGFDVZ4N.js +21 -0
  10. package/dist/bin/chunks/chunk-EO5AH4U7.js +5 -0
  11. package/dist/bin/chunks/{chunk-2SIXTZCJ.js → chunk-EZS766DD.js} +4 -4
  12. package/dist/bin/{shell/chunks/chunk-THLAHQXV.js → chunks/chunk-FA2CHD73.js} +1 -1
  13. package/dist/bin/chunks/{chunk-BARKRZDC.js → chunk-GOJZHH3L.js} +1 -1
  14. package/dist/bin/chunks/{chunk-435ZOZCY.js → chunk-J4WYAO5Q.js} +1 -1
  15. package/dist/bin/chunks/chunk-LHN3LRVT.js +100 -0
  16. package/dist/bin/chunks/chunk-MRP4ZCD7.js +6 -0
  17. package/dist/bin/chunks/{chunk-JNPUO56K.js → chunk-NDP6L74Z.js} +1 -1
  18. package/dist/bin/chunks/chunk-PWZZGTFL.js +13 -0
  19. package/dist/bin/chunks/{chunk-3NVWSLHI.js → chunk-Q3FNZYGG.js} +99 -99
  20. package/dist/bin/{shell/chunks/chunk-7SWOLTCR.js → chunks/chunk-Q4WHWGOT.js} +1 -1
  21. package/dist/bin/chunks/chunk-SY2WM5RM.js +14 -0
  22. package/dist/bin/chunks/chunk-SYG3IW7P.js +2 -0
  23. package/dist/bin/chunks/chunk-SYL34GE7.js +21 -0
  24. package/dist/bin/chunks/{chunk-DREQRXNN.js → chunk-V5YFCVCZ.js} +1 -1
  25. package/dist/bin/chunks/chunk-V7VIJQD6.js +6 -0
  26. package/dist/bin/chunks/chunk-WMYKQURM.js +2 -0
  27. package/dist/bin/chunks/chunk-WO4B7WUT.js +2 -0
  28. package/dist/bin/{shell/chunks/chunk-5U7Q4GUC.js → chunks/chunk-WWZVR5NN.js} +4 -4
  29. package/dist/bin/chunks/{cut-HDHQDWRG.js → cut-5EY2XPXX.js} +1 -1
  30. package/dist/bin/chunks/expr-VEFRBJT4.js +2 -0
  31. package/dist/bin/chunks/flag-coverage-K6IBGWAC.js +2 -0
  32. package/dist/bin/chunks/{gzip-RQ5RIFJV.js → gzip-LHOO65AN.js} +1 -1
  33. package/dist/bin/chunks/jq-VBB2XIZS.js +2 -0
  34. package/dist/bin/chunks/ln-BEOFQJNP.js +2 -0
  35. package/dist/bin/chunks/python3-JX5PXXTX.js +17 -0
  36. package/dist/bin/chunks/sed-BYFYBR4A.js +2 -0
  37. package/dist/bin/chunks/sleep-E3K6M6BN.js +2 -0
  38. package/dist/bin/chunks/{sort-NZSEYCI6.js → sort-7GENYU2I.js} +1 -1
  39. package/dist/bin/chunks/sqlite3-SJHZFBT2.js +2 -0
  40. package/dist/bin/{shell/chunks/tar-VIYVHMER.js → chunks/tar-W5GBTEDZ.js} +1 -1
  41. package/dist/bin/chunks/time-AWAKKRSE.js +2 -0
  42. package/dist/bin/chunks/timeout-OLS72AZG.js +2 -0
  43. package/dist/bin/chunks/tr-LZF57GYP.js +2 -0
  44. package/dist/bin/chunks/{uniq-FZWFZEN5.js → uniq-TMSAIZM3.js} +1 -1
  45. package/dist/bin/chunks/worker.js +92 -29
  46. package/dist/bin/chunks/xan-BJ66NSYT.js +2 -0
  47. package/dist/bin/chunks/yq-GPYVGU2N.js +2 -0
  48. package/dist/bin/just-bash.js +294 -294
  49. package/dist/bin/shell/chunks/awk2-RGDNV4HO.js +2 -0
  50. package/dist/bin/shell/chunks/{base64-YXBFJFHG.js → base64-43M2R3GA.js} +1 -1
  51. package/dist/bin/{chunks/cat-3J7U3HHI.js → shell/chunks/cat-XZIJZXKP.js} +1 -1
  52. package/dist/bin/shell/chunks/chunk-4C4F4EKM.js +2 -0
  53. package/dist/bin/{chunks/chunk-MZKPWGID.js → shell/chunks/chunk-54G6AE72.js} +23 -23
  54. package/dist/bin/shell/chunks/chunk-55QIFSKH.js +36 -0
  55. package/dist/bin/shell/chunks/chunk-6MF2IYQX.js +10 -0
  56. package/dist/bin/{chunks/chunk-NEQEZ32M.js → shell/chunks/chunk-CGE2EHYP.js} +3 -3
  57. package/dist/bin/shell/chunks/chunk-DGFDVZ4N.js +21 -0
  58. package/dist/bin/shell/chunks/chunk-EO5AH4U7.js +5 -0
  59. package/dist/bin/shell/chunks/{chunk-2SIXTZCJ.js → chunk-EZS766DD.js} +4 -4
  60. package/dist/bin/{chunks/chunk-THLAHQXV.js → shell/chunks/chunk-FA2CHD73.js} +1 -1
  61. package/dist/bin/shell/chunks/{chunk-BARKRZDC.js → chunk-GOJZHH3L.js} +1 -1
  62. package/dist/bin/shell/chunks/{chunk-435ZOZCY.js → chunk-J4WYAO5Q.js} +1 -1
  63. package/dist/bin/shell/chunks/chunk-LHN3LRVT.js +100 -0
  64. package/dist/bin/shell/chunks/chunk-MRP4ZCD7.js +6 -0
  65. package/dist/bin/shell/chunks/{chunk-JNPUO56K.js → chunk-NDP6L74Z.js} +1 -1
  66. package/dist/bin/shell/chunks/chunk-PWZZGTFL.js +13 -0
  67. package/dist/bin/shell/chunks/{chunk-3NVWSLHI.js → chunk-Q3FNZYGG.js} +99 -99
  68. package/dist/bin/{chunks/chunk-7SWOLTCR.js → shell/chunks/chunk-Q4WHWGOT.js} +1 -1
  69. package/dist/bin/shell/chunks/chunk-SY2WM5RM.js +14 -0
  70. package/dist/bin/shell/chunks/chunk-SYG3IW7P.js +2 -0
  71. package/dist/bin/shell/chunks/chunk-SYL34GE7.js +21 -0
  72. package/dist/bin/shell/chunks/{chunk-DREQRXNN.js → chunk-V5YFCVCZ.js} +1 -1
  73. package/dist/bin/shell/chunks/chunk-V7VIJQD6.js +6 -0
  74. package/dist/bin/shell/chunks/chunk-WMYKQURM.js +2 -0
  75. package/dist/bin/shell/chunks/chunk-WO4B7WUT.js +2 -0
  76. package/dist/bin/{chunks/chunk-5U7Q4GUC.js → shell/chunks/chunk-WWZVR5NN.js} +4 -4
  77. package/dist/bin/shell/chunks/{cut-HDHQDWRG.js → cut-5EY2XPXX.js} +1 -1
  78. package/dist/bin/shell/chunks/expr-VEFRBJT4.js +2 -0
  79. package/dist/bin/shell/chunks/flag-coverage-K6IBGWAC.js +2 -0
  80. package/dist/bin/shell/chunks/{gzip-RQ5RIFJV.js → gzip-LHOO65AN.js} +1 -1
  81. package/dist/bin/shell/chunks/jq-VBB2XIZS.js +2 -0
  82. package/dist/bin/shell/chunks/ln-BEOFQJNP.js +2 -0
  83. package/dist/bin/shell/chunks/python3-JX5PXXTX.js +17 -0
  84. package/dist/bin/shell/chunks/sed-BYFYBR4A.js +2 -0
  85. package/dist/bin/shell/chunks/sleep-E3K6M6BN.js +2 -0
  86. package/dist/bin/shell/chunks/{sort-NZSEYCI6.js → sort-7GENYU2I.js} +1 -1
  87. package/dist/bin/shell/chunks/sqlite3-SJHZFBT2.js +2 -0
  88. package/dist/bin/{chunks/tar-VIYVHMER.js → shell/chunks/tar-W5GBTEDZ.js} +1 -1
  89. package/dist/bin/shell/chunks/time-AWAKKRSE.js +2 -0
  90. package/dist/bin/shell/chunks/timeout-OLS72AZG.js +2 -0
  91. package/dist/bin/shell/chunks/tr-LZF57GYP.js +2 -0
  92. package/dist/bin/shell/chunks/{uniq-FZWFZEN5.js → uniq-TMSAIZM3.js} +1 -1
  93. package/dist/bin/shell/chunks/xan-BJ66NSYT.js +2 -0
  94. package/dist/bin/shell/chunks/yq-GPYVGU2N.js +2 -0
  95. package/dist/bin/shell/shell.js +234 -234
  96. package/dist/bundle/browser.js +671 -671
  97. package/dist/bundle/chunks/awk2-XLDR2J4Q.js +1 -0
  98. package/dist/bundle/chunks/{base64-A3SGWC34.js → base64-4YMZCVJ5.js} +1 -1
  99. package/dist/bundle/chunks/{cat-C2OBLGHA.js → cat-RDUMLXKC.js} +1 -1
  100. package/dist/bundle/chunks/chunk-2OHMPZNZ.js +20 -0
  101. package/dist/bundle/chunks/chunk-3RCXHB4E.js +4 -0
  102. package/dist/bundle/chunks/chunk-CCNMISUL.js +1 -0
  103. package/dist/bundle/chunks/chunk-DOTBQEPN.js +5 -0
  104. package/dist/bundle/chunks/chunk-GENDESYN.js +1 -0
  105. package/dist/bundle/chunks/chunk-H4QOE4W3.js +99 -0
  106. package/dist/bundle/chunks/{chunk-C6ZZC5FL.js → chunk-K5BTXJQC.js} +99 -99
  107. package/dist/bundle/chunks/chunk-KAZYKNBG.js +13 -0
  108. package/dist/bundle/chunks/{chunk-KAEMRWOH.js → chunk-KMEYNNUA.js} +1 -1
  109. package/dist/bundle/chunks/{chunk-FO655G4V.js → chunk-LTZRCH7N.js} +23 -23
  110. package/dist/bundle/chunks/{chunk-XULIVM35.js → chunk-N4QLRJ32.js} +1 -1
  111. package/dist/bundle/chunks/{chunk-5CJQNRNJ.js → chunk-NTP6TTH5.js} +1 -1
  112. package/dist/bundle/chunks/{chunk-IBFD7QQD.js → chunk-QJ7O6ZN3.js} +1 -1
  113. package/dist/bundle/chunks/chunk-QUME7R6S.js +9 -0
  114. package/dist/bundle/chunks/{chunk-U7QI5ZS5.js → chunk-RVT3MU3A.js} +4 -4
  115. package/dist/bundle/chunks/{chunk-6NY2AP72.js → chunk-SDNKECQQ.js} +4 -4
  116. package/dist/bundle/chunks/chunk-T2EHE3CV.js +1 -0
  117. package/dist/bundle/chunks/chunk-TBAWQWQB.js +12 -0
  118. package/dist/bundle/chunks/chunk-TXBZCHCQ.js +5 -0
  119. package/dist/bundle/chunks/chunk-VYV3YE2F.js +35 -0
  120. package/dist/bundle/chunks/{chunk-UJIR5V54.js → chunk-W42IGK5R.js} +1 -1
  121. package/dist/bundle/chunks/{chunk-7BQDVPII.js → chunk-WAN3B6E3.js} +1 -1
  122. package/dist/bundle/chunks/{chunk-7C6RBHP3.js → chunk-WKFATFPP.js} +3 -3
  123. package/dist/bundle/chunks/chunk-XXZ46GOX.js +20 -0
  124. package/dist/bundle/chunks/chunk-ZK6J6F7O.js +1 -0
  125. package/dist/bundle/chunks/{cut-LO6YYY5P.js → cut-OPC3VAGB.js} +1 -1
  126. package/dist/bundle/chunks/expr-74QHYJL5.js +1 -0
  127. package/dist/bundle/chunks/flag-coverage-VGF5NAZP.js +1 -0
  128. package/dist/bundle/chunks/{gzip-Y4N2UKE7.js → gzip-AQXSGOVS.js} +1 -1
  129. package/dist/bundle/chunks/jq-JQXAVWNT.js +1 -0
  130. package/dist/bundle/chunks/ln-RI2SJGXU.js +1 -0
  131. package/dist/bundle/chunks/python3-TSPOVUHX.js +16 -0
  132. package/dist/bundle/chunks/sed-CJFW7UYO.js +1 -0
  133. package/dist/bundle/chunks/sleep-TFDNFOXK.js +1 -0
  134. package/dist/bundle/chunks/{sort-T7TNLWXL.js → sort-DCNRDA7U.js} +1 -1
  135. package/dist/bundle/chunks/sqlite3-CTI4ZW7L.js +1 -0
  136. package/dist/bundle/chunks/{tar-E2DVQEWO.js → tar-Y6LP5EBC.js} +1 -1
  137. package/dist/bundle/chunks/time-WBKSMCJ6.js +1 -0
  138. package/dist/bundle/chunks/timeout-O7WSXY5H.js +1 -0
  139. package/dist/bundle/chunks/tr-GVTWMRZB.js +1 -0
  140. package/dist/bundle/chunks/{uniq-ZXE4O5XB.js → uniq-SUNANL47.js} +1 -1
  141. package/dist/bundle/chunks/worker.js +92 -29
  142. package/dist/bundle/chunks/xan-VMLUNIDS.js +1 -0
  143. package/dist/bundle/chunks/yq-QXIYE3MW.js +1 -0
  144. package/dist/bundle/index.cjs +852 -852
  145. package/dist/bundle/index.js +242 -242
  146. package/dist/commands/awk/interpreter/context.d.ts +2 -0
  147. package/dist/commands/awk/interpreter/interpreter.d.ts +2 -0
  148. package/dist/commands/query-engine/evaluator.d.ts +3 -0
  149. package/dist/interpreter/defense-aware-command-context.d.ts +6 -0
  150. package/dist/interpreter/interpreter.d.ts +8 -0
  151. package/dist/interpreter/types.d.ts +5 -0
  152. package/dist/timers.d.ts +2 -11
  153. package/dist/types.d.ts +13 -0
  154. package/package.json +1 -1
  155. package/dist/bin/chunks/awk2-ZE5HJBNV.js +0 -2
  156. package/dist/bin/chunks/chunk-2FFXXW3F.js +0 -14
  157. package/dist/bin/chunks/chunk-4E3LY6YK.js +0 -10
  158. package/dist/bin/chunks/chunk-4FNW6LFM.js +0 -5
  159. package/dist/bin/chunks/chunk-4PZYIYYG.js +0 -36
  160. package/dist/bin/chunks/chunk-6L4K3UGO.js +0 -100
  161. package/dist/bin/chunks/chunk-EPIOK4SY.js +0 -6
  162. package/dist/bin/chunks/chunk-IYZRLSTQ.js +0 -2
  163. package/dist/bin/chunks/chunk-JJHAWOIB.js +0 -2
  164. package/dist/bin/chunks/chunk-K47SEEPI.js +0 -6
  165. package/dist/bin/chunks/chunk-KPWFKFSD.js +0 -21
  166. package/dist/bin/chunks/chunk-RYXW3SZQ.js +0 -13
  167. package/dist/bin/chunks/chunk-VZKEP45B.js +0 -21
  168. package/dist/bin/chunks/expr-MLHUWFYI.js +0 -2
  169. package/dist/bin/chunks/flag-coverage-LQ37DA4R.js +0 -2
  170. package/dist/bin/chunks/jq-CXSPO2J5.js +0 -2
  171. package/dist/bin/chunks/ln-5TCJXDGY.js +0 -2
  172. package/dist/bin/chunks/python3-74B25WCY.js +0 -17
  173. package/dist/bin/chunks/sed-DNLJZZXZ.js +0 -2
  174. package/dist/bin/chunks/sleep-GUJH2AMQ.js +0 -2
  175. package/dist/bin/chunks/sqlite3-57UI7HYL.js +0 -2
  176. package/dist/bin/chunks/time-FAWHHOMA.js +0 -2
  177. package/dist/bin/chunks/timeout-4O4YYRTS.js +0 -2
  178. package/dist/bin/chunks/tr-4V5A3V2C.js +0 -2
  179. package/dist/bin/chunks/xan-7NIVZ3HP.js +0 -2
  180. package/dist/bin/chunks/yq-L5ZSGLLO.js +0 -2
  181. package/dist/bin/shell/chunks/awk2-ZE5HJBNV.js +0 -2
  182. package/dist/bin/shell/chunks/chunk-2FFXXW3F.js +0 -14
  183. package/dist/bin/shell/chunks/chunk-4E3LY6YK.js +0 -10
  184. package/dist/bin/shell/chunks/chunk-4FNW6LFM.js +0 -5
  185. package/dist/bin/shell/chunks/chunk-4PZYIYYG.js +0 -36
  186. package/dist/bin/shell/chunks/chunk-6L4K3UGO.js +0 -100
  187. package/dist/bin/shell/chunks/chunk-EPIOK4SY.js +0 -6
  188. package/dist/bin/shell/chunks/chunk-IYZRLSTQ.js +0 -2
  189. package/dist/bin/shell/chunks/chunk-JJHAWOIB.js +0 -2
  190. package/dist/bin/shell/chunks/chunk-K47SEEPI.js +0 -6
  191. package/dist/bin/shell/chunks/chunk-KPWFKFSD.js +0 -21
  192. package/dist/bin/shell/chunks/chunk-RYXW3SZQ.js +0 -13
  193. package/dist/bin/shell/chunks/chunk-VZKEP45B.js +0 -21
  194. package/dist/bin/shell/chunks/expr-MLHUWFYI.js +0 -2
  195. package/dist/bin/shell/chunks/flag-coverage-LQ37DA4R.js +0 -2
  196. package/dist/bin/shell/chunks/jq-CXSPO2J5.js +0 -2
  197. package/dist/bin/shell/chunks/ln-5TCJXDGY.js +0 -2
  198. package/dist/bin/shell/chunks/python3-74B25WCY.js +0 -17
  199. package/dist/bin/shell/chunks/sed-DNLJZZXZ.js +0 -2
  200. package/dist/bin/shell/chunks/sleep-GUJH2AMQ.js +0 -2
  201. package/dist/bin/shell/chunks/sqlite3-57UI7HYL.js +0 -2
  202. package/dist/bin/shell/chunks/time-FAWHHOMA.js +0 -2
  203. package/dist/bin/shell/chunks/timeout-4O4YYRTS.js +0 -2
  204. package/dist/bin/shell/chunks/tr-4V5A3V2C.js +0 -2
  205. package/dist/bin/shell/chunks/xan-7NIVZ3HP.js +0 -2
  206. package/dist/bin/shell/chunks/yq-L5ZSGLLO.js +0 -2
  207. package/dist/bundle/chunks/awk2-T6LHPVZE.js +0 -1
  208. package/dist/bundle/chunks/chunk-5BFLZVGH.js +0 -20
  209. package/dist/bundle/chunks/chunk-7DBA735O.js +0 -5
  210. package/dist/bundle/chunks/chunk-7KHLIOOW.js +0 -4
  211. package/dist/bundle/chunks/chunk-AOFQVUAD.js +0 -99
  212. package/dist/bundle/chunks/chunk-BAAVD5NO.js +0 -20
  213. package/dist/bundle/chunks/chunk-BEFDX7IY.js +0 -1
  214. package/dist/bundle/chunks/chunk-KPFCTJEX.js +0 -12
  215. package/dist/bundle/chunks/chunk-LN5KAJOV.js +0 -5
  216. package/dist/bundle/chunks/chunk-NBAARP4B.js +0 -1
  217. package/dist/bundle/chunks/chunk-RHOPHAL6.js +0 -35
  218. package/dist/bundle/chunks/chunk-SL4FN3A5.js +0 -9
  219. package/dist/bundle/chunks/chunk-YIY2RKBW.js +0 -13
  220. package/dist/bundle/chunks/expr-3572LAOT.js +0 -1
  221. package/dist/bundle/chunks/flag-coverage-MPLWXQQK.js +0 -1
  222. package/dist/bundle/chunks/jq-MYSLFARY.js +0 -1
  223. package/dist/bundle/chunks/ln-YAIFIHCT.js +0 -1
  224. package/dist/bundle/chunks/python3-6BKA3FYA.js +0 -16
  225. package/dist/bundle/chunks/sed-3ZCNFRHI.js +0 -1
  226. package/dist/bundle/chunks/sleep-LB7FI6AB.js +0 -1
  227. package/dist/bundle/chunks/sqlite3-FVNA4KNF.js +0 -1
  228. package/dist/bundle/chunks/time-AGNW2ZY6.js +0 -1
  229. package/dist/bundle/chunks/timeout-VN35D5O7.js +0 -1
  230. package/dist/bundle/chunks/tr-2N7Q3KKJ.js +0 -1
  231. package/dist/bundle/chunks/xan-VTO4FP3H.js +0 -1
  232. package/dist/bundle/chunks/yq-JRZFRYSK.js +0 -1
@@ -10,6 +10,19 @@ import { createRequire } from "node:module";
10
10
  import { dirname } from "node:path";
11
11
  import { parentPort, workerData } from "node:worker_threads";
12
12
 
13
+ // src/fs/sanitize-error.ts
14
+ function sanitizeErrorMessage(message) {
15
+ if (!message) return message;
16
+ let sanitized = message.replace(/\n\s+at\s.*/g, "");
17
+ sanitized = sanitized.replace(
18
+ /(?:\/(?:Users|home|private|var|opt|Library|System|usr|etc|tmp|nix|snap))\b[^\s'",)}\]:]*/g,
19
+ "<path>"
20
+ );
21
+ sanitized = sanitized.replace(/node:internal\/[^\s'",)}\]:]+/g, "<internal>");
22
+ sanitized = sanitized.replace(/[A-Z]:\\[^\s'",)}\]:]+/g, "<path>");
23
+ return sanitized;
24
+ }
25
+
13
26
  // src/security/blocked-globals.ts
14
27
  function getBlockedGlobals() {
15
28
  const globals = [
@@ -1253,9 +1266,27 @@ var WorkerDefenseInDepth = class {
1253
1266
  }
1254
1267
  };
1255
1268
 
1269
+ // src/security/wasm-callback.ts
1270
+ function sanitizeUnknownError(error) {
1271
+ const message = error instanceof Error ? error.message : String(error);
1272
+ return sanitizeErrorMessage(message);
1273
+ }
1274
+ function wrapWasmCallback(component, phase, callback) {
1275
+ return (...args) => {
1276
+ try {
1277
+ return callback(...args);
1278
+ } catch (error) {
1279
+ const message = sanitizeUnknownError(error);
1280
+ throw new Error(`${component} ${phase} callback failed: ${message}`);
1281
+ }
1282
+ };
1283
+ }
1284
+
1256
1285
  // src/timers.ts
1257
- var _setTimeout = globalThis.setTimeout;
1258
- var _clearTimeout = globalThis.clearTimeout;
1286
+ var nativeSetTimeout = globalThis.setTimeout.bind(globalThis);
1287
+ var nativeClearTimeout = globalThis.clearTimeout.bind(globalThis);
1288
+ var nativeSetInterval = globalThis.setInterval.bind(globalThis);
1289
+ var nativeClearInterval = globalThis.clearInterval.bind(globalThis);
1259
1290
  var _SharedArrayBuffer = globalThis.SharedArrayBuffer;
1260
1291
  var _Atomics = globalThis.Atomics;
1261
1292
  var _performanceNow = performance.now.bind(performance);
@@ -2413,9 +2444,8 @@ function createHTTPFS(backend, FS) {
2413
2444
  });
2414
2445
  lastResponse = encoder.encode(JSON.stringify(result));
2415
2446
  } catch (e) {
2416
- lastResponse = encoder.encode(
2417
- JSON.stringify({ error: e.message })
2418
- );
2447
+ const message = sanitizeErrorMessage(e.message);
2448
+ lastResponse = encoder.encode(JSON.stringify({ error: message }));
2419
2449
  }
2420
2450
  }
2421
2451
  delete stream.hostContent;
@@ -2543,6 +2573,16 @@ sys.modules['jb_http'] = jb_http
2543
2573
  `;
2544
2574
  }
2545
2575
  var cachedStdlibZip = new Uint8Array(readFileSync(stdlibZipPath));
2576
+ function postWorkerMessage(message) {
2577
+ try {
2578
+ parentPort?.postMessage(message);
2579
+ } catch (error) {
2580
+ console.debug(
2581
+ "[python3-worker] failed to post worker message:",
2582
+ sanitizeUnknownError(error)
2583
+ );
2584
+ }
2585
+ }
2546
2586
  async function runPython(input) {
2547
2587
  const backend = new SyncFsBackend(input.sharedBuffer);
2548
2588
  const createPythonModule = require2(`${cpythonDir}/python.cjs`);
@@ -2551,17 +2591,20 @@ async function runPython(input) {
2551
2591
  const pendingStderr = [];
2552
2592
  let Module;
2553
2593
  try {
2554
- Module = await createPythonModule({
2555
- noInitialRun: true,
2556
- preRun: [
2557
- (mod) => {
2558
- mod.FS.mkdirTree("/lib");
2559
- mod.FS.writeFile("/lib/python313.zip", cachedStdlibZip);
2560
- mod.ENV.PYTHONHOME = "/";
2561
- mod.ENV.PYTHONPATH = "/lib/python313.zip";
2562
- }
2563
- ],
2564
- print: (text) => {
2594
+ const onPreRun = wrapWasmCallback(
2595
+ "python3-worker",
2596
+ "preRun",
2597
+ (mod) => {
2598
+ mod.FS.mkdirTree("/lib");
2599
+ mod.FS.writeFile("/lib/python313.zip", cachedStdlibZip);
2600
+ mod.ENV.PYTHONHOME = "/";
2601
+ mod.ENV.PYTHONPATH = "/lib/python313.zip";
2602
+ }
2603
+ );
2604
+ const onPrint = wrapWasmCallback(
2605
+ "python3-worker",
2606
+ "print",
2607
+ (text) => {
2565
2608
  if (moduleReady) {
2566
2609
  backend.writeStdout(`${text}
2567
2610
  `);
@@ -2569,8 +2612,12 @@ async function runPython(input) {
2569
2612
  pendingStdout.push(`${text}
2570
2613
  `);
2571
2614
  }
2572
- },
2573
- printErr: (text) => {
2615
+ }
2616
+ );
2617
+ const onPrintErr = wrapWasmCallback(
2618
+ "python3-worker",
2619
+ "printErr",
2620
+ (text) => {
2574
2621
  if (typeof text === "string" && (text.includes("Could not find platform") || text.includes("LLVM Profile Error"))) {
2575
2622
  return;
2576
2623
  }
@@ -2582,11 +2629,18 @@ async function runPython(input) {
2582
2629
  `);
2583
2630
  }
2584
2631
  }
2632
+ );
2633
+ Module = await createPythonModule({
2634
+ noInitialRun: true,
2635
+ preRun: [onPreRun],
2636
+ print: onPrint,
2637
+ printErr: onPrintErr
2585
2638
  });
2586
2639
  } catch (e) {
2640
+ const message = sanitizeErrorMessage(e.message);
2587
2641
  return {
2588
2642
  success: false,
2589
- error: `Failed to load CPython: ${e.message}`
2643
+ error: `Failed to load CPython: ${message}`
2590
2644
  };
2591
2645
  }
2592
2646
  activateDefense();
@@ -2598,9 +2652,10 @@ async function runPython(input) {
2598
2652
  Module.FS.mkdir("/host");
2599
2653
  Module.FS.mount(HOSTFS, { root: "/" }, "/host");
2600
2654
  } catch (e) {
2655
+ const message = sanitizeErrorMessage(e.message);
2601
2656
  return {
2602
2657
  success: false,
2603
- error: `Failed to mount HOSTFS: ${e.message}`
2658
+ error: `Failed to mount HOSTFS: ${message}`
2604
2659
  };
2605
2660
  }
2606
2661
  const HTTPFS = createHTTPFS(backend, Module.FS);
@@ -2608,9 +2663,10 @@ async function runPython(input) {
2608
2663
  Module.FS.mkdir("/_jb_http");
2609
2664
  Module.FS.mount(HTTPFS, { root: "/" }, "/_jb_http");
2610
2665
  } catch (e) {
2666
+ const message = sanitizeErrorMessage(e.message);
2611
2667
  return {
2612
2668
  success: false,
2613
- error: `Failed to mount HTTPFS: ${e.message}`
2669
+ error: `Failed to mount HTTPFS: ${message}`
2614
2670
  };
2615
2671
  }
2616
2672
  const setupCode = generateSetupCode(input);
@@ -2660,6 +2716,13 @@ function activateDefense() {
2660
2716
  writable: true,
2661
2717
  configurable: true
2662
2718
  });
2719
+ const onViolation = wrapWasmCallback(
2720
+ "python3-worker",
2721
+ "onViolation",
2722
+ (v) => {
2723
+ postWorkerMessage({ type: "security-violation", violation: v });
2724
+ }
2725
+ );
2663
2726
  defense = new WorkerDefenseInDepth({
2664
2727
  excludeViolationTypes: [
2665
2728
  // SharedArrayBuffer/Atomics: Used by sync-fs-backend.ts for synchronous
@@ -2670,26 +2733,26 @@ function activateDefense() {
2670
2733
  // stub. Defense doesn't need to block it — it's already degraded.
2671
2734
  "performance_timing"
2672
2735
  ],
2673
- onViolation: (v) => {
2674
- parentPort?.postMessage({ type: "security-violation", violation: v });
2675
- }
2736
+ onViolation
2676
2737
  });
2677
2738
  }
2678
2739
  process.on("uncaughtException", (e) => {
2679
- parentPort?.postMessage({
2740
+ const message = sanitizeErrorMessage(e.message);
2741
+ postWorkerMessage({
2680
2742
  success: false,
2681
- error: `Worker uncaught exception: ${e.message}`
2743
+ error: `Worker uncaught exception: ${message}`
2682
2744
  });
2683
2745
  });
2684
2746
  if (parentPort) {
2685
2747
  if (workerData) {
2686
2748
  runPython(workerData).then((result) => {
2687
2749
  result.defenseStats = defense?.getStats();
2688
- parentPort?.postMessage(result);
2750
+ postWorkerMessage(result);
2689
2751
  }).catch((e) => {
2690
- parentPort?.postMessage({
2752
+ const message = sanitizeUnknownError(e);
2753
+ postWorkerMessage({
2691
2754
  success: false,
2692
- error: e.message,
2755
+ error: message,
2693
2756
  defenseStats: defense?.getStats()
2694
2757
  });
2695
2758
  });
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{a,b}from"./chunk-Q4WHWGOT.js";import"./chunk-GZHFXDDO.js";import"./chunk-QSDVMMYI.js";import"./chunk-V7VIJQD6.js";import"./chunk-UYBH3FNE.js";import"./chunk-4PRVMER6.js";import"./chunk-WO4B7WUT.js";import"./chunk-EO5AH4U7.js";import"./chunk-SE4C7FJY.js";import"./chunk-5WFYIUU2.js";import"./chunk-6KZRLMG3.js";import"./chunk-OBH7XN5N.js";import"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";export{b as flagsForFuzzing,a as xanCommand};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{a,b}from"./chunk-Q3FNZYGG.js";import"./chunk-QSDVMMYI.js";import"./chunk-V7VIJQD6.js";import"./chunk-UYBH3FNE.js";import"./chunk-4PRVMER6.js";import"./chunk-WO4B7WUT.js";import"./chunk-EO5AH4U7.js";import"./chunk-SE4C7FJY.js";import"./chunk-SYG3IW7P.js";import"./chunk-6KZRLMG3.js";import"./chunk-GTNBSMZR.js";import"./chunk-KGOUQS5A.js";export{b as flagsForFuzzing,a as yqCommand};