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,443 +0,0 @@
1
- /**
2
- * MITM CA loader/generator for the in-process TLS-terminating proxy.
3
- *
4
- * The CA is supplied via `network.tlsTerminate.{caCertPath,caKeyPath}` (see
5
- * sandbox-config.ts). If both paths are omitted, SRT generates an ephemeral
6
- * RSA-2048 self-signed CA into a temp directory; the cert path is what the
7
- * trust env vars point at. The caller is responsible for cleaning up via
8
- * `disposeMitmCA()` (SandboxManager.reset() does this).
9
- */
10
- import forge from 'node-forge';
11
- import { sign as cryptoSign, X509Certificate } from 'node:crypto';
12
- import { mkdtempSync, readFileSync, writeFileSync } from 'node:fs';
13
- import { rm } from 'node:fs/promises';
14
- import { tmpdir } from 'node:os';
15
- import { join, dirname } from 'node:path';
16
- import { rootCertificates } from 'node:tls';
17
- import { logForDebugging } from '../utils/debug.js';
18
- const { asn1, pki, md, random, util } = forge;
19
- // node-forge exports pki.getTBSCertificate at runtime; @types/node-forge omits it.
20
- const getTBSCertificate = pki.getTBSCertificate;
21
- /**
22
- * Matches one PEM CERTIFICATE block. Used to extract just the certificates
23
- * out of files listed in tlsTerminate.extraCaCertPaths before they are
24
- * copied into the (world-readable) trust bundle.
25
- */
26
- const PEM_CERT_BLOCK = /-----BEGIN CERTIFICATE-----[\s\S]*?-----END CERTIFICATE-----/g;
27
- /** Origin-form path the HTTP proxy answers with `crlDer`. */
28
- export const CRL_PATH = '/srt.crl';
29
- /**
30
- * Return the CA's Subject Key Identifier as raw bytes for use as an
31
- * authorityKeyIdentifier.keyIdentifier (leaf certs and the CRL both need it).
32
- *
33
- * node-forge stores a cert's subjectKeyIdentifier extension value as a *hex
34
- * string* (both for in-memory certs and certs parsed from PEM), but expects
35
- * AKI's keyIdentifier as *raw bytes* — passing the hex through verbatim
36
- * encodes the ASCII hex chars as the key id and the chain fails to verify.
37
- * If the CA has no SKI extension (e.g. a v1 user-supplied CA), derive the
38
- * RFC 5280 method-1 value from its public key.
39
- */
40
- export function caSubjectKeyId(caCert) {
41
- const ext = caCert.getExtension('subjectKeyIdentifier');
42
- return ext?.subjectKeyIdentifier
43
- ? util.hexToBytes(ext.subjectKeyIdentifier)
44
- : caCert.generateSubjectKeyIdentifier().getBytes();
45
- }
46
- /**
47
- * Drop-in replacement for `cert.sign(key, md.sha256.create())` that computes
48
- * the RSASSA-PKCS1-v1_5 / SHA-256 signature via Node's native `crypto.sign()`
49
- * instead of node-forge's pure-JS RSA.
50
- *
51
- * node-forge routes RSA *keypair generation* to native `crypto` when available,
52
- * but its `PrivateKey.sign()` is always pure JS, which is slow enough to matter
53
- * because `generateEphemeralCA()` runs on the cold path of every process that
54
- * constructs a SandboxManager. RSASSA-PKCS1-v1_5 is deterministic, so native
55
- * `crypto.sign()` yields identical bytes.
56
- */
57
- export function signCertificateNative(cert, keyPem) {
58
- const oid = pki.oids.sha256WithRSAEncryption;
59
- cert.siginfo.algorithmOid = oid;
60
- cert.signatureOid = oid;
61
- cert.tbsCertificate = getTBSCertificate(cert);
62
- const tbsDer = asn1.toDer(cert.tbsCertificate).getBytes();
63
- cert.signature = rsaSha256SignNative(tbsDer, keyPem);
64
- // Match cert.sign()'s side effect so callers that read cert.md see the same
65
- // populated digest a forge-signed cert would carry.
66
- cert.md = md.sha256.create();
67
- cert.md.update(tbsDer);
68
- }
69
- /**
70
- * RSASSA-PKCS1-v1_5 / SHA-256 sign of a forge binary-string `der` with the
71
- * PEM-encoded RSA private key `keyPem`, returning the signature as a forge
72
- * binary string. Native equivalent of `forgeKey.sign(sha256Digest)`.
73
- */
74
- export function rsaSha256SignNative(der, keyPem) {
75
- return cryptoSign('sha256', Buffer.from(der, 'binary'), keyPem).toString('binary');
76
- }
77
- /**
78
- * Create a MitmCA. If `caCertPath`/`caKeyPath` are provided, load from disk
79
- * (throws if either file is missing, unreadable, not PEM, fails to parse, or
80
- * the key is not RSA). If both are omitted, generate an ephemeral CA into a
81
- * fresh temp directory.
82
- *
83
- * Pure factory: no module-level state. The caller (SandboxManager) owns the
84
- * returned object and its lifetime.
85
- */
86
- export function createMitmCA(opts) {
87
- if (opts.caCertPem && opts.caKeyPem) {
88
- const v = validateCaPair(opts.caCertPem, opts.caKeyPem);
89
- if (!v.ok)
90
- throw new Error(`tlsTerminate: CA PEM pair: ${v.reason}`);
91
- return buildMitmCA(opts.caCertPem, opts.caKeyPem, v.cert, v.key, {
92
- certPath: opts.caCertPath ?? '',
93
- keyPath: opts.caKeyPath ?? '',
94
- extraCaCertPaths: opts.extraCaCertPaths,
95
- });
96
- }
97
- if (opts.caCertPath && opts.caKeyPath) {
98
- return loadCA(opts.caCertPath, opts.caKeyPath, opts.extraCaCertPaths);
99
- }
100
- if (opts.caCertPath || opts.caKeyPath) {
101
- throw new Error('tlsTerminate: caCertPath and caKeyPath must be provided together');
102
- }
103
- return generateEphemeralCA(opts.extraCaCertPaths);
104
- }
105
- /**
106
- * Remove the SRT-owned temp directories for this CA: the trust-bundle dir
107
- * always, and the cert/key dir too when SRT generated the CA (for an
108
- * ephemeral CA they are the same directory). User-supplied CA files are
109
- * left alone.
110
- */
111
- export async function disposeMitmCA(ca) {
112
- const dirs = new Set([dirname(ca.trustBundlePath)]);
113
- if (ca.ephemeral)
114
- dirs.add(dirname(ca.certPath));
115
- for (const dir of dirs) {
116
- try {
117
- await rm(dir, { recursive: true, force: true });
118
- }
119
- catch (err) {
120
- logForDebugging(`[mitm-ca] cleanup failed: ${err.message}`, {
121
- level: 'warn',
122
- });
123
- }
124
- }
125
- }
126
- /**
127
- * Write the child-facing trust bundle into `dir` and return its path: the
128
- * MITM CA first, then the roots the host would normally trust, so HTTPS
129
- * clients in the sandbox accept proxy-minted leaves AND can still verify the
130
- * real certificate of any host SRT tunnels opaquely instead of terminating
131
- * (tlsTerminate.excludeDomains). Bundling Node's root store is best-effort
132
- * compatibility — a tool with its own CA file config is unaffected. Extra
133
- * roots from tlsTerminate.extraCaCertPaths go last, with the same append
134
- * semantics as NODE_EXTRA_CA_CERTS.
135
- */
136
- function writeTrustBundle(dir, caCertPem, extraCaCertPaths) {
137
- const parts = [caCertPem.trim(), ...rootCertificates];
138
- // Honour extra roots the parent process trusts (e.g. a corporate CA).
139
- const extra = process.env.NODE_EXTRA_CA_CERTS;
140
- if (extra) {
141
- try {
142
- parts.push(readFileSync(extra, 'utf8').trim());
143
- }
144
- catch {
145
- // Missing/unreadable NODE_EXTRA_CA_CERTS: ignore, same as Node does.
146
- }
147
- }
148
- // Honour site-local roots from config (tlsTerminate.extraCaCertPaths),
149
- // e.g. an internal mTLS CA presented by excluded/passthrough hosts. Paths
150
- // may exist on only some hosts, so a missing file is skipped, not fatal —
151
- // but log it, or a typo'd path is undiagnosable.
152
- for (const extraPath of extraCaCertPaths ?? []) {
153
- let raw;
154
- try {
155
- raw = readFileSync(extraPath, 'utf8');
156
- }
157
- catch (err) {
158
- const code = err.code ?? String(err);
159
- logForDebugging(`[mitm-ca] extraCaCertPaths: cannot read ${extraPath} (${code}); ` +
160
- `skipping`, { level: 'warn' });
161
- continue;
162
- }
163
- // Append only the CERTIFICATE blocks. The bundle is world-readable
164
- // (0o644) and handed to the sandboxed child, so anything else the file
165
- // carries (e.g. the key of a combined cert+key PEM) must not be copied.
166
- const certs = raw.match(PEM_CERT_BLOCK);
167
- if (!certs) {
168
- logForDebugging(`[mitm-ca] extraCaCertPaths: ${extraPath} has no PEM CERTIFICATE ` +
169
- `block; skipping`, { level: 'warn' });
170
- continue;
171
- }
172
- parts.push(...certs);
173
- }
174
- const path = join(dir, 'trust-bundle.crt');
175
- writeFileSync(path, parts.join('\n') + '\n', { mode: 0o644 });
176
- return path;
177
- }
178
- /**
179
- * Build a DER-encoded X.509 v2 CRL, signed by `key`, listing zero revoked
180
- * certificates. `nextUpdate` is the CA's `notAfter` (or now+1d if the CA is
181
- * already expired) so a single per-session CRL stays fresh for the CA's
182
- * lifetime.
183
- *
184
- * node-forge has no CRL builder, so this hand-assembles the RFC 5280 §5.1
185
- * `CertificateList` from asn1 primitives — the same approach the library
186
- * uses internally for certificates. Carries the two extensions RFC 5280
187
- * §5.2 says conforming issuers MUST include: `authorityKeyIdentifier`
188
- * (matching the CA's SKI) and `cRLNumber`.
189
- */
190
- export function generateEmptyCrl(cert, keyPem) {
191
- const SHA256_RSA = pki.oids.sha256WithRSAEncryption;
192
- const sigAlg = () => seq([
193
- asn1.create(C.UNIVERSAL, T.OID, false, asn1.oidToDer(SHA256_RSA).getBytes()),
194
- asn1.create(C.UNIVERSAL, T.NULL, false, ''),
195
- ]);
196
- // extnValue is the DER of the extension's own ASN.1, wrapped in an
197
- // OCTET STRING at the Extension level.
198
- const ext = (oid, value) => seq([
199
- asn1.create(C.UNIVERSAL, T.OID, false, asn1.oidToDer(oid).getBytes()),
200
- asn1.create(C.UNIVERSAL, T.OCTETSTRING, false, asn1.toDer(value).getBytes()),
201
- ]);
202
- const crlExtensions = asn1.create(C.CONTEXT_SPECIFIC, 0, true, [
203
- seq([
204
- // authorityKeyIdentifier ::= SEQUENCE { [0] KeyIdentifier }
205
- ext(pki.oids.authorityKeyIdentifier, seq([asn1.create(C.CONTEXT_SPECIFIC, 0, false, caSubjectKeyId(cert))])),
206
- // cRLNumber ::= INTEGER — one CRL per CA per session, so a fixed 1.
207
- ext('2.5.29.20', asn1.create(C.UNIVERSAL, T.INTEGER, false, '\x01')),
208
- ]),
209
- ]);
210
- const now = new Date();
211
- const caEnd = cert.validity.notAfter;
212
- const nextUpdate = caEnd > now ? caEnd : daysFromNow(1);
213
- const tbsCertList = seq([
214
- // version v2 == INTEGER 1 (required when crlExtensions is present)
215
- asn1.create(C.UNIVERSAL, T.INTEGER, false, '\x01'),
216
- sigAlg(),
217
- // Issuer Name: RFC 5280 §5.1.2.3 requires this match the CA subject
218
- // byte-for-byte. node-forge normalises DN attributes on parse (its
219
- // certificateFromPem re-encodes via distinguishedNameToAsn1 too, so the
220
- // "original" DER isn't recoverable via the library), which means a
221
- // user-supplied CA whose subject uses e.g. multi-valued RDNs or a
222
- // non-canonical string type could produce a differently-encoded issuer
223
- // here. Schannel matches on AKI keyid (present above) not issuer DN, and
224
- // the ephemeral CA is generated by the same encoder, so this holds in
225
- // practice; noted for completeness.
226
- pki.distinguishedNameToAsn1(cert.subject),
227
- asn1Time(now),
228
- asn1Time(nextUpdate),
229
- // revokedCertificates: OMITTED. RFC 5280: "When there are no revoked
230
- // certificates, the revoked certificates list MUST be absent."
231
- crlExtensions,
232
- ]);
233
- const sig = rsaSha256SignNative(asn1.toDer(tbsCertList).getBytes(), keyPem);
234
- const crl = seq([
235
- tbsCertList,
236
- sigAlg(),
237
- // BIT STRING: leading 0x00 = zero unused bits.
238
- asn1.create(C.UNIVERSAL, T.BITSTRING, false, '\x00' + sig),
239
- ]);
240
- return Buffer.from(asn1.toDer(crl).getBytes(), 'binary');
241
- }
242
- const C = asn1.Class;
243
- const T = asn1.Type;
244
- function seq(v) {
245
- return asn1.create(C.UNIVERSAL, T.SEQUENCE, true, v);
246
- }
247
- /** UTCTime for years <2050, GeneralizedTime otherwise (RFC 5280 §4.1.2.5). */
248
- function asn1Time(d) {
249
- return d.getUTCFullYear() < 2050
250
- ? asn1.create(C.UNIVERSAL, T.UTCTIME, false, asn1.dateToUtcTime(d))
251
- : asn1.create(C.UNIVERSAL, T.GENERALIZEDTIME, false, asn1.dateToGeneralizedTime(d));
252
- }
253
- function loadCA(certPath, keyPath, extraCaCertPaths) {
254
- const certPem = readPem(certPath, 'CERTIFICATE', 'tlsTerminate.caCertPath');
255
- const keyPem = readPem(keyPath, 'PRIVATE KEY', 'tlsTerminate.caKeyPath');
256
- const v = validateCaPair(certPem, keyPem);
257
- if (!v.ok) {
258
- throw new Error(`tlsTerminate: CA at ${certPath}: ${v.reason}`);
259
- }
260
- logForDebugging(`[mitm-ca] loaded CA from ${certPath}`);
261
- return buildMitmCA(certPem, keyPem, v.cert, v.key, {
262
- certPath,
263
- keyPath,
264
- extraCaCertPaths,
265
- });
266
- }
267
- /**
268
- * Assemble a {@link MitmCA} from an already-parsed cert+key. Shared by
269
- * `loadCA` (explicit paths), `generateEphemeralCA`, and the Windows
270
- * persistent-CA path so trust-bundle/CRL/cache setup lives in one place.
271
- * `certPath`/`keyPath` are recorded verbatim; the trust bundle goes to a
272
- * fresh mkdtemp so it's always disposable.
273
- */
274
- function buildMitmCA(certPem, keyPem, cert, key, opts) {
275
- const bundleDir = mkdtempSync(join(tmpdir(), 'srt-ca-'));
276
- return {
277
- certPath: opts.certPath,
278
- keyPath: opts.keyPath,
279
- trustBundlePath: writeTrustBundle(bundleDir, certPem, opts.extraCaCertPaths),
280
- certPem,
281
- keyPem,
282
- cert,
283
- key,
284
- leafCerts: new Map(),
285
- secureContexts: new Map(),
286
- crlDer: generateEmptyCrl(cert, keyPem),
287
- ephemeral: opts.ephemeral ?? false,
288
- };
289
- }
290
- /**
291
- * Generate a self-signed RSA-2048 CA certificate + private key as PEM
292
- * strings. Pure — no filesystem side effects; the caller decides where (and
293
- * whether) to persist. This is the primitive under both the ephemeral
294
- * per-process CA and the Windows persistent CA
295
- * (`ensurePersistentWindowsCa`).
296
- *
297
- * @param opts.cn subject/issuer commonName. Default
298
- * `'sandbox-runtime ephemeral CA'`.
299
- * @param opts.validityDays certificate `notAfter` in days from now.
300
- * Default 825 (the CA/B Forum limit for publicly-trusted leaves; not
301
- * binding on a private CA, but a reasonable rotation horizon).
302
- */
303
- export function generateCa(opts = {}) {
304
- const keys = pki.rsa.generateKeyPair(2048);
305
- const cert = pki.createCertificate();
306
- cert.publicKey = keys.publicKey;
307
- cert.serialNumber = randomSerial();
308
- cert.validity.notBefore = daysFromNow(-1);
309
- cert.validity.notAfter = daysFromNow(opts.validityDays ?? 825);
310
- const subject = [
311
- { name: 'commonName', value: opts.cn ?? 'sandbox-runtime ephemeral CA' },
312
- { name: 'organizationName', value: 'sandbox-runtime' },
313
- ];
314
- cert.setSubject(subject);
315
- cert.setIssuer(subject);
316
- cert.setExtensions([
317
- { name: 'basicConstraints', cA: true, critical: true },
318
- {
319
- name: 'keyUsage',
320
- critical: true,
321
- keyCertSign: true,
322
- cRLSign: true,
323
- digitalSignature: true,
324
- },
325
- { name: 'subjectKeyIdentifier' },
326
- ]);
327
- const keyPem = pki.privateKeyToPem(keys.privateKey);
328
- signCertificateNative(cert, keyPem);
329
- return {
330
- certPem: pki.certificateToPem(cert),
331
- keyPem,
332
- cert,
333
- key: keys.privateKey,
334
- };
335
- }
336
- /**
337
- * SHA-1 thumbprint of `certPem` as uppercase hex with no separators —
338
- * the format `srt-win user status` reports (`ca_cert_thumb`) and
339
- * PowerShell's `Cert:\…\Thumbprint` uses. Throws if `certPem` is not a
340
- * parseable X.509 certificate.
341
- */
342
- export function certThumbprint(certPem) {
343
- return new X509Certificate(certPem).fingerprint
344
- .replace(/:/g, '')
345
- .toUpperCase();
346
- }
347
- /**
348
- * Check that `certPem` + `keyPem` are a usable RSA CA pair: both parse, the
349
- * key is RSA (node-forge signs with nothing else), the private key's
350
- * modulus matches the certificate's public key (i.e. this key actually
351
- * signs for this cert), and `notBefore` is not in the future — a CA
352
- * minted while the system clock was ahead and later NTP-corrected would
353
- * otherwise be permanently not-yet-valid with nothing to trigger a
354
- * regenerate. Returns the cert's thumbprint and `notAfter` on success so
355
- * a caller can decide expiry policy without a second parse.
356
- *
357
- * Does not throw — a persistence layer that finds an unreadable/mismatched
358
- * pair on disk treats `{ok: false}` as "regenerate", not a hard error.
359
- */
360
- export function validateCaPair(certPem, keyPem) {
361
- let cert;
362
- let key;
363
- try {
364
- cert = pki.certificateFromPem(certPem);
365
- key = pki.privateKeyFromPem(keyPem);
366
- }
367
- catch (err) {
368
- return { ok: false, reason: `parse: ${err.message}` };
369
- }
370
- if (!('n' in key) || !('d' in key)) {
371
- return { ok: false, reason: 'key is not RSA' };
372
- }
373
- if (cert.validity.notBefore.getTime() > Date.now()) {
374
- return {
375
- ok: false,
376
- reason: `notBefore ${cert.validity.notBefore.toISOString()} is in the future (clock skew?)`,
377
- };
378
- }
379
- const pub = cert.publicKey;
380
- if (!('n' in pub) || pub.n.compareTo(key.n)) {
381
- return { ok: false, reason: 'key does not match certificate public key' };
382
- }
383
- let thumbprint;
384
- try {
385
- thumbprint = certThumbprint(certPem);
386
- }
387
- catch (err) {
388
- return { ok: false, reason: `thumbprint: ${err.message}` };
389
- }
390
- return {
391
- ok: true,
392
- thumbprint,
393
- notAfter: cert.validity.notAfter,
394
- cert,
395
- key: key,
396
- };
397
- }
398
- function generateEphemeralCA(extraCaCertPaths) {
399
- const { certPem, keyPem, cert, key } = generateCa();
400
- // Write to disk so trust env vars (NODE_EXTRA_CA_CERTS etc.) can point at
401
- // a real path. mkdtemp gives us an unguessable per-process directory.
402
- const dir = mkdtempSync(join(tmpdir(), 'srt-ca-'));
403
- const certPath = join(dir, 'ca.crt');
404
- const keyPath = join(dir, 'ca.key');
405
- writeFileSync(certPath, certPem, { mode: 0o644 });
406
- writeFileSync(keyPath, keyPem, { mode: 0o600 });
407
- logForDebugging(`[mitm-ca] generated ephemeral CA at ${certPath}`);
408
- return buildMitmCA(certPem, keyPem, cert, key, {
409
- certPath,
410
- keyPath,
411
- extraCaCertPaths,
412
- ephemeral: true,
413
- });
414
- }
415
- function readPem(path, label, field) {
416
- let pem;
417
- try {
418
- pem = readFileSync(path, 'utf8');
419
- }
420
- catch (err) {
421
- const code = err.code ?? String(err);
422
- throw new Error(`${field}: cannot read ${path} (${code})`);
423
- }
424
- // Accept either the exact label or a prefixed variant (e.g. "RSA PRIVATE KEY",
425
- // "EC PRIVATE KEY") for the key case.
426
- if (!new RegExp(`-----BEGIN [A-Z ]*${label}-----`).test(pem)) {
427
- throw new Error(`${field}: ${path} is not a PEM ${label}`);
428
- }
429
- return pem;
430
- }
431
- export function randomSerial() {
432
- // 16 random bytes, high bit cleared so the DER INTEGER stays positive.
433
- const bytes = random.getBytesSync(16);
434
- const hex = util.bytesToHex(bytes);
435
- const firstNibble = parseInt(hex[0], 16) & 0x7;
436
- return firstNibble.toString(16) + hex.slice(1);
437
- }
438
- export function daysFromNow(days) {
439
- const d = new Date();
440
- d.setDate(d.getDate() + days);
441
- return d;
442
- }
443
- //# sourceMappingURL=mitm-ca.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mitm-ca.js","sourceRoot":"","sources":["../../src/sandbox/mitm-ca.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Per-host leaf certificate minter for the in-process TLS-terminating proxy.
3
- *
4
- * Given a MitmCA (see mitm-ca.ts), mints a leaf certificate for a specific
5
- * hostname on first use and caches it for the lifetime of that CA instance.
6
- * The leaf is signed by the CA and carries SAN=DNS:<host> (or IP:<addr>),
7
- * so a client that trusts the CA will accept it for that host.
8
- */
9
- import { type SecureContext } from 'node:tls';
10
- import { type MitmCA } from './mitm-ca.js';
11
- export type LeafCert = {
12
- /** Leaf cert PEM followed by the CA cert PEM (full chain). */
13
- certPem: string;
14
- /** Leaf private key PEM. */
15
- keyPem: string;
16
- };
17
- /**
18
- * Mint (or return cached) an RSA-2048 leaf cert for `hostname`, signed by `ca`.
19
- * The cache lives on `ca.leafCerts`.
20
- */
21
- export declare function mintLeafCert(ca: MitmCA, hostname: string): LeafCert;
22
- /**
23
- * Mint-or-cache a Node TLS SecureContext for `hostname`. Intended as the
24
- * SNICallback target in the terminating proxy. The cache lives on
25
- * `ca.secureContexts`.
26
- */
27
- export declare function secureContextFor(ca: MitmCA, hostname: string): SecureContext;
28
- //# sourceMappingURL=mitm-leaf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mitm-leaf.d.ts","sourceRoot":"","sources":["../../src/sandbox/mitm-leaf.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAElE,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,cAAc,CAAA;AAIrB,MAAM,MAAM,QAAQ,GAAG;IACrB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAyDnE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAO5E"}
@@ -1,114 +0,0 @@
1
- /**
2
- * Per-host leaf certificate minter for the in-process TLS-terminating proxy.
3
- *
4
- * Given a MitmCA (see mitm-ca.ts), mints a leaf certificate for a specific
5
- * hostname on first use and caches it for the lifetime of that CA instance.
6
- * The leaf is signed by the CA and carries SAN=DNS:<host> (or IP:<addr>),
7
- * so a client that trusts the CA will accept it for that host.
8
- */
9
- import forge from 'node-forge';
10
- import { isIP } from 'node:net';
11
- import { createSecureContext } from 'node:tls';
12
- import { logForDebugging } from '../utils/debug.js';
13
- import { caSubjectKeyId, daysFromNow, randomSerial, signCertificateNative, } from './mitm-ca.js';
14
- const { pki } = forge;
15
- /**
16
- * Mint (or return cached) an RSA-2048 leaf cert for `hostname`, signed by `ca`.
17
- * The cache lives on `ca.leafCerts`.
18
- */
19
- export function mintLeafCert(ca, hostname) {
20
- const cached = ca.leafCerts.get(hostname);
21
- if (cached)
22
- return cached;
23
- const keys = pki.rsa.generateKeyPair(2048);
24
- const cert = pki.createCertificate();
25
- cert.publicKey = keys.publicKey;
26
- cert.serialNumber = randomSerial();
27
- const notBefore = daysFromNow(-1);
28
- cert.validity.notBefore = notBefore;
29
- cert.validity.notAfter = clampValidity(ca.cert, notBefore);
30
- cert.setSubject([{ name: 'commonName', value: hostname }]);
31
- cert.setIssuer(ca.cert.subject.attributes);
32
- cert.setExtensions([
33
- { name: 'basicConstraints', cA: false, critical: true },
34
- {
35
- name: 'keyUsage',
36
- critical: true,
37
- digitalSignature: true,
38
- keyEncipherment: true,
39
- },
40
- { name: 'extKeyUsage', serverAuth: true },
41
- { name: 'subjectAltName', altNames: [sanFor(hostname)] },
42
- { name: 'subjectKeyIdentifier' },
43
- // Python ≥3.13 enables ssl.VERIFY_X509_STRICT by default, which enforces
44
- // RFC 5280's "AKI MUST be present on non-self-signed certs". curl/Go/Node
45
- // don't enforce this, but requests/urllib3/httpx/google-auth all reject
46
- // a leaf without AKI under 3.13. See caSubjectKeyId() in mitm-ca.ts for
47
- // why we can't just pass the CA's stored SKI value through.
48
- { name: 'authorityKeyIdentifier', keyIdentifier: caSubjectKeyId(ca.cert) },
49
- // Schannel (Windows System32 curl, git's default backend, cargo) checks
50
- // revocation on the LEAF and hard-fails CRYPT_E_NO_REVOCATION_CHECK when
51
- // there's no CDP to consult. Point it at the empty CRL the proxy serves
52
- // on 127.0.0.1 (see MitmCA.crlDer / http-proxy.ts) so the check resolves
53
- // to "not revoked" instead of "unknown". node-forge encodes CDP with the
54
- // same {altNames} shape as SAN; type 6 = uniformResourceIdentifier.
55
- // OpenSSL-backed clients don't check CRLs by default, so a leaf minted
56
- // before the port is bound (crlUrl unset) works everywhere except
57
- // Schannel-with-revocation.
58
- ...(ca.crlUrl
59
- ? [
60
- {
61
- name: 'cRLDistributionPoints',
62
- altNames: [{ type: 6, value: ca.crlUrl }],
63
- },
64
- ]
65
- : []),
66
- ]);
67
- signCertificateNative(cert, ca.keyPem);
68
- const leaf = {
69
- certPem: pki.certificateToPem(cert) + ca.certPem,
70
- keyPem: pki.privateKeyToPem(keys.privateKey),
71
- };
72
- ca.leafCerts.set(hostname, leaf);
73
- logForDebugging(`[mitm-leaf] minted RSA leaf for ${hostname}`);
74
- return leaf;
75
- }
76
- /**
77
- * Mint-or-cache a Node TLS SecureContext for `hostname`. Intended as the
78
- * SNICallback target in the terminating proxy. The cache lives on
79
- * `ca.secureContexts`.
80
- */
81
- export function secureContextFor(ca, hostname) {
82
- const cached = ca.secureContexts.get(hostname);
83
- if (cached)
84
- return cached;
85
- const { certPem, keyPem } = mintLeafCert(ca, hostname);
86
- const ctx = createSecureContext({ cert: certPem, key: keyPem });
87
- ca.secureContexts.set(hostname, ctx);
88
- return ctx;
89
- }
90
- function sanFor(hostname) {
91
- // RFC 5280 GeneralName tags: 2 = dNSName, 7 = iPAddress.
92
- return isIP(hostname) !== 0
93
- ? { type: 7, ip: hostname }
94
- : { type: 2, value: hostname };
95
- }
96
- /**
97
- * Leaf validity capped at min(CA notAfter, notBefore+99d).
98
- *
99
- * 99d sits below every TLS cert validity ceiling we care about: the current
100
- * (2026-03) CA/B baseline of 200d, the next step-down to 100d in 2027-03, the
101
- * historical 398d public cap, and the macOS ~825d ceiling that trips
102
- * errSecCertificateIsNotStandardsCompliant on user-installed roots. Leaves are
103
- * re-minted per session, so we don't need the headroom.
104
- *
105
- * Anchored at notBefore — not now — because notBefore is backdated by 1 day,
106
- * so `now+Nd` would produce an (N+1)-day span and lose a day of margin.
107
- */
108
- function clampValidity(caCert, notBefore) {
109
- const caEnd = caCert.validity.notAfter;
110
- const max = new Date(notBefore);
111
- max.setDate(max.getDate() + 99);
112
- return caEnd < max ? new Date(caEnd) : max;
113
- }
114
- //# sourceMappingURL=mitm-leaf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mitm-leaf.js","sourceRoot":"","sources":["../../src/sandbox/mitm-leaf.ts"],"names":[],"mappings":"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"}