@openclaw/openshell-sandbox 2026.9.5 → 2026.9.6

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 (1123) hide show
  1. package/dist/index.js +17 -49
  2. package/node_modules/@openclaw/fs-safe/CHANGELOG.md +202 -0
  3. package/node_modules/@openclaw/fs-safe/README.md +45 -10
  4. package/node_modules/@openclaw/fs-safe/dist/absolute-path.d.ts +0 -1
  5. package/node_modules/@openclaw/fs-safe/dist/absolute-path.js +2 -8
  6. package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +6 -3
  7. package/node_modules/@openclaw/fs-safe/dist/advanced.js +4 -1
  8. package/node_modules/@openclaw/fs-safe/dist/archive-crc32.d.ts +0 -1
  9. package/node_modules/@openclaw/fs-safe/dist/archive-deadline.d.ts +0 -1
  10. package/node_modules/@openclaw/fs-safe/dist/archive-deadline.js +22 -23
  11. package/node_modules/@openclaw/fs-safe/dist/archive-durability.d.ts +1 -2
  12. package/node_modules/@openclaw/fs-safe/dist/archive-entry.d.ts +0 -1
  13. package/node_modules/@openclaw/fs-safe/dist/archive-errors.d.ts +0 -1
  14. package/node_modules/@openclaw/fs-safe/dist/archive-gzip-tail.d.ts +0 -1
  15. package/node_modules/@openclaw/fs-safe/dist/archive-input.d.ts +0 -1
  16. package/node_modules/@openclaw/fs-safe/dist/archive-kind.d.ts +0 -2
  17. package/node_modules/@openclaw/fs-safe/dist/archive-kind.js +5 -17
  18. package/node_modules/@openclaw/fs-safe/dist/archive-limits.d.ts +0 -1
  19. package/node_modules/@openclaw/fs-safe/dist/archive-merge.d.ts +3 -4
  20. package/node_modules/@openclaw/fs-safe/dist/archive-merge.js +129 -52
  21. package/node_modules/@openclaw/fs-safe/dist/archive-parser-errors.d.ts +0 -1
  22. package/node_modules/@openclaw/fs-safe/dist/archive-parser.wasm +0 -0
  23. package/node_modules/@openclaw/fs-safe/dist/archive-plan.d.ts +72 -2
  24. package/node_modules/@openclaw/fs-safe/dist/archive-plan.js +86 -22
  25. package/node_modules/@openclaw/fs-safe/dist/archive-read.d.ts +0 -1
  26. package/node_modules/@openclaw/fs-safe/dist/archive-read.js +10 -11
  27. package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts +0 -1
  28. package/node_modules/@openclaw/fs-safe/dist/archive-tar-stream.d.ts +3 -1
  29. package/node_modules/@openclaw/fs-safe/dist/archive-tar-stream.js +56 -37
  30. package/node_modules/@openclaw/fs-safe/dist/archive-tar-wasm.d.ts +17 -6
  31. package/node_modules/@openclaw/fs-safe/dist/archive-tar-wasm.js +134 -34
  32. package/node_modules/@openclaw/fs-safe/dist/archive-zip-admission.d.ts +0 -1
  33. package/node_modules/@openclaw/fs-safe/dist/archive-zip-count.d.ts +0 -1
  34. package/node_modules/@openclaw/fs-safe/dist/archive-zip-count.js +21 -1
  35. package/node_modules/@openclaw/fs-safe/dist/archive-zip-directory.d.ts +5 -2
  36. package/node_modules/@openclaw/fs-safe/dist/archive-zip-directory.js +25 -1
  37. package/node_modules/@openclaw/fs-safe/dist/archive-zip-entry.d.ts +6 -3
  38. package/node_modules/@openclaw/fs-safe/dist/archive-zip-entry.js +24 -9
  39. package/node_modules/@openclaw/fs-safe/dist/archive-zip-integrity.d.ts +0 -1
  40. package/node_modules/@openclaw/fs-safe/dist/archive-zip-integrity.js +3 -4
  41. package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.d.ts +2 -1
  42. package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.js +114 -31
  43. package/node_modules/@openclaw/fs-safe/dist/archive-zip-manifest.d.ts +0 -1
  44. package/node_modules/@openclaw/fs-safe/dist/archive-zip-names.d.ts +1 -1
  45. package/node_modules/@openclaw/fs-safe/dist/archive-zip-names.js +13 -2
  46. package/node_modules/@openclaw/fs-safe/dist/archive-zip-preflight.d.ts +0 -1
  47. package/node_modules/@openclaw/fs-safe/dist/archive.d.ts +8 -6
  48. package/node_modules/@openclaw/fs-safe/dist/archive.js +214 -172
  49. package/node_modules/@openclaw/fs-safe/dist/async-lock.d.ts +0 -1
  50. package/node_modules/@openclaw/fs-safe/dist/atomic.d.ts +3 -2
  51. package/node_modules/@openclaw/fs-safe/dist/bounded-read-stream.d.ts +0 -2
  52. package/node_modules/@openclaw/fs-safe/dist/bounded-read-stream.js +0 -6
  53. package/node_modules/@openclaw/fs-safe/dist/bounded-read.d.ts +0 -1
  54. package/node_modules/@openclaw/fs-safe/dist/byte-budget.d.ts +0 -1
  55. package/node_modules/@openclaw/fs-safe/dist/byte-view.d.ts +2 -0
  56. package/node_modules/@openclaw/fs-safe/dist/byte-view.js +13 -0
  57. package/node_modules/@openclaw/fs-safe/dist/clone-metadata.d.ts +1 -1
  58. package/node_modules/@openclaw/fs-safe/dist/clone-metadata.js +6 -2
  59. package/node_modules/@openclaw/fs-safe/dist/config.d.ts +0 -1
  60. package/node_modules/@openclaw/fs-safe/dist/containment.d.ts +0 -1
  61. package/node_modules/@openclaw/fs-safe/dist/copy-file-input.d.ts +0 -1
  62. package/node_modules/@openclaw/fs-safe/dist/copy-policy.d.ts +0 -1
  63. package/node_modules/@openclaw/fs-safe/dist/copy-publication.d.ts +7 -2
  64. package/node_modules/@openclaw/fs-safe/dist/copy-publication.js +3 -0
  65. package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.d.ts +0 -1
  66. package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.js +51 -28
  67. package/node_modules/@openclaw/fs-safe/dist/copy.d.ts +0 -1
  68. package/node_modules/@openclaw/fs-safe/dist/copy.js +34 -16
  69. package/node_modules/@openclaw/fs-safe/dist/create-owned-file.d.ts +7 -0
  70. package/node_modules/@openclaw/fs-safe/dist/create-owned-file.js +16 -0
  71. package/node_modules/@openclaw/fs-safe/dist/create.d.ts +17 -0
  72. package/node_modules/@openclaw/fs-safe/dist/create.js +388 -0
  73. package/node_modules/@openclaw/fs-safe/dist/creation-boundary.d.ts +60 -0
  74. package/node_modules/@openclaw/fs-safe/dist/creation-boundary.js +371 -0
  75. package/node_modules/@openclaw/fs-safe/dist/deny-mutations.d.ts +2 -3
  76. package/node_modules/@openclaw/fs-safe/dist/deny-mutations.js +55 -35
  77. package/node_modules/@openclaw/fs-safe/dist/device-path.d.ts +0 -1
  78. package/node_modules/@openclaw/fs-safe/dist/directory-durability.d.ts +7 -8
  79. package/node_modules/@openclaw/fs-safe/dist/directory-durability.js +22 -80
  80. package/node_modules/@openclaw/fs-safe/dist/directory-entry-path.d.ts +0 -1
  81. package/node_modules/@openclaw/fs-safe/dist/directory-guard.d.ts +5 -7
  82. package/node_modules/@openclaw/fs-safe/dist/directory-guard.js +25 -56
  83. package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.d.ts +2 -1
  84. package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.js +20 -2
  85. package/node_modules/@openclaw/fs-safe/dist/directory-mode-owner.d.ts +0 -1
  86. package/node_modules/@openclaw/fs-safe/dist/directory-mode-owner.js +5 -5
  87. package/node_modules/@openclaw/fs-safe/dist/directory-receipt.d.ts +23 -0
  88. package/node_modules/@openclaw/fs-safe/dist/directory-receipt.js +123 -0
  89. package/node_modules/@openclaw/fs-safe/dist/durability.d.ts +2 -2
  90. package/node_modules/@openclaw/fs-safe/dist/effective-uid.d.ts +0 -1
  91. package/node_modules/@openclaw/fs-safe/dist/error-detail.d.ts +0 -1
  92. package/node_modules/@openclaw/fs-safe/dist/errors.d.ts +0 -1
  93. package/node_modules/@openclaw/fs-safe/dist/file-cleanup.d.ts +19 -0
  94. package/node_modules/@openclaw/fs-safe/dist/file-cleanup.js +81 -0
  95. package/node_modules/@openclaw/fs-safe/dist/file-contents.d.ts +5 -0
  96. package/node_modules/@openclaw/fs-safe/dist/file-contents.js +40 -0
  97. package/node_modules/@openclaw/fs-safe/dist/file-handle-transfer.d.ts +2 -1
  98. package/node_modules/@openclaw/fs-safe/dist/file-handle-transfer.js +57 -2
  99. package/node_modules/@openclaw/fs-safe/dist/file-hash.d.ts +0 -1
  100. package/node_modules/@openclaw/fs-safe/dist/file-hash.js +186 -70
  101. package/node_modules/@openclaw/fs-safe/dist/file-identity.d.ts +0 -1
  102. package/node_modules/@openclaw/fs-safe/dist/file-identity.js +18 -4
  103. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-acquisition.d.ts +22 -0
  104. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-acquisition.js +98 -0
  105. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-admission.d.ts +17 -0
  106. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-admission.js +54 -0
  107. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.d.ts +3 -0
  108. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.js +303 -0
  109. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.d.ts +17 -0
  110. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.js +66 -0
  111. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-held.d.ts +32 -0
  112. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-held.js +395 -0
  113. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.d.ts +43 -0
  114. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.js +209 -0
  115. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-mutation.d.ts +16 -0
  116. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-mutation.js +275 -0
  117. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-options.d.ts +19 -0
  118. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-options.js +58 -0
  119. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-registration.d.ts +1 -0
  120. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-registration.js +90 -0
  121. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root.d.ts +36 -0
  122. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root.js +288 -0
  123. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-stale-admission.d.ts +19 -0
  124. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-stale-admission.js +199 -0
  125. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.d.ts +4 -22
  126. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.js +207 -249
  127. package/node_modules/@openclaw/fs-safe/dist/file-lock.d.ts +0 -1
  128. package/node_modules/@openclaw/fs-safe/dist/file-observation.d.ts +1 -2
  129. package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.d.ts +9 -8
  130. package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.js +67 -36
  131. package/node_modules/@openclaw/fs-safe/dist/file-store-prune.d.ts +0 -1
  132. package/node_modules/@openclaw/fs-safe/dist/file-store-prune.js +5 -1
  133. package/node_modules/@openclaw/fs-safe/dist/file-store-sync-directory.d.ts +0 -1
  134. package/node_modules/@openclaw/fs-safe/dist/file-store-sync-directory.js +197 -227
  135. package/node_modules/@openclaw/fs-safe/dist/file-store-sync-write.d.ts +0 -1
  136. package/node_modules/@openclaw/fs-safe/dist/file-store-sync-write.js +22 -36
  137. package/node_modules/@openclaw/fs-safe/dist/file-store.d.ts +0 -1
  138. package/node_modules/@openclaw/fs-safe/dist/file-store.js +54 -25
  139. package/node_modules/@openclaw/fs-safe/dist/file-sync.d.ts +0 -1
  140. package/node_modules/@openclaw/fs-safe/dist/filename.d.ts +0 -1
  141. package/node_modules/@openclaw/fs-safe/dist/filename.js +1 -7
  142. package/node_modules/@openclaw/fs-safe/dist/fs.d.ts +0 -1
  143. package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.d.ts +2 -2
  144. package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.js +27 -19
  145. package/node_modules/@openclaw/fs-safe/dist/guarded-mutation.d.ts +0 -7
  146. package/node_modules/@openclaw/fs-safe/dist/guarded-mutation.js +6 -11
  147. package/node_modules/@openclaw/fs-safe/dist/guest-dispatch-python.d.ts +0 -1
  148. package/node_modules/@openclaw/fs-safe/dist/guest-dispatch-python.js +41 -90
  149. package/node_modules/@openclaw/fs-safe/dist/guest-native-python.d.ts +0 -1
  150. package/node_modules/@openclaw/fs-safe/dist/guest.d.ts +0 -1
  151. package/node_modules/@openclaw/fs-safe/dist/home-dir.d.ts +0 -1
  152. package/node_modules/@openclaw/fs-safe/dist/index.d.ts +9 -7
  153. package/node_modules/@openclaw/fs-safe/dist/install-path.d.ts +0 -1
  154. package/node_modules/@openclaw/fs-safe/dist/install-path.js +2 -5
  155. package/node_modules/@openclaw/fs-safe/dist/json-document-store.d.ts +0 -1
  156. package/node_modules/@openclaw/fs-safe/dist/json-document-store.js +22 -15
  157. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-directory.d.ts +13 -1
  158. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-directory.js +134 -0
  159. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-ownership.d.ts +0 -2
  160. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-ownership.js +43 -72
  161. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-read.d.ts +0 -1
  162. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-read.js +13 -9
  163. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue.d.ts +0 -1
  164. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue.js +18 -141
  165. package/node_modules/@openclaw/fs-safe/dist/json-store.d.ts +0 -1
  166. package/node_modules/@openclaw/fs-safe/dist/json-store.js +1 -2
  167. package/node_modules/@openclaw/fs-safe/dist/json-stringify.d.ts +0 -1
  168. package/node_modules/@openclaw/fs-safe/dist/json.d.ts +0 -1
  169. package/node_modules/@openclaw/fs-safe/dist/json.js +39 -92
  170. package/node_modules/@openclaw/fs-safe/dist/local-file-access.d.ts +0 -1
  171. package/node_modules/@openclaw/fs-safe/dist/local-file-access.js +3 -10
  172. package/node_modules/@openclaw/fs-safe/dist/local-file-descriptor.d.ts +0 -1
  173. package/node_modules/@openclaw/fs-safe/dist/local-roots.d.ts +0 -1
  174. package/node_modules/@openclaw/fs-safe/dist/local-roots.js +19 -21
  175. package/node_modules/@openclaw/fs-safe/dist/lock-config.d.ts +0 -1
  176. package/node_modules/@openclaw/fs-safe/dist/move-path-cleanup.d.ts +5 -20
  177. package/node_modules/@openclaw/fs-safe/dist/move-path-cleanup.js +57 -21
  178. package/node_modules/@openclaw/fs-safe/dist/move-path-stage.d.ts +0 -1
  179. package/node_modules/@openclaw/fs-safe/dist/move-path.d.ts +0 -1
  180. package/node_modules/@openclaw/fs-safe/dist/move-path.js +64 -42
  181. package/node_modules/@openclaw/fs-safe/dist/mutation-authority.d.ts +0 -1
  182. package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +19 -2
  183. package/node_modules/@openclaw/fs-safe/dist/native-config.d.ts +0 -1
  184. package/node_modules/@openclaw/fs-safe/dist/native-directory-observation.d.ts +0 -1
  185. package/node_modules/@openclaw/fs-safe/dist/native-fallback-warning.d.ts +3 -0
  186. package/node_modules/@openclaw/fs-safe/dist/native-fallback-warning.js +11 -0
  187. package/node_modules/@openclaw/fs-safe/dist/native-operations.d.ts +1 -7
  188. package/node_modules/@openclaw/fs-safe/dist/native-operations.js +2 -31
  189. package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.d.ts +5 -3
  190. package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.js +27 -7
  191. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.d.ts +2 -3
  192. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.js +174 -29
  193. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.d.ts +1 -2
  194. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.js +224 -187
  195. package/node_modules/@openclaw/fs-safe/dist/native-policy-directory-observation.d.ts +11 -0
  196. package/node_modules/@openclaw/fs-safe/dist/native-policy-directory-observation.js +61 -0
  197. package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.d.ts +13 -0
  198. package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.js +209 -0
  199. package/node_modules/@openclaw/fs-safe/dist/native-rename-outcome.d.ts +3 -0
  200. package/node_modules/@openclaw/fs-safe/dist/native-rename-outcome.js +8 -0
  201. package/node_modules/@openclaw/fs-safe/dist/native-staged-file.d.ts +20 -6
  202. package/node_modules/@openclaw/fs-safe/dist/native-staged-file.js +149 -106
  203. package/node_modules/@openclaw/fs-safe/dist/native.d.ts +0 -1
  204. package/node_modules/@openclaw/fs-safe/dist/native.js +2 -2
  205. package/node_modules/@openclaw/fs-safe/dist/opened-file-failure.d.ts +0 -1
  206. package/node_modules/@openclaw/fs-safe/dist/opened-realpath.d.ts +0 -1
  207. package/node_modules/@openclaw/fs-safe/dist/opened-realpath.js +11 -2
  208. package/node_modules/@openclaw/fs-safe/dist/output.d.ts +0 -1
  209. package/node_modules/@openclaw/fs-safe/dist/output.js +12 -8
  210. package/node_modules/@openclaw/fs-safe/dist/overwrite-file-handle.d.ts +0 -1
  211. package/node_modules/@openclaw/fs-safe/dist/owner-dacl.d.ts +0 -1
  212. package/node_modules/@openclaw/fs-safe/dist/owner-dacl.js +10 -4
  213. package/node_modules/@openclaw/fs-safe/dist/path-case.d.ts +0 -1
  214. package/node_modules/@openclaw/fs-safe/dist/path-policy.d.ts +0 -1
  215. package/node_modules/@openclaw/fs-safe/dist/path-prefix.d.ts +0 -1
  216. package/node_modules/@openclaw/fs-safe/dist/path-prefix.js +30 -8
  217. package/node_modules/@openclaw/fs-safe/dist/path-scope-lexical.d.ts +0 -1
  218. package/node_modules/@openclaw/fs-safe/dist/path-segment-route.d.ts +0 -1
  219. package/node_modules/@openclaw/fs-safe/dist/path-suffix-aliases.d.ts +2 -1
  220. package/node_modules/@openclaw/fs-safe/dist/path-suffix-aliases.js +25 -17
  221. package/node_modules/@openclaw/fs-safe/dist/path.d.ts +0 -1
  222. package/node_modules/@openclaw/fs-safe/dist/path.js +2 -1
  223. package/node_modules/@openclaw/fs-safe/dist/permission-exec.d.ts +2 -1
  224. package/node_modules/@openclaw/fs-safe/dist/permission-exec.js +144 -21
  225. package/node_modules/@openclaw/fs-safe/dist/permissions-public.d.ts +0 -1
  226. package/node_modules/@openclaw/fs-safe/dist/permissions-windows.d.ts +2 -10
  227. package/node_modules/@openclaw/fs-safe/dist/permissions-windows.js +11 -31
  228. package/node_modules/@openclaw/fs-safe/dist/permissions.d.ts +0 -1
  229. package/node_modules/@openclaw/fs-safe/dist/permissions.js +11 -33
  230. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.d.ts +1 -2
  231. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.js +23 -29
  232. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-observation.d.ts +7 -3
  233. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-observation.js +81 -18
  234. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-shared-route.d.ts +1 -1
  235. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-shared-route.js +1 -1
  236. package/node_modules/@openclaw/fs-safe/dist/pinned-open.d.ts +1 -1
  237. package/node_modules/@openclaw/fs-safe/dist/pinned-open.js +7 -2
  238. package/node_modules/@openclaw/fs-safe/dist/pinned-operation.d.ts +1 -2
  239. package/node_modules/@openclaw/fs-safe/dist/pinned-operation.js +3 -16
  240. package/node_modules/@openclaw/fs-safe/dist/pinned-write-input.d.ts +3 -0
  241. package/node_modules/@openclaw/fs-safe/dist/pinned-write-input.js +35 -0
  242. package/node_modules/@openclaw/fs-safe/dist/pinned-write-mode.d.ts +4 -0
  243. package/node_modules/@openclaw/fs-safe/dist/pinned-write-mode.js +31 -0
  244. package/node_modules/@openclaw/fs-safe/dist/pinned-write-staged.d.ts +5 -0
  245. package/node_modules/@openclaw/fs-safe/dist/pinned-write-staged.js +185 -0
  246. package/node_modules/@openclaw/fs-safe/dist/pinned-write-types.d.ts +14 -21
  247. package/node_modules/@openclaw/fs-safe/dist/pinned-write.d.ts +0 -2
  248. package/node_modules/@openclaw/fs-safe/dist/pinned-write.js +43 -151
  249. package/node_modules/@openclaw/fs-safe/dist/positional-read.d.ts +0 -1
  250. package/node_modules/@openclaw/fs-safe/dist/private-directory.d.ts +0 -1
  251. package/node_modules/@openclaw/fs-safe/dist/private-directory.js +18 -4
  252. package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff-sync.d.ts +3 -0
  253. package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff-sync.js +72 -0
  254. package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.d.ts +42 -5
  255. package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.js +166 -80
  256. package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.d.ts +0 -1
  257. package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.js +56 -128
  258. package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.d.ts +3 -3
  259. package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.js +16 -7
  260. package/node_modules/@openclaw/fs-safe/dist/publish-file-failure.d.ts +0 -1
  261. package/node_modules/@openclaw/fs-safe/dist/publish-file.d.ts +2 -4
  262. package/node_modules/@openclaw/fs-safe/dist/publish-file.js +59 -100
  263. package/node_modules/@openclaw/fs-safe/dist/read-open-flags.d.ts +0 -1
  264. package/node_modules/@openclaw/fs-safe/dist/read-opened-file.d.ts +0 -1
  265. package/node_modules/@openclaw/fs-safe/dist/realpath.d.ts +0 -1
  266. package/node_modules/@openclaw/fs-safe/dist/recursive-mkdir-path.d.ts +0 -1
  267. package/node_modules/@openclaw/fs-safe/dist/regular-file.d.ts +0 -1
  268. package/node_modules/@openclaw/fs-safe/dist/regular-file.js +108 -193
  269. package/node_modules/@openclaw/fs-safe/dist/replace-directory.d.ts +0 -1
  270. package/node_modules/@openclaw/fs-safe/dist/replace-directory.js +257 -20
  271. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.d.ts +0 -1
  272. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.js +90 -85
  273. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.d.ts +0 -1
  274. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.js +27 -33
  275. package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.d.ts +0 -1
  276. package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +16 -17
  277. package/node_modules/@openclaw/fs-safe/dist/replace-file-mode.d.ts +0 -1
  278. package/node_modules/@openclaw/fs-safe/dist/replace-file-rename-policy.d.ts +1 -3
  279. package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.d.ts +17 -22
  280. package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.js +110 -145
  281. package/node_modules/@openclaw/fs-safe/dist/replace-file.d.ts +3 -4
  282. package/node_modules/@openclaw/fs-safe/dist/replace-file.js +16 -20
  283. package/node_modules/@openclaw/fs-safe/dist/retained-directory-replacement.d.ts +25 -0
  284. package/node_modules/@openclaw/fs-safe/dist/retained-directory-replacement.js +193 -0
  285. package/node_modules/@openclaw/fs-safe/dist/root-boundary.d.ts +1 -1
  286. package/node_modules/@openclaw/fs-safe/dist/root-boundary.js +4 -0
  287. package/node_modules/@openclaw/fs-safe/dist/root-context.d.ts +0 -9
  288. package/node_modules/@openclaw/fs-safe/dist/root-context.js +3 -10
  289. package/node_modules/@openclaw/fs-safe/dist/root-create-input.d.ts +9 -3
  290. package/node_modules/@openclaw/fs-safe/dist/root-create-input.js +17 -4
  291. package/node_modules/@openclaw/fs-safe/dist/root-directory-creation.d.ts +4 -5
  292. package/node_modules/@openclaw/fs-safe/dist/root-directory-creation.js +20 -7
  293. package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts +1 -1
  294. package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +24 -10
  295. package/node_modules/@openclaw/fs-safe/dist/root-directory.d.ts +0 -1
  296. package/node_modules/@openclaw/fs-safe/dist/root-entries.d.ts +0 -1
  297. package/node_modules/@openclaw/fs-safe/dist/root-entries.js +2 -2
  298. package/node_modules/@openclaw/fs-safe/dist/root-errors.d.ts +4 -1
  299. package/node_modules/@openclaw/fs-safe/dist/root-errors.js +5 -3
  300. package/node_modules/@openclaw/fs-safe/dist/root-file-final-admission.d.ts +1 -2
  301. package/node_modules/@openclaw/fs-safe/dist/root-file-final-admission.js +5 -2
  302. package/node_modules/@openclaw/fs-safe/dist/root-file.d.ts +0 -1
  303. package/node_modules/@openclaw/fs-safe/dist/root-file.js +3 -2
  304. package/node_modules/@openclaw/fs-safe/dist/root-impl.d.ts +2 -15
  305. package/node_modules/@openclaw/fs-safe/dist/root-impl.js +232 -148
  306. package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.d.ts +2 -1
  307. package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.js +28 -25
  308. package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.d.ts +0 -1
  309. package/node_modules/@openclaw/fs-safe/dist/root-observed-path.d.ts +0 -1
  310. package/node_modules/@openclaw/fs-safe/dist/root-observed-path.js +2 -4
  311. package/node_modules/@openclaw/fs-safe/dist/root-options.d.ts +13 -6
  312. package/node_modules/@openclaw/fs-safe/dist/root-path-errors.d.ts +1 -1
  313. package/node_modules/@openclaw/fs-safe/dist/root-path-errors.js +11 -2
  314. package/node_modules/@openclaw/fs-safe/dist/root-path-existing.d.ts +3 -1
  315. package/node_modules/@openclaw/fs-safe/dist/root-path-existing.js +45 -50
  316. package/node_modules/@openclaw/fs-safe/dist/root-path-observation.d.ts +0 -1
  317. package/node_modules/@openclaw/fs-safe/dist/root-path-stat.d.ts +0 -1
  318. package/node_modules/@openclaw/fs-safe/dist/root-path-stat.js +61 -11
  319. package/node_modules/@openclaw/fs-safe/dist/root-path.d.ts +0 -1
  320. package/node_modules/@openclaw/fs-safe/dist/root-path.js +60 -200
  321. package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.d.ts +0 -1
  322. package/node_modules/@openclaw/fs-safe/dist/root-paths.d.ts +0 -1
  323. package/node_modules/@openclaw/fs-safe/dist/root-public-types.d.ts +11 -0
  324. package/node_modules/@openclaw/fs-safe/dist/root-read-admission.d.ts +0 -1
  325. package/node_modules/@openclaw/fs-safe/dist/root-read-admission.js +31 -39
  326. package/node_modules/@openclaw/fs-safe/dist/root-remove-identity.d.ts +0 -1
  327. package/node_modules/@openclaw/fs-safe/dist/root-remove-identity.js +2 -4
  328. package/node_modules/@openclaw/fs-safe/dist/root-remove-receipt.d.ts +0 -1
  329. package/node_modules/@openclaw/fs-safe/dist/root-remove.d.ts +1 -1
  330. package/node_modules/@openclaw/fs-safe/dist/root-remove.js +21 -5
  331. package/node_modules/@openclaw/fs-safe/dist/root-symlink-policy.d.ts +0 -1
  332. package/node_modules/@openclaw/fs-safe/dist/root-walk.d.ts +1 -2
  333. package/node_modules/@openclaw/fs-safe/dist/root-walk.js +17 -2
  334. package/node_modules/@openclaw/fs-safe/dist/root-write-admission.d.ts +1 -4
  335. package/node_modules/@openclaw/fs-safe/dist/root-write-admission.js +4 -22
  336. package/node_modules/@openclaw/fs-safe/dist/root-write-compatibility.d.ts +1 -3
  337. package/node_modules/@openclaw/fs-safe/dist/root-write-compatibility.js +17 -68
  338. package/node_modules/@openclaw/fs-safe/dist/root-write-complete-parent.d.ts +0 -1
  339. package/node_modules/@openclaw/fs-safe/dist/root-write-complete-parent.js +12 -27
  340. package/node_modules/@openclaw/fs-safe/dist/root-write-lock-binding.d.ts +14 -0
  341. package/node_modules/@openclaw/fs-safe/dist/root-write-lock-binding.js +162 -0
  342. package/node_modules/@openclaw/fs-safe/dist/root-write-mode.d.ts +0 -1
  343. package/node_modules/@openclaw/fs-safe/dist/root-write-publication.d.ts +0 -1
  344. package/node_modules/@openclaw/fs-safe/dist/root-write-publication.js +1 -1
  345. package/node_modules/@openclaw/fs-safe/dist/root-write-verification.d.ts +1 -2
  346. package/node_modules/@openclaw/fs-safe/dist/root-write-verification.js +29 -42
  347. package/node_modules/@openclaw/fs-safe/dist/root.d.ts +2 -7
  348. package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.d.ts +1 -2
  349. package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.js +2 -5
  350. package/node_modules/@openclaw/fs-safe/dist/secret-file.d.ts +0 -1
  351. package/node_modules/@openclaw/fs-safe/dist/secret-file.js +10 -42
  352. package/node_modules/@openclaw/fs-safe/dist/secret-read-async.d.ts +0 -1
  353. package/node_modules/@openclaw/fs-safe/dist/secret-read-async.js +6 -27
  354. package/node_modules/@openclaw/fs-safe/dist/secret-read-policy.d.ts +6 -3
  355. package/node_modules/@openclaw/fs-safe/dist/secret-read-policy.js +26 -2
  356. package/node_modules/@openclaw/fs-safe/dist/secret.d.ts +0 -1
  357. package/node_modules/@openclaw/fs-safe/dist/secure-file-windows.d.ts +3 -3
  358. package/node_modules/@openclaw/fs-safe/dist/secure-file-windows.js +38 -136
  359. package/node_modules/@openclaw/fs-safe/dist/secure-file.d.ts +0 -1
  360. package/node_modules/@openclaw/fs-safe/dist/secure-file.js +11 -11
  361. package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.d.ts +0 -1
  362. package/node_modules/@openclaw/fs-safe/dist/secure-temp-repair.d.ts +0 -1
  363. package/node_modules/@openclaw/fs-safe/dist/secure-temp-repair.js +5 -1
  364. package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.d.ts +0 -1
  365. package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.js +32 -39
  366. package/node_modules/@openclaw/fs-safe/dist/sibling-temp.d.ts +0 -1
  367. package/node_modules/@openclaw/fs-safe/dist/sibling-temp.js +23 -12
  368. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.d.ts +2 -29
  369. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.js +279 -216
  370. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-context.d.ts +18 -0
  371. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-context.js +60 -0
  372. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-parser.d.ts +42 -0
  373. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-parser.js +113 -0
  374. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission.d.ts +31 -0
  375. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission.js +1 -0
  376. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-handle.d.ts +3 -1
  377. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-handle.js +6 -0
  378. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-policy.d.ts +4 -1
  379. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-policy.js +23 -0
  380. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.d.ts +10 -6
  381. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.js +91 -33
  382. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-registration.d.ts +13 -0
  383. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-registration.js +47 -0
  384. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-root.d.ts +0 -1
  385. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-root.js +2 -1
  386. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-stale-admission.d.ts +38 -0
  387. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-stale-admission.js +228 -0
  388. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-target.d.ts +7 -0
  389. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-target.js +55 -0
  390. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-types.d.ts +22 -17
  391. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.d.ts +0 -1
  392. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.js +43 -28
  393. package/node_modules/@openclaw/fs-safe/dist/staged-directory.d.ts +7 -5
  394. package/node_modules/@openclaw/fs-safe/dist/staged-directory.js +43 -7
  395. package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.d.ts +16 -0
  396. package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.js +57 -0
  397. package/node_modules/@openclaw/fs-safe/dist/staged-file-types.d.ts +0 -1
  398. package/node_modules/@openclaw/fs-safe/dist/stat-observation.d.ts +0 -1
  399. package/node_modules/@openclaw/fs-safe/dist/store.d.ts +0 -1
  400. package/node_modules/@openclaw/fs-safe/dist/strict-file-identity.d.ts +1 -2
  401. package/node_modules/@openclaw/fs-safe/dist/strict-file-identity.js +9 -9
  402. package/node_modules/@openclaw/fs-safe/dist/string-coerce.d.ts +0 -1
  403. package/node_modules/@openclaw/fs-safe/dist/suppressed-error.d.ts +0 -1
  404. package/node_modules/@openclaw/fs-safe/dist/symlink-parents.d.ts +0 -1
  405. package/node_modules/@openclaw/fs-safe/dist/symlink-parents.js +2 -27
  406. package/node_modules/@openclaw/fs-safe/dist/temp-cleanup.d.ts +0 -1
  407. package/node_modules/@openclaw/fs-safe/dist/temp-target.d.ts +0 -1
  408. package/node_modules/@openclaw/fs-safe/dist/temp-target.js +7 -46
  409. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.d.ts +0 -8
  410. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.js +29 -11
  411. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.d.ts +16 -6
  412. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.js +71 -15
  413. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.d.ts +1 -7
  414. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.js +10 -31
  415. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-owner.d.ts +1 -1
  416. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-owner.js +49 -26
  417. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-types.d.ts +0 -1
  418. package/node_modules/@openclaw/fs-safe/dist/temp.d.ts +0 -1
  419. package/node_modules/@openclaw/fs-safe/dist/test-hooks.d.ts +0 -1
  420. package/node_modules/@openclaw/fs-safe/dist/text-atomic.d.ts +0 -1
  421. package/node_modules/@openclaw/fs-safe/dist/text-atomic.js +1 -1
  422. package/node_modules/@openclaw/fs-safe/dist/timing.d.ts +0 -1
  423. package/node_modules/@openclaw/fs-safe/dist/trash.d.ts +0 -1
  424. package/node_modules/@openclaw/fs-safe/dist/types.d.ts +0 -1
  425. package/node_modules/@openclaw/fs-safe/dist/unicode-path.d.ts +0 -1
  426. package/node_modules/@openclaw/fs-safe/dist/unicode-path.js +3 -0
  427. package/node_modules/@openclaw/fs-safe/dist/walk.d.ts +5 -2
  428. package/node_modules/@openclaw/fs-safe/dist/walk.js +23 -8
  429. package/node_modules/@openclaw/fs-safe/dist/windows-command.d.ts +0 -1
  430. package/node_modules/@openclaw/fs-safe/dist/windows-owner.d.ts +0 -1
  431. package/node_modules/@openclaw/fs-safe/dist/windows-owner.js +8 -4
  432. package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.d.ts +1 -1
  433. package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.js +12 -43
  434. package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.d.ts +5 -0
  435. package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.js +21 -0
  436. package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.cs +336 -0
  437. package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.ps1 +15 -0
  438. package/node_modules/@openclaw/fs-safe/dist/windows-security-command.d.ts +25 -0
  439. package/node_modules/@openclaw/fs-safe/dist/windows-security-command.js +363 -0
  440. package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.d.ts +5 -0
  441. package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.js +108 -0
  442. package/node_modules/@openclaw/fs-safe/dist/write-file-handle.d.ts +7 -1
  443. package/node_modules/@openclaw/fs-safe/dist/write-file-handle.js +23 -0
  444. package/node_modules/@openclaw/fs-safe/dist/write-open-flags.d.ts +0 -1
  445. package/node_modules/@openclaw/fs-safe/dist/write-open-flags.js +1 -8
  446. package/node_modules/@openclaw/fs-safe/dist/write-queue.d.ts +0 -1
  447. package/node_modules/@openclaw/fs-safe/dist/write-queue.js +1 -4
  448. package/node_modules/@openclaw/fs-safe/docs/advanced.md +75 -4
  449. package/node_modules/@openclaw/fs-safe/docs/archive.md +138 -48
  450. package/node_modules/@openclaw/fs-safe/docs/atomic.md +125 -10
  451. package/node_modules/@openclaw/fs-safe/docs/config.md +6 -2
  452. package/node_modules/@openclaw/fs-safe/docs/contributing.md +48 -4
  453. package/node_modules/@openclaw/fs-safe/docs/copy.md +39 -0
  454. package/node_modules/@openclaw/fs-safe/docs/creation.md +132 -0
  455. package/node_modules/@openclaw/fs-safe/docs/durability.md +59 -0
  456. package/node_modules/@openclaw/fs-safe/docs/file-contents.md +68 -0
  457. package/node_modules/@openclaw/fs-safe/docs/file-store.md +19 -0
  458. package/node_modules/@openclaw/fs-safe/docs/guest.md +1 -1
  459. package/node_modules/@openclaw/fs-safe/docs/install.md +31 -7
  460. package/node_modules/@openclaw/fs-safe/docs/json-store.md +5 -0
  461. package/node_modules/@openclaw/fs-safe/docs/json.md +5 -4
  462. package/node_modules/@openclaw/fs-safe/docs/local-roots.md +2 -0
  463. package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.5.md +15 -6
  464. package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.6.md +9 -4
  465. package/node_modules/@openclaw/fs-safe/docs/mutation-policy-proof.md +11 -7
  466. package/node_modules/@openclaw/fs-safe/docs/native-helper.md +32 -12
  467. package/node_modules/@openclaw/fs-safe/docs/native.md +55 -15
  468. package/node_modules/@openclaw/fs-safe/docs/output.md +6 -0
  469. package/node_modules/@openclaw/fs-safe/docs/path-prefix.md +10 -0
  470. package/node_modules/@openclaw/fs-safe/docs/path-suffix-aliases.md +51 -6
  471. package/node_modules/@openclaw/fs-safe/docs/path.md +4 -4
  472. package/node_modules/@openclaw/fs-safe/docs/permissions.md +56 -14
  473. package/node_modules/@openclaw/fs-safe/docs/public-api.md +8 -2
  474. package/node_modules/@openclaw/fs-safe/docs/quickstart.md +1 -1
  475. package/node_modules/@openclaw/fs-safe/docs/reading.md +2 -2
  476. package/node_modules/@openclaw/fs-safe/docs/regular-file.md +3 -0
  477. package/node_modules/@openclaw/fs-safe/docs/root.md +75 -3
  478. package/node_modules/@openclaw/fs-safe/docs/secret-file.md +19 -2
  479. package/node_modules/@openclaw/fs-safe/docs/secure-file.md +9 -4
  480. package/node_modules/@openclaw/fs-safe/docs/sidecar-lock.md +127 -9
  481. package/node_modules/@openclaw/fs-safe/docs/staged-file.md +16 -6
  482. package/node_modules/@openclaw/fs-safe/docs/store.md +9 -1
  483. package/node_modules/@openclaw/fs-safe/docs/temp.md +32 -5
  484. package/node_modules/@openclaw/fs-safe/docs/types.md +18 -2
  485. package/node_modules/@openclaw/fs-safe/docs/walk.md +74 -1
  486. package/node_modules/@openclaw/fs-safe/docs/writing.md +105 -11
  487. package/node_modules/@openclaw/fs-safe/package.json +19 -17
  488. package/node_modules/@openclaw/fs-safe-darwin-arm64/fs-safe-native.node +0 -0
  489. package/node_modules/@openclaw/fs-safe-darwin-arm64/package.json +1 -1
  490. package/node_modules/@openclaw/fs-safe-darwin-x64/fs-safe-native.node +0 -0
  491. package/node_modules/@openclaw/fs-safe-darwin-x64/package.json +1 -1
  492. package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/fs-safe-native.node +0 -0
  493. package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/package.json +1 -1
  494. package/node_modules/@openclaw/fs-safe-linux-arm64-musl/fs-safe-native.node +0 -0
  495. package/node_modules/@openclaw/fs-safe-linux-arm64-musl/package.json +1 -1
  496. package/node_modules/@openclaw/fs-safe-linux-x64-gnu/fs-safe-native.node +0 -0
  497. package/node_modules/@openclaw/fs-safe-linux-x64-gnu/package.json +1 -1
  498. package/node_modules/@openclaw/fs-safe-linux-x64-musl/fs-safe-native.node +0 -0
  499. package/node_modules/@openclaw/fs-safe-linux-x64-musl/package.json +1 -1
  500. package/node_modules/@openclaw/fs-safe-win32-x64-msvc/fs-safe-native.node +0 -0
  501. package/node_modules/@openclaw/fs-safe-win32-x64-msvc/package.json +1 -1
  502. package/node_modules/zod/README.md +2 -2
  503. package/node_modules/zod/compile.cjs +19 -0
  504. package/node_modules/zod/index.cjs +19 -0
  505. package/node_modules/zod/locales/index.cjs +19 -0
  506. package/node_modules/zod/mini/index.cjs +19 -0
  507. package/node_modules/zod/package.json +8 -7
  508. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  509. package/node_modules/zod/src/v4/classic/external.ts +2 -0
  510. package/node_modules/zod/src/v4/classic/from-json-schema.ts +248 -25
  511. package/node_modules/zod/src/v4/classic/schemas.ts +243 -168
  512. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +60 -9
  513. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +6 -0
  514. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  515. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +265 -0
  516. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
  517. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +9 -0
  518. package/node_modules/zod/src/v4/classic/tests/error.test.ts +130 -1
  519. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +157 -0
  520. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  521. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +40 -2
  522. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +27 -7
  523. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +88 -56
  524. package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
  525. package/node_modules/zod/src/v4/classic/tests/object.test.ts +56 -0
  526. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +3 -2
  527. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  528. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  529. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +46 -1
  530. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  531. package/node_modules/zod/src/v4/classic/tests/string.test.ts +95 -1
  532. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +33 -1
  533. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +234 -38
  534. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +569 -0
  535. package/node_modules/zod/src/v4/core/api.ts +44 -28
  536. package/node_modules/zod/src/v4/core/checks.ts +62 -102
  537. package/node_modules/zod/src/v4/core/compile.ts +218 -93
  538. package/node_modules/zod/src/v4/core/core.ts +1 -3
  539. package/node_modules/zod/src/v4/core/doc.ts +6 -2
  540. package/node_modules/zod/src/v4/core/errors.ts +3 -6
  541. package/node_modules/zod/src/v4/core/json-schema-generator.ts +2 -2
  542. package/node_modules/zod/src/v4/core/json-schema-processors.ts +185 -81
  543. package/node_modules/zod/src/v4/core/memoizer.ts +75 -28
  544. package/node_modules/zod/src/v4/core/parse.ts +37 -16
  545. package/node_modules/zod/src/v4/core/regexes.ts +14 -4
  546. package/node_modules/zod/src/v4/core/schemas.ts +296 -132
  547. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  548. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
  549. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  550. package/node_modules/zod/src/v4/core/tests/compile.test.ts +399 -2
  551. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  552. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  553. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  554. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
  555. package/node_modules/zod/src/v4/core/to-json-schema.ts +9 -7
  556. package/node_modules/zod/src/v4/core/util.ts +218 -147
  557. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  558. package/node_modules/zod/src/v4/locales/ar.ts +2 -0
  559. package/node_modules/zod/src/v4/locales/az.ts +2 -0
  560. package/node_modules/zod/src/v4/locales/be.ts +2 -0
  561. package/node_modules/zod/src/v4/locales/bg.ts +2 -0
  562. package/node_modules/zod/src/v4/locales/bn.ts +2 -0
  563. package/node_modules/zod/src/v4/locales/ca.ts +2 -0
  564. package/node_modules/zod/src/v4/locales/ckb.ts +2 -0
  565. package/node_modules/zod/src/v4/locales/cs.ts +2 -0
  566. package/node_modules/zod/src/v4/locales/da.ts +2 -0
  567. package/node_modules/zod/src/v4/locales/de.ts +2 -0
  568. package/node_modules/zod/src/v4/locales/el.ts +2 -0
  569. package/node_modules/zod/src/v4/locales/en.ts +2 -0
  570. package/node_modules/zod/src/v4/locales/eo.ts +2 -0
  571. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  572. package/node_modules/zod/src/v4/locales/fa.ts +2 -0
  573. package/node_modules/zod/src/v4/locales/fi.ts +2 -0
  574. package/node_modules/zod/src/v4/locales/fr-CA.ts +2 -0
  575. package/node_modules/zod/src/v4/locales/fr.ts +2 -0
  576. package/node_modules/zod/src/v4/locales/gu.ts +2 -0
  577. package/node_modules/zod/src/v4/locales/he.ts +2 -0
  578. package/node_modules/zod/src/v4/locales/hi.ts +2 -0
  579. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  580. package/node_modules/zod/src/v4/locales/hu.ts +2 -0
  581. package/node_modules/zod/src/v4/locales/hy.ts +2 -0
  582. package/node_modules/zod/src/v4/locales/id.ts +2 -0
  583. package/node_modules/zod/src/v4/locales/index.ts +1 -0
  584. package/node_modules/zod/src/v4/locales/is.ts +2 -0
  585. package/node_modules/zod/src/v4/locales/it.ts +2 -0
  586. package/node_modules/zod/src/v4/locales/ja.ts +2 -0
  587. package/node_modules/zod/src/v4/locales/ka.ts +2 -0
  588. package/node_modules/zod/src/v4/locales/km.ts +2 -0
  589. package/node_modules/zod/src/v4/locales/kn.ts +2 -0
  590. package/node_modules/zod/src/v4/locales/ko.ts +2 -0
  591. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  592. package/node_modules/zod/src/v4/locales/mk.ts +2 -0
  593. package/node_modules/zod/src/v4/locales/ms.ts +2 -0
  594. package/node_modules/zod/src/v4/locales/ne.ts +2 -0
  595. package/node_modules/zod/src/v4/locales/nl.ts +2 -0
  596. package/node_modules/zod/src/v4/locales/nn.ts +2 -0
  597. package/node_modules/zod/src/v4/locales/no.ts +2 -0
  598. package/node_modules/zod/src/v4/locales/ota.ts +2 -0
  599. package/node_modules/zod/src/v4/locales/pl.ts +2 -0
  600. package/node_modules/zod/src/v4/locales/ps.ts +2 -0
  601. package/node_modules/zod/src/v4/locales/pt-BR.ts +2 -0
  602. package/node_modules/zod/src/v4/locales/pt.ts +2 -0
  603. package/node_modules/zod/src/v4/locales/ro.ts +2 -0
  604. package/node_modules/zod/src/v4/locales/ru.ts +2 -0
  605. package/node_modules/zod/src/v4/locales/sk.ts +2 -0
  606. package/node_modules/zod/src/v4/locales/sl.ts +2 -0
  607. package/node_modules/zod/src/v4/locales/sv.ts +2 -0
  608. package/node_modules/zod/src/v4/locales/ta.ts +2 -0
  609. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  610. package/node_modules/zod/src/v4/locales/th.ts +2 -0
  611. package/node_modules/zod/src/v4/locales/tk.ts +2 -0
  612. package/node_modules/zod/src/v4/locales/tr.ts +2 -0
  613. package/node_modules/zod/src/v4/locales/uk.ts +2 -0
  614. package/node_modules/zod/src/v4/locales/ur.ts +2 -0
  615. package/node_modules/zod/src/v4/locales/uz.ts +2 -0
  616. package/node_modules/zod/src/v4/locales/vi.ts +2 -0
  617. package/node_modules/zod/src/v4/locales/yo.ts +2 -0
  618. package/node_modules/zod/src/v4/locales/zh-CN.ts +2 -0
  619. package/node_modules/zod/src/v4/locales/zh-TW.ts +2 -0
  620. package/node_modules/zod/src/v4/mini/external.ts +2 -0
  621. package/node_modules/zod/src/v4/mini/schemas.ts +32 -7
  622. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +1 -1
  623. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  624. package/node_modules/zod/src/v4/mini/tests/index.test.ts +86 -0
  625. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  626. package/node_modules/zod/src/v4/mini/tests/string.test.ts +23 -0
  627. package/node_modules/zod/v3/ZodError.cjs +19 -0
  628. package/node_modules/zod/v3/errors.cjs +19 -0
  629. package/node_modules/zod/v3/external.cjs +19 -0
  630. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  631. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  632. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  633. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  634. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  635. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  636. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  637. package/node_modules/zod/v3/index.cjs +19 -0
  638. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  639. package/node_modules/zod/v3/types.cjs +19 -0
  640. package/node_modules/zod/v4/classic/checks.cjs +19 -0
  641. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  642. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  643. package/node_modules/zod/v4/classic/deep-partial.cjs +19 -0
  644. package/node_modules/zod/v4/classic/errors.cjs +19 -0
  645. package/node_modules/zod/v4/classic/external.cjs +22 -1
  646. package/node_modules/zod/v4/classic/external.d.cts +1 -1
  647. package/node_modules/zod/v4/classic/external.d.ts +1 -1
  648. package/node_modules/zod/v4/classic/external.js +1 -1
  649. package/node_modules/zod/v4/classic/from-json-schema.cjs +264 -24
  650. package/node_modules/zod/v4/classic/from-json-schema.js +245 -24
  651. package/node_modules/zod/v4/classic/in-out.cjs +19 -0
  652. package/node_modules/zod/v4/classic/index.cjs +19 -0
  653. package/node_modules/zod/v4/classic/iso.cjs +19 -0
  654. package/node_modules/zod/v4/classic/parse.cjs +19 -0
  655. package/node_modules/zod/v4/classic/schemas.cjs +100 -35
  656. package/node_modules/zod/v4/classic/schemas.d.cts +15 -1
  657. package/node_modules/zod/v4/classic/schemas.d.ts +15 -1
  658. package/node_modules/zod/v4/classic/schemas.js +77 -33
  659. package/node_modules/zod/v4/core/api.cjs +45 -22
  660. package/node_modules/zod/v4/core/api.d.cts +12 -6
  661. package/node_modules/zod/v4/core/api.d.ts +12 -6
  662. package/node_modules/zod/v4/core/api.js +25 -22
  663. package/node_modules/zod/v4/core/checks.cjs +51 -97
  664. package/node_modules/zod/v4/core/checks.d.cts +17 -1
  665. package/node_modules/zod/v4/core/checks.d.ts +17 -1
  666. package/node_modules/zod/v4/core/checks.js +31 -96
  667. package/node_modules/zod/v4/core/compile.cjs +173 -78
  668. package/node_modules/zod/v4/core/compile.d.cts +18 -4
  669. package/node_modules/zod/v4/core/compile.d.ts +18 -4
  670. package/node_modules/zod/v4/core/compile.js +154 -79
  671. package/node_modules/zod/v4/core/core.cjs +20 -1
  672. package/node_modules/zod/v4/core/core.js +1 -1
  673. package/node_modules/zod/v4/core/doc.cjs +26 -2
  674. package/node_modules/zod/v4/core/doc.js +7 -2
  675. package/node_modules/zod/v4/core/errors.cjs +21 -5
  676. package/node_modules/zod/v4/core/errors.js +2 -5
  677. package/node_modules/zod/v4/core/index.cjs +19 -0
  678. package/node_modules/zod/v4/core/json-schema-generator.cjs +20 -1
  679. package/node_modules/zod/v4/core/json-schema-generator.js +2 -2
  680. package/node_modules/zod/v4/core/json-schema-processors.cjs +188 -72
  681. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  682. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  683. package/node_modules/zod/v4/core/json-schema-processors.js +170 -74
  684. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  685. package/node_modules/zod/v4/core/memoizer.cjs +111 -23
  686. package/node_modules/zod/v4/core/memoizer.js +69 -23
  687. package/node_modules/zod/v4/core/parse.cjs +56 -16
  688. package/node_modules/zod/v4/core/parse.js +37 -16
  689. package/node_modules/zod/v4/core/regexes.cjs +31 -6
  690. package/node_modules/zod/v4/core/regexes.d.cts +3 -0
  691. package/node_modules/zod/v4/core/regexes.d.ts +3 -0
  692. package/node_modules/zod/v4/core/regexes.js +10 -4
  693. package/node_modules/zod/v4/core/registries.cjs +19 -0
  694. package/node_modules/zod/v4/core/schemas.cjs +302 -114
  695. package/node_modules/zod/v4/core/schemas.d.cts +28 -8
  696. package/node_modules/zod/v4/core/schemas.d.ts +28 -8
  697. package/node_modules/zod/v4/core/schemas.js +279 -113
  698. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  699. package/node_modules/zod/v4/core/to-json-schema.cjs +28 -7
  700. package/node_modules/zod/v4/core/to-json-schema.d.cts +4 -3
  701. package/node_modules/zod/v4/core/to-json-schema.d.ts +4 -3
  702. package/node_modules/zod/v4/core/to-json-schema.js +7 -6
  703. package/node_modules/zod/v4/core/util.cjs +177 -143
  704. package/node_modules/zod/v4/core/util.d.cts +25 -4
  705. package/node_modules/zod/v4/core/util.d.ts +25 -4
  706. package/node_modules/zod/v4/core/util.js +156 -143
  707. package/node_modules/zod/v4/core/versions.cjs +21 -2
  708. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  709. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  710. package/node_modules/zod/v4/core/versions.js +2 -2
  711. package/node_modules/zod/v4/core/visit.cjs +19 -0
  712. package/node_modules/zod/v4/index.cjs +19 -0
  713. package/node_modules/zod/v4/locales/ar.cjs +2 -0
  714. package/node_modules/zod/v4/locales/ar.js +2 -0
  715. package/node_modules/zod/v4/locales/az.cjs +2 -0
  716. package/node_modules/zod/v4/locales/az.js +2 -0
  717. package/node_modules/zod/v4/locales/be.cjs +2 -0
  718. package/node_modules/zod/v4/locales/be.js +2 -0
  719. package/node_modules/zod/v4/locales/bg.cjs +2 -0
  720. package/node_modules/zod/v4/locales/bg.js +2 -0
  721. package/node_modules/zod/v4/locales/bn.cjs +2 -0
  722. package/node_modules/zod/v4/locales/bn.js +2 -0
  723. package/node_modules/zod/v4/locales/ca.cjs +2 -0
  724. package/node_modules/zod/v4/locales/ca.js +2 -0
  725. package/node_modules/zod/v4/locales/ckb.cjs +2 -0
  726. package/node_modules/zod/v4/locales/ckb.js +2 -0
  727. package/node_modules/zod/v4/locales/cs.cjs +2 -0
  728. package/node_modules/zod/v4/locales/cs.js +2 -0
  729. package/node_modules/zod/v4/locales/da.cjs +2 -0
  730. package/node_modules/zod/v4/locales/da.js +2 -0
  731. package/node_modules/zod/v4/locales/de.cjs +2 -0
  732. package/node_modules/zod/v4/locales/de.js +2 -0
  733. package/node_modules/zod/v4/locales/el.cjs +2 -0
  734. package/node_modules/zod/v4/locales/el.js +2 -0
  735. package/node_modules/zod/v4/locales/en.cjs +2 -0
  736. package/node_modules/zod/v4/locales/en.js +2 -0
  737. package/node_modules/zod/v4/locales/eo.cjs +2 -0
  738. package/node_modules/zod/v4/locales/eo.js +2 -0
  739. package/node_modules/zod/v4/locales/es.cjs +2 -0
  740. package/node_modules/zod/v4/locales/es.js +2 -0
  741. package/node_modules/zod/v4/locales/fa.cjs +2 -0
  742. package/node_modules/zod/v4/locales/fa.js +2 -0
  743. package/node_modules/zod/v4/locales/fi.cjs +2 -0
  744. package/node_modules/zod/v4/locales/fi.js +2 -0
  745. package/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
  746. package/node_modules/zod/v4/locales/fr-CA.js +2 -0
  747. package/node_modules/zod/v4/locales/fr.cjs +2 -0
  748. package/node_modules/zod/v4/locales/fr.js +2 -0
  749. package/node_modules/zod/v4/locales/gu.cjs +2 -0
  750. package/node_modules/zod/v4/locales/gu.js +2 -0
  751. package/node_modules/zod/v4/locales/he.cjs +2 -0
  752. package/node_modules/zod/v4/locales/he.js +2 -0
  753. package/node_modules/zod/v4/locales/hi.cjs +2 -0
  754. package/node_modules/zod/v4/locales/hi.js +2 -0
  755. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  756. package/node_modules/zod/v4/locales/hr.js +2 -0
  757. package/node_modules/zod/v4/locales/hu.cjs +2 -0
  758. package/node_modules/zod/v4/locales/hu.js +2 -0
  759. package/node_modules/zod/v4/locales/hy.cjs +2 -0
  760. package/node_modules/zod/v4/locales/hy.js +2 -0
  761. package/node_modules/zod/v4/locales/id.cjs +2 -0
  762. package/node_modules/zod/v4/locales/id.js +2 -0
  763. package/node_modules/zod/v4/locales/index.cjs +22 -1
  764. package/node_modules/zod/v4/locales/index.d.cts +1 -0
  765. package/node_modules/zod/v4/locales/index.d.ts +1 -0
  766. package/node_modules/zod/v4/locales/index.js +1 -0
  767. package/node_modules/zod/v4/locales/is.cjs +2 -0
  768. package/node_modules/zod/v4/locales/is.js +2 -0
  769. package/node_modules/zod/v4/locales/it.cjs +2 -0
  770. package/node_modules/zod/v4/locales/it.js +2 -0
  771. package/node_modules/zod/v4/locales/ja.cjs +2 -0
  772. package/node_modules/zod/v4/locales/ja.js +2 -0
  773. package/node_modules/zod/v4/locales/ka.cjs +2 -0
  774. package/node_modules/zod/v4/locales/ka.js +2 -0
  775. package/node_modules/zod/v4/locales/km.cjs +2 -0
  776. package/node_modules/zod/v4/locales/km.js +2 -0
  777. package/node_modules/zod/v4/locales/kn.cjs +2 -0
  778. package/node_modules/zod/v4/locales/kn.js +2 -0
  779. package/node_modules/zod/v4/locales/ko.cjs +2 -0
  780. package/node_modules/zod/v4/locales/ko.js +2 -0
  781. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  782. package/node_modules/zod/v4/locales/lt.js +2 -0
  783. package/node_modules/zod/v4/locales/mk.cjs +2 -0
  784. package/node_modules/zod/v4/locales/mk.js +2 -0
  785. package/node_modules/zod/v4/locales/ms.cjs +2 -0
  786. package/node_modules/zod/v4/locales/ms.js +2 -0
  787. package/node_modules/zod/v4/locales/ne.cjs +2 -0
  788. package/node_modules/zod/v4/locales/ne.js +2 -0
  789. package/node_modules/zod/v4/locales/nl.cjs +2 -0
  790. package/node_modules/zod/v4/locales/nl.js +2 -0
  791. package/node_modules/zod/v4/locales/nn.cjs +2 -0
  792. package/node_modules/zod/v4/locales/nn.js +2 -0
  793. package/node_modules/zod/v4/locales/no.cjs +2 -0
  794. package/node_modules/zod/v4/locales/no.js +2 -0
  795. package/node_modules/zod/v4/locales/ota.cjs +2 -0
  796. package/node_modules/zod/v4/locales/ota.js +2 -0
  797. package/node_modules/zod/v4/locales/pl.cjs +2 -0
  798. package/node_modules/zod/v4/locales/pl.js +2 -0
  799. package/node_modules/zod/v4/locales/ps.cjs +2 -0
  800. package/node_modules/zod/v4/locales/ps.js +2 -0
  801. package/node_modules/zod/v4/locales/pt-BR.cjs +2 -0
  802. package/node_modules/zod/v4/locales/pt-BR.js +2 -0
  803. package/node_modules/zod/v4/locales/pt.cjs +2 -0
  804. package/node_modules/zod/v4/locales/pt.js +2 -0
  805. package/node_modules/zod/v4/locales/ro.cjs +2 -0
  806. package/node_modules/zod/v4/locales/ro.js +2 -0
  807. package/node_modules/zod/v4/locales/ru.cjs +2 -0
  808. package/node_modules/zod/v4/locales/ru.js +2 -0
  809. package/node_modules/zod/v4/locales/sk.cjs +2 -0
  810. package/node_modules/zod/v4/locales/sk.js +2 -0
  811. package/node_modules/zod/v4/locales/sl.cjs +2 -0
  812. package/node_modules/zod/v4/locales/sl.js +2 -0
  813. package/node_modules/zod/v4/locales/sv.cjs +2 -0
  814. package/node_modules/zod/v4/locales/sv.js +2 -0
  815. package/node_modules/zod/v4/locales/ta.cjs +2 -0
  816. package/node_modules/zod/v4/locales/ta.js +2 -0
  817. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  818. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  819. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  820. package/node_modules/zod/v4/locales/tg.js +117 -0
  821. package/node_modules/zod/v4/locales/th.cjs +2 -0
  822. package/node_modules/zod/v4/locales/th.js +2 -0
  823. package/node_modules/zod/v4/locales/tk.cjs +2 -0
  824. package/node_modules/zod/v4/locales/tk.js +2 -0
  825. package/node_modules/zod/v4/locales/tr.cjs +2 -0
  826. package/node_modules/zod/v4/locales/tr.js +2 -0
  827. package/node_modules/zod/v4/locales/uk.cjs +2 -0
  828. package/node_modules/zod/v4/locales/uk.js +2 -0
  829. package/node_modules/zod/v4/locales/ur.cjs +2 -0
  830. package/node_modules/zod/v4/locales/ur.js +2 -0
  831. package/node_modules/zod/v4/locales/uz.cjs +2 -0
  832. package/node_modules/zod/v4/locales/uz.js +2 -0
  833. package/node_modules/zod/v4/locales/vi.cjs +2 -0
  834. package/node_modules/zod/v4/locales/vi.js +2 -0
  835. package/node_modules/zod/v4/locales/yo.cjs +2 -0
  836. package/node_modules/zod/v4/locales/yo.js +2 -0
  837. package/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
  838. package/node_modules/zod/v4/locales/zh-CN.js +2 -0
  839. package/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
  840. package/node_modules/zod/v4/locales/zh-TW.js +2 -0
  841. package/node_modules/zod/v4/mini/checks.cjs +19 -0
  842. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  843. package/node_modules/zod/v4/mini/deep-partial.cjs +19 -0
  844. package/node_modules/zod/v4/mini/external.cjs +22 -1
  845. package/node_modules/zod/v4/mini/external.d.cts +1 -1
  846. package/node_modules/zod/v4/mini/external.d.ts +1 -1
  847. package/node_modules/zod/v4/mini/external.js +1 -1
  848. package/node_modules/zod/v4/mini/in-out.cjs +19 -0
  849. package/node_modules/zod/v4/mini/index.cjs +19 -0
  850. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  851. package/node_modules/zod/v4/mini/parse.cjs +19 -0
  852. package/node_modules/zod/v4/mini/schemas.cjs +44 -8
  853. package/node_modules/zod/v4/mini/schemas.d.cts +6 -1
  854. package/node_modules/zod/v4/mini/schemas.d.ts +6 -1
  855. package/node_modules/zod/v4/mini/schemas.js +21 -6
  856. package/node_modules/zod/v4-mini/index.cjs +19 -0
  857. package/package.json +6 -6
  858. package/node_modules/@openclaw/fs-safe/dist/absolute-path.d.ts.map +0 -1
  859. package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts.map +0 -1
  860. package/node_modules/@openclaw/fs-safe/dist/archive-crc32.d.ts.map +0 -1
  861. package/node_modules/@openclaw/fs-safe/dist/archive-deadline.d.ts.map +0 -1
  862. package/node_modules/@openclaw/fs-safe/dist/archive-durability.d.ts.map +0 -1
  863. package/node_modules/@openclaw/fs-safe/dist/archive-entry.d.ts.map +0 -1
  864. package/node_modules/@openclaw/fs-safe/dist/archive-errors.d.ts.map +0 -1
  865. package/node_modules/@openclaw/fs-safe/dist/archive-gzip-tail.d.ts.map +0 -1
  866. package/node_modules/@openclaw/fs-safe/dist/archive-input.d.ts.map +0 -1
  867. package/node_modules/@openclaw/fs-safe/dist/archive-kind.d.ts.map +0 -1
  868. package/node_modules/@openclaw/fs-safe/dist/archive-limits.d.ts.map +0 -1
  869. package/node_modules/@openclaw/fs-safe/dist/archive-merge.d.ts.map +0 -1
  870. package/node_modules/@openclaw/fs-safe/dist/archive-native.d.ts +0 -21
  871. package/node_modules/@openclaw/fs-safe/dist/archive-native.d.ts.map +0 -1
  872. package/node_modules/@openclaw/fs-safe/dist/archive-native.js +0 -97
  873. package/node_modules/@openclaw/fs-safe/dist/archive-options.d.ts +0 -23
  874. package/node_modules/@openclaw/fs-safe/dist/archive-options.d.ts.map +0 -1
  875. package/node_modules/@openclaw/fs-safe/dist/archive-parser-errors.d.ts.map +0 -1
  876. package/node_modules/@openclaw/fs-safe/dist/archive-plan.d.ts.map +0 -1
  877. package/node_modules/@openclaw/fs-safe/dist/archive-policy.d.ts +0 -22
  878. package/node_modules/@openclaw/fs-safe/dist/archive-policy.d.ts.map +0 -1
  879. package/node_modules/@openclaw/fs-safe/dist/archive-policy.js +0 -38
  880. package/node_modules/@openclaw/fs-safe/dist/archive-read.d.ts.map +0 -1
  881. package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts.map +0 -1
  882. package/node_modules/@openclaw/fs-safe/dist/archive-tar-inspect.d.ts +0 -7
  883. package/node_modules/@openclaw/fs-safe/dist/archive-tar-inspect.d.ts.map +0 -1
  884. package/node_modules/@openclaw/fs-safe/dist/archive-tar-inspect.js +0 -62
  885. package/node_modules/@openclaw/fs-safe/dist/archive-tar-stream.d.ts.map +0 -1
  886. package/node_modules/@openclaw/fs-safe/dist/archive-tar-wasm.d.ts.map +0 -1
  887. package/node_modules/@openclaw/fs-safe/dist/archive-tar.d.ts +0 -19
  888. package/node_modules/@openclaw/fs-safe/dist/archive-tar.d.ts.map +0 -1
  889. package/node_modules/@openclaw/fs-safe/dist/archive-tar.js +0 -21
  890. package/node_modules/@openclaw/fs-safe/dist/archive-zip-admission.d.ts.map +0 -1
  891. package/node_modules/@openclaw/fs-safe/dist/archive-zip-count.d.ts.map +0 -1
  892. package/node_modules/@openclaw/fs-safe/dist/archive-zip-directory.d.ts.map +0 -1
  893. package/node_modules/@openclaw/fs-safe/dist/archive-zip-entry.d.ts.map +0 -1
  894. package/node_modules/@openclaw/fs-safe/dist/archive-zip-integrity.d.ts.map +0 -1
  895. package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.d.ts.map +0 -1
  896. package/node_modules/@openclaw/fs-safe/dist/archive-zip-manifest.d.ts.map +0 -1
  897. package/node_modules/@openclaw/fs-safe/dist/archive-zip-names.d.ts.map +0 -1
  898. package/node_modules/@openclaw/fs-safe/dist/archive-zip-preflight.d.ts.map +0 -1
  899. package/node_modules/@openclaw/fs-safe/dist/archive.d.ts.map +0 -1
  900. package/node_modules/@openclaw/fs-safe/dist/async-lock.d.ts.map +0 -1
  901. package/node_modules/@openclaw/fs-safe/dist/atomic.d.ts.map +0 -1
  902. package/node_modules/@openclaw/fs-safe/dist/bounded-read-stream.d.ts.map +0 -1
  903. package/node_modules/@openclaw/fs-safe/dist/bounded-read.d.ts.map +0 -1
  904. package/node_modules/@openclaw/fs-safe/dist/byte-budget.d.ts.map +0 -1
  905. package/node_modules/@openclaw/fs-safe/dist/clone-metadata.d.ts.map +0 -1
  906. package/node_modules/@openclaw/fs-safe/dist/config.d.ts.map +0 -1
  907. package/node_modules/@openclaw/fs-safe/dist/containment.d.ts.map +0 -1
  908. package/node_modules/@openclaw/fs-safe/dist/copy-file-input.d.ts.map +0 -1
  909. package/node_modules/@openclaw/fs-safe/dist/copy-policy.d.ts.map +0 -1
  910. package/node_modules/@openclaw/fs-safe/dist/copy-publication.d.ts.map +0 -1
  911. package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.d.ts.map +0 -1
  912. package/node_modules/@openclaw/fs-safe/dist/copy.d.ts.map +0 -1
  913. package/node_modules/@openclaw/fs-safe/dist/darwin-acl.d.ts +0 -4
  914. package/node_modules/@openclaw/fs-safe/dist/darwin-acl.d.ts.map +0 -1
  915. package/node_modules/@openclaw/fs-safe/dist/darwin-acl.js +0 -24
  916. package/node_modules/@openclaw/fs-safe/dist/deny-mutations.d.ts.map +0 -1
  917. package/node_modules/@openclaw/fs-safe/dist/device-path.d.ts.map +0 -1
  918. package/node_modules/@openclaw/fs-safe/dist/directory-durability.d.ts.map +0 -1
  919. package/node_modules/@openclaw/fs-safe/dist/directory-entry-path.d.ts.map +0 -1
  920. package/node_modules/@openclaw/fs-safe/dist/directory-guard.d.ts.map +0 -1
  921. package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.d.ts.map +0 -1
  922. package/node_modules/@openclaw/fs-safe/dist/directory-mode-owner.d.ts.map +0 -1
  923. package/node_modules/@openclaw/fs-safe/dist/durability.d.ts.map +0 -1
  924. package/node_modules/@openclaw/fs-safe/dist/effective-uid.d.ts.map +0 -1
  925. package/node_modules/@openclaw/fs-safe/dist/error-detail.d.ts.map +0 -1
  926. package/node_modules/@openclaw/fs-safe/dist/errors.d.ts.map +0 -1
  927. package/node_modules/@openclaw/fs-safe/dist/file-handle-transfer.d.ts.map +0 -1
  928. package/node_modules/@openclaw/fs-safe/dist/file-hash.d.ts.map +0 -1
  929. package/node_modules/@openclaw/fs-safe/dist/file-identity.d.ts.map +0 -1
  930. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.d.ts.map +0 -1
  931. package/node_modules/@openclaw/fs-safe/dist/file-lock.d.ts.map +0 -1
  932. package/node_modules/@openclaw/fs-safe/dist/file-observation.d.ts.map +0 -1
  933. package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.d.ts.map +0 -1
  934. package/node_modules/@openclaw/fs-safe/dist/file-store-copy-source.d.ts +0 -5
  935. package/node_modules/@openclaw/fs-safe/dist/file-store-copy-source.d.ts.map +0 -1
  936. package/node_modules/@openclaw/fs-safe/dist/file-store-copy-source.js +0 -31
  937. package/node_modules/@openclaw/fs-safe/dist/file-store-limit.d.ts +0 -2
  938. package/node_modules/@openclaw/fs-safe/dist/file-store-limit.d.ts.map +0 -1
  939. package/node_modules/@openclaw/fs-safe/dist/file-store-limit.js +0 -8
  940. package/node_modules/@openclaw/fs-safe/dist/file-store-path.d.ts +0 -3
  941. package/node_modules/@openclaw/fs-safe/dist/file-store-path.d.ts.map +0 -1
  942. package/node_modules/@openclaw/fs-safe/dist/file-store-path.js +0 -30
  943. package/node_modules/@openclaw/fs-safe/dist/file-store-prune.d.ts.map +0 -1
  944. package/node_modules/@openclaw/fs-safe/dist/file-store-sync-directory.d.ts.map +0 -1
  945. package/node_modules/@openclaw/fs-safe/dist/file-store-sync-write.d.ts.map +0 -1
  946. package/node_modules/@openclaw/fs-safe/dist/file-store.d.ts.map +0 -1
  947. package/node_modules/@openclaw/fs-safe/dist/file-sync.d.ts.map +0 -1
  948. package/node_modules/@openclaw/fs-safe/dist/filename.d.ts.map +0 -1
  949. package/node_modules/@openclaw/fs-safe/dist/fs.d.ts.map +0 -1
  950. package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.d.ts.map +0 -1
  951. package/node_modules/@openclaw/fs-safe/dist/guarded-mutation.d.ts.map +0 -1
  952. package/node_modules/@openclaw/fs-safe/dist/guest-dispatch-python.d.ts.map +0 -1
  953. package/node_modules/@openclaw/fs-safe/dist/guest-native-python.d.ts.map +0 -1
  954. package/node_modules/@openclaw/fs-safe/dist/guest.d.ts.map +0 -1
  955. package/node_modules/@openclaw/fs-safe/dist/home-dir.d.ts.map +0 -1
  956. package/node_modules/@openclaw/fs-safe/dist/index.d.ts.map +0 -1
  957. package/node_modules/@openclaw/fs-safe/dist/install-path.d.ts.map +0 -1
  958. package/node_modules/@openclaw/fs-safe/dist/json-document-store.d.ts.map +0 -1
  959. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-directory.d.ts.map +0 -1
  960. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-ownership.d.ts.map +0 -1
  961. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-paths.d.ts +0 -11
  962. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-paths.d.ts.map +0 -1
  963. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-paths.js +0 -42
  964. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-read.d.ts.map +0 -1
  965. package/node_modules/@openclaw/fs-safe/dist/json-durable-queue.d.ts.map +0 -1
  966. package/node_modules/@openclaw/fs-safe/dist/json-store.d.ts.map +0 -1
  967. package/node_modules/@openclaw/fs-safe/dist/json-stringify.d.ts.map +0 -1
  968. package/node_modules/@openclaw/fs-safe/dist/json.d.ts.map +0 -1
  969. package/node_modules/@openclaw/fs-safe/dist/local-file-access.d.ts.map +0 -1
  970. package/node_modules/@openclaw/fs-safe/dist/local-file-descriptor.d.ts.map +0 -1
  971. package/node_modules/@openclaw/fs-safe/dist/local-roots.d.ts.map +0 -1
  972. package/node_modules/@openclaw/fs-safe/dist/lock-config.d.ts.map +0 -1
  973. package/node_modules/@openclaw/fs-safe/dist/move-path-cleanup.d.ts.map +0 -1
  974. package/node_modules/@openclaw/fs-safe/dist/move-path-stage.d.ts.map +0 -1
  975. package/node_modules/@openclaw/fs-safe/dist/move-path.d.ts.map +0 -1
  976. package/node_modules/@openclaw/fs-safe/dist/mutation-authority.d.ts.map +0 -1
  977. package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts.map +0 -1
  978. package/node_modules/@openclaw/fs-safe/dist/native-config.d.ts.map +0 -1
  979. package/node_modules/@openclaw/fs-safe/dist/native-directory-observation.d.ts.map +0 -1
  980. package/node_modules/@openclaw/fs-safe/dist/native-operations.d.ts.map +0 -1
  981. package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.d.ts.map +0 -1
  982. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.d.ts.map +0 -1
  983. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.d.ts.map +0 -1
  984. package/node_modules/@openclaw/fs-safe/dist/native-staged-file.d.ts.map +0 -1
  985. package/node_modules/@openclaw/fs-safe/dist/native.d.ts.map +0 -1
  986. package/node_modules/@openclaw/fs-safe/dist/opened-file-failure.d.ts.map +0 -1
  987. package/node_modules/@openclaw/fs-safe/dist/opened-realpath.d.ts.map +0 -1
  988. package/node_modules/@openclaw/fs-safe/dist/output.d.ts.map +0 -1
  989. package/node_modules/@openclaw/fs-safe/dist/overwrite-file-handle.d.ts.map +0 -1
  990. package/node_modules/@openclaw/fs-safe/dist/owner-dacl.d.ts.map +0 -1
  991. package/node_modules/@openclaw/fs-safe/dist/path-case.d.ts.map +0 -1
  992. package/node_modules/@openclaw/fs-safe/dist/path-policy.d.ts.map +0 -1
  993. package/node_modules/@openclaw/fs-safe/dist/path-prefix.d.ts.map +0 -1
  994. package/node_modules/@openclaw/fs-safe/dist/path-scope-lexical.d.ts.map +0 -1
  995. package/node_modules/@openclaw/fs-safe/dist/path-segment-route.d.ts.map +0 -1
  996. package/node_modules/@openclaw/fs-safe/dist/path-suffix-aliases.d.ts.map +0 -1
  997. package/node_modules/@openclaw/fs-safe/dist/path.d.ts.map +0 -1
  998. package/node_modules/@openclaw/fs-safe/dist/permission-exec.d.ts.map +0 -1
  999. package/node_modules/@openclaw/fs-safe/dist/permissions-public.d.ts.map +0 -1
  1000. package/node_modules/@openclaw/fs-safe/dist/permissions-windows.d.ts.map +0 -1
  1001. package/node_modules/@openclaw/fs-safe/dist/permissions.d.ts.map +0 -1
  1002. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.d.ts.map +0 -1
  1003. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-observation.d.ts.map +0 -1
  1004. package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-shared-route.d.ts.map +0 -1
  1005. package/node_modules/@openclaw/fs-safe/dist/pinned-open.d.ts.map +0 -1
  1006. package/node_modules/@openclaw/fs-safe/dist/pinned-operation.d.ts.map +0 -1
  1007. package/node_modules/@openclaw/fs-safe/dist/pinned-write-types.d.ts.map +0 -1
  1008. package/node_modules/@openclaw/fs-safe/dist/pinned-write.d.ts.map +0 -1
  1009. package/node_modules/@openclaw/fs-safe/dist/positional-read.d.ts.map +0 -1
  1010. package/node_modules/@openclaw/fs-safe/dist/private-directory.d.ts.map +0 -1
  1011. package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.d.ts.map +0 -1
  1012. package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.d.ts.map +0 -1
  1013. package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.d.ts.map +0 -1
  1014. package/node_modules/@openclaw/fs-safe/dist/publish-file-failure.d.ts.map +0 -1
  1015. package/node_modules/@openclaw/fs-safe/dist/publish-file.d.ts.map +0 -1
  1016. package/node_modules/@openclaw/fs-safe/dist/read-open-flags.d.ts.map +0 -1
  1017. package/node_modules/@openclaw/fs-safe/dist/read-opened-file.d.ts.map +0 -1
  1018. package/node_modules/@openclaw/fs-safe/dist/realpath.d.ts.map +0 -1
  1019. package/node_modules/@openclaw/fs-safe/dist/recursive-mkdir-path.d.ts.map +0 -1
  1020. package/node_modules/@openclaw/fs-safe/dist/regular-file.d.ts.map +0 -1
  1021. package/node_modules/@openclaw/fs-safe/dist/replace-directory.d.ts.map +0 -1
  1022. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.d.ts.map +0 -1
  1023. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.d.ts.map +0 -1
  1024. package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.d.ts.map +0 -1
  1025. package/node_modules/@openclaw/fs-safe/dist/replace-file-mode.d.ts.map +0 -1
  1026. package/node_modules/@openclaw/fs-safe/dist/replace-file-rename-policy.d.ts.map +0 -1
  1027. package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.d.ts.map +0 -1
  1028. package/node_modules/@openclaw/fs-safe/dist/replace-file.d.ts.map +0 -1
  1029. package/node_modules/@openclaw/fs-safe/dist/root-boundary.d.ts.map +0 -1
  1030. package/node_modules/@openclaw/fs-safe/dist/root-context.d.ts.map +0 -1
  1031. package/node_modules/@openclaw/fs-safe/dist/root-create-input.d.ts.map +0 -1
  1032. package/node_modules/@openclaw/fs-safe/dist/root-directory-creation.d.ts.map +0 -1
  1033. package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts.map +0 -1
  1034. package/node_modules/@openclaw/fs-safe/dist/root-directory.d.ts.map +0 -1
  1035. package/node_modules/@openclaw/fs-safe/dist/root-entries.d.ts.map +0 -1
  1036. package/node_modules/@openclaw/fs-safe/dist/root-errors.d.ts.map +0 -1
  1037. package/node_modules/@openclaw/fs-safe/dist/root-file-final-admission.d.ts.map +0 -1
  1038. package/node_modules/@openclaw/fs-safe/dist/root-file.d.ts.map +0 -1
  1039. package/node_modules/@openclaw/fs-safe/dist/root-impl.d.ts.map +0 -1
  1040. package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.d.ts.map +0 -1
  1041. package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.d.ts.map +0 -1
  1042. package/node_modules/@openclaw/fs-safe/dist/root-observed-path.d.ts.map +0 -1
  1043. package/node_modules/@openclaw/fs-safe/dist/root-options.d.ts.map +0 -1
  1044. package/node_modules/@openclaw/fs-safe/dist/root-path-errors.d.ts.map +0 -1
  1045. package/node_modules/@openclaw/fs-safe/dist/root-path-existing.d.ts.map +0 -1
  1046. package/node_modules/@openclaw/fs-safe/dist/root-path-observation.d.ts.map +0 -1
  1047. package/node_modules/@openclaw/fs-safe/dist/root-path-stat.d.ts.map +0 -1
  1048. package/node_modules/@openclaw/fs-safe/dist/root-path-symlink.d.ts +0 -7
  1049. package/node_modules/@openclaw/fs-safe/dist/root-path-symlink.d.ts.map +0 -1
  1050. package/node_modules/@openclaw/fs-safe/dist/root-path-symlink.js +0 -55
  1051. package/node_modules/@openclaw/fs-safe/dist/root-path.d.ts.map +0 -1
  1052. package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.d.ts.map +0 -1
  1053. package/node_modules/@openclaw/fs-safe/dist/root-paths.d.ts.map +0 -1
  1054. package/node_modules/@openclaw/fs-safe/dist/root-read-admission.d.ts.map +0 -1
  1055. package/node_modules/@openclaw/fs-safe/dist/root-remove-identity.d.ts.map +0 -1
  1056. package/node_modules/@openclaw/fs-safe/dist/root-remove-receipt.d.ts.map +0 -1
  1057. package/node_modules/@openclaw/fs-safe/dist/root-remove.d.ts.map +0 -1
  1058. package/node_modules/@openclaw/fs-safe/dist/root-symlink-policy.d.ts.map +0 -1
  1059. package/node_modules/@openclaw/fs-safe/dist/root-walk.d.ts.map +0 -1
  1060. package/node_modules/@openclaw/fs-safe/dist/root-write-admission.d.ts.map +0 -1
  1061. package/node_modules/@openclaw/fs-safe/dist/root-write-compatibility.d.ts.map +0 -1
  1062. package/node_modules/@openclaw/fs-safe/dist/root-write-complete-parent.d.ts.map +0 -1
  1063. package/node_modules/@openclaw/fs-safe/dist/root-write-mode.d.ts.map +0 -1
  1064. package/node_modules/@openclaw/fs-safe/dist/root-write-publication.d.ts.map +0 -1
  1065. package/node_modules/@openclaw/fs-safe/dist/root-write-verification.d.ts.map +0 -1
  1066. package/node_modules/@openclaw/fs-safe/dist/root.d.ts.map +0 -1
  1067. package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.d.ts.map +0 -1
  1068. package/node_modules/@openclaw/fs-safe/dist/secret-file.d.ts.map +0 -1
  1069. package/node_modules/@openclaw/fs-safe/dist/secret-read-async.d.ts.map +0 -1
  1070. package/node_modules/@openclaw/fs-safe/dist/secret-read-policy.d.ts.map +0 -1
  1071. package/node_modules/@openclaw/fs-safe/dist/secret.d.ts.map +0 -1
  1072. package/node_modules/@openclaw/fs-safe/dist/secure-file-windows.d.ts.map +0 -1
  1073. package/node_modules/@openclaw/fs-safe/dist/secure-file.d.ts.map +0 -1
  1074. package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.d.ts.map +0 -1
  1075. package/node_modules/@openclaw/fs-safe/dist/secure-temp-repair.d.ts.map +0 -1
  1076. package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.d.ts.map +0 -1
  1077. package/node_modules/@openclaw/fs-safe/dist/sibling-temp.d.ts.map +0 -1
  1078. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.d.ts.map +0 -1
  1079. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-handle.d.ts.map +0 -1
  1080. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-policy.d.ts.map +0 -1
  1081. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.d.ts.map +0 -1
  1082. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-root.d.ts.map +0 -1
  1083. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-types.d.ts.map +0 -1
  1084. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.d.ts.map +0 -1
  1085. package/node_modules/@openclaw/fs-safe/dist/staged-directory.d.ts.map +0 -1
  1086. package/node_modules/@openclaw/fs-safe/dist/staged-file-types.d.ts.map +0 -1
  1087. package/node_modules/@openclaw/fs-safe/dist/standalone-publication-path.d.ts +0 -2
  1088. package/node_modules/@openclaw/fs-safe/dist/standalone-publication-path.d.ts.map +0 -1
  1089. package/node_modules/@openclaw/fs-safe/dist/standalone-publication-path.js +0 -6
  1090. package/node_modules/@openclaw/fs-safe/dist/stat-observation.d.ts.map +0 -1
  1091. package/node_modules/@openclaw/fs-safe/dist/store.d.ts.map +0 -1
  1092. package/node_modules/@openclaw/fs-safe/dist/strict-file-identity.d.ts.map +0 -1
  1093. package/node_modules/@openclaw/fs-safe/dist/string-coerce.d.ts.map +0 -1
  1094. package/node_modules/@openclaw/fs-safe/dist/suppressed-error.d.ts.map +0 -1
  1095. package/node_modules/@openclaw/fs-safe/dist/symlink-parents.d.ts.map +0 -1
  1096. package/node_modules/@openclaw/fs-safe/dist/temp-cleanup.d.ts.map +0 -1
  1097. package/node_modules/@openclaw/fs-safe/dist/temp-target.d.ts.map +0 -1
  1098. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.d.ts.map +0 -1
  1099. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.d.ts.map +0 -1
  1100. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.d.ts.map +0 -1
  1101. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-identity.d.ts +0 -15
  1102. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-identity.d.ts.map +0 -1
  1103. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-identity.js +0 -41
  1104. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-owner.d.ts.map +0 -1
  1105. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-permissions.d.ts +0 -4
  1106. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-permissions.d.ts.map +0 -1
  1107. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-permissions.js +0 -32
  1108. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-types.d.ts.map +0 -1
  1109. package/node_modules/@openclaw/fs-safe/dist/temp.d.ts.map +0 -1
  1110. package/node_modules/@openclaw/fs-safe/dist/test-hooks.d.ts.map +0 -1
  1111. package/node_modules/@openclaw/fs-safe/dist/text-atomic.d.ts.map +0 -1
  1112. package/node_modules/@openclaw/fs-safe/dist/timing.d.ts.map +0 -1
  1113. package/node_modules/@openclaw/fs-safe/dist/trash.d.ts.map +0 -1
  1114. package/node_modules/@openclaw/fs-safe/dist/types.d.ts.map +0 -1
  1115. package/node_modules/@openclaw/fs-safe/dist/unicode-path.d.ts.map +0 -1
  1116. package/node_modules/@openclaw/fs-safe/dist/walk.d.ts.map +0 -1
  1117. package/node_modules/@openclaw/fs-safe/dist/windows-command.d.ts.map +0 -1
  1118. package/node_modules/@openclaw/fs-safe/dist/windows-owner.d.ts.map +0 -1
  1119. package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.d.ts.map +0 -1
  1120. package/node_modules/@openclaw/fs-safe/dist/write-file-handle.d.ts.map +0 -1
  1121. package/node_modules/@openclaw/fs-safe/dist/write-open-flags.d.ts.map +0 -1
  1122. package/node_modules/@openclaw/fs-safe/dist/write-queue.d.ts.map +0 -1
  1123. /package/node_modules/@openclaw/fs-safe/dist/{archive-options.js → root-public-types.js} +0 -0
