pi-codex-auto-review 0.1.0

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 (1057) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +10 -0
  3. package/README.md +77 -0
  4. package/dist/approvals.d.ts +72 -0
  5. package/dist/approvals.js +167 -0
  6. package/dist/approvals.js.map +1 -0
  7. package/dist/audit.d.ts +28 -0
  8. package/dist/audit.js +40 -0
  9. package/dist/audit.js.map +1 -0
  10. package/dist/cli.d.ts +2 -0
  11. package/dist/cli.js +70 -0
  12. package/dist/cli.js.map +1 -0
  13. package/dist/context-files.d.ts +14 -0
  14. package/dist/context-files.js +113 -0
  15. package/dist/context-files.js.map +1 -0
  16. package/dist/contracts.d.ts +258 -0
  17. package/dist/contracts.js +102 -0
  18. package/dist/contracts.js.map +1 -0
  19. package/dist/index.d.ts +28 -0
  20. package/dist/index.js +106 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/native/darwin-arm64/artifact.json +5 -0
  23. package/dist/native/darwin-arm64/pi-guard-execpolicy +0 -0
  24. package/dist/native/linux-x64/artifact.json +5 -0
  25. package/dist/native/linux-x64/pi-guard-execpolicy +0 -0
  26. package/dist/policy/domains.d.ts +5 -0
  27. package/dist/policy/domains.js +18 -0
  28. package/dist/policy/domains.js.map +1 -0
  29. package/dist/policy/index.d.ts +56 -0
  30. package/dist/policy/index.js +304 -0
  31. package/dist/policy/index.js.map +1 -0
  32. package/dist/policy/paths.d.ts +5 -0
  33. package/dist/policy/paths.js +54 -0
  34. package/dist/policy/paths.js.map +1 -0
  35. package/dist/policy/rules.d.ts +36 -0
  36. package/dist/policy/rules.js +61 -0
  37. package/dist/policy/rules.js.map +1 -0
  38. package/dist/policy/shell.d.ts +14 -0
  39. package/dist/policy/shell.js +122 -0
  40. package/dist/policy/shell.js.map +1 -0
  41. package/dist/reports.d.ts +21 -0
  42. package/dist/reports.js +42 -0
  43. package/dist/reports.js.map +1 -0
  44. package/dist/review/context.d.ts +25 -0
  45. package/dist/review/context.js +108 -0
  46. package/dist/review/context.js.map +1 -0
  47. package/dist/review/investigation.d.ts +39 -0
  48. package/dist/review/investigation.js +36 -0
  49. package/dist/review/investigation.js.map +1 -0
  50. package/dist/review/lifecycle.d.ts +29 -0
  51. package/dist/review/lifecycle.js +71 -0
  52. package/dist/review/lifecycle.js.map +1 -0
  53. package/dist/review/policy.d.ts +4 -0
  54. package/dist/review/policy.js +15 -0
  55. package/dist/review/policy.js.map +1 -0
  56. package/dist/review/upstream-policy.d.ts +2 -0
  57. package/dist/review/upstream-policy.js +210 -0
  58. package/dist/review/upstream-policy.js.map +1 -0
  59. package/dist/reviewer.d.ts +45 -0
  60. package/dist/reviewer.js +148 -0
  61. package/dist/reviewer.js.map +1 -0
  62. package/dist/sandbox/broker.d.ts +1 -0
  63. package/dist/sandbox/broker.js +135 -0
  64. package/dist/sandbox/broker.js.map +1 -0
  65. package/dist/sandbox/config.d.ts +5 -0
  66. package/dist/sandbox/config.js +91 -0
  67. package/dist/sandbox/config.js.map +1 -0
  68. package/dist/sandbox/executor.d.ts +20 -0
  69. package/dist/sandbox/executor.js +144 -0
  70. package/dist/sandbox/executor.js.map +1 -0
  71. package/dist/sandbox/hard-links.d.ts +4 -0
  72. package/dist/sandbox/hard-links.js +145 -0
  73. package/dist/sandbox/hard-links.js.map +1 -0
  74. package/dist/sandbox/linux-read-paths.d.ts +7 -0
  75. package/dist/sandbox/linux-read-paths.js +47 -0
  76. package/dist/sandbox/linux-read-paths.js.map +1 -0
  77. package/dist/sandbox/paths.d.ts +3 -0
  78. package/dist/sandbox/paths.js +10 -0
  79. package/dist/sandbox/paths.js.map +1 -0
  80. package/dist/sandbox/runtime-write-paths.d.ts +2 -0
  81. package/dist/sandbox/runtime-write-paths.js +8 -0
  82. package/dist/sandbox/runtime-write-paths.js.map +1 -0
  83. package/dist/sandbox/seccomp.d.ts +5 -0
  84. package/dist/sandbox/seccomp.js +16 -0
  85. package/dist/sandbox/seccomp.js.map +1 -0
  86. package/dist/sandbox/worker.d.ts +1 -0
  87. package/dist/sandbox/worker.js +73 -0
  88. package/dist/sandbox/worker.js.map +1 -0
  89. package/dist/signals.d.ts +10 -0
  90. package/dist/signals.js +21 -0
  91. package/dist/signals.js.map +1 -0
  92. package/dist/startup.d.ts +22 -0
  93. package/dist/startup.js +100 -0
  94. package/dist/startup.js.map +1 -0
  95. package/dist/tools/controller.d.ts +63 -0
  96. package/dist/tools/controller.js +286 -0
  97. package/dist/tools/controller.js.map +1 -0
  98. package/dist/tools/external.d.ts +30 -0
  99. package/dist/tools/external.js +24 -0
  100. package/dist/tools/external.js.map +1 -0
  101. package/dist/tools/mcp.d.ts +17 -0
  102. package/dist/tools/mcp.js +186 -0
  103. package/dist/tools/mcp.js.map +1 -0
  104. package/docs/publishing.md +73 -0
  105. package/docs/security/dependencies.md +43 -0
  106. package/docs/testing/auto-review-protection.md +130 -0
  107. package/docs/usage.md +217 -0
  108. package/native/execpolicy/LICENSE +201 -0
  109. package/native/execpolicy/NOTICE +6 -0
  110. package/node_modules/@anthropic-ai/sandbox-runtime/LICENSE +201 -0
  111. package/node_modules/@anthropic-ai/sandbox-runtime/README.md +901 -0
  112. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.d.ts +3 -0
  113. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.d.ts.map +1 -0
  114. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.js +472 -0
  115. package/node_modules/@anthropic-ai/sandbox-runtime/dist/cli.js.map +1 -0
  116. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.d.ts +19 -0
  117. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.d.ts.map +1 -0
  118. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.js +17 -0
  119. package/node_modules/@anthropic-ai/sandbox-runtime/dist/index.js.map +1 -0
  120. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.d.ts +52 -0
  121. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.d.ts.map +1 -0
  122. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.js +153 -0
  123. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/address.js.map +1 -0
  124. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.d.ts +164 -0
  125. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.d.ts.map +1 -0
  126. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.js +246 -0
  127. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/aws-sigv4.js.map +1 -0
  128. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.d.ts +58 -0
  129. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.d.ts.map +1 -0
  130. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.js +128 -0
  131. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/body-substitution.js.map +1 -0
  132. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.d.ts +124 -0
  133. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.d.ts.map +1 -0
  134. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.js +258 -0
  135. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-aws-pairs.js.map +1 -0
  136. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.d.ts +87 -0
  137. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.d.ts.map +1 -0
  138. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.js +138 -0
  139. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-decode.js.map +1 -0
  140. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.d.ts +67 -0
  141. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.d.ts.map +1 -0
  142. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.js +113 -0
  143. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-extract.js.map +1 -0
  144. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.d.ts +70 -0
  145. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.d.ts.map +1 -0
  146. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.js +171 -0
  147. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-env.js.map +1 -0
  148. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.d.ts +120 -0
  149. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.d.ts.map +1 -0
  150. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.js +281 -0
  151. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-mask-files.js.map +1 -0
  152. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.d.ts +108 -0
  153. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.d.ts.map +1 -0
  154. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.js +208 -0
  155. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/credential-sentinel.js.map +1 -0
  156. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.d.ts +82 -0
  157. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.d.ts.map +1 -0
  158. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.js +155 -0
  159. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/domain-pattern.js.map +1 -0
  160. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.d.ts +44 -0
  161. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.d.ts.map +1 -0
  162. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.js +220 -0
  163. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/generate-seccomp-filter.js.map +1 -0
  164. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.d.ts +150 -0
  165. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.d.ts.map +1 -0
  166. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.js +678 -0
  167. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/http-proxy.js.map +1 -0
  168. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.d.ts +32 -0
  169. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.d.ts.map +1 -0
  170. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.js +111 -0
  171. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/java-proxy-agent.js.map +1 -0
  172. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.d.ts +305 -0
  173. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.d.ts.map +1 -0
  174. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.js +2605 -0
  175. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.js.map +1 -0
  176. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.d.ts +55 -0
  177. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.d.ts.map +1 -0
  178. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.js +152 -0
  179. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/linux-violation-monitor.js.map +1 -0
  180. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.d.ts +12 -0
  181. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.d.ts.map +1 -0
  182. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.js +43 -0
  183. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/listen-in-range.js.map +1 -0
  184. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.d.ts +116 -0
  185. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.d.ts.map +1 -0
  186. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.js +1195 -0
  187. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/macos-sandbox-utils.js.map +1 -0
  188. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.d.ts +200 -0
  189. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.d.ts.map +1 -0
  190. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.js +443 -0
  191. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-ca.js.map +1 -0
  192. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.d.ts +28 -0
  193. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.d.ts.map +1 -0
  194. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.js +114 -0
  195. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mitm-leaf.js.map +1 -0
  196. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.d.ts +59 -0
  197. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.d.ts.map +1 -0
  198. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.js +159 -0
  199. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/mux-proxy.js.map +1 -0
  200. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.d.ts +147 -0
  201. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.d.ts.map +1 -0
  202. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.js +445 -0
  203. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/parent-proxy.js.map +1 -0
  204. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.d.ts +17 -0
  205. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.d.ts.map +1 -0
  206. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.js +163 -0
  207. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/read-deny-glob.js.map +1 -0
  208. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.d.ts +83 -0
  209. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.d.ts.map +1 -0
  210. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.js +212 -0
  211. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/request-filter.js.map +1 -0
  212. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.d.ts +76 -0
  213. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.d.ts.map +1 -0
  214. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.js +221 -0
  215. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/resolved-address-guard.js.map +1 -0
  216. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.d.ts +1691 -0
  217. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.d.ts.map +1 -0
  218. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.js +1233 -0
  219. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-config.js.map +1 -0
  220. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.d.ts +97 -0
  221. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.d.ts.map +1 -0
  222. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.js +1937 -0
  223. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-manager.js.map +1 -0
  224. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.d.ts +113 -0
  225. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.d.ts.map +1 -0
  226. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.js +3 -0
  227. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-schemas.js.map +1 -0
  228. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.d.ts +411 -0
  229. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.d.ts.map +1 -0
  230. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.js +1408 -0
  231. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-utils.js.map +1 -0
  232. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.d.ts +37 -0
  233. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.d.ts.map +1 -0
  234. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.js +125 -0
  235. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/sandbox-violation-store.js.map +1 -0
  236. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.d.ts +57 -0
  237. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.d.ts.map +1 -0
  238. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.js +332 -0
  239. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/socks-proxy.js.map +1 -0
  240. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.d.ts +100 -0
  241. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.d.ts.map +1 -0
  242. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.js +546 -0
  243. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/tls-terminate-proxy.js.map +1 -0
  244. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.d.ts +923 -0
  245. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.d.ts.map +1 -0
  246. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.js +1419 -0
  247. package/node_modules/@anthropic-ai/sandbox-runtime/dist/sandbox/windows-sandbox-utils.js.map +1 -0
  248. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.d.ts +31 -0
  249. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.d.ts.map +1 -0
  250. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.js +69 -0
  251. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/config-loader.js.map +1 -0
  252. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.d.ts +7 -0
  253. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.d.ts.map +1 -0
  254. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.js +25 -0
  255. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/debug.js.map +1 -0
  256. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.d.ts +15 -0
  257. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.d.ts.map +1 -0
  258. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.js +49 -0
  259. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/platform.js.map +1 -0
  260. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.d.ts +17 -0
  261. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.d.ts.map +1 -0
  262. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.js +37 -0
  263. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/ripgrep.js.map +1 -0
  264. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.d.ts +27 -0
  265. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.d.ts.map +1 -0
  266. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.js +47 -0
  267. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/shell-quote.js.map +1 -0
  268. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.d.ts +9 -0
  269. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.d.ts.map +1 -0
  270. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.js +25 -0
  271. package/node_modules/@anthropic-ai/sandbox-runtime/dist/utils/which.js.map +1 -0
  272. package/node_modules/@anthropic-ai/sandbox-runtime/package.json +88 -0
  273. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/java-proxy-agent/build.ts +95 -0
  274. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/java-proxy-agent/srt-proxy-agent.jar +0 -0
  275. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/seccomp/arm64/apply-seccomp +0 -0
  276. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/seccomp/build.ts +69 -0
  277. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/seccomp/x64/apply-seccomp +0 -0
  278. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/srt-win/arm64/srt-win.exe +0 -0
  279. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/srt-win/build.ts +28 -0
  280. package/node_modules/@anthropic-ai/sandbox-runtime/vendor/srt-win/x64/srt-win.exe +0 -0
  281. package/node_modules/@pondwader/socks5-server/.github/workflows/ci.yml +27 -0
  282. package/node_modules/@pondwader/socks5-server/LICENSE +20 -0
  283. package/node_modules/@pondwader/socks5-server/README.md +151 -0
  284. package/node_modules/@pondwader/socks5-server/dist/index.d.mts +87 -0
  285. package/node_modules/@pondwader/socks5-server/dist/index.d.ts +87 -0
  286. package/node_modules/@pondwader/socks5-server/dist/index.js +346 -0
  287. package/node_modules/@pondwader/socks5-server/dist/index.mjs +307 -0
  288. package/node_modules/@pondwader/socks5-server/package.json +31 -0
  289. package/node_modules/commander/LICENSE +22 -0
  290. package/node_modules/commander/Readme.md +1157 -0
  291. package/node_modules/commander/esm.mjs +16 -0
  292. package/node_modules/commander/index.js +24 -0
  293. package/node_modules/commander/lib/argument.js +149 -0
  294. package/node_modules/commander/lib/command.js +2509 -0
  295. package/node_modules/commander/lib/error.js +39 -0
  296. package/node_modules/commander/lib/help.js +520 -0
  297. package/node_modules/commander/lib/option.js +330 -0
  298. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  299. package/node_modules/commander/package-support.json +16 -0
  300. package/node_modules/commander/package.json +84 -0
  301. package/node_modules/commander/typings/esm.d.mts +3 -0
  302. package/node_modules/commander/typings/index.d.ts +969 -0
  303. package/node_modules/node-forge/.editorconfig +17 -0
  304. package/node_modules/node-forge/.eslintrc.js +24 -0
  305. package/node_modules/node-forge/.github/workflows/main.yaml +96 -0
  306. package/node_modules/node-forge/.istanbul.yml +2 -0
  307. package/node_modules/node-forge/.npmignore +15 -0
  308. package/node_modules/node-forge/CHANGELOG.md +555 -0
  309. package/node_modules/node-forge/CONTRIBUTING.md +18 -0
  310. package/node_modules/node-forge/LICENSE +331 -0
  311. package/node_modules/node-forge/README.md +2071 -0
  312. package/node_modules/node-forge/RELEASE.md +19 -0
  313. package/node_modules/node-forge/SECURITY.md +5 -0
  314. package/node_modules/node-forge/examples/create-cert.js +110 -0
  315. package/node_modules/node-forge/examples/create-csr.js +66 -0
  316. package/node_modules/node-forge/examples/create-pkcs12.js +160 -0
  317. package/node_modules/node-forge/examples/imap.js +46 -0
  318. package/node_modules/node-forge/examples/sign-p7.js +115 -0
  319. package/node_modules/node-forge/examples/tls.js +189 -0
  320. package/node_modules/node-forge/flash/PooledSocket.as +18 -0
  321. package/node_modules/node-forge/flash/README.md +48 -0
  322. package/node_modules/node-forge/flash/SocketEvent.as +36 -0
  323. package/node_modules/node-forge/flash/SocketPool.as +754 -0
  324. package/node_modules/node-forge/flash/mod_fsp/README +135 -0
  325. package/node_modules/node-forge/flash/mod_fsp/mod_fsp.c +415 -0
  326. package/node_modules/node-forge/flash/package.json +28 -0
  327. package/node_modules/node-forge/flash/policyserver.js +65 -0
  328. package/node_modules/node-forge/flash/policyserver.py +112 -0
  329. package/node_modules/node-forge/flash/swf/SocketPool.swf +0 -0
  330. package/node_modules/node-forge/karma-sauce.conf.js +79 -0
  331. package/node_modules/node-forge/karma.conf.js +133 -0
  332. package/node_modules/node-forge/lib/aes.js +1091 -0
  333. package/node_modules/node-forge/lib/aesCipherSuites.js +282 -0
  334. package/node_modules/node-forge/lib/asn1-validator.js +91 -0
  335. package/node_modules/node-forge/lib/asn1.js +1503 -0
  336. package/node_modules/node-forge/lib/baseN.js +186 -0
  337. package/node_modules/node-forge/lib/cipher.js +230 -0
  338. package/node_modules/node-forge/lib/cipherModes.js +999 -0
  339. package/node_modules/node-forge/lib/des.js +496 -0
  340. package/node_modules/node-forge/lib/ed25519.js +1091 -0
  341. package/node_modules/node-forge/lib/forge.js +13 -0
  342. package/node_modules/node-forge/lib/form.js +149 -0
  343. package/node_modules/node-forge/lib/hmac.js +146 -0
  344. package/node_modules/node-forge/lib/http.js +1346 -0
  345. package/node_modules/node-forge/lib/index.all.js +16 -0
  346. package/node_modules/node-forge/lib/index.js +33 -0
  347. package/node_modules/node-forge/lib/jsbn.js +1294 -0
  348. package/node_modules/node-forge/lib/kem.js +168 -0
  349. package/node_modules/node-forge/lib/log.js +319 -0
  350. package/node_modules/node-forge/lib/md.all.js +13 -0
  351. package/node_modules/node-forge/lib/md.js +11 -0
  352. package/node_modules/node-forge/lib/md5.js +289 -0
  353. package/node_modules/node-forge/lib/mgf.js +12 -0
  354. package/node_modules/node-forge/lib/mgf1.js +57 -0
  355. package/node_modules/node-forge/lib/oids.js +180 -0
  356. package/node_modules/node-forge/lib/pbe.js +1023 -0
  357. package/node_modules/node-forge/lib/pbkdf2.js +211 -0
  358. package/node_modules/node-forge/lib/pem.js +237 -0
  359. package/node_modules/node-forge/lib/pkcs1.js +276 -0
  360. package/node_modules/node-forge/lib/pkcs12.js +1078 -0
  361. package/node_modules/node-forge/lib/pkcs7.js +1260 -0
  362. package/node_modules/node-forge/lib/pkcs7asn1.js +410 -0
  363. package/node_modules/node-forge/lib/pki.js +102 -0
  364. package/node_modules/node-forge/lib/prime.js +297 -0
  365. package/node_modules/node-forge/lib/prime.worker.js +168 -0
  366. package/node_modules/node-forge/lib/prng.js +419 -0
  367. package/node_modules/node-forge/lib/pss.js +241 -0
  368. package/node_modules/node-forge/lib/random.js +191 -0
  369. package/node_modules/node-forge/lib/rc2.js +410 -0
  370. package/node_modules/node-forge/lib/rsa.js +1973 -0
  371. package/node_modules/node-forge/lib/sha1.js +319 -0
  372. package/node_modules/node-forge/lib/sha256.js +327 -0
  373. package/node_modules/node-forge/lib/sha512.js +561 -0
  374. package/node_modules/node-forge/lib/socket.js +287 -0
  375. package/node_modules/node-forge/lib/ssh.js +236 -0
  376. package/node_modules/node-forge/lib/tls.js +4282 -0
  377. package/node_modules/node-forge/lib/tlssocket.js +249 -0
  378. package/node_modules/node-forge/lib/util.js +2652 -0
  379. package/node_modules/node-forge/lib/x509.js +3251 -0
  380. package/node_modules/node-forge/lib/xhr.js +738 -0
  381. package/node_modules/node-forge/package.json +123 -0
  382. package/node_modules/node-forge/tests/.eslintrc.js +5 -0
  383. package/node_modules/node-forge/tests/README.md +4 -0
  384. package/node_modules/node-forge/tests/benchmarks/aes-speed.js +62 -0
  385. package/node_modules/node-forge/tests/benchmarks/so-44303784.js +246 -0
  386. package/node_modules/node-forge/tests/flash/README.md +7 -0
  387. package/node_modules/node-forge/tests/flash/Test.as +96 -0
  388. package/node_modules/node-forge/tests/flash/build-flash.xml +7 -0
  389. package/node_modules/node-forge/tests/flash/index.html +28 -0
  390. package/node_modules/node-forge/tests/index.html +33 -0
  391. package/node_modules/node-forge/tests/issues/heartbleed.js +55 -0
  392. package/node_modules/node-forge/tests/issues/issue-428.html +95 -0
  393. package/node_modules/node-forge/tests/issues/issue-428.js +375 -0
  394. package/node_modules/node-forge/tests/karma/index.js +8 -0
  395. package/node_modules/node-forge/tests/karma/testWorker.js +65 -0
  396. package/node_modules/node-forge/tests/karma/web-worker-rsa.js +55 -0
  397. package/node_modules/node-forge/tests/legacy/common.html +65 -0
  398. package/node_modules/node-forge/tests/legacy/common.js +2199 -0
  399. package/node_modules/node-forge/tests/legacy/form.html +148 -0
  400. package/node_modules/node-forge/tests/legacy/form.js +40 -0
  401. package/node_modules/node-forge/tests/legacy/http.html +235 -0
  402. package/node_modules/node-forge/tests/legacy/index.html +70 -0
  403. package/node_modules/node-forge/tests/legacy/keygen.html +113 -0
  404. package/node_modules/node-forge/tests/legacy/login.css +26 -0
  405. package/node_modules/node-forge/tests/legacy/loginDemo.html +32 -0
  406. package/node_modules/node-forge/tests/legacy/loginDemo.js +149 -0
  407. package/node_modules/node-forge/tests/legacy/performance.html +533 -0
  408. package/node_modules/node-forge/tests/legacy/result.txt +1 -0
  409. package/node_modules/node-forge/tests/legacy/socketPool.html +302 -0
  410. package/node_modules/node-forge/tests/legacy/tasks.html +54 -0
  411. package/node_modules/node-forge/tests/legacy/tasks.js +378 -0
  412. package/node_modules/node-forge/tests/legacy/tls.html +389 -0
  413. package/node_modules/node-forge/tests/legacy/webid.html +89 -0
  414. package/node_modules/node-forge/tests/legacy/webid.js +313 -0
  415. package/node_modules/node-forge/tests/legacy/ws-webid.js +120 -0
  416. package/node_modules/node-forge/tests/legacy/xhr.html +67 -0
  417. package/node_modules/node-forge/tests/legacy/xhr.js +590 -0
  418. package/node_modules/node-forge/tests/pocs/ghsa-2328-f5f3-gj25.js +85 -0
  419. package/node_modules/node-forge/tests/pocs/ghsa-ppp5-5v6c-4jwp.js +166 -0
  420. package/node_modules/node-forge/tests/pocs/ghsa-q67f-28xg-22rw.js +103 -0
  421. package/node_modules/node-forge/tests/security/cve-2025-12816.js +75 -0
  422. package/node_modules/node-forge/tests/security/ghsa-554w-wpv2-vw27.js +81 -0
  423. package/node_modules/node-forge/tests/security/index.js +3 -0
  424. package/node_modules/node-forge/tests/server.crt +26 -0
  425. package/node_modules/node-forge/tests/server.js +87 -0
  426. package/node_modules/node-forge/tests/server.key +27 -0
  427. package/node_modules/node-forge/tests/support/task.js +718 -0
  428. package/node_modules/node-forge/tests/tests.css +61 -0
  429. package/node_modules/node-forge/tests/unit/aes.js +1498 -0
  430. package/node_modules/node-forge/tests/unit/asn1.js +1337 -0
  431. package/node_modules/node-forge/tests/unit/csr.js +129 -0
  432. package/node_modules/node-forge/tests/unit/des.js +231 -0
  433. package/node_modules/node-forge/tests/unit/ed25519.js +395 -0
  434. package/node_modules/node-forge/tests/unit/forge.js +2 -0
  435. package/node_modules/node-forge/tests/unit/hmac.js +64 -0
  436. package/node_modules/node-forge/tests/unit/index.html +20 -0
  437. package/node_modules/node-forge/tests/unit/index.js +27 -0
  438. package/node_modules/node-forge/tests/unit/jsbn.js +40 -0
  439. package/node_modules/node-forge/tests/unit/kem.js +167 -0
  440. package/node_modules/node-forge/tests/unit/md5.js +114 -0
  441. package/node_modules/node-forge/tests/unit/mgf1.js +16 -0
  442. package/node_modules/node-forge/tests/unit/pbkdf2.js +182 -0
  443. package/node_modules/node-forge/tests/unit/pem.js +159 -0
  444. package/node_modules/node-forge/tests/unit/pkcs1.js +1077 -0
  445. package/node_modules/node-forge/tests/unit/pkcs12.js +739 -0
  446. package/node_modules/node-forge/tests/unit/pkcs7.js +792 -0
  447. package/node_modules/node-forge/tests/unit/random.js +48 -0
  448. package/node_modules/node-forge/tests/unit/rc2.js +88 -0
  449. package/node_modules/node-forge/tests/unit/rsa.js +1278 -0
  450. package/node_modules/node-forge/tests/unit/sha1.js +72 -0
  451. package/node_modules/node-forge/tests/unit/sha256.js +79 -0
  452. package/node_modules/node-forge/tests/unit/sha512.js +200 -0
  453. package/node_modules/node-forge/tests/unit/ssh.js +175 -0
  454. package/node_modules/node-forge/tests/unit/tls.js +175 -0
  455. package/node_modules/node-forge/tests/unit/util.js +595 -0
  456. package/node_modules/node-forge/tests/unit/x509.js +1986 -0
  457. package/node_modules/node-forge/tests/websockets/server-webid.js +495 -0
  458. package/node_modules/node-forge/tests/websockets/server-ws.js +158 -0
  459. package/node_modules/node-forge/webpack-tests.config.js +26 -0
  460. package/node_modules/node-forge/webpack.config.js +130 -0
  461. package/node_modules/zod/LICENSE +21 -0
  462. package/node_modules/zod/README.md +208 -0
  463. package/node_modules/zod/index.cjs +33 -0
  464. package/node_modules/zod/index.d.cts +4 -0
  465. package/node_modules/zod/index.d.ts +4 -0
  466. package/node_modules/zod/index.js +4 -0
  467. package/node_modules/zod/package.json +118 -0
  468. package/node_modules/zod/src/index.ts +4 -0
  469. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  470. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  471. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  472. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  473. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  474. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  475. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  476. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  477. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  478. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  479. package/node_modules/zod/src/v3/errors.ts +13 -0
  480. package/node_modules/zod/src/v3/external.ts +6 -0
  481. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  482. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  483. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  484. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  485. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  486. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  487. package/node_modules/zod/src/v3/index.ts +4 -0
  488. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  489. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  490. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  491. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  492. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  493. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  494. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  495. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  496. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  497. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  498. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  499. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  500. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  501. package/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
  502. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  503. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  504. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  505. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  506. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  507. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  508. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  509. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  510. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  511. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  512. package/node_modules/zod/src/v3/tests/function.test.ts +257 -0
  513. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  514. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  515. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  516. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  517. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  518. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  519. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  520. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  521. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  522. package/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
  523. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  524. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  525. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  526. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  527. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  528. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  529. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  530. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  531. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  532. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  533. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  534. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  535. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  536. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  537. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  538. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  539. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  540. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  541. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  542. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  543. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  544. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  545. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  546. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  547. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  548. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  549. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  550. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  551. package/node_modules/zod/src/v3/types.ts +5136 -0
  552. package/node_modules/zod/src/v4/classic/checks.ts +30 -0
  553. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  554. package/node_modules/zod/src/v4/classic/compat.ts +66 -0
  555. package/node_modules/zod/src/v4/classic/errors.ts +75 -0
  556. package/node_modules/zod/src/v4/classic/external.ts +50 -0
  557. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  558. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  559. package/node_modules/zod/src/v4/classic/parse.ts +33 -0
  560. package/node_modules/zod/src/v4/classic/schemas.ts +2054 -0
  561. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  562. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  563. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  564. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  565. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  566. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  567. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  568. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
  569. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +252 -0
  570. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  571. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  572. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
  573. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  574. package/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
  575. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +296 -0
  576. package/node_modules/zod/src/v4/classic/tests/default.test.ts +313 -0
  577. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  578. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
  579. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  580. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +527 -0
  581. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  582. package/node_modules/zod/src/v4/classic/tests/file.test.ts +91 -0
  583. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +175 -0
  584. package/node_modules/zod/src/v4/classic/tests/function.test.ts +268 -0
  585. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  586. package/node_modules/zod/src/v4/classic/tests/index.test.ts +829 -0
  587. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
  588. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
  589. package/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
  590. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  591. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +92 -0
  592. package/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
  593. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  594. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  595. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +86 -0
  596. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  597. package/node_modules/zod/src/v4/classic/tests/number.test.ts +247 -0
  598. package/node_modules/zod/src/v4/classic/tests/object.test.ts +563 -0
  599. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +123 -0
  600. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +147 -0
  601. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
  602. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +81 -0
  603. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
  604. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +298 -0
  605. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  606. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  607. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  608. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  609. package/node_modules/zod/src/v4/classic/tests/record.test.ts +342 -0
  610. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +356 -0
  611. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +532 -0
  612. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
  613. package/node_modules/zod/src/v4/classic/tests/set.test.ts +179 -0
  614. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
  615. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +109 -0
  616. package/node_modules/zod/src/v4/classic/tests/string.test.ts +881 -0
  617. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +66 -0
  618. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +758 -0
  619. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
  620. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +250 -0
  621. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
  622. package/node_modules/zod/src/v4/classic/tests/union.test.ts +94 -0
  623. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  624. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  625. package/node_modules/zod/src/v4/core/api.ts +1594 -0
  626. package/node_modules/zod/src/v4/core/checks.ts +1283 -0
  627. package/node_modules/zod/src/v4/core/config.ts +15 -0
  628. package/node_modules/zod/src/v4/core/core.ts +134 -0
  629. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  630. package/node_modules/zod/src/v4/core/errors.ts +424 -0
  631. package/node_modules/zod/src/v4/core/function.ts +176 -0
  632. package/node_modules/zod/src/v4/core/index.ts +15 -0
  633. package/node_modules/zod/src/v4/core/json-schema.ts +143 -0
  634. package/node_modules/zod/src/v4/core/parse.ts +94 -0
  635. package/node_modules/zod/src/v4/core/regexes.ts +135 -0
  636. package/node_modules/zod/src/v4/core/registries.ts +96 -0
  637. package/node_modules/zod/src/v4/core/schemas.ts +3842 -0
  638. package/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
  639. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  640. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  641. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  642. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  643. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  644. package/node_modules/zod/src/v4/core/to-json-schema.ts +977 -0
  645. package/node_modules/zod/src/v4/core/util.ts +775 -0
  646. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  647. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  648. package/node_modules/zod/src/v4/index.ts +4 -0
  649. package/node_modules/zod/src/v4/locales/ar.ts +125 -0
  650. package/node_modules/zod/src/v4/locales/az.ts +121 -0
  651. package/node_modules/zod/src/v4/locales/be.ts +184 -0
  652. package/node_modules/zod/src/v4/locales/ca.ts +127 -0
  653. package/node_modules/zod/src/v4/locales/cs.ts +142 -0
  654. package/node_modules/zod/src/v4/locales/de.ts +124 -0
  655. package/node_modules/zod/src/v4/locales/en.ts +127 -0
  656. package/node_modules/zod/src/v4/locales/eo.ts +125 -0
  657. package/node_modules/zod/src/v4/locales/es.ts +125 -0
  658. package/node_modules/zod/src/v4/locales/fa.ts +134 -0
  659. package/node_modules/zod/src/v4/locales/fi.ts +131 -0
  660. package/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
  661. package/node_modules/zod/src/v4/locales/fr.ts +124 -0
  662. package/node_modules/zod/src/v4/locales/he.ts +125 -0
  663. package/node_modules/zod/src/v4/locales/hu.ts +126 -0
  664. package/node_modules/zod/src/v4/locales/id.ts +125 -0
  665. package/node_modules/zod/src/v4/locales/index.ts +39 -0
  666. package/node_modules/zod/src/v4/locales/it.ts +125 -0
  667. package/node_modules/zod/src/v4/locales/ja.ts +122 -0
  668. package/node_modules/zod/src/v4/locales/kh.ts +126 -0
  669. package/node_modules/zod/src/v4/locales/ko.ts +131 -0
  670. package/node_modules/zod/src/v4/locales/mk.ts +127 -0
  671. package/node_modules/zod/src/v4/locales/ms.ts +124 -0
  672. package/node_modules/zod/src/v4/locales/nl.ts +126 -0
  673. package/node_modules/zod/src/v4/locales/no.ts +124 -0
  674. package/node_modules/zod/src/v4/locales/ota.ts +125 -0
  675. package/node_modules/zod/src/v4/locales/pl.ts +126 -0
  676. package/node_modules/zod/src/v4/locales/ps.ts +133 -0
  677. package/node_modules/zod/src/v4/locales/pt.ts +123 -0
  678. package/node_modules/zod/src/v4/locales/ru.ts +184 -0
  679. package/node_modules/zod/src/v4/locales/sl.ts +126 -0
  680. package/node_modules/zod/src/v4/locales/sv.ts +127 -0
  681. package/node_modules/zod/src/v4/locales/ta.ts +125 -0
  682. package/node_modules/zod/src/v4/locales/th.ts +126 -0
  683. package/node_modules/zod/src/v4/locales/tr.ts +121 -0
  684. package/node_modules/zod/src/v4/locales/ua.ts +126 -0
  685. package/node_modules/zod/src/v4/locales/ur.ts +126 -0
  686. package/node_modules/zod/src/v4/locales/vi.ts +125 -0
  687. package/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
  688. package/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
  689. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  690. package/node_modules/zod/src/v4/mini/coerce.ts +22 -0
  691. package/node_modules/zod/src/v4/mini/external.ts +40 -0
  692. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  693. package/node_modules/zod/src/v4/mini/iso.ts +62 -0
  694. package/node_modules/zod/src/v4/mini/parse.ts +1 -0
  695. package/node_modules/zod/src/v4/mini/schemas.ts +1579 -0
  696. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  697. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
  698. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  699. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  700. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  701. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
  702. package/node_modules/zod/src/v4/mini/tests/index.test.ts +871 -0
  703. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  704. package/node_modules/zod/src/v4/mini/tests/object.test.ts +185 -0
  705. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  706. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  707. package/node_modules/zod/src/v4/mini/tests/string.test.ts +299 -0
  708. package/node_modules/zod/src/v4-mini/index.ts +1 -0
  709. package/node_modules/zod/v3/ZodError.cjs +138 -0
  710. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  711. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  712. package/node_modules/zod/v3/ZodError.js +133 -0
  713. package/node_modules/zod/v3/errors.cjs +17 -0
  714. package/node_modules/zod/v3/errors.d.cts +5 -0
  715. package/node_modules/zod/v3/errors.d.ts +5 -0
  716. package/node_modules/zod/v3/errors.js +9 -0
  717. package/node_modules/zod/v3/external.cjs +22 -0
  718. package/node_modules/zod/v3/external.d.cts +6 -0
  719. package/node_modules/zod/v3/external.d.ts +6 -0
  720. package/node_modules/zod/v3/external.js +6 -0
  721. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  722. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  723. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  724. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  725. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  726. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  727. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  728. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  729. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  730. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  731. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  732. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  733. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  734. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  735. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  736. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  737. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  738. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  739. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  740. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  741. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  742. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  743. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  744. package/node_modules/zod/v3/helpers/util.js +133 -0
  745. package/node_modules/zod/v3/index.cjs +33 -0
  746. package/node_modules/zod/v3/index.d.cts +4 -0
  747. package/node_modules/zod/v3/index.d.ts +4 -0
  748. package/node_modules/zod/v3/index.js +4 -0
  749. package/node_modules/zod/v3/locales/en.cjs +111 -0
  750. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  751. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  752. package/node_modules/zod/v3/locales/en.js +109 -0
  753. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  754. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  755. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  756. package/node_modules/zod/v3/standard-schema.js +1 -0
  757. package/node_modules/zod/v3/types.cjs +3775 -0
  758. package/node_modules/zod/v3/types.d.cts +1031 -0
  759. package/node_modules/zod/v3/types.d.ts +1031 -0
  760. package/node_modules/zod/v3/types.js +3693 -0
  761. package/node_modules/zod/v4/classic/checks.cjs +32 -0
  762. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  763. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  764. package/node_modules/zod/v4/classic/checks.js +1 -0
  765. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  766. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  767. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  768. package/node_modules/zod/v4/classic/coerce.js +17 -0
  769. package/node_modules/zod/v4/classic/compat.cjs +57 -0
  770. package/node_modules/zod/v4/classic/compat.d.cts +46 -0
  771. package/node_modules/zod/v4/classic/compat.d.ts +46 -0
  772. package/node_modules/zod/v4/classic/compat.js +27 -0
  773. package/node_modules/zod/v4/classic/errors.cjs +67 -0
  774. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  775. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  776. package/node_modules/zod/v4/classic/errors.js +41 -0
  777. package/node_modules/zod/v4/classic/external.cjs +70 -0
  778. package/node_modules/zod/v4/classic/external.d.cts +13 -0
  779. package/node_modules/zod/v4/classic/external.d.ts +13 -0
  780. package/node_modules/zod/v4/classic/external.js +18 -0
  781. package/node_modules/zod/v4/classic/index.cjs +33 -0
  782. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  783. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  784. package/node_modules/zod/v4/classic/index.js +4 -0
  785. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  786. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  787. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  788. package/node_modules/zod/v4/classic/iso.js +30 -0
  789. package/node_modules/zod/v4/classic/parse.cjs +32 -0
  790. package/node_modules/zod/v4/classic/parse.d.cts +23 -0
  791. package/node_modules/zod/v4/classic/parse.d.ts +23 -0
  792. package/node_modules/zod/v4/classic/parse.js +6 -0
  793. package/node_modules/zod/v4/classic/schemas.cjs +1109 -0
  794. package/node_modules/zod/v4/classic/schemas.d.cts +630 -0
  795. package/node_modules/zod/v4/classic/schemas.d.ts +630 -0
  796. package/node_modules/zod/v4/classic/schemas.js +1006 -0
  797. package/node_modules/zod/v4/core/api.cjs +1039 -0
  798. package/node_modules/zod/v4/core/api.d.cts +284 -0
  799. package/node_modules/zod/v4/core/api.d.ts +284 -0
  800. package/node_modules/zod/v4/core/api.js +906 -0
  801. package/node_modules/zod/v4/core/checks.cjs +591 -0
  802. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  803. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  804. package/node_modules/zod/v4/core/checks.js +565 -0
  805. package/node_modules/zod/v4/core/core.cjs +67 -0
  806. package/node_modules/zod/v4/core/core.d.cts +49 -0
  807. package/node_modules/zod/v4/core/core.d.ts +49 -0
  808. package/node_modules/zod/v4/core/core.js +61 -0
  809. package/node_modules/zod/v4/core/doc.cjs +39 -0
  810. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  811. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  812. package/node_modules/zod/v4/core/doc.js +35 -0
  813. package/node_modules/zod/v4/core/errors.cjs +226 -0
  814. package/node_modules/zod/v4/core/errors.d.cts +208 -0
  815. package/node_modules/zod/v4/core/errors.d.ts +208 -0
  816. package/node_modules/zod/v4/core/errors.js +195 -0
  817. package/node_modules/zod/v4/core/function.cjs +102 -0
  818. package/node_modules/zod/v4/core/function.d.cts +52 -0
  819. package/node_modules/zod/v4/core/function.d.ts +52 -0
  820. package/node_modules/zod/v4/core/function.js +75 -0
  821. package/node_modules/zod/v4/core/index.cjs +44 -0
  822. package/node_modules/zod/v4/core/index.d.cts +15 -0
  823. package/node_modules/zod/v4/core/index.d.ts +15 -0
  824. package/node_modules/zod/v4/core/index.js +15 -0
  825. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  826. package/node_modules/zod/v4/core/json-schema.d.cts +87 -0
  827. package/node_modules/zod/v4/core/json-schema.d.ts +87 -0
  828. package/node_modules/zod/v4/core/json-schema.js +1 -0
  829. package/node_modules/zod/v4/core/parse.cjs +87 -0
  830. package/node_modules/zod/v4/core/parse.d.cts +25 -0
  831. package/node_modules/zod/v4/core/parse.d.ts +25 -0
  832. package/node_modules/zod/v4/core/parse.js +57 -0
  833. package/node_modules/zod/v4/core/regexes.cjs +103 -0
  834. package/node_modules/zod/v4/core/regexes.d.cts +62 -0
  835. package/node_modules/zod/v4/core/regexes.d.ts +62 -0
  836. package/node_modules/zod/v4/core/regexes.js +95 -0
  837. package/node_modules/zod/v4/core/registries.cjs +56 -0
  838. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  839. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  840. package/node_modules/zod/v4/core/registries.js +51 -0
  841. package/node_modules/zod/v4/core/schemas.cjs +1748 -0
  842. package/node_modules/zod/v4/core/schemas.d.cts +1041 -0
  843. package/node_modules/zod/v4/core/schemas.d.ts +1041 -0
  844. package/node_modules/zod/v4/core/schemas.js +1717 -0
  845. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  846. package/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
  847. package/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
  848. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  849. package/node_modules/zod/v4/core/to-json-schema.cjs +854 -0
  850. package/node_modules/zod/v4/core/to-json-schema.d.cts +88 -0
  851. package/node_modules/zod/v4/core/to-json-schema.d.ts +88 -0
  852. package/node_modules/zod/v4/core/to-json-schema.js +849 -0
  853. package/node_modules/zod/v4/core/util.cjs +539 -0
  854. package/node_modules/zod/v4/core/util.d.cts +183 -0
  855. package/node_modules/zod/v4/core/util.d.ts +183 -0
  856. package/node_modules/zod/v4/core/util.js +493 -0
  857. package/node_modules/zod/v4/core/versions.cjs +8 -0
  858. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  859. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  860. package/node_modules/zod/v4/core/versions.js +5 -0
  861. package/node_modules/zod/v4/index.cjs +22 -0
  862. package/node_modules/zod/v4/index.d.cts +3 -0
  863. package/node_modules/zod/v4/index.d.ts +3 -0
  864. package/node_modules/zod/v4/index.js +3 -0
  865. package/node_modules/zod/v4/locales/ar.cjs +142 -0
  866. package/node_modules/zod/v4/locales/ar.d.cts +4 -0
  867. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  868. package/node_modules/zod/v4/locales/ar.js +116 -0
  869. package/node_modules/zod/v4/locales/az.cjs +141 -0
  870. package/node_modules/zod/v4/locales/az.d.cts +4 -0
  871. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  872. package/node_modules/zod/v4/locales/az.js +115 -0
  873. package/node_modules/zod/v4/locales/be.cjs +190 -0
  874. package/node_modules/zod/v4/locales/be.d.cts +4 -0
  875. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  876. package/node_modules/zod/v4/locales/be.js +164 -0
  877. package/node_modules/zod/v4/locales/ca.cjs +144 -0
  878. package/node_modules/zod/v4/locales/ca.d.cts +4 -0
  879. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  880. package/node_modules/zod/v4/locales/ca.js +118 -0
  881. package/node_modules/zod/v4/locales/cs.cjs +161 -0
  882. package/node_modules/zod/v4/locales/cs.d.cts +4 -0
  883. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  884. package/node_modules/zod/v4/locales/cs.js +135 -0
  885. package/node_modules/zod/v4/locales/de.cjs +142 -0
  886. package/node_modules/zod/v4/locales/de.d.cts +4 -0
  887. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  888. package/node_modules/zod/v4/locales/de.js +116 -0
  889. package/node_modules/zod/v4/locales/en.cjs +145 -0
  890. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  891. package/node_modules/zod/v4/locales/en.d.ts +5 -0
  892. package/node_modules/zod/v4/locales/en.js +117 -0
  893. package/node_modules/zod/v4/locales/eo.cjs +144 -0
  894. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  895. package/node_modules/zod/v4/locales/eo.d.ts +5 -0
  896. package/node_modules/zod/v4/locales/eo.js +116 -0
  897. package/node_modules/zod/v4/locales/es.cjs +143 -0
  898. package/node_modules/zod/v4/locales/es.d.cts +4 -0
  899. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  900. package/node_modules/zod/v4/locales/es.js +117 -0
  901. package/node_modules/zod/v4/locales/fa.cjs +148 -0
  902. package/node_modules/zod/v4/locales/fa.d.cts +4 -0
  903. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  904. package/node_modules/zod/v4/locales/fa.js +122 -0
  905. package/node_modules/zod/v4/locales/fi.cjs +148 -0
  906. package/node_modules/zod/v4/locales/fi.d.cts +4 -0
  907. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  908. package/node_modules/zod/v4/locales/fi.js +122 -0
  909. package/node_modules/zod/v4/locales/fr-CA.cjs +143 -0
  910. package/node_modules/zod/v4/locales/fr-CA.d.cts +4 -0
  911. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  912. package/node_modules/zod/v4/locales/fr-CA.js +117 -0
  913. package/node_modules/zod/v4/locales/fr.cjs +142 -0
  914. package/node_modules/zod/v4/locales/fr.d.cts +4 -0
  915. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  916. package/node_modules/zod/v4/locales/fr.js +116 -0
  917. package/node_modules/zod/v4/locales/he.cjs +143 -0
  918. package/node_modules/zod/v4/locales/he.d.cts +4 -0
  919. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  920. package/node_modules/zod/v4/locales/he.js +117 -0
  921. package/node_modules/zod/v4/locales/hu.cjs +143 -0
  922. package/node_modules/zod/v4/locales/hu.d.cts +4 -0
  923. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  924. package/node_modules/zod/v4/locales/hu.js +117 -0
  925. package/node_modules/zod/v4/locales/id.cjs +142 -0
  926. package/node_modules/zod/v4/locales/id.d.cts +4 -0
  927. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  928. package/node_modules/zod/v4/locales/id.js +116 -0
  929. package/node_modules/zod/v4/locales/index.cjs +84 -0
  930. package/node_modules/zod/v4/locales/index.d.cts +39 -0
  931. package/node_modules/zod/v4/locales/index.d.ts +39 -0
  932. package/node_modules/zod/v4/locales/index.js +39 -0
  933. package/node_modules/zod/v4/locales/it.cjs +143 -0
  934. package/node_modules/zod/v4/locales/it.d.cts +4 -0
  935. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  936. package/node_modules/zod/v4/locales/it.js +117 -0
  937. package/node_modules/zod/v4/locales/ja.cjs +141 -0
  938. package/node_modules/zod/v4/locales/ja.d.cts +4 -0
  939. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  940. package/node_modules/zod/v4/locales/ja.js +115 -0
  941. package/node_modules/zod/v4/locales/kh.cjs +143 -0
  942. package/node_modules/zod/v4/locales/kh.d.cts +4 -0
  943. package/node_modules/zod/v4/locales/kh.d.ts +4 -0
  944. package/node_modules/zod/v4/locales/kh.js +117 -0
  945. package/node_modules/zod/v4/locales/ko.cjs +147 -0
  946. package/node_modules/zod/v4/locales/ko.d.cts +4 -0
  947. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  948. package/node_modules/zod/v4/locales/ko.js +121 -0
  949. package/node_modules/zod/v4/locales/mk.cjs +144 -0
  950. package/node_modules/zod/v4/locales/mk.d.cts +4 -0
  951. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  952. package/node_modules/zod/v4/locales/mk.js +118 -0
  953. package/node_modules/zod/v4/locales/ms.cjs +142 -0
  954. package/node_modules/zod/v4/locales/ms.d.cts +4 -0
  955. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  956. package/node_modules/zod/v4/locales/ms.js +116 -0
  957. package/node_modules/zod/v4/locales/nl.cjs +143 -0
  958. package/node_modules/zod/v4/locales/nl.d.cts +4 -0
  959. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  960. package/node_modules/zod/v4/locales/nl.js +117 -0
  961. package/node_modules/zod/v4/locales/no.cjs +142 -0
  962. package/node_modules/zod/v4/locales/no.d.cts +4 -0
  963. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  964. package/node_modules/zod/v4/locales/no.js +116 -0
  965. package/node_modules/zod/v4/locales/ota.cjs +143 -0
  966. package/node_modules/zod/v4/locales/ota.d.cts +4 -0
  967. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  968. package/node_modules/zod/v4/locales/ota.js +117 -0
  969. package/node_modules/zod/v4/locales/pl.cjs +143 -0
  970. package/node_modules/zod/v4/locales/pl.d.cts +4 -0
  971. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  972. package/node_modules/zod/v4/locales/pl.js +117 -0
  973. package/node_modules/zod/v4/locales/ps.cjs +148 -0
  974. package/node_modules/zod/v4/locales/ps.d.cts +4 -0
  975. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  976. package/node_modules/zod/v4/locales/ps.js +122 -0
  977. package/node_modules/zod/v4/locales/pt.cjs +142 -0
  978. package/node_modules/zod/v4/locales/pt.d.cts +4 -0
  979. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  980. package/node_modules/zod/v4/locales/pt.js +116 -0
  981. package/node_modules/zod/v4/locales/ru.cjs +190 -0
  982. package/node_modules/zod/v4/locales/ru.d.cts +4 -0
  983. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  984. package/node_modules/zod/v4/locales/ru.js +164 -0
  985. package/node_modules/zod/v4/locales/sl.cjs +143 -0
  986. package/node_modules/zod/v4/locales/sl.d.cts +4 -0
  987. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  988. package/node_modules/zod/v4/locales/sl.js +117 -0
  989. package/node_modules/zod/v4/locales/sv.cjs +144 -0
  990. package/node_modules/zod/v4/locales/sv.d.cts +4 -0
  991. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  992. package/node_modules/zod/v4/locales/sv.js +118 -0
  993. package/node_modules/zod/v4/locales/ta.cjs +143 -0
  994. package/node_modules/zod/v4/locales/ta.d.cts +4 -0
  995. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  996. package/node_modules/zod/v4/locales/ta.js +117 -0
  997. package/node_modules/zod/v4/locales/th.cjs +143 -0
  998. package/node_modules/zod/v4/locales/th.d.cts +4 -0
  999. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  1000. package/node_modules/zod/v4/locales/th.js +117 -0
  1001. package/node_modules/zod/v4/locales/tr.cjs +143 -0
  1002. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  1003. package/node_modules/zod/v4/locales/tr.d.ts +5 -0
  1004. package/node_modules/zod/v4/locales/tr.js +115 -0
  1005. package/node_modules/zod/v4/locales/ua.cjs +143 -0
  1006. package/node_modules/zod/v4/locales/ua.d.cts +4 -0
  1007. package/node_modules/zod/v4/locales/ua.d.ts +4 -0
  1008. package/node_modules/zod/v4/locales/ua.js +117 -0
  1009. package/node_modules/zod/v4/locales/ur.cjs +143 -0
  1010. package/node_modules/zod/v4/locales/ur.d.cts +4 -0
  1011. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  1012. package/node_modules/zod/v4/locales/ur.js +117 -0
  1013. package/node_modules/zod/v4/locales/vi.cjs +142 -0
  1014. package/node_modules/zod/v4/locales/vi.d.cts +4 -0
  1015. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  1016. package/node_modules/zod/v4/locales/vi.js +116 -0
  1017. package/node_modules/zod/v4/locales/zh-CN.cjs +142 -0
  1018. package/node_modules/zod/v4/locales/zh-CN.d.cts +4 -0
  1019. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  1020. package/node_modules/zod/v4/locales/zh-CN.js +116 -0
  1021. package/node_modules/zod/v4/locales/zh-TW.cjs +143 -0
  1022. package/node_modules/zod/v4/locales/zh-TW.d.cts +4 -0
  1023. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  1024. package/node_modules/zod/v4/locales/zh-TW.js +117 -0
  1025. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  1026. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  1027. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  1028. package/node_modules/zod/v4/mini/checks.js +1 -0
  1029. package/node_modules/zod/v4/mini/coerce.cjs +47 -0
  1030. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  1031. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  1032. package/node_modules/zod/v4/mini/coerce.js +17 -0
  1033. package/node_modules/zod/v4/mini/external.cjs +62 -0
  1034. package/node_modules/zod/v4/mini/external.d.cts +11 -0
  1035. package/node_modules/zod/v4/mini/external.d.ts +11 -0
  1036. package/node_modules/zod/v4/mini/external.js +13 -0
  1037. package/node_modules/zod/v4/mini/index.cjs +32 -0
  1038. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  1039. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  1040. package/node_modules/zod/v4/mini/index.js +3 -0
  1041. package/node_modules/zod/v4/mini/iso.cjs +60 -0
  1042. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  1043. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  1044. package/node_modules/zod/v4/mini/iso.js +30 -0
  1045. package/node_modules/zod/v4/mini/parse.cjs +8 -0
  1046. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  1047. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  1048. package/node_modules/zod/v4/mini/parse.js +1 -0
  1049. package/node_modules/zod/v4/mini/schemas.cjs +839 -0
  1050. package/node_modules/zod/v4/mini/schemas.d.cts +356 -0
  1051. package/node_modules/zod/v4/mini/schemas.d.ts +356 -0
  1052. package/node_modules/zod/v4/mini/schemas.js +732 -0
  1053. package/node_modules/zod/v4-mini/index.cjs +17 -0
  1054. package/node_modules/zod/v4-mini/index.d.cts +1 -0
  1055. package/node_modules/zod/v4-mini/index.d.ts +1 -0
  1056. package/node_modules/zod/v4-mini/index.js +1 -0
  1057. package/package.json +97 -0
