pi-codex-auto-review 0.1.2 → 0.1.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 (1034) hide show
  1. package/README.md +19 -10
  2. package/dist/approval-commands.d.ts +4 -0
  3. package/dist/approval-commands.js +176 -0
  4. package/dist/approval-commands.js.map +1 -0
  5. package/dist/approval-settings.d.ts +9 -0
  6. package/dist/approval-settings.js +40 -0
  7. package/dist/approval-settings.js.map +1 -0
  8. package/dist/approvals.d.ts +2 -1
  9. package/dist/approvals.js +3 -2
  10. package/dist/approvals.js.map +1 -1
  11. package/dist/cli.js +5 -5
  12. package/dist/cli.js.map +1 -1
  13. package/dist/contracts.d.ts +2 -0
  14. package/dist/contracts.js.map +1 -1
  15. package/dist/index.d.ts +2 -2
  16. package/dist/index.js +26 -38
  17. package/dist/index.js.map +1 -1
  18. package/dist/policy/index.d.ts +0 -1
  19. package/dist/policy/index.js +11 -32
  20. package/dist/policy/index.js.map +1 -1
  21. package/dist/review/context.d.ts +14 -1
  22. package/dist/review/context.js +83 -13
  23. package/dist/review/context.js.map +1 -1
  24. package/dist/review/investigation.d.ts +3 -3
  25. package/dist/review/investigation.js +1 -1
  26. package/dist/review/investigation.js.map +1 -1
  27. package/dist/review/lifecycle.js +2 -2
  28. package/dist/review/lifecycle.js.map +1 -1
  29. package/dist/review/policy.js +20 -3
  30. package/dist/review/policy.js.map +1 -1
  31. package/dist/review/user-input.d.ts +5 -0
  32. package/dist/review/user-input.js +31 -0
  33. package/dist/review/user-input.js.map +1 -0
  34. package/dist/reviewer.d.ts +11 -1
  35. package/dist/reviewer.js +12 -2
  36. package/dist/reviewer.js.map +1 -1
  37. package/dist/tools/controller.d.ts +11 -6
  38. package/dist/tools/controller.js +102 -55
  39. package/dist/tools/controller.js.map +1 -1
  40. package/dist/tools/environment.d.ts +2 -0
  41. package/dist/tools/environment.js +9 -0
  42. package/dist/tools/environment.js.map +1 -0
  43. package/dist/tools/executor.d.ts +14 -0
  44. package/dist/tools/executor.js +75 -0
  45. package/dist/tools/executor.js.map +1 -0
  46. package/dist/tools/external.d.ts +1 -0
  47. package/dist/tools/external.js.map +1 -1
  48. package/dist/tools/mcp.js +1 -0
  49. package/dist/tools/mcp.js.map +1 -1
  50. package/dist/tools/mutation-queue.d.ts +1 -0
  51. package/dist/tools/mutation-queue.js +16 -0
  52. package/dist/tools/mutation-queue.js.map +1 -0
  53. package/docs/publishing.md +7 -7
  54. package/docs/security/dependencies.md +13 -3
  55. package/docs/testing/auto-review-protection.md +31 -8
  56. package/docs/usage.md +33 -18
  57. package/package.json +11 -14
  58. package/dist/sandbox/broker.d.ts +0 -1
  59. package/dist/sandbox/broker.js +0 -139
  60. package/dist/sandbox/broker.js.map +0 -1
  61. package/dist/sandbox/config.d.ts +0 -5
  62. package/dist/sandbox/config.js +0 -97
  63. package/dist/sandbox/config.js.map +0 -1
  64. package/dist/sandbox/directory-scan.d.ts +0 -1
  65. package/dist/sandbox/directory-scan.js +0 -32
  66. package/dist/sandbox/directory-scan.js.map +0 -1
  67. package/dist/sandbox/executor.d.ts +0 -20
  68. package/dist/sandbox/executor.js +0 -146
  69. package/dist/sandbox/executor.js.map +0 -1
  70. package/dist/sandbox/hard-links.d.ts +0 -4
  71. package/dist/sandbox/hard-links.js +0 -155
  72. package/dist/sandbox/hard-links.js.map +0 -1
  73. package/dist/sandbox/linux-read-paths.d.ts +0 -7
  74. package/dist/sandbox/linux-read-paths.js +0 -47
  75. package/dist/sandbox/linux-read-paths.js.map +0 -1
  76. package/dist/sandbox/paths.d.ts +0 -3
  77. package/dist/sandbox/paths.js +0 -10
  78. package/dist/sandbox/paths.js.map +0 -1
  79. package/dist/sandbox/runtime-write-paths.d.ts +0 -2
  80. package/dist/sandbox/runtime-write-paths.js +0 -8
  81. package/dist/sandbox/runtime-write-paths.js.map +0 -1
  82. package/dist/sandbox/seccomp.d.ts +0 -5
  83. package/dist/sandbox/seccomp.js +0 -16
  84. package/dist/sandbox/seccomp.js.map +0 -1
  85. package/dist/sandbox/worker.d.ts +0 -1
  86. package/dist/sandbox/worker.js +0 -78
  87. package/dist/sandbox/worker.js.map +0 -1
  88. package/node_modules/@anthropic-ai/sandbox-runtime/LICENSE +0 -201
  89. package/node_modules/@anthropic-ai/sandbox-runtime/README.md +0 -901
  90. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.d.ts +0 -3
  91. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.d.ts.map +0 -1
  92. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.js +0 -472
  93. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.js.map +0 -1
  94. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.d.ts +0 -19
  95. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.d.ts.map +0 -1
  96. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.js +0 -17
  97. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.js.map +0 -1
  98. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.d.ts +0 -52
  99. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.d.ts.map +0 -1
  100. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.js +0 -153
  101. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.js.map +0 -1
  102. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.d.ts +0 -164
  103. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.d.ts.map +0 -1
  104. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.js +0 -246
  105. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.js.map +0 -1
  106. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.d.ts +0 -58
  107. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.d.ts.map +0 -1
  108. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.js +0 -128
  109. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.js.map +0 -1
  110. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.d.ts +0 -124
  111. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.d.ts.map +0 -1
  112. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.js +0 -258
  113. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.js.map +0 -1
  114. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.d.ts +0 -87
  115. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.d.ts.map +0 -1
  116. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.js +0 -138
  117. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.js.map +0 -1
  118. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.d.ts +0 -67
  119. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.d.ts.map +0 -1
  120. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.js +0 -113
  121. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.js.map +0 -1
  122. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.d.ts +0 -70
  123. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.d.ts.map +0 -1
  124. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.js +0 -171
  125. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.js.map +0 -1
  126. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.d.ts +0 -120
  127. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.d.ts.map +0 -1
  128. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.js +0 -281
  129. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.js.map +0 -1
  130. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.d.ts +0 -108
  131. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.d.ts.map +0 -1
  132. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.js +0 -208
  133. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.js.map +0 -1
  134. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.d.ts +0 -82
  135. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.d.ts.map +0 -1
  136. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.js +0 -155
  137. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.js.map +0 -1
  138. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.d.ts +0 -44
  139. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.d.ts.map +0 -1
  140. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.js +0 -220
  141. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.js.map +0 -1
  142. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.d.ts +0 -150
  143. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.d.ts.map +0 -1
  144. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.js +0 -678
  145. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.js.map +0 -1
  146. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.d.ts +0 -32
  147. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.d.ts.map +0 -1
  148. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.js +0 -111
  149. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.js.map +0 -1
  150. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.d.ts +0 -305
  151. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.d.ts.map +0 -1
  152. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.js +0 -2605
  153. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.js.map +0 -1
  154. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.d.ts +0 -55
  155. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.d.ts.map +0 -1
  156. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.js +0 -152
  157. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.js.map +0 -1
  158. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.d.ts +0 -12
  159. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.d.ts.map +0 -1
  160. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.js +0 -43
  161. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.js.map +0 -1
  162. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.d.ts +0 -116
  163. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.d.ts.map +0 -1
  164. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.js +0 -1195
  165. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.js.map +0 -1
  166. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.d.ts +0 -200
  167. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.d.ts.map +0 -1
  168. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.js +0 -443
  169. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.js.map +0 -1
  170. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.d.ts +0 -28
  171. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.d.ts.map +0 -1
  172. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.js +0 -114
  173. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.js.map +0 -1
  174. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.d.ts +0 -59
  175. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.d.ts.map +0 -1
  176. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.js +0 -159
  177. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.js.map +0 -1
  178. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.d.ts +0 -147
  179. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.d.ts.map +0 -1
  180. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.js +0 -445
  181. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.js.map +0 -1
  182. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.d.ts +0 -17
  183. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.d.ts.map +0 -1
  184. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.js +0 -163
  185. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.js.map +0 -1
  186. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.d.ts +0 -83
  187. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.d.ts.map +0 -1
  188. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.js +0 -212
  189. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.js.map +0 -1
  190. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.d.ts +0 -76
  191. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.d.ts.map +0 -1
  192. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.js +0 -221
  193. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.js.map +0 -1
  194. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.d.ts +0 -1691
  195. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.d.ts.map +0 -1
  196. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.js +0 -1233
  197. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.js.map +0 -1
  198. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.d.ts +0 -97
  199. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.d.ts.map +0 -1
  200. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.js +0 -1937
  201. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.js.map +0 -1
  202. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.d.ts +0 -113
  203. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.d.ts.map +0 -1
  204. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.js +0 -3
  205. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.js.map +0 -1
  206. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.d.ts +0 -411
  207. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.d.ts.map +0 -1
  208. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.js +0 -1408
  209. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.js.map +0 -1
  210. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.d.ts +0 -37
  211. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.d.ts.map +0 -1
  212. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.js +0 -125
  213. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.js.map +0 -1
  214. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.d.ts +0 -57
  215. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.d.ts.map +0 -1
  216. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.js +0 -332
  217. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.js.map +0 -1
  218. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.d.ts +0 -100
  219. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.d.ts.map +0 -1
  220. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.js +0 -546
  221. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.js.map +0 -1
  222. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.d.ts +0 -923
  223. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.d.ts.map +0 -1
  224. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.js +0 -1419
  225. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.js.map +0 -1
  226. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.d.ts +0 -31
  227. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.d.ts.map +0 -1
  228. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.js +0 -69
  229. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.js.map +0 -1
  230. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.d.ts +0 -7
  231. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.d.ts.map +0 -1
  232. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.js +0 -25
  233. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.js.map +0 -1
  234. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.d.ts +0 -15
  235. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.d.ts.map +0 -1
  236. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.js +0 -49
  237. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.js.map +0 -1
  238. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.d.ts +0 -17
  239. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.d.ts.map +0 -1
  240. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.js +0 -37
  241. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.js.map +0 -1
  242. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.d.ts +0 -27
  243. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.d.ts.map +0 -1
  244. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.js +0 -47
  245. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.js.map +0 -1
  246. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.d.ts +0 -9
  247. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.d.ts.map +0 -1
  248. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.js +0 -25
  249. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.js.map +0 -1
  250. package/node_modules/@anthropic-ai/sandbox-runtime/package.json +0 -88
  251. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/java-proxy-agent/build.ts +0 -95
  252. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/java-proxy-agent/srt-proxy-agent.jar +0 -0
  253. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/seccomp/arm64/apply-seccomp +0 -0
  254. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/seccomp/build.ts +0 -69
  255. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/seccomp/x64/apply-seccomp +0 -0
  256. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/srt-win/arm64/srt-win.exe +0 -0
  257. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/srt-win/build.ts +0 -28
  258. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/srt-win/x64/srt-win.exe +0 -0
  259. package/node_modules/@pondwader/socks5-server/.github/workflows/ci.yml +0 -27
  260. package/node_modules/@pondwader/socks5-server/LICENSE +0 -20
  261. package/node_modules/@pondwader/socks5-server/README.md +0 -151
  262. package/node_modules/@pondwader/socks5-server/dist/index.d.mts +0 -87
  263. package/node_modules/@pondwader/socks5-server/dist/index.d.ts +0 -87
  264. package/node_modules/@pondwader/socks5-server/dist/index.js +0 -346
  265. package/node_modules/@pondwader/socks5-server/dist/index.mjs +0 -307
  266. package/node_modules/@pondwader/socks5-server/package.json +0 -31
  267. package/node_modules/commander/LICENSE +0 -22
  268. package/node_modules/commander/Readme.md +0 -1157
  269. package/node_modules/commander/esm.mjs +0 -16
  270. package/node_modules/commander/index.js +0 -24
  271. package/node_modules/commander/lib/argument.js +0 -149
  272. package/node_modules/commander/lib/command.js +0 -2509
  273. package/node_modules/commander/lib/error.js +0 -39
  274. package/node_modules/commander/lib/help.js +0 -520
  275. package/node_modules/commander/lib/option.js +0 -330
  276. package/node_modules/commander/lib/suggestSimilar.js +0 -101
  277. package/node_modules/commander/package-support.json +0 -16
  278. package/node_modules/commander/package.json +0 -84
  279. package/node_modules/commander/typings/esm.d.mts +0 -3
  280. package/node_modules/commander/typings/index.d.ts +0 -969
  281. package/node_modules/node-forge/.editorconfig +0 -17
  282. package/node_modules/node-forge/.eslintrc.js +0 -24
  283. package/node_modules/node-forge/.github/workflows/main.yaml +0 -96
  284. package/node_modules/node-forge/.istanbul.yml +0 -2
  285. package/node_modules/node-forge/.npmignore +0 -15
  286. package/node_modules/node-forge/CHANGELOG.md +0 -555
  287. package/node_modules/node-forge/CONTRIBUTING.md +0 -18
  288. package/node_modules/node-forge/LICENSE +0 -331
  289. package/node_modules/node-forge/README.md +0 -2071
  290. package/node_modules/node-forge/RELEASE.md +0 -19
  291. package/node_modules/node-forge/SECURITY.md +0 -5
  292. package/node_modules/node-forge/examples/create-cert.js +0 -110
  293. package/node_modules/node-forge/examples/create-csr.js +0 -66
  294. package/node_modules/node-forge/examples/create-pkcs12.js +0 -160
  295. package/node_modules/node-forge/examples/imap.js +0 -46
  296. package/node_modules/node-forge/examples/sign-p7.js +0 -115
  297. package/node_modules/node-forge/examples/tls.js +0 -189
  298. package/node_modules/node-forge/flash/PooledSocket.as +0 -18
  299. package/node_modules/node-forge/flash/README.md +0 -48
  300. package/node_modules/node-forge/flash/SocketEvent.as +0 -36
  301. package/node_modules/node-forge/flash/SocketPool.as +0 -754
  302. package/node_modules/node-forge/flash/mod_fsp/README +0 -135
  303. package/node_modules/node-forge/flash/mod_fsp/mod_fsp.c +0 -415
  304. package/node_modules/node-forge/flash/package.json +0 -28
  305. package/node_modules/node-forge/flash/policyserver.js +0 -65
  306. package/node_modules/node-forge/flash/policyserver.py +0 -112
  307. package/node_modules/node-forge/flash/swf/SocketPool.swf +0 -0
  308. package/node_modules/node-forge/karma-sauce.conf.js +0 -79
  309. package/node_modules/node-forge/karma.conf.js +0 -133
  310. package/node_modules/node-forge/lib/aes.js +0 -1091
  311. package/node_modules/node-forge/lib/aesCipherSuites.js +0 -282
  312. package/node_modules/node-forge/lib/asn1-validator.js +0 -91
  313. package/node_modules/node-forge/lib/asn1.js +0 -1503
  314. package/node_modules/node-forge/lib/baseN.js +0 -186
  315. package/node_modules/node-forge/lib/cipher.js +0 -230
  316. package/node_modules/node-forge/lib/cipherModes.js +0 -999
  317. package/node_modules/node-forge/lib/des.js +0 -496
  318. package/node_modules/node-forge/lib/ed25519.js +0 -1091
  319. package/node_modules/node-forge/lib/forge.js +0 -13
  320. package/node_modules/node-forge/lib/form.js +0 -149
  321. package/node_modules/node-forge/lib/hmac.js +0 -146
  322. package/node_modules/node-forge/lib/http.js +0 -1346
  323. package/node_modules/node-forge/lib/index.all.js +0 -16
  324. package/node_modules/node-forge/lib/index.js +0 -33
  325. package/node_modules/node-forge/lib/jsbn.js +0 -1294
  326. package/node_modules/node-forge/lib/kem.js +0 -168
  327. package/node_modules/node-forge/lib/log.js +0 -319
  328. package/node_modules/node-forge/lib/md.all.js +0 -13
  329. package/node_modules/node-forge/lib/md.js +0 -11
  330. package/node_modules/node-forge/lib/md5.js +0 -289
  331. package/node_modules/node-forge/lib/mgf.js +0 -12
  332. package/node_modules/node-forge/lib/mgf1.js +0 -57
  333. package/node_modules/node-forge/lib/oids.js +0 -180
  334. package/node_modules/node-forge/lib/pbe.js +0 -1023
  335. package/node_modules/node-forge/lib/pbkdf2.js +0 -211
  336. package/node_modules/node-forge/lib/pem.js +0 -237
  337. package/node_modules/node-forge/lib/pkcs1.js +0 -276
  338. package/node_modules/node-forge/lib/pkcs12.js +0 -1078
  339. package/node_modules/node-forge/lib/pkcs7.js +0 -1260
  340. package/node_modules/node-forge/lib/pkcs7asn1.js +0 -410
  341. package/node_modules/node-forge/lib/pki.js +0 -102
  342. package/node_modules/node-forge/lib/prime.js +0 -297
  343. package/node_modules/node-forge/lib/prime.worker.js +0 -168
  344. package/node_modules/node-forge/lib/prng.js +0 -419
  345. package/node_modules/node-forge/lib/pss.js +0 -241
  346. package/node_modules/node-forge/lib/random.js +0 -191
  347. package/node_modules/node-forge/lib/rc2.js +0 -410
  348. package/node_modules/node-forge/lib/rsa.js +0 -1973
  349. package/node_modules/node-forge/lib/sha1.js +0 -319
  350. package/node_modules/node-forge/lib/sha256.js +0 -327
  351. package/node_modules/node-forge/lib/sha512.js +0 -561
  352. package/node_modules/node-forge/lib/socket.js +0 -287
  353. package/node_modules/node-forge/lib/ssh.js +0 -236
  354. package/node_modules/node-forge/lib/tls.js +0 -4282
  355. package/node_modules/node-forge/lib/tlssocket.js +0 -249
  356. package/node_modules/node-forge/lib/util.js +0 -2652
  357. package/node_modules/node-forge/lib/x509.js +0 -3251
  358. package/node_modules/node-forge/lib/xhr.js +0 -738
  359. package/node_modules/node-forge/package.json +0 -123
  360. package/node_modules/node-forge/tests/.eslintrc.js +0 -5
  361. package/node_modules/node-forge/tests/README.md +0 -4
  362. package/node_modules/node-forge/tests/benchmarks/aes-speed.js +0 -62
  363. package/node_modules/node-forge/tests/benchmarks/so-44303784.js +0 -246
  364. package/node_modules/node-forge/tests/flash/README.md +0 -7
  365. package/node_modules/node-forge/tests/flash/Test.as +0 -96
  366. package/node_modules/node-forge/tests/flash/build-flash.xml +0 -7
  367. package/node_modules/node-forge/tests/flash/index.html +0 -28
  368. package/node_modules/node-forge/tests/index.html +0 -33
  369. package/node_modules/node-forge/tests/issues/heartbleed.js +0 -55
  370. package/node_modules/node-forge/tests/issues/issue-428.html +0 -95
  371. package/node_modules/node-forge/tests/issues/issue-428.js +0 -375
  372. package/node_modules/node-forge/tests/karma/index.js +0 -8
  373. package/node_modules/node-forge/tests/karma/testWorker.js +0 -65
  374. package/node_modules/node-forge/tests/karma/web-worker-rsa.js +0 -55
  375. package/node_modules/node-forge/tests/legacy/common.html +0 -65
  376. package/node_modules/node-forge/tests/legacy/common.js +0 -2199
  377. package/node_modules/node-forge/tests/legacy/form.html +0 -148
  378. package/node_modules/node-forge/tests/legacy/form.js +0 -40
  379. package/node_modules/node-forge/tests/legacy/http.html +0 -235
  380. package/node_modules/node-forge/tests/legacy/index.html +0 -70
  381. package/node_modules/node-forge/tests/legacy/keygen.html +0 -113
  382. package/node_modules/node-forge/tests/legacy/login.css +0 -26
  383. package/node_modules/node-forge/tests/legacy/loginDemo.html +0 -32
  384. package/node_modules/node-forge/tests/legacy/loginDemo.js +0 -149
  385. package/node_modules/node-forge/tests/legacy/performance.html +0 -533
  386. package/node_modules/node-forge/tests/legacy/result.txt +0 -1
  387. package/node_modules/node-forge/tests/legacy/socketPool.html +0 -302
  388. package/node_modules/node-forge/tests/legacy/tasks.html +0 -54
  389. package/node_modules/node-forge/tests/legacy/tasks.js +0 -378
  390. package/node_modules/node-forge/tests/legacy/tls.html +0 -389
  391. package/node_modules/node-forge/tests/legacy/webid.html +0 -89
  392. package/node_modules/node-forge/tests/legacy/webid.js +0 -313
  393. package/node_modules/node-forge/tests/legacy/ws-webid.js +0 -120
  394. package/node_modules/node-forge/tests/legacy/xhr.html +0 -67
  395. package/node_modules/node-forge/tests/legacy/xhr.js +0 -590
  396. package/node_modules/node-forge/tests/pocs/ghsa-2328-f5f3-gj25.js +0 -85
  397. package/node_modules/node-forge/tests/pocs/ghsa-ppp5-5v6c-4jwp.js +0 -166
  398. package/node_modules/node-forge/tests/pocs/ghsa-q67f-28xg-22rw.js +0 -103
  399. package/node_modules/node-forge/tests/security/cve-2025-12816.js +0 -75
  400. package/node_modules/node-forge/tests/security/ghsa-554w-wpv2-vw27.js +0 -81
  401. package/node_modules/node-forge/tests/security/index.js +0 -3
  402. package/node_modules/node-forge/tests/server.crt +0 -26
  403. package/node_modules/node-forge/tests/server.js +0 -87
  404. package/node_modules/node-forge/tests/server.key +0 -27
  405. package/node_modules/node-forge/tests/support/task.js +0 -718
  406. package/node_modules/node-forge/tests/tests.css +0 -61
  407. package/node_modules/node-forge/tests/unit/aes.js +0 -1498
  408. package/node_modules/node-forge/tests/unit/asn1.js +0 -1337
  409. package/node_modules/node-forge/tests/unit/csr.js +0 -129
  410. package/node_modules/node-forge/tests/unit/des.js +0 -231
  411. package/node_modules/node-forge/tests/unit/ed25519.js +0 -395
  412. package/node_modules/node-forge/tests/unit/forge.js +0 -2
  413. package/node_modules/node-forge/tests/unit/hmac.js +0 -64
  414. package/node_modules/node-forge/tests/unit/index.html +0 -20
  415. package/node_modules/node-forge/tests/unit/index.js +0 -27
  416. package/node_modules/node-forge/tests/unit/jsbn.js +0 -40
  417. package/node_modules/node-forge/tests/unit/kem.js +0 -167
  418. package/node_modules/node-forge/tests/unit/md5.js +0 -114
  419. package/node_modules/node-forge/tests/unit/mgf1.js +0 -16
  420. package/node_modules/node-forge/tests/unit/pbkdf2.js +0 -182
  421. package/node_modules/node-forge/tests/unit/pem.js +0 -159
  422. package/node_modules/node-forge/tests/unit/pkcs1.js +0 -1077
  423. package/node_modules/node-forge/tests/unit/pkcs12.js +0 -739
  424. package/node_modules/node-forge/tests/unit/pkcs7.js +0 -792
  425. package/node_modules/node-forge/tests/unit/random.js +0 -48
  426. package/node_modules/node-forge/tests/unit/rc2.js +0 -88
  427. package/node_modules/node-forge/tests/unit/rsa.js +0 -1278
  428. package/node_modules/node-forge/tests/unit/sha1.js +0 -72
  429. package/node_modules/node-forge/tests/unit/sha256.js +0 -79
  430. package/node_modules/node-forge/tests/unit/sha512.js +0 -200
  431. package/node_modules/node-forge/tests/unit/ssh.js +0 -175
  432. package/node_modules/node-forge/tests/unit/tls.js +0 -175
  433. package/node_modules/node-forge/tests/unit/util.js +0 -595
  434. package/node_modules/node-forge/tests/unit/x509.js +0 -1986
  435. package/node_modules/node-forge/tests/websockets/server-webid.js +0 -495
  436. package/node_modules/node-forge/tests/websockets/server-ws.js +0 -158
  437. package/node_modules/node-forge/webpack-tests.config.js +0 -26
  438. package/node_modules/node-forge/webpack.config.js +0 -130
  439. package/node_modules/zod/LICENSE +0 -21
  440. package/node_modules/zod/README.md +0 -208
  441. package/node_modules/zod/index.cjs +0 -33
  442. package/node_modules/zod/index.d.cts +0 -4
  443. package/node_modules/zod/index.d.ts +0 -4
  444. package/node_modules/zod/index.js +0 -4
  445. package/node_modules/zod/package.json +0 -118
  446. package/node_modules/zod/src/index.ts +0 -4
  447. package/node_modules/zod/src/v3/ZodError.ts +0 -330
  448. package/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -58
  449. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  450. package/node_modules/zod/src/v3/benchmarks/index.ts +0 -59
  451. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -57
  452. package/node_modules/zod/src/v3/benchmarks/object.ts +0 -69
  453. package/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -162
  454. package/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -63
  455. package/node_modules/zod/src/v3/benchmarks/string.ts +0 -55
  456. package/node_modules/zod/src/v3/benchmarks/union.ts +0 -80
  457. package/node_modules/zod/src/v3/errors.ts +0 -13
  458. package/node_modules/zod/src/v3/external.ts +0 -6
  459. package/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -17
  460. package/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -8
  461. package/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -176
  462. package/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -34
  463. package/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -2
  464. package/node_modules/zod/src/v3/helpers/util.ts +0 -224
  465. package/node_modules/zod/src/v3/index.ts +0 -4
  466. package/node_modules/zod/src/v3/locales/en.ts +0 -124
  467. package/node_modules/zod/src/v3/standard-schema.ts +0 -113
  468. package/node_modules/zod/src/v3/tests/Mocker.ts +0 -54
  469. package/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -157
  470. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -28
  471. package/node_modules/zod/src/v3/tests/array.test.ts +0 -71
  472. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -388
  473. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -46
  474. package/node_modules/zod/src/v3/tests/base.test.ts +0 -29
  475. package/node_modules/zod/src/v3/tests/bigint.test.ts +0 -55
  476. package/node_modules/zod/src/v3/tests/branded.test.ts +0 -53
  477. package/node_modules/zod/src/v3/tests/catch.test.ts +0 -220
  478. package/node_modules/zod/src/v3/tests/coerce.test.ts +0 -133
  479. package/node_modules/zod/src/v3/tests/complex.test.ts +0 -56
  480. package/node_modules/zod/src/v3/tests/custom.test.ts +0 -31
  481. package/node_modules/zod/src/v3/tests/date.test.ts +0 -32
  482. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -186
  483. package/node_modules/zod/src/v3/tests/default.test.ts +0 -112
  484. package/node_modules/zod/src/v3/tests/description.test.ts +0 -33
  485. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -315
  486. package/node_modules/zod/src/v3/tests/enum.test.ts +0 -80
  487. package/node_modules/zod/src/v3/tests/error.test.ts +0 -551
  488. package/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -87
  489. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  490. package/node_modules/zod/src/v3/tests/function.test.ts +0 -257
  491. package/node_modules/zod/src/v3/tests/generics.test.ts +0 -48
  492. package/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -37
  493. package/node_modules/zod/src/v3/tests/intersection.test.ts +0 -110
  494. package/node_modules/zod/src/v3/tests/language-server.source.ts +0 -76
  495. package/node_modules/zod/src/v3/tests/language-server.test.ts +0 -207
  496. package/node_modules/zod/src/v3/tests/literal.test.ts +0 -36
  497. package/node_modules/zod/src/v3/tests/map.test.ts +0 -110
  498. package/node_modules/zod/src/v3/tests/masking.test.ts +0 -4
  499. package/node_modules/zod/src/v3/tests/mocker.test.ts +0 -19
  500. package/node_modules/zod/src/v3/tests/nan.test.ts +0 -21
  501. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -87
  502. package/node_modules/zod/src/v3/tests/nullable.test.ts +0 -42
  503. package/node_modules/zod/src/v3/tests/number.test.ts +0 -176
  504. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -29
  505. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -29
  506. package/node_modules/zod/src/v3/tests/object.test.ts +0 -434
  507. package/node_modules/zod/src/v3/tests/optional.test.ts +0 -42
  508. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -23
  509. package/node_modules/zod/src/v3/tests/parser.test.ts +0 -41
  510. package/node_modules/zod/src/v3/tests/partials.test.ts +0 -243
  511. package/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -111
  512. package/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -29
  513. package/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -186
  514. package/node_modules/zod/src/v3/tests/primitive.test.ts +0 -440
  515. package/node_modules/zod/src/v3/tests/promise.test.ts +0 -90
  516. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -194
  517. package/node_modules/zod/src/v3/tests/record.test.ts +0 -171
  518. package/node_modules/zod/src/v3/tests/recursive.test.ts +0 -197
  519. package/node_modules/zod/src/v3/tests/refine.test.ts +0 -313
  520. package/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -27
  521. package/node_modules/zod/src/v3/tests/set.test.ts +0 -142
  522. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -83
  523. package/node_modules/zod/src/v3/tests/string.test.ts +0 -916
  524. package/node_modules/zod/src/v3/tests/transformer.test.ts +0 -233
  525. package/node_modules/zod/src/v3/tests/tuple.test.ts +0 -90
  526. package/node_modules/zod/src/v3/tests/unions.test.ts +0 -57
  527. package/node_modules/zod/src/v3/tests/validations.test.ts +0 -133
  528. package/node_modules/zod/src/v3/tests/void.test.ts +0 -15
  529. package/node_modules/zod/src/v3/types.ts +0 -5136
  530. package/node_modules/zod/src/v4/classic/checks.ts +0 -30
  531. package/node_modules/zod/src/v4/classic/coerce.ts +0 -27
  532. package/node_modules/zod/src/v4/classic/compat.ts +0 -66
  533. package/node_modules/zod/src/v4/classic/errors.ts +0 -75
  534. package/node_modules/zod/src/v4/classic/external.ts +0 -50
  535. package/node_modules/zod/src/v4/classic/index.ts +0 -5
  536. package/node_modules/zod/src/v4/classic/iso.ts +0 -90
  537. package/node_modules/zod/src/v4/classic/parse.ts +0 -33
  538. package/node_modules/zod/src/v4/classic/schemas.ts +0 -2054
  539. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -26
  540. package/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -264
  541. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -210
  542. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -381
  543. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -68
  544. package/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -7
  545. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -54
  546. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -63
  547. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -252
  548. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -20
  549. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -160
  550. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -352
  551. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -40
  552. package/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -31
  553. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -296
  554. package/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -313
  555. package/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -32
  556. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -619
  557. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -285
  558. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -527
  559. package/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -711
  560. package/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -91
  561. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -175
  562. package/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -268
  563. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -72
  564. package/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -829
  565. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -34
  566. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -171
  567. package/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -108
  568. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -227
  569. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -92
  570. package/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -196
  571. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -21
  572. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -168
  573. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -86
  574. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -22
  575. package/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -247
  576. package/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -563
  577. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -123
  578. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -147
  579. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -127
  580. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -81
  581. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -37
  582. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -298
  583. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -175
  584. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -81
  585. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -23
  586. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -252
  587. package/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -342
  588. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -356
  589. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -532
  590. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -204
  591. package/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -179
  592. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -57
  593. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -109
  594. package/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -881
  595. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -66
  596. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -758
  597. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -2314
  598. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -250
  599. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -163
  600. package/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -94
  601. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -283
  602. package/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -12
  603. package/node_modules/zod/src/v4/core/api.ts +0 -1594
  604. package/node_modules/zod/src/v4/core/checks.ts +0 -1283
  605. package/node_modules/zod/src/v4/core/config.ts +0 -15
  606. package/node_modules/zod/src/v4/core/core.ts +0 -134
  607. package/node_modules/zod/src/v4/core/doc.ts +0 -44
  608. package/node_modules/zod/src/v4/core/errors.ts +0 -424
  609. package/node_modules/zod/src/v4/core/function.ts +0 -176
  610. package/node_modules/zod/src/v4/core/index.ts +0 -15
  611. package/node_modules/zod/src/v4/core/json-schema.ts +0 -143
  612. package/node_modules/zod/src/v4/core/parse.ts +0 -94
  613. package/node_modules/zod/src/v4/core/regexes.ts +0 -135
  614. package/node_modules/zod/src/v4/core/registries.ts +0 -96
  615. package/node_modules/zod/src/v4/core/schemas.ts +0 -3842
  616. package/node_modules/zod/src/v4/core/standard-schema.ts +0 -64
  617. package/node_modules/zod/src/v4/core/tests/index.test.ts +0 -46
  618. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -124
  619. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -22
  620. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -128
  621. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -69
  622. package/node_modules/zod/src/v4/core/to-json-schema.ts +0 -977
  623. package/node_modules/zod/src/v4/core/util.ts +0 -775
  624. package/node_modules/zod/src/v4/core/versions.ts +0 -5
  625. package/node_modules/zod/src/v4/core/zsf.ts +0 -323
  626. package/node_modules/zod/src/v4/index.ts +0 -4
  627. package/node_modules/zod/src/v4/locales/ar.ts +0 -125
  628. package/node_modules/zod/src/v4/locales/az.ts +0 -121
  629. package/node_modules/zod/src/v4/locales/be.ts +0 -184
  630. package/node_modules/zod/src/v4/locales/ca.ts +0 -127
  631. package/node_modules/zod/src/v4/locales/cs.ts +0 -142
  632. package/node_modules/zod/src/v4/locales/de.ts +0 -124
  633. package/node_modules/zod/src/v4/locales/en.ts +0 -127
  634. package/node_modules/zod/src/v4/locales/eo.ts +0 -125
  635. package/node_modules/zod/src/v4/locales/es.ts +0 -125
  636. package/node_modules/zod/src/v4/locales/fa.ts +0 -134
  637. package/node_modules/zod/src/v4/locales/fi.ts +0 -131
  638. package/node_modules/zod/src/v4/locales/fr-CA.ts +0 -126
  639. package/node_modules/zod/src/v4/locales/fr.ts +0 -124
  640. package/node_modules/zod/src/v4/locales/he.ts +0 -125
  641. package/node_modules/zod/src/v4/locales/hu.ts +0 -126
  642. package/node_modules/zod/src/v4/locales/id.ts +0 -125
  643. package/node_modules/zod/src/v4/locales/index.ts +0 -39
  644. package/node_modules/zod/src/v4/locales/it.ts +0 -125
  645. package/node_modules/zod/src/v4/locales/ja.ts +0 -122
  646. package/node_modules/zod/src/v4/locales/kh.ts +0 -126
  647. package/node_modules/zod/src/v4/locales/ko.ts +0 -131
  648. package/node_modules/zod/src/v4/locales/mk.ts +0 -127
  649. package/node_modules/zod/src/v4/locales/ms.ts +0 -124
  650. package/node_modules/zod/src/v4/locales/nl.ts +0 -126
  651. package/node_modules/zod/src/v4/locales/no.ts +0 -124
  652. package/node_modules/zod/src/v4/locales/ota.ts +0 -125
  653. package/node_modules/zod/src/v4/locales/pl.ts +0 -126
  654. package/node_modules/zod/src/v4/locales/ps.ts +0 -133
  655. package/node_modules/zod/src/v4/locales/pt.ts +0 -123
  656. package/node_modules/zod/src/v4/locales/ru.ts +0 -184
  657. package/node_modules/zod/src/v4/locales/sl.ts +0 -126
  658. package/node_modules/zod/src/v4/locales/sv.ts +0 -127
  659. package/node_modules/zod/src/v4/locales/ta.ts +0 -125
  660. package/node_modules/zod/src/v4/locales/th.ts +0 -126
  661. package/node_modules/zod/src/v4/locales/tr.ts +0 -121
  662. package/node_modules/zod/src/v4/locales/ua.ts +0 -126
  663. package/node_modules/zod/src/v4/locales/ur.ts +0 -126
  664. package/node_modules/zod/src/v4/locales/vi.ts +0 -125
  665. package/node_modules/zod/src/v4/locales/zh-CN.ts +0 -123
  666. package/node_modules/zod/src/v4/locales/zh-TW.ts +0 -125
  667. package/node_modules/zod/src/v4/mini/checks.ts +0 -32
  668. package/node_modules/zod/src/v4/mini/coerce.ts +0 -22
  669. package/node_modules/zod/src/v4/mini/external.ts +0 -40
  670. package/node_modules/zod/src/v4/mini/index.ts +0 -3
  671. package/node_modules/zod/src/v4/mini/iso.ts +0 -62
  672. package/node_modules/zod/src/v4/mini/parse.ts +0 -1
  673. package/node_modules/zod/src/v4/mini/schemas.ts +0 -1579
  674. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -129
  675. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -51
  676. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -144
  677. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -36
  678. package/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -22
  679. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -43
  680. package/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -871
  681. package/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -95
  682. package/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -185
  683. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -43
  684. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -275
  685. package/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -299
  686. package/node_modules/zod/src/v4-mini/index.ts +0 -1
  687. package/node_modules/zod/v3/ZodError.cjs +0 -138
  688. package/node_modules/zod/v3/ZodError.d.cts +0 -164
  689. package/node_modules/zod/v3/ZodError.d.ts +0 -164
  690. package/node_modules/zod/v3/ZodError.js +0 -133
  691. package/node_modules/zod/v3/errors.cjs +0 -17
  692. package/node_modules/zod/v3/errors.d.cts +0 -5
  693. package/node_modules/zod/v3/errors.d.ts +0 -5
  694. package/node_modules/zod/v3/errors.js +0 -9
  695. package/node_modules/zod/v3/external.cjs +0 -22
  696. package/node_modules/zod/v3/external.d.cts +0 -6
  697. package/node_modules/zod/v3/external.d.ts +0 -6
  698. package/node_modules/zod/v3/external.js +0 -6
  699. package/node_modules/zod/v3/helpers/enumUtil.cjs +0 -2
  700. package/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -8
  701. package/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -8
  702. package/node_modules/zod/v3/helpers/enumUtil.js +0 -1
  703. package/node_modules/zod/v3/helpers/errorUtil.cjs +0 -9
  704. package/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -9
  705. package/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -9
  706. package/node_modules/zod/v3/helpers/errorUtil.js +0 -6
  707. package/node_modules/zod/v3/helpers/parseUtil.cjs +0 -124
  708. package/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -78
  709. package/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -78
  710. package/node_modules/zod/v3/helpers/parseUtil.js +0 -109
  711. package/node_modules/zod/v3/helpers/partialUtil.cjs +0 -2
  712. package/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -8
  713. package/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -8
  714. package/node_modules/zod/v3/helpers/partialUtil.js +0 -1
  715. package/node_modules/zod/v3/helpers/typeAliases.cjs +0 -2
  716. package/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -2
  717. package/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -2
  718. package/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  719. package/node_modules/zod/v3/helpers/util.cjs +0 -137
  720. package/node_modules/zod/v3/helpers/util.d.cts +0 -85
  721. package/node_modules/zod/v3/helpers/util.d.ts +0 -85
  722. package/node_modules/zod/v3/helpers/util.js +0 -133
  723. package/node_modules/zod/v3/index.cjs +0 -33
  724. package/node_modules/zod/v3/index.d.cts +0 -4
  725. package/node_modules/zod/v3/index.d.ts +0 -4
  726. package/node_modules/zod/v3/index.js +0 -4
  727. package/node_modules/zod/v3/locales/en.cjs +0 -111
  728. package/node_modules/zod/v3/locales/en.d.cts +0 -3
  729. package/node_modules/zod/v3/locales/en.d.ts +0 -3
  730. package/node_modules/zod/v3/locales/en.js +0 -109
  731. package/node_modules/zod/v3/standard-schema.cjs +0 -2
  732. package/node_modules/zod/v3/standard-schema.d.cts +0 -102
  733. package/node_modules/zod/v3/standard-schema.d.ts +0 -102
  734. package/node_modules/zod/v3/standard-schema.js +0 -1
  735. package/node_modules/zod/v3/types.cjs +0 -3775
  736. package/node_modules/zod/v3/types.d.cts +0 -1031
  737. package/node_modules/zod/v3/types.d.ts +0 -1031
  738. package/node_modules/zod/v3/types.js +0 -3693
  739. package/node_modules/zod/v4/classic/checks.cjs +0 -32
  740. package/node_modules/zod/v4/classic/checks.d.cts +0 -1
  741. package/node_modules/zod/v4/classic/checks.d.ts +0 -1
  742. package/node_modules/zod/v4/classic/checks.js +0 -1
  743. package/node_modules/zod/v4/classic/coerce.cjs +0 -47
  744. package/node_modules/zod/v4/classic/coerce.d.cts +0 -17
  745. package/node_modules/zod/v4/classic/coerce.d.ts +0 -17
  746. package/node_modules/zod/v4/classic/coerce.js +0 -17
  747. package/node_modules/zod/v4/classic/compat.cjs +0 -57
  748. package/node_modules/zod/v4/classic/compat.d.cts +0 -46
  749. package/node_modules/zod/v4/classic/compat.d.ts +0 -46
  750. package/node_modules/zod/v4/classic/compat.js +0 -27
  751. package/node_modules/zod/v4/classic/errors.cjs +0 -67
  752. package/node_modules/zod/v4/classic/errors.d.cts +0 -30
  753. package/node_modules/zod/v4/classic/errors.d.ts +0 -30
  754. package/node_modules/zod/v4/classic/errors.js +0 -41
  755. package/node_modules/zod/v4/classic/external.cjs +0 -70
  756. package/node_modules/zod/v4/classic/external.d.cts +0 -13
  757. package/node_modules/zod/v4/classic/external.d.ts +0 -13
  758. package/node_modules/zod/v4/classic/external.js +0 -18
  759. package/node_modules/zod/v4/classic/index.cjs +0 -33
  760. package/node_modules/zod/v4/classic/index.d.cts +0 -4
  761. package/node_modules/zod/v4/classic/index.d.ts +0 -4
  762. package/node_modules/zod/v4/classic/index.js +0 -4
  763. package/node_modules/zod/v4/classic/iso.cjs +0 -60
  764. package/node_modules/zod/v4/classic/iso.d.cts +0 -22
  765. package/node_modules/zod/v4/classic/iso.d.ts +0 -22
  766. package/node_modules/zod/v4/classic/iso.js +0 -30
  767. package/node_modules/zod/v4/classic/parse.cjs +0 -32
  768. package/node_modules/zod/v4/classic/parse.d.cts +0 -23
  769. package/node_modules/zod/v4/classic/parse.d.ts +0 -23
  770. package/node_modules/zod/v4/classic/parse.js +0 -6
  771. package/node_modules/zod/v4/classic/schemas.cjs +0 -1109
  772. package/node_modules/zod/v4/classic/schemas.d.cts +0 -630
  773. package/node_modules/zod/v4/classic/schemas.d.ts +0 -630
  774. package/node_modules/zod/v4/classic/schemas.js +0 -1006
  775. package/node_modules/zod/v4/core/api.cjs +0 -1039
  776. package/node_modules/zod/v4/core/api.d.cts +0 -284
  777. package/node_modules/zod/v4/core/api.d.ts +0 -284
  778. package/node_modules/zod/v4/core/api.js +0 -906
  779. package/node_modules/zod/v4/core/checks.cjs +0 -591
  780. package/node_modules/zod/v4/core/checks.d.cts +0 -278
  781. package/node_modules/zod/v4/core/checks.d.ts +0 -278
  782. package/node_modules/zod/v4/core/checks.js +0 -565
  783. package/node_modules/zod/v4/core/core.cjs +0 -67
  784. package/node_modules/zod/v4/core/core.d.cts +0 -49
  785. package/node_modules/zod/v4/core/core.d.ts +0 -49
  786. package/node_modules/zod/v4/core/core.js +0 -61
  787. package/node_modules/zod/v4/core/doc.cjs +0 -39
  788. package/node_modules/zod/v4/core/doc.d.cts +0 -14
  789. package/node_modules/zod/v4/core/doc.d.ts +0 -14
  790. package/node_modules/zod/v4/core/doc.js +0 -35
  791. package/node_modules/zod/v4/core/errors.cjs +0 -226
  792. package/node_modules/zod/v4/core/errors.d.cts +0 -208
  793. package/node_modules/zod/v4/core/errors.d.ts +0 -208
  794. package/node_modules/zod/v4/core/errors.js +0 -195
  795. package/node_modules/zod/v4/core/function.cjs +0 -102
  796. package/node_modules/zod/v4/core/function.d.cts +0 -52
  797. package/node_modules/zod/v4/core/function.d.ts +0 -52
  798. package/node_modules/zod/v4/core/function.js +0 -75
  799. package/node_modules/zod/v4/core/index.cjs +0 -44
  800. package/node_modules/zod/v4/core/index.d.cts +0 -15
  801. package/node_modules/zod/v4/core/index.d.ts +0 -15
  802. package/node_modules/zod/v4/core/index.js +0 -15
  803. package/node_modules/zod/v4/core/json-schema.cjs +0 -2
  804. package/node_modules/zod/v4/core/json-schema.d.cts +0 -87
  805. package/node_modules/zod/v4/core/json-schema.d.ts +0 -87
  806. package/node_modules/zod/v4/core/json-schema.js +0 -1
  807. package/node_modules/zod/v4/core/parse.cjs +0 -87
  808. package/node_modules/zod/v4/core/parse.d.cts +0 -25
  809. package/node_modules/zod/v4/core/parse.d.ts +0 -25
  810. package/node_modules/zod/v4/core/parse.js +0 -57
  811. package/node_modules/zod/v4/core/regexes.cjs +0 -103
  812. package/node_modules/zod/v4/core/regexes.d.cts +0 -62
  813. package/node_modules/zod/v4/core/regexes.d.ts +0 -62
  814. package/node_modules/zod/v4/core/regexes.js +0 -95
  815. package/node_modules/zod/v4/core/registries.cjs +0 -56
  816. package/node_modules/zod/v4/core/registries.d.cts +0 -35
  817. package/node_modules/zod/v4/core/registries.d.ts +0 -35
  818. package/node_modules/zod/v4/core/registries.js +0 -51
  819. package/node_modules/zod/v4/core/schemas.cjs +0 -1748
  820. package/node_modules/zod/v4/core/schemas.d.cts +0 -1041
  821. package/node_modules/zod/v4/core/schemas.d.ts +0 -1041
  822. package/node_modules/zod/v4/core/schemas.js +0 -1717
  823. package/node_modules/zod/v4/core/standard-schema.cjs +0 -2
  824. package/node_modules/zod/v4/core/standard-schema.d.cts +0 -55
  825. package/node_modules/zod/v4/core/standard-schema.d.ts +0 -55
  826. package/node_modules/zod/v4/core/standard-schema.js +0 -1
  827. package/node_modules/zod/v4/core/to-json-schema.cjs +0 -854
  828. package/node_modules/zod/v4/core/to-json-schema.d.cts +0 -88
  829. package/node_modules/zod/v4/core/to-json-schema.d.ts +0 -88
  830. package/node_modules/zod/v4/core/to-json-schema.js +0 -849
  831. package/node_modules/zod/v4/core/util.cjs +0 -539
  832. package/node_modules/zod/v4/core/util.d.cts +0 -183
  833. package/node_modules/zod/v4/core/util.d.ts +0 -183
  834. package/node_modules/zod/v4/core/util.js +0 -493
  835. package/node_modules/zod/v4/core/versions.cjs +0 -8
  836. package/node_modules/zod/v4/core/versions.d.cts +0 -5
  837. package/node_modules/zod/v4/core/versions.d.ts +0 -5
  838. package/node_modules/zod/v4/core/versions.js +0 -5
  839. package/node_modules/zod/v4/index.cjs +0 -22
  840. package/node_modules/zod/v4/index.d.cts +0 -3
  841. package/node_modules/zod/v4/index.d.ts +0 -3
  842. package/node_modules/zod/v4/index.js +0 -3
  843. package/node_modules/zod/v4/locales/ar.cjs +0 -142
  844. package/node_modules/zod/v4/locales/ar.d.cts +0 -4
  845. package/node_modules/zod/v4/locales/ar.d.ts +0 -4
  846. package/node_modules/zod/v4/locales/ar.js +0 -116
  847. package/node_modules/zod/v4/locales/az.cjs +0 -141
  848. package/node_modules/zod/v4/locales/az.d.cts +0 -4
  849. package/node_modules/zod/v4/locales/az.d.ts +0 -4
  850. package/node_modules/zod/v4/locales/az.js +0 -115
  851. package/node_modules/zod/v4/locales/be.cjs +0 -190
  852. package/node_modules/zod/v4/locales/be.d.cts +0 -4
  853. package/node_modules/zod/v4/locales/be.d.ts +0 -4
  854. package/node_modules/zod/v4/locales/be.js +0 -164
  855. package/node_modules/zod/v4/locales/ca.cjs +0 -144
  856. package/node_modules/zod/v4/locales/ca.d.cts +0 -4
  857. package/node_modules/zod/v4/locales/ca.d.ts +0 -4
  858. package/node_modules/zod/v4/locales/ca.js +0 -118
  859. package/node_modules/zod/v4/locales/cs.cjs +0 -161
  860. package/node_modules/zod/v4/locales/cs.d.cts +0 -4
  861. package/node_modules/zod/v4/locales/cs.d.ts +0 -4
  862. package/node_modules/zod/v4/locales/cs.js +0 -135
  863. package/node_modules/zod/v4/locales/de.cjs +0 -142
  864. package/node_modules/zod/v4/locales/de.d.cts +0 -4
  865. package/node_modules/zod/v4/locales/de.d.ts +0 -4
  866. package/node_modules/zod/v4/locales/de.js +0 -116
  867. package/node_modules/zod/v4/locales/en.cjs +0 -145
  868. package/node_modules/zod/v4/locales/en.d.cts +0 -5
  869. package/node_modules/zod/v4/locales/en.d.ts +0 -5
  870. package/node_modules/zod/v4/locales/en.js +0 -117
  871. package/node_modules/zod/v4/locales/eo.cjs +0 -144
  872. package/node_modules/zod/v4/locales/eo.d.cts +0 -5
  873. package/node_modules/zod/v4/locales/eo.d.ts +0 -5
  874. package/node_modules/zod/v4/locales/eo.js +0 -116
  875. package/node_modules/zod/v4/locales/es.cjs +0 -143
  876. package/node_modules/zod/v4/locales/es.d.cts +0 -4
  877. package/node_modules/zod/v4/locales/es.d.ts +0 -4
  878. package/node_modules/zod/v4/locales/es.js +0 -117
  879. package/node_modules/zod/v4/locales/fa.cjs +0 -148
  880. package/node_modules/zod/v4/locales/fa.d.cts +0 -4
  881. package/node_modules/zod/v4/locales/fa.d.ts +0 -4
  882. package/node_modules/zod/v4/locales/fa.js +0 -122
  883. package/node_modules/zod/v4/locales/fi.cjs +0 -148
  884. package/node_modules/zod/v4/locales/fi.d.cts +0 -4
  885. package/node_modules/zod/v4/locales/fi.d.ts +0 -4
  886. package/node_modules/zod/v4/locales/fi.js +0 -122
  887. package/node_modules/zod/v4/locales/fr-CA.cjs +0 -143
  888. package/node_modules/zod/v4/locales/fr-CA.d.cts +0 -4
  889. package/node_modules/zod/v4/locales/fr-CA.d.ts +0 -4
  890. package/node_modules/zod/v4/locales/fr-CA.js +0 -117
  891. package/node_modules/zod/v4/locales/fr.cjs +0 -142
  892. package/node_modules/zod/v4/locales/fr.d.cts +0 -4
  893. package/node_modules/zod/v4/locales/fr.d.ts +0 -4
  894. package/node_modules/zod/v4/locales/fr.js +0 -116
  895. package/node_modules/zod/v4/locales/he.cjs +0 -143
  896. package/node_modules/zod/v4/locales/he.d.cts +0 -4
  897. package/node_modules/zod/v4/locales/he.d.ts +0 -4
  898. package/node_modules/zod/v4/locales/he.js +0 -117
  899. package/node_modules/zod/v4/locales/hu.cjs +0 -143
  900. package/node_modules/zod/v4/locales/hu.d.cts +0 -4
  901. package/node_modules/zod/v4/locales/hu.d.ts +0 -4
  902. package/node_modules/zod/v4/locales/hu.js +0 -117
  903. package/node_modules/zod/v4/locales/id.cjs +0 -142
  904. package/node_modules/zod/v4/locales/id.d.cts +0 -4
  905. package/node_modules/zod/v4/locales/id.d.ts +0 -4
  906. package/node_modules/zod/v4/locales/id.js +0 -116
  907. package/node_modules/zod/v4/locales/index.cjs +0 -84
  908. package/node_modules/zod/v4/locales/index.d.cts +0 -39
  909. package/node_modules/zod/v4/locales/index.d.ts +0 -39
  910. package/node_modules/zod/v4/locales/index.js +0 -39
  911. package/node_modules/zod/v4/locales/it.cjs +0 -143
  912. package/node_modules/zod/v4/locales/it.d.cts +0 -4
  913. package/node_modules/zod/v4/locales/it.d.ts +0 -4
  914. package/node_modules/zod/v4/locales/it.js +0 -117
  915. package/node_modules/zod/v4/locales/ja.cjs +0 -141
  916. package/node_modules/zod/v4/locales/ja.d.cts +0 -4
  917. package/node_modules/zod/v4/locales/ja.d.ts +0 -4
  918. package/node_modules/zod/v4/locales/ja.js +0 -115
  919. package/node_modules/zod/v4/locales/kh.cjs +0 -143
  920. package/node_modules/zod/v4/locales/kh.d.cts +0 -4
  921. package/node_modules/zod/v4/locales/kh.d.ts +0 -4
  922. package/node_modules/zod/v4/locales/kh.js +0 -117
  923. package/node_modules/zod/v4/locales/ko.cjs +0 -147
  924. package/node_modules/zod/v4/locales/ko.d.cts +0 -4
  925. package/node_modules/zod/v4/locales/ko.d.ts +0 -4
  926. package/node_modules/zod/v4/locales/ko.js +0 -121
  927. package/node_modules/zod/v4/locales/mk.cjs +0 -144
  928. package/node_modules/zod/v4/locales/mk.d.cts +0 -4
  929. package/node_modules/zod/v4/locales/mk.d.ts +0 -4
  930. package/node_modules/zod/v4/locales/mk.js +0 -118
  931. package/node_modules/zod/v4/locales/ms.cjs +0 -142
  932. package/node_modules/zod/v4/locales/ms.d.cts +0 -4
  933. package/node_modules/zod/v4/locales/ms.d.ts +0 -4
  934. package/node_modules/zod/v4/locales/ms.js +0 -116
  935. package/node_modules/zod/v4/locales/nl.cjs +0 -143
  936. package/node_modules/zod/v4/locales/nl.d.cts +0 -4
  937. package/node_modules/zod/v4/locales/nl.d.ts +0 -4
  938. package/node_modules/zod/v4/locales/nl.js +0 -117
  939. package/node_modules/zod/v4/locales/no.cjs +0 -142
  940. package/node_modules/zod/v4/locales/no.d.cts +0 -4
  941. package/node_modules/zod/v4/locales/no.d.ts +0 -4
  942. package/node_modules/zod/v4/locales/no.js +0 -116
  943. package/node_modules/zod/v4/locales/ota.cjs +0 -143
  944. package/node_modules/zod/v4/locales/ota.d.cts +0 -4
  945. package/node_modules/zod/v4/locales/ota.d.ts +0 -4
  946. package/node_modules/zod/v4/locales/ota.js +0 -117
  947. package/node_modules/zod/v4/locales/pl.cjs +0 -143
  948. package/node_modules/zod/v4/locales/pl.d.cts +0 -4
  949. package/node_modules/zod/v4/locales/pl.d.ts +0 -4
  950. package/node_modules/zod/v4/locales/pl.js +0 -117
  951. package/node_modules/zod/v4/locales/ps.cjs +0 -148
  952. package/node_modules/zod/v4/locales/ps.d.cts +0 -4
  953. package/node_modules/zod/v4/locales/ps.d.ts +0 -4
  954. package/node_modules/zod/v4/locales/ps.js +0 -122
  955. package/node_modules/zod/v4/locales/pt.cjs +0 -142
  956. package/node_modules/zod/v4/locales/pt.d.cts +0 -4
  957. package/node_modules/zod/v4/locales/pt.d.ts +0 -4
  958. package/node_modules/zod/v4/locales/pt.js +0 -116
  959. package/node_modules/zod/v4/locales/ru.cjs +0 -190
  960. package/node_modules/zod/v4/locales/ru.d.cts +0 -4
  961. package/node_modules/zod/v4/locales/ru.d.ts +0 -4
  962. package/node_modules/zod/v4/locales/ru.js +0 -164
  963. package/node_modules/zod/v4/locales/sl.cjs +0 -143
  964. package/node_modules/zod/v4/locales/sl.d.cts +0 -4
  965. package/node_modules/zod/v4/locales/sl.d.ts +0 -4
  966. package/node_modules/zod/v4/locales/sl.js +0 -117
  967. package/node_modules/zod/v4/locales/sv.cjs +0 -144
  968. package/node_modules/zod/v4/locales/sv.d.cts +0 -4
  969. package/node_modules/zod/v4/locales/sv.d.ts +0 -4
  970. package/node_modules/zod/v4/locales/sv.js +0 -118
  971. package/node_modules/zod/v4/locales/ta.cjs +0 -143
  972. package/node_modules/zod/v4/locales/ta.d.cts +0 -4
  973. package/node_modules/zod/v4/locales/ta.d.ts +0 -4
  974. package/node_modules/zod/v4/locales/ta.js +0 -117
  975. package/node_modules/zod/v4/locales/th.cjs +0 -143
  976. package/node_modules/zod/v4/locales/th.d.cts +0 -4
  977. package/node_modules/zod/v4/locales/th.d.ts +0 -4
  978. package/node_modules/zod/v4/locales/th.js +0 -117
  979. package/node_modules/zod/v4/locales/tr.cjs +0 -143
  980. package/node_modules/zod/v4/locales/tr.d.cts +0 -5
  981. package/node_modules/zod/v4/locales/tr.d.ts +0 -5
  982. package/node_modules/zod/v4/locales/tr.js +0 -115
  983. package/node_modules/zod/v4/locales/ua.cjs +0 -143
  984. package/node_modules/zod/v4/locales/ua.d.cts +0 -4
  985. package/node_modules/zod/v4/locales/ua.d.ts +0 -4
  986. package/node_modules/zod/v4/locales/ua.js +0 -117
  987. package/node_modules/zod/v4/locales/ur.cjs +0 -143
  988. package/node_modules/zod/v4/locales/ur.d.cts +0 -4
  989. package/node_modules/zod/v4/locales/ur.d.ts +0 -4
  990. package/node_modules/zod/v4/locales/ur.js +0 -117
  991. package/node_modules/zod/v4/locales/vi.cjs +0 -142
  992. package/node_modules/zod/v4/locales/vi.d.cts +0 -4
  993. package/node_modules/zod/v4/locales/vi.d.ts +0 -4
  994. package/node_modules/zod/v4/locales/vi.js +0 -116
  995. package/node_modules/zod/v4/locales/zh-CN.cjs +0 -142
  996. package/node_modules/zod/v4/locales/zh-CN.d.cts +0 -4
  997. package/node_modules/zod/v4/locales/zh-CN.d.ts +0 -4
  998. package/node_modules/zod/v4/locales/zh-CN.js +0 -116
  999. package/node_modules/zod/v4/locales/zh-TW.cjs +0 -143
  1000. package/node_modules/zod/v4/locales/zh-TW.d.cts +0 -4
  1001. package/node_modules/zod/v4/locales/zh-TW.d.ts +0 -4
  1002. package/node_modules/zod/v4/locales/zh-TW.js +0 -117
  1003. package/node_modules/zod/v4/mini/checks.cjs +0 -34
  1004. package/node_modules/zod/v4/mini/checks.d.cts +0 -1
  1005. package/node_modules/zod/v4/mini/checks.d.ts +0 -1
  1006. package/node_modules/zod/v4/mini/checks.js +0 -1
  1007. package/node_modules/zod/v4/mini/coerce.cjs +0 -47
  1008. package/node_modules/zod/v4/mini/coerce.d.cts +0 -7
  1009. package/node_modules/zod/v4/mini/coerce.d.ts +0 -7
  1010. package/node_modules/zod/v4/mini/coerce.js +0 -17
  1011. package/node_modules/zod/v4/mini/external.cjs +0 -62
  1012. package/node_modules/zod/v4/mini/external.d.cts +0 -11
  1013. package/node_modules/zod/v4/mini/external.d.ts +0 -11
  1014. package/node_modules/zod/v4/mini/external.js +0 -13
  1015. package/node_modules/zod/v4/mini/index.cjs +0 -32
  1016. package/node_modules/zod/v4/mini/index.d.cts +0 -3
  1017. package/node_modules/zod/v4/mini/index.d.ts +0 -3
  1018. package/node_modules/zod/v4/mini/index.js +0 -3
  1019. package/node_modules/zod/v4/mini/iso.cjs +0 -60
  1020. package/node_modules/zod/v4/mini/iso.d.cts +0 -22
  1021. package/node_modules/zod/v4/mini/iso.d.ts +0 -22
  1022. package/node_modules/zod/v4/mini/iso.js +0 -30
  1023. package/node_modules/zod/v4/mini/parse.cjs +0 -8
  1024. package/node_modules/zod/v4/mini/parse.d.cts +0 -1
  1025. package/node_modules/zod/v4/mini/parse.d.ts +0 -1
  1026. package/node_modules/zod/v4/mini/parse.js +0 -1
  1027. package/node_modules/zod/v4/mini/schemas.cjs +0 -839
  1028. package/node_modules/zod/v4/mini/schemas.d.cts +0 -356
  1029. package/node_modules/zod/v4/mini/schemas.d.ts +0 -356
  1030. package/node_modules/zod/v4/mini/schemas.js +0 -732
  1031. package/node_modules/zod/v4-mini/index.cjs +0 -17
  1032. package/node_modules/zod/v4-mini/index.d.cts +0 -1
  1033. package/node_modules/zod/v4-mini/index.d.ts +0 -1
  1034. package/node_modules/zod/v4-mini/index.js +0 -1