@@ -3,7 +3,8 @@ import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { ensureAbsoluteDirectory } from "./absolute-path.js";
5
5
  import { FsSafeError } from "./errors.js";
6
- import { sameFileIdentity } from "./file-identity.js";
6
+ import { assertDirectoryReceiptCurrentSync, copyRetainedDirectoryReceipt, createDirectoryReceiptSync, directoryReceiptAuthority, directoryReceiptIdentity, ownDirectoryReceipt, } from "./directory-receipt.js";
7
+ import { inspectFileIdentitySync } from "./strict-file-identity.js";
7
8
  import { assertNoWindowsPathAlias, pathForWindowsFilesystem, resolvePathPreservingWindowsRoot } from "./windows-path-alias.js";
8
9
  import { realpathSync } from "./realpath.js";
9
10
  function directoryOpenFlags() {
@@ -38,81 +39,23 @@ function unsupportedOutcome(error) {
38
39
  const code = error.code;
39
40
  return code ? { status: "unsupported", code } : { status: "unsupported" };
40
41
  }
41
- function assertDirectory(identity, pathname, label) {
42
- if (identity.isSymbolicLink() || !identity.isDirectory()) {
43
- throw new FsSafeError("not-file", `${label} must be a real directory: ${pathname}`);
44
- }
45
- }
46
- function ownDirectoryReceipt(receipt) {
47
- const pathname = receipt.path;
48
- const realPath = receipt.realPath;
49
- const identity = receipt.identity;
50
- return { path: pathname, realPath, identity };
51
- }
52
- function assertDirectoryReceiptPaths(receipt, label) {
53
- assertNoWindowsPathAlias(receipt.path, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
54
- assertNoWindowsPathAlias(receipt.realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
55
- }
56
42
  async function createDirectoryReceipt(directoryPath, label) {
57
- assertNoWindowsPathAlias(directoryPath, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
58
- const resolvedPath = resolvePathPreservingWindowsRoot(directoryPath);
59
- assertNoWindowsPathAlias(resolvedPath, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
60
- const operationPath = pathForWindowsFilesystem(resolvedPath);
61
- const identity = fsSync.lstatSync(operationPath);
62
- assertDirectory(identity, resolvedPath, label);
63
- const realPath = realpathSync.native(operationPath);
64
- assertNoWindowsPathAlias(realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
65
- return {
66
- path: resolvedPath,
67
- realPath,
68
- identity,
69
- };
70
- }
71
- function createDirectoryReceiptSync(directoryPath, label) {
72
- assertNoWindowsPathAlias(directoryPath, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
73
- const resolvedPath = resolvePathPreservingWindowsRoot(directoryPath);
74
- assertNoWindowsPathAlias(resolvedPath, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
75
- const operationPath = pathForWindowsFilesystem(resolvedPath);
76
- const identity = fsSync.lstatSync(operationPath);
77
- assertDirectory(identity, resolvedPath, label);
78
- const realPath = realpathSync(operationPath);
79
- assertNoWindowsPathAlias(realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
80
- return {
81
- path: resolvedPath,
82
- realPath,
83
- identity,
84
- };
43
+ return createDirectoryReceiptSync(directoryPath, label, realpathSync.native);
85
44
  }
86
45
  async function assertDirectoryReceiptCurrent(receipt, label) {
87
- assertDirectoryReceiptPaths(receipt, label);
88
- const operationPath = pathForWindowsFilesystem(receipt.path);
89
- const currentIdentity = fsSync.lstatSync(operationPath);
90
- assertDirectory(currentIdentity, receipt.path, label);
91
- const realPath = realpathSync.native(operationPath);
92
- assertNoWindowsPathAlias(realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
93
- if (!sameFileIdentity(receipt.identity, currentIdentity) ||
94
- realPath !== receipt.realPath) {
95
- throw new FsSafeError("path-mismatch", `${label} changed during durable directory operation: ${receipt.path}`);
96
- }
46
+ assertDirectoryReceiptCurrentSync(receipt, label, realpathSync.native);
97
47
  }
98
- function assertDirectoryReceiptCurrentSync(receipt, label) {
99
- assertDirectoryReceiptPaths(receipt, label);
100
- const operationPath = pathForWindowsFilesystem(receipt.path);
101
- const currentIdentity = fsSync.lstatSync(operationPath);
102
- assertDirectory(currentIdentity, receipt.path, label);
103
- const realPath = realpathSync(operationPath);
104
- assertNoWindowsPathAlias(realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
105
- if (!sameFileIdentity(receipt.identity, currentIdentity) ||
106
- realPath !== receipt.realPath) {
107
- throw new FsSafeError("path-mismatch", `${label} changed during durable directory operation: ${receipt.path}`);
108
- }
48
+ function assertOpenDirectoryIdentity(descriptor, receipt, label) {
49
+ inspectFileIdentitySync(() => {
50
+ const opened = fsSync.fstatSync(descriptor, { bigint: true });
51
+ if (!opened.isDirectory()) {
52
+ throw new FsSafeError("not-file", `${label} must be a real directory: ${receipt.path}`);
53
+ }
54
+ return opened;
55
+ }, directoryReceiptAuthority(receipt).identity);
109
56
  }
110
57
  async function assertOpenDirectoryCurrent(handle, receipt, label) {
111
- const openedIdentity = fsSync.fstatSync(handle.fd);
112
- assertDirectory(openedIdentity, receipt.path, label);
113
- if (!sameFileIdentity(receipt.identity, openedIdentity)) {
114
- throw new FsSafeError("path-mismatch", `${label} handle changed during directory sync: ${receipt.path}`);
115
- }
58
+ assertOpenDirectoryIdentity(handle.fd, receipt, label);
116
59
  await assertDirectoryReceiptCurrent(receipt, label);
117
60
  }
118
61
  class PinnedDirectoryImpl {
@@ -124,7 +67,7 @@ class PinnedDirectoryImpl {
124
67
  constructor(handle, receipt, label) {
125
68
  this.#handle = handle;
126
69
  this.#authority = receipt;
127
- this.receipt = ownDirectoryReceipt(receipt);
70
+ this.receipt = copyRetainedDirectoryReceipt(receipt);
128
71
  this.#label = label;
129
72
  }
130
73
  async assertCurrent() {
@@ -213,11 +156,7 @@ export function syncDirectorySync(directory, options = {}) {
213
156
  return unsupportedOutcome(error);
214
157
  }
215
158
  try {
216
- const openedIdentity = fsSync.fstatSync(descriptor);
217
- assertDirectory(openedIdentity, receipt.path, label);
218
- if (!sameFileIdentity(receipt.identity, openedIdentity)) {
219
- throw new FsSafeError("path-mismatch", `${label} handle changed during directory sync: ${receipt.path}`);
220
- }
159
+ assertOpenDirectoryIdentity(descriptor, receipt, label);
221
160
  assertDirectoryReceiptCurrentSync(receipt, label);
222
161
  try {
223
162
  fsSync.fsyncSync(descriptor);
@@ -273,13 +212,16 @@ export async function ensureDurableDirectory(options) {
273
212
  assertNoWindowsPathAlias(requestedDirectoryPath, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
274
213
  const directoryPath = resolvePathPreservingWindowsRoot(requestedDirectoryPath);
275
214
  assertNoWindowsPathAlias(directoryPath, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
215
+ const expectedInput = options.expectedExistingIdentity;
216
+ const expectedIdentity = expectedInput && directoryReceiptIdentity(expectedInput);
276
217
  const ancestorReceipt = await findExistingAncestorReceipt(directoryPath, label);
277
218
  const targetExists = ancestorReceipt.path === directoryPath;
278
- const expectedExistingIdentity = options.expectedExistingIdentity;
279
- if (expectedExistingIdentity &&
280
- (!targetExists || !sameFileIdentity(expectedExistingIdentity, ancestorReceipt.identity))) {
219
+ if (expectedIdentity && !targetExists) {
281
220
  throw new FsSafeError("path-mismatch", `${label} changed before durable directory pinning: ${directoryPath}`);
282
221
  }
222
+ if (expectedIdentity) {
223
+ inspectFileIdentitySync(() => directoryReceiptAuthority(ancestorReceipt).identity, expectedIdentity);
224
+ }
283
225
  const ancestor = await pinDirectory(ancestorReceipt, { label });
284
226
  const pinnedDirectories = [ancestor];
285
227
  try {
@@ -336,7 +278,7 @@ export async function ensureDurableDirectory(options) {
336
278
  }
337
279
  await ancestor.assertCurrent();
338
280
  await assertDirectoryReceiptCurrent(finalReceipt, label);
339
- return { ...finalReceipt, parentSync };
281
+ return Object.assign(copyRetainedDirectoryReceipt(finalReceipt), { parentSync });
340
282
  }
341
283
  finally {
342
284
  await Promise.all(pinnedDirectories.toReversed().map(async (directory) => directory.close()));
@@ -1,3 +1,2 @@
1
1
  /** Strip only trailing separators: lstat must inspect the entry, not follow a leaf link. */
2
2
  export declare function directoryEntryPath(dir: string, platform?: NodeJS.Platform): string;
3
- //# sourceMappingURL=directory-entry-path.d.ts.map
@@ -6,11 +6,7 @@ export type AsyncDirectoryGuard<T extends Stats | BigIntStats = Stats> = {
6
6
  stat: T;
7
7
  };
8
8
  export type AnyAsyncDirectoryGuard = AsyncDirectoryGuard<Stats | BigIntStats>;
9
- export type SyncDirectoryGuard = {
10
- dir: string;
11
- realPath: string;
12
- stat: Stats;
13
- };
9
+ export type SyncDirectoryGuard = AsyncDirectoryGuard;
14
10
  export type DirectoryIdentity = Readonly<{
15
11
  dev: bigint;
16
12
  ino: bigint;
@@ -30,10 +26,13 @@ export declare function createAsyncDirectoryGuard(dir: string, options?: {
30
26
  export declare function createAsyncDirectoryGuard(dir: string, options: {
31
27
  bigint: boolean;
32
28
  }): Promise<AnyAsyncDirectoryGuard>;
33
- export declare function assertAsyncDirectoryGuard(guard: AnyAsyncDirectoryGuard): Promise<void>;
34
29
  export declare function createSyncDirectoryGuard(dir: string): SyncDirectoryGuard;
30
+ export declare function assertAsyncDirectoryGuard(guard: AnyAsyncDirectoryGuard): Promise<void>;
35
31
  export declare function assertSyncDirectoryGuard(guard: SyncDirectoryGuard | AnyAsyncDirectoryGuard): void;
36
32
  export declare function createNearestExistingDirectoryGuard(rootReal: string, targetPath: string): Promise<AsyncDirectoryGuard>;
33
+ export declare function createNearestExistingDirectoryGuard(rootReal: string, targetPath: string, options: {
34
+ bigint: true;
35
+ }): Promise<AsyncDirectoryGuard<BigIntStats>>;
37
36
  export declare function createNearestExistingDirectoryGuard(rootReal: string, targetPath: string, options: {
38
37
  bigint: boolean;
39
38
  }): Promise<AnyAsyncDirectoryGuard>;
@@ -54,4 +53,3 @@ export declare function extendDirectoryObservationGuard(observation: StatObserva
54
53
  export declare function inspectDirectoryObservationSync(dir: string, expected?: ExactStatIdentity): StatObservationReceipt;
55
54
  export declare function assertDirectoryObservationSync(dir: string, expected: ExactStatIdentity): Stats | BigIntStats;
56
55
  export declare function assertDirectoryObservationGuardSync(guard: DirectoryObservationGuard): void;
57
- //# sourceMappingURL=directory-guard.d.ts.map
@@ -30,6 +30,12 @@ export function assertDirectoryIdentitySync(observedPath, expected) {
30
30
  }
31
31
  }
32
32
  export async function createAsyncDirectoryGuard(dir, options) {
33
+ return captureDirectoryGuard(dir, "native", options);
34
+ }
35
+ export function createSyncDirectoryGuard(dir) {
36
+ return captureDirectoryGuard(dir, "normalized");
37
+ }
38
+ function captureDirectoryGuard(dir, mode, options) {
33
39
  const operationPath = directoryOperationPath(dir);
34
40
  const stat = options?.bigint
35
41
  ? inspectDirectoryIdentityAtPathSync(operationPath, undefined, options.initial)
@@ -37,11 +43,17 @@ export async function createAsyncDirectoryGuard(dir, options) {
37
43
  if (stat.isSymbolicLink() || !stat.isDirectory()) {
38
44
  throw directoryComponentNotDirectoryError();
39
45
  }
40
- const realPath = realpathSync.native(operationPath);
46
+ const realPath = mode === "native" ? realpathSync.native(operationPath) : realpathSync(operationPath);
41
47
  assertNoWindowsPathAlias(realPath, "filesystem");
42
48
  return { dir, realPath, stat };
43
49
  }
44
50
  export async function assertAsyncDirectoryGuard(guard) {
51
+ assertDirectoryGuard(guard, "native");
52
+ }
53
+ export function assertSyncDirectoryGuard(guard) {
54
+ assertDirectoryGuard(guard, "normalized");
55
+ }
56
+ function assertDirectoryGuard(guard, mode) {
45
57
  const dir = guard.dir;
46
58
  const operationPath = directoryOperationPath(dir);
47
59
  const expectedRealPath = guard.realPath;
@@ -57,71 +69,32 @@ export async function assertAsyncDirectoryGuard(guard) {
57
69
  if (stat.isSymbolicLink() || !stat.isDirectory()) {
58
70
  throw directoryComponentNotDirectoryError();
59
71
  }
60
- if (!sameFileIdentity(stat, expectedIdentity)) {
72
+ // Native guards check identity first; normalized numeric guards preserve
73
+ // canonicalization errors before their final identity comparison.
74
+ if (mode === "native" && !sameFileIdentity(stat, expectedIdentity)) {
61
75
  throw new FsSafeError("path-mismatch", "directory changed during operation");
62
76
  }
63
- const realPath = realpathSync.native(operationPath);
64
- assertNoWindowsPathAlias(realPath, "filesystem");
65
- if (realPath !== expectedRealPath) {
66
- throw new FsSafeError("path-mismatch", "directory changed during operation");
67
- }
68
- }
69
- export function createSyncDirectoryGuard(dir) {
70
- const operationPath = directoryOperationPath(dir);
71
- const stat = fsSync.lstatSync(operationPath);
72
- if (stat.isSymbolicLink() || !stat.isDirectory()) {
73
- throw directoryComponentNotDirectoryError();
74
- }
75
- const realPath = realpathSync(operationPath);
76
- assertNoWindowsPathAlias(realPath, "filesystem");
77
- return { dir, realPath, stat };
78
- }
79
- export function assertSyncDirectoryGuard(guard) {
80
- const dir = guard.dir;
81
- const operationPath = directoryOperationPath(dir);
82
- const expectedRealPath = guard.realPath;
83
- assertNoWindowsPathAlias(expectedRealPath, "filesystem");
84
- const expectedStat = guard.stat;
85
- const expectedIdentity = { dev: expectedStat.dev, ino: expectedStat.ino };
86
- const stat = typeof expectedIdentity.dev === "bigint" && typeof expectedIdentity.ino === "bigint"
87
- ? inspectDirectoryIdentityAtPathSync(operationPath, { dev: expectedIdentity.dev, ino: expectedIdentity.ino })
88
- : fsSync.lstatSync(operationPath);
89
- if (stat.isSymbolicLink() || !stat.isDirectory()) {
90
- throw directoryComponentNotDirectoryError();
91
- }
92
- const realPath = typeof expectedIdentity.ino === "bigint"
77
+ const realPath = mode === "native" || typeof expectedIdentity.ino === "bigint"
93
78
  ? realpathSync.native(operationPath) : realpathSync(operationPath);
94
79
  assertNoWindowsPathAlias(realPath, "filesystem");
95
- if (!sameFileIdentity(stat, expectedIdentity) || realPath !== expectedRealPath) {
80
+ if ((mode === "normalized" && !sameFileIdentity(stat, expectedIdentity)) || realPath !== expectedRealPath) {
96
81
  throw new FsSafeError("path-mismatch", "directory changed during operation");
97
82
  }
98
83
  }
99
84
  export async function createNearestExistingDirectoryGuard(rootReal, targetPath, options = { bigint: false }) {
100
- assertNoWindowsPathAlias(rootReal, "filesystem");
101
- assertNoWindowsPathAlias(targetPath, "filesystem");
102
- let current = resolvePathPreservingWindowsRoot(targetPath);
103
- const root = resolvePathPreservingWindowsRoot(rootReal);
104
- while (current !== root) {
105
- try {
106
- return await createAsyncDirectoryGuard(current, options);
107
- }
108
- catch (error) {
109
- if (!isNotFoundPathError(error)) {
110
- throw error;
111
- }
112
- current = path.dirname(current);
113
- }
114
- }
115
- return await createAsyncDirectoryGuard(root, options);
85
+ return nearestExistingDirectoryGuard(rootReal, targetPath, "native", options);
116
86
  }
117
87
  export function createNearestExistingSyncDirectoryGuard(rootReal, targetPath) {
88
+ return nearestExistingDirectoryGuard(rootReal, targetPath, "normalized");
89
+ }
90
+ function nearestExistingDirectoryGuard(rootReal, targetPath, mode, options) {
118
91
  assertNoWindowsPathAlias(rootReal, "filesystem");
119
92
  assertNoWindowsPathAlias(targetPath, "filesystem");
120
93
  let current = resolvePathPreservingWindowsRoot(targetPath);
121
94
  const root = resolvePathPreservingWindowsRoot(rootReal);
122
95
  while (current !== root) {
123
96
  try {
124
- return createSyncDirectoryGuard(current);
97
+ return captureDirectoryGuard(current, mode, options);
125
98
  }
126
99
  catch (error) {
127
100
  if (!isNotFoundPathError(error)) {
@@ -130,15 +103,11 @@ export function createNearestExistingSyncDirectoryGuard(rootReal, targetPath) {
130
103
  current = path.dirname(current);
131
104
  }
132
105
  }
133
- return createSyncDirectoryGuard(root);
106
+ return captureDirectoryGuard(root, mode, options);
134
107
  }
135
108
  // Recovery receipts must retain every identity bit, including on Windows.
136
109
  export async function inspectDirectoryIdentity(dir, expected) {
137
- const operationPath = directoryOperationPath(dir);
138
- const expectedIdentity = expected === undefined
139
- ? undefined
140
- : { dev: expected.dev, ino: expected.ino };
141
- return inspectDirectoryIdentityAtPathSync(operationPath, expectedIdentity);
110
+ return inspectDirectoryIdentitySync(dir, expected);
142
111
  }
143
112
  function directoryOperationPath(dir) {
144
113
  assertNoWindowsPathAlias(dir, "filesystem");
@@ -1,5 +1,7 @@
1
1
  import { type BigIntStats } from "node:fs";
2
2
  import { type DirectoryModeOwner } from "./directory-mode-owner.js";
3
+ /** Darwin descriptor inspection avoids requesting directory-content reads. */
4
+ export declare function nodeDarwinDirectoryMetadataFlags(): number;
3
5
  export declare function nodeDirectorySearchOnlyFlags(): {
4
6
  flags: number;
5
7
  proc: boolean;
@@ -17,4 +19,3 @@ export declare function pinNodeDirectoryForModeSync(dirPath: string, options?: {
17
19
  apply(mode: number, check?: () => void): void;
18
20
  close(): void;
19
21
  };
20
- //# sourceMappingURL=directory-mode-node.d.ts.map
@@ -4,6 +4,14 @@ import { FsSafeError } from "./errors.js";
4
4
  import { inspectDirectoryIdentity, inspectDirectoryIdentitySync } from "./directory-guard.js";
5
5
  import { inspectFileIdentity, inspectFileIdentitySync } from "./strict-file-identity.js";
6
6
  import { assertOwnedDirectory, ownDirectoryMode } from "./directory-mode-owner.js";
7
+ /** Darwin descriptor inspection avoids requesting directory-content reads. */
8
+ export function nodeDarwinDirectoryMetadataFlags() {
9
+ if (process.platform !== "darwin" || (process.arch !== "x64" && process.arch !== "arm64")) {
10
+ throw new FsSafeError("helper-unavailable", "Darwin directory metadata descriptors are unavailable");
11
+ }
12
+ // Darwin SDK O_EVTONLY; Node omits this flag from its exported constants.
13
+ return 0x8000 | constants.O_DIRECTORY | constants.O_NOFOLLOW | constants.O_NONBLOCK;
14
+ }
7
15
  export function nodeDirectorySearchOnlyFlags() {
8
16
  if (process.arch !== "x64" && process.arch !== "arm64")
9
17
  return undefined;
@@ -87,7 +95,12 @@ export async function pinNodeDirectoryForMode(dirPath, options = {}) {
87
95
  return owner;
88
96
  }
89
97
  catch (error) {
90
- await handle.close();
98
+ try {
99
+ await handle.close();
100
+ }
101
+ catch {
102
+ // Preserve the initial admission failure before ownership transfers.
103
+ }
91
104
  throw error;
92
105
  }
93
106
  }
@@ -185,7 +198,12 @@ export function pinNodeDirectoryForModeSync(dirPath, options = {}) {
185
198
  };
186
199
  }
187
200
  catch (error) {
188
- fsSync.closeSync(fd);
201
+ try {
202
+ fsSync.closeSync(fd);
203
+ }
204
+ catch {
205
+ // Preserve the initial admission failure before ownership transfers.
206
+ }
189
207
  throw error;
190
208
  }
191
209
  }
@@ -18,4 +18,3 @@ export declare function ownDirectoryMode(params: {
18
18
  close: () => Promise<void>;
19
19
  ignoreChmodError?: boolean;
20
20
  }): DirectoryModeOwner;
21
- //# sourceMappingURL=directory-mode-owner.d.ts.map
@@ -43,10 +43,10 @@ export function ownDirectoryMode(params) {
43
43
  // Hooks/ancestor checks can yield; recheck the original named association.
44
44
  await params.inspect();
45
45
  checks.check?.();
46
- let dispatchDeadlineError;
46
+ let dispatchDeadlineFailure;
47
47
  if (currentMode !== mode) {
48
+ checks.check?.();
48
49
  try {
49
- checks.check?.();
50
50
  await params.chmod(mode);
51
51
  }
52
52
  catch (error) {
@@ -58,13 +58,13 @@ export function ownDirectoryMode(params) {
58
58
  checks.check?.();
59
59
  }
60
60
  catch (error) {
61
- dispatchDeadlineError = error;
61
+ dispatchDeadlineFailure = { error };
62
62
  }
63
63
  await params.verifyChmod?.();
64
64
  }
65
65
  const finalMode = await params.inspect();
66
- if (dispatchDeadlineError)
67
- throw dispatchDeadlineError;
66
+ if (dispatchDeadlineFailure)
67
+ throw dispatchDeadlineFailure.error;
68
68
  checks.check?.();
69
69
  if (!params.ignoreChmodError && finalMode !== mode) {
70
70
  throw new FsSafeError("path-mismatch", "directory final mode could not be verified");
@@ -0,0 +1,23 @@
1
+ import { type BigIntStats, type Stats } from "node:fs";
2
+ import type { DirectoryReceipt } from "./directory-durability.js";
3
+ import type { FileIdentityStat } from "./file-identity.js";
4
+ type ExactIdentity = Readonly<Pick<BigIntStats, "dev" | "ino">>;
5
+ declare const numericFields: readonly ["dev", "mode", "nlink", "uid", "gid", "rdev", "blksize", "ino", "size", "blocks"];
6
+ declare const timeFields: readonly ["atime", "mtime", "ctime", "birthtime"];
7
+ type DirectoryMetadata = Pick<Stats, typeof numericFields[number] | `${typeof timeFields[number]}Ms`>;
8
+ type DirectoryProvenance = Readonly<{
9
+ identity: ExactIdentity;
10
+ metadata: Readonly<DirectoryMetadata>;
11
+ }>;
12
+ type DirectoryAuthority = DirectoryProvenance & Readonly<{
13
+ path: string;
14
+ realPath: string;
15
+ }>;
16
+ export declare function directoryReceiptIdentity(identity: FileIdentityStat): ExactIdentity;
17
+ export declare function directoryReceiptAuthority(receipt: DirectoryReceipt<Stats | BigIntStats>): DirectoryAuthority;
18
+ export declare function ownDirectoryReceipt(receipt: DirectoryReceipt<Stats | BigIntStats>): DirectoryReceipt;
19
+ export declare function copyRetainedDirectoryReceipt(receipt: DirectoryReceipt): DirectoryReceipt;
20
+ export declare function createDirectoryReceiptFromIdentity(pathname: string, realPath: string, exactStat: BigIntStats): DirectoryReceipt;
21
+ export declare function createDirectoryReceiptSync(directoryPath: string, label: string, canonicalize?: (pathname: string) => string): DirectoryReceipt;
22
+ export declare function assertDirectoryReceiptCurrentSync(receipt: DirectoryReceipt, label: string, canonicalize?: (pathname: string) => string): void;
23
+ export {};
@@ -0,0 +1,123 @@
1
+ import fs, {} from "node:fs";
2
+ import { inspectDirectoryIdentitySync } from "./directory-guard.js";
3
+ import { FsSafeError } from "./errors.js";
4
+ import { realpathSync } from "./realpath.js";
5
+ import { assertNoWindowsPathAlias, pathForWindowsFilesystem, resolvePathPreservingWindowsRoot, } from "./windows-path-alias.js";
6
+ const numericFields = ["dev", "mode", "nlink", "uid", "gid", "rdev", "blksize", "ino", "size", "blocks"];
7
+ const timeFields = ["atime", "mtime", "ctime", "birthtime"];
8
+ // Live pins retain private authority. New admissions snapshot the supplied
9
+ // fields and accept exact provenance only while its public identity is intact.
10
+ const authorities = new WeakMap();
11
+ const identities = new WeakMap();
12
+ export function directoryReceiptIdentity(identity) {
13
+ if (!identity) {
14
+ throw new FsSafeError("path-mismatch", "directory receipt identity is missing");
15
+ }
16
+ const known = identities.get(identity);
17
+ const dev = identity.dev;
18
+ const ino = identity.ino;
19
+ if (known) {
20
+ const matches = (value, expected) => typeof value === "bigint" ? value === expected : value === Number(expected);
21
+ if (!matches(dev, known.identity.dev) || !matches(ino, known.identity.ino)) {
22
+ throw new FsSafeError("path-mismatch", "directory receipt identity changed");
23
+ }
24
+ return known.identity;
25
+ }
26
+ const exact = (value) => {
27
+ if ((typeof value !== "bigint" && !Number.isSafeInteger(value)) ||
28
+ (process.platform === "win32" && (value === 0 || value === 0n))) {
29
+ throw new FsSafeError("path-mismatch", "directory receipt identity could not be verified");
30
+ }
31
+ return BigInt(value);
32
+ };
33
+ return Object.freeze({ dev: exact(dev), ino: exact(ino) });
34
+ }
35
+ function snapshotDirectoryReceipt(receipt) {
36
+ const pathname = receipt?.path;
37
+ const realPath = receipt?.realPath;
38
+ const stat = receipt?.identity;
39
+ if (typeof pathname !== "string" || typeof realPath !== "string" || stat == null) {
40
+ throw new FsSafeError("path-mismatch", "directory receipt is incomplete");
41
+ }
42
+ assertNoWindowsPathAlias(pathname, "filesystem");
43
+ assertNoWindowsPathAlias(realPath, "filesystem");
44
+ const identity = directoryReceiptIdentity(stat);
45
+ const known = authorities.get(receipt);
46
+ if (known && (pathname !== known.path || realPath !== known.realPath ||
47
+ identity.dev !== known.identity.dev || identity.ino !== known.identity.ino)) {
48
+ throw new FsSafeError("path-mismatch", "directory receipt changed before admission");
49
+ }
50
+ const metadata = known?.metadata ?? identities.get(stat)?.metadata ?? snapshotDirectoryMetadata(stat, identity);
51
+ return Object.freeze({ path: pathname, realPath, identity, metadata });
52
+ }
53
+ function snapshotDirectoryMetadata(stat, identity) {
54
+ const metadata = {};
55
+ for (const field of numericFields) {
56
+ metadata[field] = Number(field === "dev" || field === "ino" ? identity[field] : stat[field]);
57
+ }
58
+ for (const field of timeFields) {
59
+ if ("atimeNs" in stat) {
60
+ const nanoseconds = stat[`${field}Ns`];
61
+ const remainder = ((nanoseconds % 1000000000n) + 1000000000n) % 1000000000n;
62
+ metadata[`${field}Ms`] = Number((nanoseconds - remainder) / 1000000000n) * 1_000 + Number(remainder) / 1_000_000;
63
+ }
64
+ else {
65
+ metadata[`${field}Ms`] = stat[`${field}Ms`];
66
+ }
67
+ }
68
+ return Object.freeze(metadata);
69
+ }
70
+ export function directoryReceiptAuthority(receipt) {
71
+ return authorities.get(receipt) ?? snapshotDirectoryReceipt(receipt);
72
+ }
73
+ function rememberReceipt(receipt, authority) {
74
+ authorities.set(receipt, authority);
75
+ identities.set(receipt.identity, authority);
76
+ return receipt;
77
+ }
78
+ export function ownDirectoryReceipt(receipt) {
79
+ return receiptFromAuthority(snapshotDirectoryReceipt(receipt));
80
+ }
81
+ export function copyRetainedDirectoryReceipt(receipt) {
82
+ const authority = directoryReceiptAuthority(receipt);
83
+ return receiptFromAuthority(authority);
84
+ }
85
+ function receiptFromAuthority(authority) {
86
+ return rememberReceipt({
87
+ path: authority.path,
88
+ realPath: authority.realPath,
89
+ identity: Object.assign(Object.create(fs.Stats.prototype), authority.metadata),
90
+ }, authority);
91
+ }
92
+ // The caller already admitted the exact observation and its paths.
93
+ export function createDirectoryReceiptFromIdentity(pathname, realPath, exactStat) {
94
+ const identity = Object.freeze({ dev: exactStat.dev, ino: exactStat.ino });
95
+ return receiptFromAuthority(Object.freeze({
96
+ path: pathname,
97
+ realPath,
98
+ identity,
99
+ // Project metadata from the admitted observation, never a fresh pathname stat.
100
+ metadata: snapshotDirectoryMetadata(exactStat, identity),
101
+ }));
102
+ }
103
+ export function createDirectoryReceiptSync(directoryPath, label, canonicalize = realpathSync) {
104
+ assertNoWindowsPathAlias(directoryPath, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
105
+ const pathname = resolvePathPreservingWindowsRoot(directoryPath);
106
+ assertNoWindowsPathAlias(pathname, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
107
+ const exact = inspectDirectoryIdentitySync(pathname);
108
+ const operationPath = pathForWindowsFilesystem(pathname);
109
+ const realPath = canonicalize(operationPath);
110
+ assertNoWindowsPathAlias(realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
111
+ return createDirectoryReceiptFromIdentity(pathname, realPath, exact);
112
+ }
113
+ export function assertDirectoryReceiptCurrentSync(receipt, label, canonicalize = realpathSync) {
114
+ const authority = directoryReceiptAuthority(receipt);
115
+ assertNoWindowsPathAlias(authority.path, "filesystem", `${label} path uses a Windows filesystem namespace alias`);
116
+ assertNoWindowsPathAlias(authority.realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
117
+ inspectDirectoryIdentitySync(authority.path, authority.identity);
118
+ const realPath = canonicalize(pathForWindowsFilesystem(authority.path));
119
+ assertNoWindowsPathAlias(realPath, "filesystem", `${label} real path uses a Windows filesystem namespace alias`);
120
+ if (realPath !== authority.realPath) {
121
+ throw new FsSafeError("path-mismatch", `${label} changed during durable directory operation: ${authority.path}`);
122
+ }
123
+ }
@@ -1,4 +1,4 @@
1
1
  export { ensureDurableDirectory, pinDirectory, syncDirectory, syncDirectoryBestEffort, syncDirectoryBestEffortSync, syncDirectorySync, type DirectoryReceipt, type DirectorySyncOutcome, type DurableDirectoryReceipt, type EnsureDurableDirectoryOptions, type PinnedDirectory, } from "./directory-durability.js";
2
- export { isHardlinkFallbackError, publishFileExclusive, type PublishFileExclusiveResult, type PublishFileExclusiveStrategy, type PublishFileExclusiveCleanup, type PublishFileExclusiveDirectorySyncFailure, type PublishFileExclusiveFailureDetails, type PublishFileExclusiveFailurePhase, type PublishFileExclusiveSyncFailurePolicy, } from "./publish-file.js";
2
+ export { isHardlinkFallbackError, publishFileExclusive, type PublishFileExclusiveResult, type PublishFileExclusiveStrategy, } from "./publish-file.js";
3
+ export type { PublishFileExclusiveCleanup, PublishFileExclusiveDirectorySyncFailure, PublishFileExclusiveFailureDetails, PublishFileExclusiveFailurePhase, PublishFileExclusiveSyncFailurePolicy, } from "./publish-file-failure.js";
3
4
  export { sha256File, sha256FileSync, type Sha256FileInput, type Sha256FileSyncInput, type Sha256FileOptions, type Sha256FileResult, } from "./file-hash.js";
4
- //# sourceMappingURL=durability.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare function resolveEffectiveUid(): number;
2
- //# sourceMappingURL=effective-uid.d.ts.map
@@ -1,3 +1,2 @@
1
1
  export declare function formatErrorDetail(value: string): string;
2
2
  export declare function shortPath(value: string): string;
3
- //# sourceMappingURL=error-detail.d.ts.map
@@ -11,4 +11,3 @@ export declare class FsSafeError extends Error {
11
11
  details?: FsSafeErrorDetails;
12
12
  });
13
13
  }
14
- //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { type BigIntStats } from "node:fs";
2
+ import fs, { type FileHandle } from "node:fs/promises";
3
+ import { type AnyAsyncDirectoryGuard } from "./directory-guard.js";
4
+ export declare function readErrorCode(error: unknown): unknown;
5
+ export declare function hasErrorCode(error: unknown, expected: string): boolean;
6
+ type OwnedPathCleanupStatus = "removed" | "name-absent" | "preserved";
7
+ export declare function removeOwnedPath(params: {
8
+ fsModule: Pick<typeof fs, "lstat" | "unlink">;
9
+ pathname: string;
10
+ identity?: BigIntStats;
11
+ }): Promise<OwnedPathCleanupStatus>;
12
+ export declare function cleanupPinnedFilePath(params: {
13
+ pathname: string;
14
+ handle: Pick<FileHandle, "fd">;
15
+ identity?: BigIntStats;
16
+ parentGuard: AnyAsyncDirectoryGuard;
17
+ throwOnCleanupError?: boolean;
18
+ }): Promise<OwnedPathCleanupStatus>;
19
+ export {};