@@ -0,0 +1,923 @@
1
+ export { containsGlobCharsWin, stripExtendedPathPrefix, buildGitConfigEnv, isUncPath, } from './sandbox-utils.js';
2
+ import type { SandboxDependencyCheck } from './linux-sandbox-utils.js';
3
+ import type { SrtWinConfig } from './sandbox-config.js';
4
+ /**
5
+ * Windows sandbox backend.
6
+ *
7
+ * Network isolation is enforced by `srt-win.exe` — a Rust helper that
8
+ * provisions a dedicated `srt-sandbox` local user account, installs a
9
+ * machine-wide WFP filter set keyed on that account's SID, and
10
+ * provides an `exec` subcommand that spawns the target via a two-hop
11
+ * launch (broker → `CreateProcessWithLogonW(runner)` → runner →
12
+ * restricted-token child) under `srt-sandbox`. The sandboxed child
13
+ * reaches the host only via the JS mux proxy, which the caller
14
+ * passes in via `--env`.
15
+ *
16
+ * The separate-user account structurally closes the surrogate-spawn
17
+ * class (schtasks, `PROC_THREAD_ATTRIBUTE_PARENT_PROCESS`, BITS,
18
+ * RunAs="Interactive User" COM): the child's token carries a
19
+ * different user SID, so it cannot reach real-user processes, tasks
20
+ * register under `srt-sandbox`, and the user-SID WFP filter fences
21
+ * `srt-sandbox` egress regardless of how the child was spawned.
22
+ *
23
+ * This module is a thin wrapper around the `srt-win` CLI; all status
24
+ * comes from live enumeration. There is no marker file.
25
+ *
26
+ * Filesystem rules (`denyRead`/`denyWrite`/`allowRead`/`allowWrite`)
27
+ * are enforced via additive explicit ACEs for `<sb-SID>` — see
28
+ * {@link grantWindowsAcl} / {@link stampWindowsAcl}.
29
+ */
30
+ /**
31
+ * Stable machine-readable code carried on every
32
+ * {@link WindowsSandboxError}. Consumers branch on `.code` instead of
33
+ * prose-matching `.message` (message text is diagnostic and may change
34
+ * between releases).
35
+ */
36
+ export type WindowsSandboxErrorCode =
37
+ /** `windows.srtWin.path` unset, or the configured/packaged exe is missing. */
38
+ 'srt_win_not_found'
39
+ /** `spawnSync(srt-win)` itself failed (ENOENT, EACCES). */
40
+ | 'spawn_failed'
41
+ /** `srt-win` was killed by the spawn timeout (generic; see `install_timeout`). */
42
+ | 'srt_win_timeout'
43
+ /** A JSON-emitting `srt-win` subcommand exited non-zero. */
44
+ | 'srt_win_nonzero'
45
+ /** `srt-win` stdout was not valid JSON. */
46
+ | 'srt_win_bad_json'
47
+ /** {@link parseWindowsBinShell} rejected the `binShell` value. */
48
+ | 'bin_shell_invalid'
49
+ /** {@link verifyWindowsWfpEgress} could not bind a probe listener. */
50
+ | 'wfp_verify_bind_failed'
51
+ /** `srt-win wfp verify` produced no parseable result (timeout/kill). */
52
+ | 'wfp_verify_unparseable'
53
+ /** `srt-win wfp verify` proved direct egress SUCCEEDED (fence absent). */
54
+ | 'wfp_fence_inactive'
55
+ /** `srt-win wfp verify` was neither `blocked` nor `connected`. */
56
+ | 'wfp_verify_inconclusive'
57
+ /** `srt-win user trust-ca` exited non-zero. */
58
+ | 'trust_ca_failed'
59
+ /** `tlsTerminate` requested but no CA is installed for the sandbox user. */
60
+ | 'trust_ca_not_installed'
61
+ /** Installed CA thumbprint ≠ session CA thumbprint. */
62
+ | 'trust_ca_thumbprint_mismatch'
63
+ /** `srt-win install` exit 12 — WFP filter install failed. */
64
+ | 'install_wfp_failed'
65
+ /** `srt-win install` exit 14 — sandbox-user provisioning failed. */
66
+ | 'install_user_failed'
67
+ /** `srt-win install` exit 13 — different config under this sublayer. */
68
+ | 'install_config_conflict'
69
+ /** `srt-win install` exit 17 — ambient write-deny stamping failed. */
70
+ | 'install_ambient_failed'
71
+ /** `srt-win install` was killed by the spawn timeout (UAC left open). */
72
+ | 'install_timeout'
73
+ /** `srt-win install` failed with an unmapped exit code. */
74
+ | 'install_failed'
75
+ /** `srt-win uninstall` exited non-zero (not UAC-cancel). */
76
+ | 'uninstall_failed'
77
+ /** `srt-win acl stamp` exited non-zero. */
78
+ | 'acl_stamp_failed'
79
+ /** `srt-win acl grant` exited non-zero. */
80
+ | 'acl_grant_failed'
81
+ /** `srt-win exec` argv would exceed CreateProcessW's 32 767-char limit. */
82
+ | 'argv_too_long'
83
+ /** Sandbox user account / credential not present — run install. */
84
+ | 'not_provisioned'
85
+ /**
86
+ * Working directory is on a mapped network drive; the sandbox
87
+ * cannot start (per-user drive mappings don't exist under the
88
+ * sandbox logon). `srt-win exec` exit **16**; parsed from its
89
+ * stderr JSON by {@link parseWindowsSandboxError}, which carries
90
+ * the failing root on `.drive` ({@link MappedDriveCwdError}).
91
+ */
92
+ | 'mapped_drive_cwd';
93
+ /**
94
+ * Error thrown by the Windows sandbox backend. Carries a stable
95
+ * {@link WindowsSandboxErrorCode} on `.code` so callers can branch
96
+ * without prose-matching `.message`. `instanceof WindowsSandboxError`
97
+ * narrows `.code` to the union.
98
+ *
99
+ * `.subcommand` is set on errors thrown from the `srt-win` spawn
100
+ * chokepoint (`spawn_failed`, `srt_win_timeout`, `srt_win_nonzero`,
101
+ * `srt_win_bad_json`) to the first CLI arg (e.g. `'install'`,
102
+ * `'wfp'`) so a consumer can distinguish install-spawn-failed from
103
+ * probe-spawn-failed without prose-matching. Unset elsewhere.
104
+ */
105
+ export declare class WindowsSandboxError extends Error {
106
+ readonly code: WindowsSandboxErrorCode;
107
+ readonly subcommand?: string;
108
+ constructor(code: WindowsSandboxErrorCode, message: string, subcommand?: string);
109
+ }
110
+ export declare const DEFAULT_WINDOWS_PROXY_PORT_RANGE: readonly [number, number];
111
+ /**
112
+ * `cannot-read` is the graceful-degrade state when BFE enumeration
113
+ * is access-denied (it is admin-gated). The non-elevated readiness
114
+ * check is {@link verifyWindowsWfpEgress}, not this enum.
115
+ */
116
+ export type WindowsWfpStatus = 'absent' | 'installed' | 'cannot-read';
117
+ export interface WindowsWfpStatusResult {
118
+ state: WindowsWfpStatus;
119
+ /** Live filter count from BFE enum; `0` on `cannot-read`. */
120
+ filters: number;
121
+ /** `[low, high]` for the loopback PERMIT, when known. */
122
+ portRange?: [number, number];
123
+ /** Sandbox-user SID read from the first user-keyed filter tag. */
124
+ userSid?: string;
125
+ /**
126
+ * Populated only on `cannot-read` (BFE enumeration is admin-gated;
127
+ * a non-elevated caller can't read it). The non-elevated readiness
128
+ * check is {@link verifyWindowsWfpEgress}, not this enum.
129
+ */
130
+ hint?: string;
131
+ }
132
+ /**
133
+ * Result of `srt-win wfp verify` on success (exit 0, `blocked`) —
134
+ * see {@link verifyWindowsWfpEgress}. Any other outcome throws, so
135
+ * the tri-state is unobservable on the return path.
136
+ */
137
+ export interface WindowsWfpVerifyResult {
138
+ target: string;
139
+ /** Runner's stderr (carries the `BLOCKED (…)` diagnostic line). */
140
+ stderr: string;
141
+ }
142
+ /**
143
+ * State of the `srt-sandbox` local account that `srt-win install`
144
+ * provisions. The sandboxed child runs **as** this account.
145
+ */
146
+ export interface WindowsSandboxUserStatus {
147
+ /** The `srt-sandbox` local account exists. */
148
+ provisioned: boolean;
149
+ /** `S-1-5-21-…` of `srt-sandbox`, when provisioned. */
150
+ sid?: string;
151
+ /** The `sandbox-runtime-users` local group exists. */
152
+ groupExists: boolean;
153
+ /** `S-1-5-21-…` of `sandbox-runtime-users`, when it exists. */
154
+ groupSid?: string;
155
+ inBuiltinUsers: boolean;
156
+ inSandboxGroup: boolean;
157
+ hiddenFromLogon: boolean;
158
+ /**
159
+ * The credential blob (`HKLM\SOFTWARE\sandbox-runtime\Cred`) is
160
+ * present, decryptable, and readable by THIS process. False when
161
+ * not yet written, or when called from inside the sandbox (the
162
+ * Cred key carries an explicit DENY for `sandbox-runtime-users` —
163
+ * machine-scope DPAPI alone is not a confidentiality boundary).
164
+ */
165
+ credPresent: boolean;
166
+ /** Setup marker schema version, when the marker row exists. */
167
+ markerVersion?: number;
168
+ /**
169
+ * The calling (real) user's SID — the broker's identity, surfaced
170
+ * for diagnostics. The DENY-ACE trustee is `srt-sandbox`'s SID
171
+ * ({@link sid}), not this. Always present.
172
+ */
173
+ realUserSid: string;
174
+ /**
175
+ * SHA-1 thumbprint of the install-time CA, when one was
176
+ * installed via `srt-win user trust-ca`. Uppercase hex.
177
+ */
178
+ caCertThumb?: string;
179
+ /** PEM-encoded install-time CA certificate, when present. */
180
+ caCertPem?: string;
181
+ }
182
+ /**
183
+ * Inner shell to run `command` under, inside the sandbox: the
184
+ * executable to spawn and the flag argv placed between it and the
185
+ * user's command string. `exe` MUST originate from trusted host
186
+ * configuration (user settings / install detection), NEVER from
187
+ * workspace or repository content — the inner shell runs INSIDE the
188
+ * sandbox so an unexpected path is not a sandbox-escape vector, but
189
+ * it would still be an arbitrary-exec footgun if sourced from
190
+ * untrusted input.
191
+ *
192
+ * Construct via {@link parseWindowsBinShell} — it is the SOLE
193
+ * normalizer and the only place validation lives.
194
+ */
195
+ export type WindowsBinShell = {
196
+ /** Shell executable to spawn (absolute path when caller-supplied). */
197
+ exe: string;
198
+ /** Argv placed between `exe` and the user's command string. */
199
+ args: readonly string[];
200
+ };
201
+ /**
202
+ * Sole normalizer from the cross-platform `binShell?: string |
203
+ * WindowsBinShell` surface ({@link SandboxManager.wrapWithSandboxArgv})
204
+ * to a spawnable `{exe, args}` pair. All validation lives here —
205
+ * {@link wrapCommandWithSandboxWindows} consumes the result verbatim.
206
+ *
207
+ * String form: bare token (`'cmd'|'pwsh'|'powershell'`) resolves to
208
+ * the default install; absolute path to `bash.exe`/`sh.exe`/
209
+ * `pwsh.exe`/`powershell.exe`/`cmd.exe` keeps the caller's path with
210
+ * the matching flag shape. Object form: `exe` must be absolute; `args`
211
+ * pass through unchanged. Throws on anything else — no silent
212
+ * fallback to cmd.exe.
213
+ *
214
+ * Uses `path.win32` explicitly so the function (and its unit test)
215
+ * is platform-independent.
216
+ */
217
+ export declare function parseWindowsBinShell(raw?: string | WindowsBinShell): WindowsBinShell;
218
+ export interface WindowsSandboxParams {
219
+ command: string;
220
+ /** Attribution key encoded for violation correlation; defaults to
221
+ * `command`. See MacOSSandboxParams.commandId. */
222
+ commandId?: string;
223
+ /**
224
+ * JS HTTP proxy port — fed to `generateProxyEnvVars` for the env
225
+ * overlay. With the in-process proxy this is the mux front-end
226
+ * port (same as `socksProxyPort`).
227
+ */
228
+ httpProxyPort?: number;
229
+ /**
230
+ * JS SOCKS proxy port — fed to `generateProxyEnvVars` for the env
231
+ * overlay. With the in-process proxy this is the mux front-end
232
+ * port (same as `httpProxyPort`).
233
+ */
234
+ socksProxyPort?: number;
235
+ /** Per-session proxy auth token; embedded in proxy env URLs. */
236
+ proxyAuthToken?: string;
237
+ /**
238
+ * `mode: 'mask'` credential env vars — sentinel values the
239
+ * sandboxed child should see in place of the real credentials.
240
+ * Threaded through the `--env` overlay so the runner forwards
241
+ * them into the child's fresh profile env (the broker's own
242
+ * environment never reaches the child, so an `env -u`-style
243
+ * scrub is structurally moot — there is no `unsetEnvVars`).
244
+ * Applied BEFORE the proxy assignments so the sandbox's own
245
+ * proxy plumbing survives even if a caller masks one of those
246
+ * names — same precedence as macOS/Linux.
247
+ */
248
+ setEnvVars?: Readonly<Record<string, string>>;
249
+ /**
250
+ * Per-exec read-deny paths, applied via an additive
251
+ * `(D;OICI;FA;;;<sb-SID>)` ACE under the `srt-win exec`
252
+ * process's own PID and released after the child exits. Same
253
+ * disk-first chokepoint as the session-level
254
+ * {@link stampWindowsAcl}; same fail-closed semantics (exec
255
+ * fails if any path cannot be stamped).
256
+ *
257
+ * Normalized concrete paths — globs expanded by the caller via
258
+ * {@link expandWindowsFsPaths}, the same as session-level.
259
+ * `srt-win exec`'s `canonicalize_ace_targets` hard-fails on a
260
+ * glob (it never expands), so a `*`/`?` reaching this field is
261
+ * a caller bug.
262
+ */
263
+ denyRead?: readonly string[];
264
+ /** Per-exec write-deny paths — see {@link denyRead}. */
265
+ denyWrite?: readonly string[];
266
+ /**
267
+ * Working directory the child starts in. Fed to
268
+ * {@link buildGitConfigEnv} as a `safe.directory` entry so git
269
+ * inside the sandbox accepts the real-user-owned working tree.
270
+ * Default: `process.cwd()`.
271
+ *
272
+ * `srt-win exec` has no `--cwd` flag — the child's working
273
+ * directory is whatever the caller passes as the spawn `{cwd:}`
274
+ * option (broker `current_dir()` → runner `lpCurrentDirectory` →
275
+ * child inherits). This field must match that spawn option so
276
+ * `safe.directory` covers where git actually runs.
277
+ */
278
+ cwd?: string;
279
+ /**
280
+ * Session-level write-granted paths (the resolved
281
+ * `filesystem.allowWrite` set). Each becomes a `safe.directory`
282
+ * entry — see {@link buildGitConfigEnv}.
283
+ */
284
+ allowWrite?: readonly string[];
285
+ /**
286
+ * Explicit `safe.directory` entries (from
287
+ * `SandboxRuntimeConfig.git.safeDirectories`). Unioned with
288
+ * {@link cwd} and {@link allowWrite} into the `safe.directory` set
289
+ * — see {@link buildGitConfigEnv}. Use for the repo top-level when
290
+ * launching from a subdirectory: the top-level must NOT go in
291
+ * `allowWrite`, but git's dubious-ownership check keys on it.
292
+ */
293
+ gitSafeDirectories?: readonly string[];
294
+ /**
295
+ * Path to the TLS-termination trust bundle (the MITM CA + system
296
+ * roots) — fed to {@link generateProxyEnvVars} so the child's
297
+ * `NODE_EXTRA_CA_CERTS` / `CURL_CA_BUNDLE` / `SSL_CERT_FILE` /
298
+ * etc. point at it. Backslashes are normalised to forward slashes
299
+ * before emission so the value survives msys2 env conversion AND
300
+ * is accepted by native tools.
301
+ *
302
+ * The env-var layer covers OpenSSL-backed clients (msys2 curl,
303
+ * openssl-backed git, node, python, cargo). Schannel/.NET clients
304
+ * that read the Windows certificate store exclusively (System32
305
+ * `curl.exe`, `Invoke-WebRequest`, Go-built tools) trust via the
306
+ * separate `srt-win user trust-ca` / {@link windowsTrustCa}
307
+ * install-time write into the sandbox user's `CurrentUser\Root`.
308
+ *
309
+ * The caller is responsible for the sandbox user having read
310
+ * access to this path — `sandbox-manager.ts`'s `initialize()`
311
+ * pushes it into the session's `acl grant` read-set alongside the
312
+ * working-tree grants.
313
+ */
314
+ caCertPath?: string;
315
+ /**
316
+ * Suppress srt-win's informational stderr (progress lines,
317
+ * per-exec-deny summary, seclogon-job note). Actual errors still
318
+ * print. Default `true` — the host surfaces sandbox diagnostics
319
+ * via its own debug log, not the child's stderr stream.
320
+ */
321
+ quiet?: boolean;
322
+ /**
323
+ * Resolved `srt-win` spawn descriptor — from
324
+ * {@link resolveSrtWin}. Omitting it throws (there is no implicit
325
+ * vendor fallback); direct callers must resolve a path first.
326
+ */
327
+ srtWin?: SrtWinSpawn;
328
+ /**
329
+ * Inner shell. Defaults to `parseWindowsBinShell(undefined)`
330
+ * (System32 cmd.exe). The child's post-`args` content is
331
+ * **passthrough** — `&` chains, `"…"`/`'…'` quotes exactly as
332
+ * written. The security boundary is at the OUTER spawn (this argv
333
+ * is spawned with `shell:false`); the inner shell runs INSIDE the
334
+ * sandbox so its metachars are the user's tool. Construct via
335
+ * {@link parseWindowsBinShell}.
336
+ */
337
+ binShell?: WindowsBinShell;
338
+ }
339
+ /**
340
+ * The srt-win binary packaged with this module
341
+ * (`vendor/srt-win/<arch>/srt-win.exe`, arch from `process.arch`).
342
+ * Pass explicitly as `windows.srtWin.path` if you want the vendored
343
+ * exe — {@link resolveSrtWin} never falls back to it implicitly.
344
+ *
345
+ * WARNING: in a dev checkout this file may live inside your sandbox
346
+ * write grant — a sandboxed process could overwrite it; prefer a
347
+ * binary outside any grant (e.g. your own signed executable).
348
+ */
349
+ export declare const VENDORED_SRT_WIN_EXE: string;
350
+ /**
351
+ * Locate a built `srt-win.exe` for development/CI. Checks, in order:
352
+ * 1. `<root>/vendor/srt-win/{arch}/srt-win.exe` (prebuilt —
353
+ * {@link VENDORED_SRT_WIN_EXE}).
354
+ * 2. `<root>/vendor/srt-win-src/target/release/srt-win.exe` (local
355
+ * `cargo build --release`).
356
+ *
357
+ * `<root>` is {@link repoRoot} — `__dirname/../..`, which resolves to the
358
+ * repo root from `src/sandbox/` and `dist/sandbox/` alike, and to the
359
+ * package root when installed under `node_modules`.
360
+ *
361
+ * This is an explicit helper — nothing calls it as an ambient
362
+ * default. Production callers set `windows.srtWin.path` (their own
363
+ * binary, or {@link VENDORED_SRT_WIN_EXE}); see {@link resolveSrtWin}.
364
+ *
365
+ * @throws if neither candidate exists.
366
+ */
367
+ export declare function getSrtWinPath(): string;
368
+ /**
369
+ * `argv[1]` sentinel a multicall embedder's dispatcher matches
370
+ * against to route into `srt_win::run_from_args`. Mirrors the Rust
371
+ * `srt_win::SRT_WIN_DISPATCH_ARG1`; the two MUST stay in sync.
372
+ * `run_from_args` strips it before clap, so the standalone binary
373
+ * accepts it harmlessly.
374
+ */
375
+ export declare const SRT_WIN_DISPATCH_ARG1 = "--srt-win";
376
+ /**
377
+ * Resolved `srt-win` spawn descriptor — the executable to load plus
378
+ * the leading arguments that carry the dispatch sentinel. Threaded
379
+ * to every spawn site so {@link resolveSrtWin} runs once (at
380
+ * `initialize()`) instead of re-`stat`ing on every helper call.
381
+ */
382
+ export type SrtWinSpawn = Readonly<{
383
+ exe: string;
384
+ prependArgs: readonly string[];
385
+ }>;
386
+ /**
387
+ * Resolve the `srt-win` spawn target from config. `cfg.path` is
388
+ * required and used verbatim; {@link SRT_WIN_DISPATCH_ARG1} is
389
+ * prepended so a multicall dispatcher routes on `argv[1]` (the
390
+ * standalone binary strips it harmlessly).
391
+ *
392
+ * The path must be explicit because the packaged exe lives under
393
+ * the package root, which in a dev checkout sits inside the
394
+ * working-tree write grant (a planted `srt-win.exe` there would be
395
+ * spawned as the broker). Callers that want the packaged binary
396
+ * pass {@link VENDORED_SRT_WIN_EXE}.
397
+ *
398
+ * @throws if `cfg.path` is unset or names a missing file.
399
+ */
400
+ export declare function resolveSrtWin(cfg?: SrtWinConfig): SrtWinSpawn;
401
+ /** Combined result of `srt-win status` — see {@link checkWindowsSandboxStatus}. */
402
+ export interface WindowsSandboxStatus {
403
+ user: WindowsSandboxUserStatus;
404
+ wfp: WindowsWfpStatusResult;
405
+ }
406
+ /**
407
+ * Query sandbox-user provisioning state AND the WFP filter set in a
408
+ * single `srt-win status` spawn — the same objects
409
+ * {@link getWindowsSandboxUserStatus} and {@link getWindowsWfpStatus}
410
+ * return, without paying two subprocess round-trips. Does not require
411
+ * elevation (WFP degrades to `cannot-read` for a non-elevated caller;
412
+ * see {@link WindowsWfpStatusResult.hint}).
413
+ */
414
+ export declare function checkWindowsSandboxStatus(opts?: {
415
+ sublayerGuid?: string;
416
+ srtWin?: SrtWinSpawn;
417
+ }): WindowsSandboxStatus;
418
+ /** Async twin of {@link checkWindowsSandboxStatus}. */
419
+ export declare function checkWindowsSandboxStatusAsync(opts?: {
420
+ sublayerGuid?: string;
421
+ srtWin?: SrtWinSpawn;
422
+ }): Promise<WindowsSandboxStatus>;
423
+ /**
424
+ * Query the WFP filter set under the given sublayer via live BFE
425
+ * enumeration. `installed` means at least one srt-win-tagged
426
+ * `block-user` filter is present. Detection is **tag-based**
427
+ * (providerData JSON); filters installed by other tooling without the
428
+ * tag are not counted.
429
+ *
430
+ * BFE enumeration is admin-gated — a non-elevated caller gets
431
+ * `state:"cannot-read"` with a `hint` (not an error). The
432
+ * non-elevated readiness check is {@link verifyWindowsWfpEgress}.
433
+ *
434
+ * Prefer {@link getWindowsWfpStatusAsync}; this variant
435
+ * `spawnSync`-blocks the event loop.
436
+ */
437
+ export declare function getWindowsWfpStatus(opts?: {
438
+ sublayerGuid?: string;
439
+ srtWin?: SrtWinSpawn;
440
+ }): WindowsWfpStatusResult;
441
+ /** Async twin of {@link getWindowsWfpStatus}. */
442
+ export declare function getWindowsWfpStatusAsync(opts?: {
443
+ sublayerGuid?: string;
444
+ srtWin?: SrtWinSpawn;
445
+ }): Promise<WindowsWfpStatusResult>;
446
+ /**
447
+ * Behavioral proof that the WFP egress fence is active for the
448
+ * sandbox user. Binds a local listener on an ephemeral loopback port
449
+ * outside the WFP loopback-permit range, then spawns `srt-win
450
+ * runner` as the sandbox user (via `CreateProcessWithLogonW`) to
451
+ * attempt a direct TCP connect to it. The WFP block-user filter
452
+ * fires at `ALE_AUTH_CONNECT` — before any packet leaves — so an
453
+ * active fence yields WSAEACCES immediately and a missing fence lets
454
+ * the connect through (the kernel completes the handshake against
455
+ * the listening socket's backlog; no event-loop tick required, so
456
+ * the synchronous `runSrtWin` is safe). Does not require elevation
457
+ * and does not depend on any external host.
458
+ *
459
+ * `initialize()` calls this once per session, so a stale install
460
+ * (sandbox user provisioned but filters since removed) fails closed
461
+ * at session start instead of running every exec with full egress.
462
+ *
463
+ * @param opts.target overrides the probe target (skips the local
464
+ * listener bind).
465
+ * @param opts.proxyPortRange the WFP loopback-permit range the
466
+ * listener must avoid. Default
467
+ * {@link DEFAULT_WINDOWS_PROXY_PORT_RANGE}.
468
+ * @throws on any outcome other than `blocked` (exit 0).
469
+ */
470
+ export declare function verifyWindowsWfpEgress(opts?: {
471
+ target?: string;
472
+ proxyPortRange?: readonly [number, number];
473
+ srtWin?: SrtWinSpawn;
474
+ }): Promise<WindowsWfpVerifyResult>;
475
+ /**
476
+ * Query the sandbox user account's provisioning state. Each field
477
+ * is independently observed so a half-provisioned install (e.g.
478
+ * user exists but credential file missing) is distinguishable.
479
+ * Does not require elevation.
480
+ *
481
+ * Prefer {@link getWindowsSandboxUserStatusAsync}; this variant
482
+ * `spawnSync`-blocks the event loop.
483
+ */
484
+ export declare function getWindowsSandboxUserStatus(opts?: {
485
+ srtWin?: SrtWinSpawn;
486
+ }): WindowsSandboxUserStatus;
487
+ /** Async twin of {@link getWindowsSandboxUserStatus}. */
488
+ export declare function getWindowsSandboxUserStatusAsync(opts?: {
489
+ srtWin?: SrtWinSpawn;
490
+ }): Promise<WindowsSandboxUserStatus>;
491
+ /**
492
+ * Read back the persistent MITM CA the sandbox was installed with
493
+ * (via `srt-win user trust-ca` / {@link windowsTrustCa}).
494
+ * Returns `null` when no CA was installed. The PEM is what `srt-win
495
+ * user status` reconstructs from the DER recorded in the registry.
496
+ *
497
+ * On Windows, `tlsTerminate` requires this CA to be present in the
498
+ * sandbox user's `CurrentUser\Root` (schannel-level trust is an
499
+ * install-time concern, not per-session); the host calls this from
500
+ * `initialize()` to fail early with an actionable message when it
501
+ * isn't.
502
+ *
503
+ * @param status pass an already-fetched
504
+ * {@link getWindowsSandboxUserStatus} result to avoid a second
505
+ * `srt-win user status` spawn.
506
+ */
507
+ export declare function getWindowsSandboxCaCert(status?: WindowsSandboxUserStatus, opts?: {
508
+ srtWin?: SrtWinSpawn;
509
+ }): {
510
+ pem: string;
511
+ thumb: string;
512
+ } | null;
513
+ /**
514
+ * Install (or replace) the MITM CA in the **sandbox user's**
515
+ * `CurrentUser\Root` and record it in the registry (so
516
+ * {@link getWindowsSandboxCaCert} surfaces its thumbprint + PEM).
517
+ * Thin wrapper around `srt-win user trust-ca <path>`. Does NOT
518
+ * require elevation. Persistent until {@link uninstallWindowsSandbox}
519
+ * deletes the sandbox user's profile.
520
+ *
521
+ * The CA has a separate lifecycle from {@link installWindowsSandbox}
522
+ * — install provisions the account/filters and never touches the CA;
523
+ * call this AFTER install when `tlsTerminate` will be used.
524
+ *
525
+ * @throws when the sandbox user is not provisioned, the file is not a
526
+ * parseable X.509 certificate, or the registry write into the
527
+ * sandbox user's hive fails.
528
+ */
529
+ export declare function windowsTrustCa(caCertPath: string, opts?: {
530
+ srtWin?: SrtWinSpawn;
531
+ }): void;
532
+ /** Async twin of {@link windowsTrustCa} — identical argv and errors. */
533
+ export declare function windowsTrustCaAsync(caCertPath: string, opts?: {
534
+ srtWin?: SrtWinSpawn;
535
+ }): Promise<void>;
536
+ /**
537
+ * The machine-wide state directory `%ProgramData%\sandbox-runtime`,
538
+ * mirroring `srt-win`'s `state_db::machine_store_dir()` exactly.
539
+ * Since the registry move it hosts only the managed CA key material
540
+ * (`ca\`), which must stay on the filesystem because the broker's
541
+ * unelevated generate-if-absent self-heal rewrites it; the
542
+ * credential, marker, and CA record live in
543
+ * `HKLM\SOFTWARE\sandbox-runtime`. Created and ACL'd by the
544
+ * elevated `srt-win install`: Administrators own it, BUILTIN\Users
545
+ * have modify, and the sandbox group carries an explicit
546
+ * `(OI)(CI)` DENY.
547
+ */
548
+ export declare function windowsStateDir(): string;
549
+ /** Result of {@link ensurePersistentWindowsCa}. */
550
+ export type WindowsPersistentCa = {
551
+ /**
552
+ * PEM certificate — pass to `createMitmCA({caCertPem, caKeyPem})` so
553
+ * the caller doesn't re-read from disk.
554
+ */
555
+ certPem: string;
556
+ /** PEM private key — see {@link certPem}. */
557
+ keyPem: string;
558
+ /**
559
+ * `cert.pem` on disk (derived from `ca.json`; exists so
560
+ * {@link windowsTrustCa} and diagnostic tooling have a path).
561
+ */
562
+ certPath: string;
563
+ /** `key.pem` on disk (derived from `ca.json`). */
564
+ keyPath: string;
565
+ /** Uppercase-hex SHA-1 (matches `srt-win user status` `caCertThumb`). */
566
+ thumbprint: string;
567
+ /**
568
+ * `true` when this call generated a fresh CA (first run, `force`, or
569
+ * the on-disk pair was invalid/expiring); `false` when the existing
570
+ * on-disk pair was reused.
571
+ */
572
+ generated: boolean;
573
+ /**
574
+ * `true` when this call wrote the CA into the sandbox user's
575
+ * `CurrentUser\Root` (via {@link windowsTrustCa}) — always on
576
+ * `generated`, and on reuse when the sandbox user's installed
577
+ * thumbprint didn't already match. Callers holding a
578
+ * {@link WindowsSandboxUserStatus} fetched before this call should
579
+ * treat its `caCertThumb` as stale when `trusted` is true.
580
+ */
581
+ trusted: boolean;
582
+ };
583
+ /**
584
+ * Generate-if-absent a persistent MITM CA under
585
+ * `{windowsStateDir()}\ca\` and ensure it is trusted in
586
+ * the sandbox user's `CurrentUser\Root`. Idempotent and unelevated:
587
+ * a second call with a valid on-disk pair returns it with
588
+ * `generated: false`. On the machine store the `ca\` subdir is
589
+ * user-writable by design (BUILTIN\Users modify, inherited from the
590
+ * install-ACL'd store), so this self-heal keeps working without
591
+ * admin rights for every user of the machine.
592
+ *
593
+ * **Storage.** The pair lives in a single `ca.json = {certPem,
594
+ * keyPem}` written atomically (tmp+rename) and re-read after every
595
+ * write, so it is always a matched pair and concurrent brokers
596
+ * converge on whichever rename landed last. `cert.pem`/`key.pem` are
597
+ * derived copies for diagnostic tooling; `ca.json` is the source of
598
+ * truth.
599
+ *
600
+ * **Key custody is broker-side.** The MITM proxy runs as the real
601
+ * user, so the sandbox user never needs to read the key. The `ca/`
602
+ * subdirectory inherits the machine store's `(OI)(CI)` DACL, which
603
+ * carries an explicit `sandbox-runtime-users` DENY (see
604
+ * {@link windowsStateDir}), so `ca.json`/`key.pem` are unreadable
605
+ * from inside the sandbox with no per-file ACL work here. The key
606
+ * IS readable (and replaceable) by other REAL local users — an
607
+ * accepted trade-off of the shared store: the sandbox account is
608
+ * network-confined by SID-keyed WFP filters regardless of who
609
+ * spawns it. The certificate reaches the sandboxed child via the
610
+ * schannel registry write ({@link windowsTrustCa}) and the
611
+ * trust-bundle env vars — never via these files.
612
+ *
613
+ * `SandboxManager.initialize()` calls this on Windows when
614
+ * `tlsTerminate` is enabled without an explicit
615
+ * `caCertPath`/`caKeyPath`, then feeds the returned PEMs to
616
+ * `createMitmCA` — so an embedder gets a stable CA across restarts
617
+ * without orchestrating generation, storage, or trust itself. Explicit
618
+ * paths in config bypass this entirely.
619
+ *
620
+ * @param opts.force regenerate even if a valid pair is on disk.
621
+ * @param opts.status pass an already-fetched
622
+ * {@link getWindowsSandboxUserStatus} result to skip the
623
+ * provisioning check and avoid re-spawning `srt-win user status`
624
+ * for the trust reconcile.
625
+ * @param opts.dir override the CA directory (tests). Default
626
+ * `windowsStateDir()/ca`.
627
+ * @param opts.regenerateWithinDays regenerate if `notAfter` is within
628
+ * this many days. Default 30.
629
+ * @throws when the sandbox user is not provisioned (run
630
+ * {@link installWindowsSandbox} first), or the CA directory cannot
631
+ * be created.
632
+ */
633
+ export declare function ensurePersistentWindowsCa(opts?: {
634
+ force?: boolean;
635
+ status?: WindowsSandboxUserStatus;
636
+ dir?: string;
637
+ regenerateWithinDays?: number;
638
+ srtWin?: SrtWinSpawn;
639
+ }): Promise<WindowsPersistentCa>;
640
+ export interface WindowsInstallOptions {
641
+ /** WFP sublayer GUID. Omit for srt-win's compile-time default. */
642
+ sublayerGuid?: string;
643
+ /**
644
+ * Loopback PERMIT port range. Must match what
645
+ * `SandboxRuntimeConfig.windows.proxyPortRange` will be set to.
646
+ * Default {@link DEFAULT_WINDOWS_PROXY_PORT_RANGE}.
647
+ */
648
+ proxyPortRange?: readonly [number, number];
649
+ /**
650
+ * Name for the sandbox user account (created if absent, adopted
651
+ * if it already exists as a local user). Default `srt-sandbox`.
652
+ */
653
+ sandboxUser?: string;
654
+ /**
655
+ * Replace an existing install whose configuration differs
656
+ * (different port range or sandbox-user name under the same
657
+ * sublayer). Without this, install refuses with "already
658
+ * installed with different config" rather than silently
659
+ * overwriting.
660
+ */
661
+ force?: boolean;
662
+ /**
663
+ * How long to wait for the self-elevating install subprocess.
664
+ * Defaults to {@link INSTALL_TIMEOUT_MS}.
665
+ */
666
+ timeoutMs?: number;
667
+ /** Resolved `srt-win` spawn descriptor — from {@link resolveSrtWin}. */
668
+ srtWin?: SrtWinSpawn;
669
+ }
670
+ export interface WindowsInstallResult {
671
+ /** Post-install WFP state. */
672
+ wfp: WindowsWfpStatusResult;
673
+ /** Post-install sandbox-user state. */
674
+ user: WindowsSandboxUserStatus;
675
+ /**
676
+ * `true` if the user dismissed the UAC prompt. Not an error —
677
+ * the install simply didn't happen. Re-run when the user is
678
+ * ready to grant elevation.
679
+ */
680
+ cancelled?: true;
681
+ }
682
+ /**
683
+ * One-shot install: provisions the `srt-sandbox` user account and
684
+ * installs the user-SID-keyed WFP filter set — all in a single
685
+ * self-elevating process (one UAC prompt). Idempotent; re-running
686
+ * rotates the sandbox user's password.
687
+ *
688
+ * Network for the calling user is **not disrupted**: the filters key
689
+ * on the `srt-sandbox` user's SID, so the broker, services, and
690
+ * every other principal fall through to default-permit. No logout
691
+ * is required.
692
+ *
693
+ * Returns the post-call WFP + sandbox-user state. If the user
694
+ * cancels the UAC prompt this returns `{cancelled: true, …}` rather
695
+ * than throwing — cancellation is a user choice, not an error.
696
+ *
697
+ * Prefer {@link installWindowsSandboxAsync}; this variant
698
+ * `spawnSync`-blocks the event loop for the full UAC-prompt wait
699
+ * (up to `timeoutMs`).
700
+ *
701
+ * @throws on user/WFP creation failure, or if filters already exist
702
+ * under `sublayerGuid` with a different port range and `force` is
703
+ * not set.
704
+ */
705
+ export declare function installWindowsSandbox(opts?: WindowsInstallOptions): WindowsInstallResult;
706
+ /**
707
+ * Async twin of {@link installWindowsSandbox}. Same options, same
708
+ * return type, same throw semantics. The UAC prompt is still modal,
709
+ * but the event loop stays live — spinners keep painting and timers
710
+ * keep firing.
711
+ */
712
+ export declare function installWindowsSandboxAsync(opts?: WindowsInstallOptions): Promise<WindowsInstallResult>;
713
+ /**
714
+ * Remove the WFP filter set under `sublayerGuid` and the
715
+ * `srt-sandbox` account, its credential file, and the setup marker
716
+ * (one UAC prompt). Idempotent.
717
+ *
718
+ * @returns `{cancelled: true}` if the user dismissed UAC.
719
+ */
720
+ export declare function uninstallWindowsSandbox(opts?: {
721
+ sublayerGuid?: string;
722
+ keepUser?: boolean;
723
+ /**
724
+ * How long to wait for the self-elevating uninstall subprocess.
725
+ * Defaults to {@link INSTALL_TIMEOUT_MS}.
726
+ */
727
+ timeoutMs?: number;
728
+ srtWin?: SrtWinSpawn;
729
+ }): {
730
+ cancelled?: true;
731
+ };
732
+ /**
733
+ * Resolve any Windows filesystem-config path list — `allowRead`/
734
+ * `allowWrite` grants and `denyRead`/`denyWrite` stamps — to
735
+ * concrete paths via the single platform-aware
736
+ * {@link normalizePathForSandbox} chokepoint (Linux/macOS parity:
737
+ * point-in-time expansion at session initialize, not per-exec).
738
+ * Glob patterns are expanded; non-glob paths are normalized and
739
+ * returned 1:1. Directory targets are accepted — the additive
740
+ * sandbox-user ACE carries `(OI)(CI)` so it covers the subtree.
741
+ *
742
+ * Missing literal paths are dropped for `mode: 'grant'` (a grant on
743
+ * nothing is meaningless) but PASSED THROUGH for `mode: 'deny'` —
744
+ * `srt-win acl stamp` materializes a placeholder chain (mkdirs each
745
+ * missing intermediate + creates an empty leaf) and stamps every
746
+ * created component, so the deny lands on the exact target path
747
+ * and the sandbox user cannot create/write/delete it. A trailing
748
+ * `/` or `\` on the raw input means "the target is a directory":
749
+ * the placeholder leaf is created as an empty directory instead of
750
+ * an empty file, so a later `mkdirSync({recursive: true})` on the
751
+ * real path succeeds. Glob results (existing-by-construction) drop
752
+ * on a stat miss regardless of mode: a glob is inherently "match
753
+ * existing".
754
+ *
755
+ * **UNC exception:** a `\\server\share\…` **literal** passes through
756
+ * raw in BOTH modes (no existence probe — see {@link isUncPath});
757
+ * `srt-win` soft-drops a missing UNC deny target rather than
758
+ * materializing a placeholder chain on an SMB share. A UNC **glob**
759
+ * still walks the share (user-trusted).
760
+ */
761
+ export declare function expandWindowsFsPaths(patterns: readonly string[], opts?: {
762
+ mode?: 'grant' | 'deny';
763
+ }): string[];
764
+ /**
765
+ * {@link WindowsSandboxError} narrowed to `mapped_drive_cwd`,
766
+ * carrying the `DRIVE_REMOTE` root that made the launch fail
767
+ * (`Z:\` for a mapped letter, `\\server\share\` for a raw UNC cwd).
768
+ */
769
+ export interface MappedDriveCwdError extends WindowsSandboxError {
770
+ readonly code: 'mapped_drive_cwd';
771
+ readonly drive?: string;
772
+ }
773
+ /**
774
+ * Parse a structured `srt-win exec` error from its stderr. `exec`
775
+ * emits typed launch failures as a single JSON line
776
+ * `{"code":…,"message":…}` alongside a distinct exit code —
777
+ * `mapped_drive_cwd` is exit **16**. Embedders that spawn the
778
+ * `{argv, env}` from {@link wrapCommandWithSandboxWindows} call
779
+ * this on non-zero exit to surface an actionable
780
+ * {@link WindowsSandboxError} instead of a bare status.
781
+ *
782
+ * Returns `undefined` when no typed-error line is present (the
783
+ * common case: exit status is the child's own). Gate on the
784
+ * `srt-win` exit code before calling — the sandboxed child's own
785
+ * stderr is pumped through unchanged, so a child that happened to
786
+ * print a matching JSON line would parse here too.
787
+ */
788
+ export declare function parseWindowsSandboxError(stderr: string): MappedDriveCwdError | undefined;
789
+ export interface WindowsAclStampOptions {
790
+ /** Paths the sandboxed child must not read. */
791
+ denyRead: readonly string[];
792
+ /** Paths the sandboxed child must not write (read stays allowed). */
793
+ denyWrite: readonly string[];
794
+ /** SID of the dedicated sandbox user — {@link WindowsSandboxUserStatus.sid}. */
795
+ sandboxUserSid: string;
796
+ /** Long-lived host PID the holds are tied to. Default: this process. */
797
+ holderPid?: number;
798
+ /** Resolved `srt-win` spawn descriptor — from {@link resolveSrtWin}. */
799
+ srtWin?: SrtWinSpawn;
800
+ }
801
+ /**
802
+ * Apply the file-deny ACE set for one host session: an additive
803
+ * `(D;OICI;mask;;;<sb-SID>)` on the target plus a
804
+ * `(D;OICI;FILE_DELETE_CHILD;;;<sb-SID>)` on the parent — no
805
+ * PROTECTED rewrite, no SD snapshot. Idempotent and refcounted via
806
+ * srt-win's `working_aces` table.
807
+ *
808
+ * Inputs are passed verbatim to `srt-win` (which canonicalizes and
809
+ * rejects globs). Callers that accept globs should pre-expand via
810
+ * {@link expandWindowsFsPaths}.
811
+ *
812
+ * @throws on exit ≠ 0 — including exit 2 (one or more inputs
813
+ * skipped). srt-win stamps the resolvable inputs before exiting
814
+ * 2, so on throw the caller should call {@link restoreWindowsAcl}
815
+ * to release whatever WAS stamped.
816
+ */
817
+ export declare function stampWindowsAcl(opts: WindowsAclStampOptions): void;
818
+ /**
819
+ * Per-path outcome from `srt-win acl restore --json` /
820
+ * `revoke --json`. The status set is intentionally loose: the
821
+ * pre-/post- same-user-removal `srt-win` builds emit different
822
+ * vocabularies for `restore` (`restored`/`leftChanged`/… vs
823
+ * `revoked`/`stillHeld`/…). Callers (`reset()`) only log these,
824
+ * so the union is whatever the binary on PATH says.
825
+ */
826
+ export interface WindowsAclAceOutcome {
827
+ path: string;
828
+ status: string;
829
+ }
830
+ /**
831
+ * Release this holder's deny ACEs and remove the sandbox-user ACE
832
+ * on any path whose refcount falls to zero. Best-effort (does not
833
+ * throw on per-path anomalies); returns per-path outcomes for the
834
+ * caller to surface. Returns `undefined` only when `srt-win`
835
+ * itself failed (no JSON to parse).
836
+ */
837
+ export declare function restoreWindowsAcl(opts: {
838
+ sandboxUserSid: string;
839
+ holderPid?: number;
840
+ srtWin?: SrtWinSpawn;
841
+ }): WindowsAclAceOutcome[] | undefined;
842
+ export interface WindowsAclGrantOptions {
843
+ /** Paths to grant `MODIFY_NO_FDC` on (the working tree, `allowWrite`). */
844
+ write: readonly string[];
845
+ /** Paths to grant `FILE_GENERIC_READ|EXECUTE` on (`allowRead`). */
846
+ read: readonly string[];
847
+ /** SID of the dedicated sandbox user — {@link WindowsSandboxUserStatus.sid}. */
848
+ sandboxUserSid: string;
849
+ /** Long-lived host PID the holds are tied to. Default: this process. */
850
+ holderPid?: number;
851
+ /** Resolved `srt-win` spawn descriptor — from {@link resolveSrtWin}. */
852
+ srtWin?: SrtWinSpawn;
853
+ }
854
+ /**
855
+ * Apply per-session additive `(OI)(CI)` ALLOW ACEs for the sandbox
856
+ * user on each path. The sandbox user has no inherent rights on
857
+ * real-user-owned files; this is what makes the working tree (and
858
+ * explicit `allowRead`/`allowWrite` paths) reachable from the
859
+ * child. Idempotent and refcounted via srt-win's `working_aces`
860
+ * table.
861
+ *
862
+ * @throws on exit ≠ 0. On throw the caller should call
863
+ * {@link revokeWindowsAcl} to release whatever WAS granted.
864
+ */
865
+ export declare function grantWindowsAcl(opts: WindowsAclGrantOptions): void;
866
+ /**
867
+ * Release this holder's grants and remove the sandbox-user ACE on
868
+ * any path whose refcount falls to zero. Best-effort (does not
869
+ * throw); logs anomalies.
870
+ */
871
+ export declare function revokeWindowsAcl(opts: {
872
+ sandboxUserSid: string;
873
+ holderPid?: number;
874
+ srtWin?: SrtWinSpawn;
875
+ }): WindowsAclAceOutcome[] | undefined;
876
+ /**
877
+ * Build the spawn descriptor for running `command` inside the Windows
878
+ * sandbox: an `argv` array plus the `env` to spawn it with.
879
+ *
880
+ * Caller MUST spawn the result with `{shell: false}` — that is the
881
+ * security boundary that keeps untrusted bytes off the host's shell
882
+ * (the inner `cmd.exe /c` runs INSIDE the sandbox; see
883
+ * `vendor/srt-win-src/src/launch.rs` `build_cmdline` for the passthrough
884
+ * rationale) — AND with the returned `env`.
885
+ *
886
+ * Proxy configuration is single-sourced by {@link generateProxyEnvVars}
887
+ * (the same canonical builder used on macOS/Linux). `srt-win exec`
888
+ * takes no `--http-proxy` / `--socks-proxy` flags and synthesizes no
889
+ * proxy env. The two-hop runner starts with the SANDBOX user's
890
+ * profile env (`USERPROFILE`/`TEMP` isolated) and overlays exactly
891
+ * what we pass as `--env` — built here from the broker's `PATH` plus
892
+ * the generated proxy set.
893
+ */
894
+ export declare function wrapCommandWithSandboxWindows(p: WindowsSandboxParams): {
895
+ argv: string[];
896
+ env: NodeJS.ProcessEnv;
897
+ };
898
+ /**
899
+ * Install instructions, surfaced verbatim in error messages.
900
+ */
901
+ export declare function windowsInstallInstructions(sublayerGuid: string | undefined): string;
902
+ /**
903
+ * Check the Windows backend is ready to sandbox. Errors block
904
+ * `initialize()`; warnings are informational.
905
+ *
906
+ * Prefer {@link checkWindowsDependenciesAsync}; this variant
907
+ * `spawnSync`-blocks the event loop on two `srt-win.exe` spawns
908
+ * (Windows Defender cold-scan can add seconds).
909
+ */
910
+ export declare function checkWindowsDependencies(opts?: {
911
+ sublayerGuid?: string;
912
+ srtWin?: SrtWinSpawn;
913
+ }): SandboxDependencyCheck;
914
+ /**
915
+ * Async twin of {@link checkWindowsDependencies}. Same result for the
916
+ * same underlying state; runs the two `srt-win` probes concurrently
917
+ * and never blocks the event loop.
918
+ */
919
+ export declare function checkWindowsDependenciesAsync(opts?: {
920
+ sublayerGuid?: string;
921
+ srtWin?: SrtWinSpawn;
922
+ }): Promise<SandboxDependencyCheck>;
923
+ //# sourceMappingURL=windows-sandbox-utils.d.ts.map