@@ -1,138 +0,0 @@
1
- /**
2
- * Decoding support for encoded credential formats (`decode` on a
3
- * `credentials.files` entry). Currently JWT only.
4
- *
5
- * Pure helpers: the default extraction pattern for finding JWT candidates
6
- * in a file, the verification predicate that confirms a candidate actually
7
- * is a JWT before it gets masked, and the minting of a JWT-shaped fake to
8
- * stand in for the real token inside the sandbox.
9
- */
10
- import { SENTINEL_PREFIX } from './credential-sentinel.js';
11
- /**
12
- * Default `extract` pattern for `decode: "jwt"` entries.
13
- *
14
- * A JWT's first segment is the base64url encoding of a JSON header that
15
- * starts `{"` (it always declares `alg`/`typ`), and base64url of `{"` is
16
- * `eyJ` — so every JWT starts with `eyJ`. Capture group 1 is the whole
17
- * three-segment token. The pattern over-matches (any eyJ-prefixed
18
- * base64url triple); {@link verifyJwt} filters the false positives.
19
- */
20
- export const JWT_DEFAULT_EXTRACT_PATTERN = '(eyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+)';
21
- /** Parse a base64url segment as JSON, or undefined if either step fails. */
22
- function decodeSegment(segment) {
23
- try {
24
- return JSON.parse(Buffer.from(segment, 'base64url').toString('utf8'));
25
- }
26
- catch {
27
- return undefined;
28
- }
29
- }
30
- /**
31
- * True when `candidate` is structurally a JWT: three dot-separated
32
- * segments, the first two base64url-decoding to JSON, and the header
33
- * (segment 1) declaring an `alg` property.
34
- *
35
- * Used to filter extraction candidates before masking — a regex match
36
- * that fails this check (e.g. a random base64 blob the default pattern
37
- * over-matched) is left untouched rather than masked.
38
- */
39
- export function verifyJwt(candidate) {
40
- const parts = candidate.split('.');
41
- if (parts.length !== 3)
42
- return false;
43
- const header = decodeSegment(parts[0]);
44
- if (typeof header !== 'object' || header === null || !('alg' in header)) {
45
- return false;
46
- }
47
- return decodeSegment(parts[1]) !== undefined;
48
- }
49
- /**
50
- * Fixed far-future `exp` claim for fake JWTs (2286-11-20). A constant, not
51
- * an offset from now, so the fake is fully deterministic given the uuid.
52
- */
53
- const FAKE_JWT_EXP = 9999999999;
54
- /** Fixed signature filler: base64url("srt-fake"). Never a valid signature. */
55
- const FAKE_JWT_SIGNATURE = 'c3J0LWZha2U';
56
- function base64url(s) {
57
- return Buffer.from(s, 'utf8').toString('base64url');
58
- }
59
- /**
60
- * Mint a structurally valid fake JWT carrying the sentinel identity
61
- * `fake_value_<uuid>` in its `sub` claim. Deterministic given `uuid`.
62
- *
63
- * The fake is parseable by client-side JWT handling (three segments, JSON
64
- * header/payload, far-future `exp`), so a tool inside the sandbox that
65
- * inspects the token before sending it doesn't break. The header says
66
- * `alg: HS256` — NOT `alg: none` — deliberately: misconfigured validators
67
- * accept `alg: none` tokens as valid, whereas an HS256 header forces every
68
- * validator to attempt signature verification and reject the garbage
69
- * signature. So if the fake ever reaches a verifier unswapped (e.g. sent
70
- * to a non-injectHosts destination, the designed fail-closed pass-through),
71
- * it is cryptographically rejected.
72
- */
73
- export function mintFakeJwt(uuid) {
74
- const header = base64url(JSON.stringify({ alg: 'HS256', typ: 'JWT' }));
75
- const payload = base64url(JSON.stringify({ sub: SENTINEL_PREFIX + uuid, exp: FAKE_JWT_EXP }));
76
- return `${header}.${payload}.${FAKE_JWT_SIGNATURE}`;
77
- }
78
- /**
79
- * Claim-level masking for a verified JWT: replace each named top-level
80
- * payload claim that is present with a string value by a caller-provided
81
- * sentinel, and rebuild the token around the modified payload.
82
- *
83
- * The rebuilt token is `header.payload'.signature-filler`:
84
- *
85
- * - **Header**: the original base64url segment is reused verbatim, so the
86
- * token still advertises the real `alg`/`typ`/`kid` and client-side
87
- * header inspection sees exactly what it would outside the sandbox.
88
- * - **Payload**: the decoded object with the named claims swapped for
89
- * sentinels, re-encoded with `JSON.stringify`. Key order and whitespace
90
- * inside the payload segment may differ from the original encoding —
91
- * irrelevant to any JSON consumer, and the segment bytes change anyway
92
- * because a claim value changed.
93
- * - **Signature**: the fixed filler from {@link mintFakeJwt}, NOT the real
94
- * signature. For RS/ES algorithms signature verification needs only the
95
- * public key, so shipping the real signature over a modified payload
96
- * would hand the sandbox an offline brute-force oracle for a low-entropy
97
- * masked claim (guess the claim, re-encode, verify). The filler also
98
- * keeps the fake a non-credential end to end, consistent with the
99
- * garbage-signature rationale in {@link mintFakeJwt}.
100
- *
101
- * Claims that are absent from the payload, or present with a non-string
102
- * value, are skipped (the caller logs them). Returns `null` — without
103
- * invoking `sentinelFor` — when no named claim matched, or when the
104
- * payload does not decode to a JSON object; the caller routes that
105
- * through its no-match policy.
106
- *
107
- * Pure on `token`/`claims`; the callback may close over a registry.
108
- */
109
- export function maskJwtClaims(token, claims, sentinelFor) {
110
- const [headerSeg, payloadSeg] = token.split('.');
111
- const payload = decodeSegment(payloadSeg ?? '');
112
- // verifyJwt only guarantees the payload is JSON — it could still be a
113
- // scalar or array, which has no claims to mask.
114
- if (typeof payload !== 'object' || payload === null || Array.isArray(payload))
115
- return null;
116
- const record = payload;
117
- // Collect matches before minting any sentinel, so a null return never
118
- // leaves an orphaned registration behind in the caller's registry.
119
- const matched = [];
120
- for (const claim of claims) {
121
- const value = record[claim];
122
- if (typeof value === 'string')
123
- matched.push([claim, value]);
124
- }
125
- if (matched.length === 0)
126
- return null;
127
- const claimSentinels = new Map();
128
- for (const [claim, value] of matched) {
129
- const sentinel = sentinelFor(claim, value);
130
- record[claim] = sentinel;
131
- claimSentinels.set(claim, sentinel);
132
- }
133
- return {
134
- fakeToken: `${headerSeg}.${base64url(JSON.stringify(record))}.${FAKE_JWT_SIGNATURE}`,
135
- claimSentinels,
136
- };
137
- }
138
- //# sourceMappingURL=credential-decode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-decode.js","sourceRoot":"","sources":["../../src/sandbox/credential-decode.ts"],"names":[],"mappings":"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"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Structured credential extraction, shared by file masking
3
- * (credential-mask-files.ts) and env-var masking (credential-mask-env.ts).
4
- *
5
- * `extract` is a regex whose capture group 1 picks the credential value(s)
6
- * out of a larger text (a config file, a connection-string env var). Only
7
- * the captured span(s) are replaced with sentinels; the rest of the text is
8
- * preserved byte-for-byte so parsers still succeed inside the sandbox.
9
- */
10
- /**
11
- * Result of {@link extractAndSubstitute}: the content with each matched
12
- * capture-group-1 span replaced by `sentinelFor(capture, i)`, plus the
13
- * distinct captured values in first-seen (index) order.
14
- */
15
- export interface ExtractResult {
16
- fakeContent: string;
17
- captures: string[];
18
- }
19
- /** Options for {@link extractAndSubstitute}. */
20
- export interface ExtractOptions {
21
- /**
22
- * If true, verbatim occurrences of each captured value *outside* the
23
- * regex-matched spans are also replaced with that capture's sentinel —
24
- * for a secret repeated where the regex does not reach (e.g. pasted
25
- * into a comment). The scan matches raw substrings: a short or common
26
- * captured value may corrupt unrelated content that happens to contain
27
- * it, so this option is intended for long, high-entropy secrets.
28
- */
29
- maskDuplicates?: boolean;
30
- }
31
- /**
32
- * Apply `pattern` globally to `content` and return `content` with each
33
- * matched capture-group-1 span replaced by `sentinelFor(capture, i)`,
34
- * where `i` is the zero-based index of the distinct captured value in
35
- * first-seen order.
36
- *
37
- * Offset-based: the regex `d` flag exposes capture-group offsets, so the
38
- * output is built by slicing between spans and splicing the sentinel in
39
- * at the exact `[start, end)` of group 1. By default only the
40
- * regex-matched span is replaced — a captured value that coincidentally
41
- * appears elsewhere in the content (outside any match) is left intact. No
42
- * placeholder pass, no substring-ordering concern.
43
- *
44
- * With `maskDuplicates` (see {@link ExtractOptions}), an indexOf scan
45
- * additionally collects every verbatim occurrence of each captured value
46
- * elsewhere in the content. All spans are computed against the ORIGINAL
47
- * content — never the partially substituted output — so an inserted
48
- * sentinel can never be re-matched and corrupted, even when a captured
49
- * value is a substring of the sentinel literal. Regex-match spans win
50
- * over verbatim ones, and verbatim scans run longest-capture-first so a
51
- * shorter capture that is a substring of a longer one cannot claim part
52
- * of the longer secret's occurrence. A capture the callback declined to
53
- * mask (returned unchanged — the decode-verification gate) is excluded
54
- * from the verbatim scan.
55
- *
56
- * Returns `null` when the pattern matches nothing — the caller routes
57
- * that per the entry's `onExtractNoMatch` option (warn / deny / error).
58
- *
59
- * Throws when a match has no group-1 capture. The schema already rejects
60
- * patterns with zero groups, so this only fires when group 1 is optional
61
- * and absent for some match (e.g. `"token: (\\S+)?"`); accepting that
62
- * would silently mask nothing for that occurrence.
63
- *
64
- * Pure on `content`/`pattern`; the callback may close over a registry.
65
- */
66
- export declare function extractAndSubstitute(content: string, pattern: string, sentinelFor: (capture: string, index: number) => string, options?: ExtractOptions): ExtractResult | null;
67
- //# sourceMappingURL=credential-extract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-extract.d.ts","sourceRoot":"","sources":["../../src/sandbox/credential-extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAWD,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,EACvD,OAAO,GAAE,cAAmB,GAC3B,aAAa,GAAG,IAAI,CAuEtB"}
@@ -1,113 +0,0 @@
1
- /**
2
- * Structured credential extraction, shared by file masking
3
- * (credential-mask-files.ts) and env-var masking (credential-mask-env.ts).
4
- *
5
- * `extract` is a regex whose capture group 1 picks the credential value(s)
6
- * out of a larger text (a config file, a connection-string env var). Only
7
- * the captured span(s) are replaced with sentinels; the rest of the text is
8
- * preserved byte-for-byte so parsers still succeed inside the sandbox.
9
- */
10
- /**
11
- * Apply `pattern` globally to `content` and return `content` with each
12
- * matched capture-group-1 span replaced by `sentinelFor(capture, i)`,
13
- * where `i` is the zero-based index of the distinct captured value in
14
- * first-seen order.
15
- *
16
- * Offset-based: the regex `d` flag exposes capture-group offsets, so the
17
- * output is built by slicing between spans and splicing the sentinel in
18
- * at the exact `[start, end)` of group 1. By default only the
19
- * regex-matched span is replaced — a captured value that coincidentally
20
- * appears elsewhere in the content (outside any match) is left intact. No
21
- * placeholder pass, no substring-ordering concern.
22
- *
23
- * With `maskDuplicates` (see {@link ExtractOptions}), an indexOf scan
24
- * additionally collects every verbatim occurrence of each captured value
25
- * elsewhere in the content. All spans are computed against the ORIGINAL
26
- * content — never the partially substituted output — so an inserted
27
- * sentinel can never be re-matched and corrupted, even when a captured
28
- * value is a substring of the sentinel literal. Regex-match spans win
29
- * over verbatim ones, and verbatim scans run longest-capture-first so a
30
- * shorter capture that is a substring of a longer one cannot claim part
31
- * of the longer secret's occurrence. A capture the callback declined to
32
- * mask (returned unchanged — the decode-verification gate) is excluded
33
- * from the verbatim scan.
34
- *
35
- * Returns `null` when the pattern matches nothing — the caller routes
36
- * that per the entry's `onExtractNoMatch` option (warn / deny / error).
37
- *
38
- * Throws when a match has no group-1 capture. The schema already rejects
39
- * patterns with zero groups, so this only fires when group 1 is optional
40
- * and absent for some match (e.g. `"token: (\\S+)?"`); accepting that
41
- * would silently mask nothing for that occurrence.
42
- *
43
- * Pure on `content`/`pattern`; the callback may close over a registry.
44
- */
45
- export function extractAndSubstitute(content, pattern, sentinelFor, options = {}) {
46
- // The schema validates `pattern` compiles; `g` makes matchAll iterate
47
- // every occurrence and `d` populates `m.indices` with group offsets.
48
- const re = new RegExp(pattern, 'gd');
49
- const indexByCapture = new Map();
50
- // First sentinel returned per capture — reused for verbatim spans so
51
- // the duplicate pass never re-invokes the callback.
52
- const sentinelByCapture = new Map();
53
- const spans = [];
54
- for (const m of content.matchAll(re)) {
55
- const cap = m[1];
56
- if (cap === undefined) {
57
- throw new Error(`extract pattern /${pattern}/ matched at offset ${m.index} but ` +
58
- `capture group 1 is undefined — group 1 must capture the ` +
59
- `credential value on every match.`);
60
- }
61
- // Empty captures are skipped: a zero-width span has nothing to mask.
62
- if (cap.length === 0)
63
- continue;
64
- let i = indexByCapture.get(cap);
65
- if (i === undefined)
66
- indexByCapture.set(cap, (i = indexByCapture.size));
67
- const [start, end] = m.indices[1];
68
- const sentinel = sentinelFor(cap, i);
69
- if (!sentinelByCapture.has(cap))
70
- sentinelByCapture.set(cap, sentinel);
71
- spans.push({ start, end, sentinel });
72
- }
73
- if (indexByCapture.size === 0)
74
- return null;
75
- if (options.maskDuplicates) {
76
- // Longest capture first: a shorter capture that is a substring of a
77
- // longer one would otherwise claim part of the longer secret's
78
- // occurrence and leave the remainder exposed.
79
- const byLength = [...indexByCapture.keys()].sort((a, b) => b.length - a.length);
80
- for (const cap of byLength) {
81
- const sentinel = sentinelByCapture.get(cap);
82
- // The callback declines masking by returning the capture itself
83
- // (decode verification failed). Replacing a value with itself is a
84
- // no-op, and its spans must not block other captures' duplicates —
85
- // skip declined captures entirely.
86
- if (sentinel === cap)
87
- continue;
88
- for (let start = content.indexOf(cap); start !== -1; start = content.indexOf(cap, start + 1)) {
89
- const end = start + cap.length;
90
- // Spans already collected (regex matches, then earlier — longer —
91
- // captures' verbatim occurrences) win over this occurrence.
92
- if (spans.some(s => start < s.end && s.start < end))
93
- continue;
94
- spans.push({ start, end, sentinel });
95
- }
96
- }
97
- spans.sort((a, b) => a.start - b.start);
98
- }
99
- // Spans are non-overlapping and sorted by offset (matchAll yields
100
- // matches in order; the verbatim pass re-sorts), so a single
101
- // slice-and-concat pass over the original content is sound.
102
- let out = '';
103
- let pos = 0;
104
- for (const s of spans) {
105
- out += content.slice(pos, s.start) + s.sentinel;
106
- pos = s.end;
107
- }
108
- return {
109
- fakeContent: out + content.slice(pos),
110
- captures: [...indexByCapture.keys()],
111
- };
112
- }
113
- //# sourceMappingURL=credential-extract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-extract.js","sourceRoot":"","sources":["../../src/sandbox/credential-extract.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * Credential env-var masking.
3
- *
4
- * For a `credentials.envVars` entry with `mode: "mask"`, srt reads the real
5
- * value from the host environment, registers one or more sentinels in the
6
- * {@link SentinelRegistry}, and sets the variable to the fake value inside
7
- * the sandbox (bwrap `--setenv` on Linux, the env preamble on macOS). The
8
- * proxy substitutes sentinel→real on egress to the entry's injectHosts.
9
- *
10
- * Without `extract`, masking is **whole-value**: one sentinel replaces the
11
- * entire value. With `extract`, masking is **structured**: a regex picks
12
- * out the credential span(s) and only those are replaced, so a tool that
13
- * parses the value (e.g. a `DATABASE_URL` connection string) still sees
14
- * valid syntax. See {@link extractAndSubstitute} and
15
- * {@link CredentialEnvVarConfigSchema}.
16
- */
17
- import type { CredentialEnvVarConfig } from './sandbox-config.js';
18
- import type { SentinelRegistry } from './credential-sentinel.js';
19
- /** Result of {@link buildMaskedEnvVars}. */
20
- export interface MaskedEnvBuildResult {
21
- /** NAME → fake value to set inside the sandbox. */
22
- setEnvVars: Record<string, string>;
23
- /**
24
- * Names of `mode: "mask"` entries that degraded to unset at runtime —
25
- * populated when `extract` matches nothing and the entry's
26
- * `onExtractNoMatch` is `"deny"`. Callers union these into the
27
- * unset-env set so the credential value is withheld rather than
28
- * exposed (the env analog of a file degrading to `mode: "deny"`).
29
- */
30
- degradeToUnsetNames: string[];
31
- }
32
- /**
33
- * For each `mode: "mask"` env-var entry: read the real value from `env`,
34
- * build the fake value (whole-value or structured per `extract`), register
35
- * sentinels in `registry`, and return the set-env map plus any entries
36
- * that degraded to unset.
37
- *
38
- * Whole-value mode (no `extract`): one sentinel keyed on the bare variable
39
- * name whose real value is the entire env value; the fake value *is* the
40
- * sentinel.
41
- *
42
- * Structured mode (`extract` set): one sentinel per distinct captured
43
- * value, keyed `env:<NAME>#<i>`; the fake value is the real value with
44
- * each captured span replaced by its sentinel. If the regex matches
45
- * nothing, the entry's `onExtractNoMatch` decides:
46
- * - `"warn"` (default): skip the entry with a loud stderr warning —
47
- * fail-open, the variable passes through with its real value;
48
- * - `"deny"`: push the name to `degradeToUnsetNames` — fail-closed, the
49
- * variable is unset inside the sandbox;
50
- * - `"error"`: throw, so nothing runs until the regex is fixed.
51
- *
52
- * Decoded mode (`decode: "jwt"`): the whole value is verified as a JWT
53
- * and replaced by a JWT-shaped fake registered as a caller-minted
54
- * sentinel; with `maskClaims`, each named top-level payload claim present
55
- * with a string value gets its own sentinel (keyed `env:<NAME>#<claim>`)
56
- * and the token is rebuilt around the modified payload — BOTH the whole
57
- * rebuilt token and each claim sentinel are registered under the same
58
- * injectHosts. A value that does not verify — or, with `maskClaims`,
59
- * verifies but has no named claim present as a string — fails open with a
60
- * loud stderr warning.
61
- *
62
- * A masked variable with no value in `env` is skipped — there is nothing
63
- * to protect, and emitting an unset (or set) var would change tool
64
- * behaviour (presence checks would flip).
65
- *
66
- * `mode: "deny"` entries are ignored here; the caller handles them
67
- * directly (they need no registry or host environment access).
68
- */
69
- export declare function buildMaskedEnvVars(envVars: readonly CredentialEnvVarConfig[], allowedDomains: readonly string[], registry: SentinelRegistry, env?: Record<string, string | undefined>): MaskedEnvBuildResult;
70
- //# sourceMappingURL=credential-mask-env.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-mask-env.d.ts","sourceRoot":"","sources":["../../src/sandbox/credential-mask-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAUhE,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC;;;;;;OAMG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,oBAAoB,CA2ItB"}
@@ -1,171 +0,0 @@
1
- /**
2
- * Credential env-var masking.
3
- *
4
- * For a `credentials.envVars` entry with `mode: "mask"`, srt reads the real
5
- * value from the host environment, registers one or more sentinels in the
6
- * {@link SentinelRegistry}, and sets the variable to the fake value inside
7
- * the sandbox (bwrap `--setenv` on Linux, the env preamble on macOS). The
8
- * proxy substitutes sentinel→real on egress to the entry's injectHosts.
9
- *
10
- * Without `extract`, masking is **whole-value**: one sentinel replaces the
11
- * entire value. With `extract`, masking is **structured**: a regex picks
12
- * out the credential span(s) and only those are replaced, so a tool that
13
- * parses the value (e.g. a `DATABASE_URL` connection string) still sees
14
- * valid syntax. See {@link extractAndSubstitute} and
15
- * {@link CredentialEnvVarConfigSchema}.
16
- */
17
- import { randomUUID } from 'node:crypto';
18
- import { logForDebugging } from '../utils/debug.js';
19
- import { maskJwtClaims, mintFakeJwt, verifyJwt } from './credential-decode.js';
20
- import { extractAndSubstitute } from './credential-extract.js';
21
- /**
22
- * Sentinel-registry key prefix for structured (extract) env-var captures.
23
- * Whole-value env masking keys on the bare variable name; extract captures
24
- * key on `env:<NAME>#<i>` so the two forms — and masked files, which use
25
- * `file:<path>` — can never collide (env var names cannot contain `:`).
26
- */
27
- const ENV_EXTRACT_KEY_PREFIX = 'env:';
28
- /**
29
- * For each `mode: "mask"` env-var entry: read the real value from `env`,
30
- * build the fake value (whole-value or structured per `extract`), register
31
- * sentinels in `registry`, and return the set-env map plus any entries
32
- * that degraded to unset.
33
- *
34
- * Whole-value mode (no `extract`): one sentinel keyed on the bare variable
35
- * name whose real value is the entire env value; the fake value *is* the
36
- * sentinel.
37
- *
38
- * Structured mode (`extract` set): one sentinel per distinct captured
39
- * value, keyed `env:<NAME>#<i>`; the fake value is the real value with
40
- * each captured span replaced by its sentinel. If the regex matches
41
- * nothing, the entry's `onExtractNoMatch` decides:
42
- * - `"warn"` (default): skip the entry with a loud stderr warning —
43
- * fail-open, the variable passes through with its real value;
44
- * - `"deny"`: push the name to `degradeToUnsetNames` — fail-closed, the
45
- * variable is unset inside the sandbox;
46
- * - `"error"`: throw, so nothing runs until the regex is fixed.
47
- *
48
- * Decoded mode (`decode: "jwt"`): the whole value is verified as a JWT
49
- * and replaced by a JWT-shaped fake registered as a caller-minted
50
- * sentinel; with `maskClaims`, each named top-level payload claim present
51
- * with a string value gets its own sentinel (keyed `env:<NAME>#<claim>`)
52
- * and the token is rebuilt around the modified payload — BOTH the whole
53
- * rebuilt token and each claim sentinel are registered under the same
54
- * injectHosts. A value that does not verify — or, with `maskClaims`,
55
- * verifies but has no named claim present as a string — fails open with a
56
- * loud stderr warning.
57
- *
58
- * A masked variable with no value in `env` is skipped — there is nothing
59
- * to protect, and emitting an unset (or set) var would change tool
60
- * behaviour (presence checks would flip).
61
- *
62
- * `mode: "deny"` entries are ignored here; the caller handles them
63
- * directly (they need no registry or host environment access).
64
- */
65
- export function buildMaskedEnvVars(envVars, allowedDomains, registry, env = process.env) {
66
- const setEnvVars = {};
67
- const degradeToUnsetNames = [];
68
- for (const v of envVars) {
69
- if (v.mode !== 'mask')
70
- continue;
71
- const real = env[v.name];
72
- if (real === undefined)
73
- continue;
74
- // Effective injectHosts: per-entry narrows; if unset, default to
75
- // every reachable host (network.allowedDomains). injectHosts is an
76
- // *optional narrowing*, not a required allowlist. Trade-off: a
77
- // masked credential with no injectHosts is injectable at every host
78
- // the sandbox can reach — narrow it explicitly when the credential
79
- // should only go to a subset.
80
- const injectHosts = v.injectHosts ?? allowedDomains;
81
- if (v.decode === 'jwt') {
82
- if (!verifyJwt(real)) {
83
- // Nothing was masked — the operator declared the value a JWT but
84
- // it isn't one. Fail open with a loud warning (parallel to the
85
- // extract onExtractNoMatch "warn" default).
86
- const msg = `[sandbox-runtime] WARNING: credentials.envVars entry ` +
87
- `"${v.name}" has decode "jwt" but its value did not verify ` +
88
- `as a JWT. The variable is left UNPROTECTED (real value ` +
89
- `visible as-is inside the sandbox). Fix the config or remove ` +
90
- `the entry.`;
91
- console.warn(msg);
92
- logForDebugging(msg, { level: 'warn' });
93
- continue;
94
- }
95
- if (v.maskClaims?.length) {
96
- // Claim-level masking: sentinels go INSIDE the payload; the
97
- // rebuilt fake token is itself registered as a sentinel for the
98
- // whole real token, so both the bearer path (token sent
99
- // verbatim) and the extracted-claim path substitute on egress.
100
- const masked = maskJwtClaims(real, v.maskClaims, (claim, value) => registry.register(`${ENV_EXTRACT_KEY_PREFIX}${v.name}#${claim}`, value, injectHosts));
101
- if (masked === null) {
102
- // A verified JWT none of whose named claims are present as
103
- // strings: nothing was masked — same fail-open posture as a
104
- // value that does not verify.
105
- const msg = `[sandbox-runtime] WARNING: credentials.envVars entry ` +
106
- `"${v.name}" has maskClaims ` +
107
- `${JSON.stringify(v.maskClaims)} but none is present as a ` +
108
- `string claim in its JWT value. The variable is left ` +
109
- `UNPROTECTED (real value visible as-is inside the sandbox). ` +
110
- `Fix the config or remove the entry.`;
111
- console.warn(msg);
112
- logForDebugging(msg, { level: 'warn' });
113
- continue;
114
- }
115
- const skipped = v.maskClaims.filter(c => !masked.claimSentinels.has(c));
116
- if (skipped.length > 0) {
117
- logForDebugging(`[credential-mask] env var "${v.name}": maskClaims ` +
118
- `${JSON.stringify(skipped)} absent or non-string in the ` +
119
- `JWT — skipped.`);
120
- }
121
- setEnvVars[v.name] = registry.registerWithSentinel(`${ENV_EXTRACT_KEY_PREFIX}${v.name}`, masked.fakeToken, real, injectHosts);
122
- continue;
123
- }
124
- // JWT-shaped fake so token-parsing tools inside the sandbox keep
125
- // working; the proxy swaps the whole fake token on egress. Keyed
126
- // env:<NAME> — caller-minted keys stay disjoint from the file:
127
- // namespace and from plain masked env vars.
128
- setEnvVars[v.name] = registry.registerWithSentinel(`${ENV_EXTRACT_KEY_PREFIX}${v.name}`, mintFakeJwt(randomUUID()), real, injectHosts);
129
- continue;
130
- }
131
- if (v.extract === undefined) {
132
- // Whole-value: one sentinel for the entire value.
133
- setEnvVars[v.name] = registry.register(v.name, real, injectHosts);
134
- continue;
135
- }
136
- const extracted = extractAndSubstitute(real, v.extract, (cap, i) => registry.register(`${ENV_EXTRACT_KEY_PREFIX}${v.name}#${i}`, cap, injectHosts));
137
- if (extracted === null) {
138
- const onNoMatch = v.onExtractNoMatch ?? 'warn';
139
- if (onNoMatch === 'error') {
140
- throw new Error(`credentials.envVars entry "${v.name}": extract pattern ` +
141
- `"${v.extract}" matched nothing (onExtractNoMatch: "error"). ` +
142
- `Fix the regex, change to "warn"/"deny", or remove the entry.`);
143
- }
144
- if (onNoMatch === 'deny') {
145
- // Fail-closed: the operator declared this variable as containing
146
- // a credential. Masking can't apply — degrade to unset so the
147
- // sandboxed process cannot read the credential at all.
148
- logForDebugging(`[credential-mask] extract pattern /${v.extract}/ matched ` +
149
- `nothing in the value of ${v.name} — unsetting the variable.`, { level: 'warn' });
150
- degradeToUnsetNames.push(v.name);
151
- continue;
152
- }
153
- // 'warn' (default): fail-open. A non-matching pattern is a config
154
- // error to surface, not a reason to break a tool that needs the
155
- // variable. Skip the entry — the variable is inherited with its
156
- // real value — and warn loudly on stderr so the operator fixes
157
- // the regex.
158
- const msg = `[sandbox-runtime] WARNING: credentials.envVars entry ` +
159
- `"${v.name}" has extract pattern "${v.extract}" that matched ` +
160
- `nothing in the variable's value. The variable is left ` +
161
- `UNPROTECTED (visible as-is inside the sandbox). Fix the regex, ` +
162
- `set onExtractNoMatch to "deny" or "error", or remove the entry.`;
163
- console.warn(msg);
164
- logForDebugging(msg, { level: 'warn' });
165
- continue;
166
- }
167
- setEnvVars[v.name] = extracted.fakeContent;
168
- }
169
- return { setEnvVars, degradeToUnsetNames };
170
- }
171
- //# sourceMappingURL=credential-mask-env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-mask-env.js","sourceRoot":"","sources":["../../src/sandbox/credential-mask-env.ts"],"names":[],"mappings":"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"}