@openclaw/matrix 2026.10.2 → 2026.10.5-beta.2

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 (279) hide show
  1. package/dist/.setup/{account-selection-BDeeqwwR.mjs → account-selection-Bs_jCAaG.mjs} +3 -5
  2. package/dist/.setup/{approval-handler.runtime-QkHLH2az.mjs → approval-handler.runtime-rxLn8CbP.mjs} +60 -83
  3. package/dist/.setup/{channel-CeRXEAEP.mjs → channel-BcwGspPw.mjs} +92 -120
  4. package/dist/.setup/{channel.runtime-DBQA2y1F.mjs → channel.runtime-CUc6rbu1.mjs} +23 -18
  5. package/dist/.setup/{channel.setup-DC2t7_PK.mjs → channel.setup-CwuYD_CT.mjs} +2 -3
  6. package/dist/.setup/{cli-Be8tdNw8.mjs → cli-mbL9jCro.mjs} +80 -120
  7. package/dist/.setup/{cli-metadata-CtcjBFhc.mjs → cli-metadata-6MOGuyHq.mjs} +1 -1
  8. package/dist/.setup/{client-DY3HExqI.mjs → client-BlTvpEWC.mjs} +2 -2
  9. package/dist/.setup/{client-bootstrap-CZvJjr29.mjs → client-bootstrap-D05xy1HB.mjs} +2 -3
  10. package/dist/.setup/{client-support-D7BlioUb.mjs → client-support-D-xHScuo.mjs} +1 -1
  11. package/dist/.setup/{client-kmih04ng.mjs → client-vPPbaxNp.mjs} +14 -24
  12. package/dist/.setup/{create-client-CbJVyFDy.mjs → create-client-CroC4BVc.mjs} +4 -4
  13. package/dist/.setup/{credentials-C2dvc_kB.mjs → credentials-Bf9PQ7xs.mjs} +4 -18
  14. package/dist/.setup/{crypto-runtime-B2AjWo-i.mjs → crypto-runtime-CpJ0b7vY.mjs} +80 -123
  15. package/dist/.setup/{deps-CFNl7tQo.mjs → deps-L_1bUAGL.mjs} +20 -37
  16. package/dist/.setup/{direct-management-DJtQhLKH.mjs → direct-management-B3wYhx_M.mjs} +25 -51
  17. package/dist/.setup/{directory-live-DW5UykLL.mjs → directory-live-B1WbfSHo.mjs} +3 -3
  18. package/dist/.setup/{draft-stream-B87DfA6a.mjs → draft-stream-Bdrh7dRt.mjs} +2 -3
  19. package/dist/.setup/{encryption-guidance-BEjKbiMR.mjs → encryption-guidance-D5_IsDIy.mjs} +1 -1
  20. package/dist/.setup/{env-vars-dGqak9dN.mjs → env-vars-aEBngJPa.mjs} +2 -17
  21. package/dist/.setup/{event-helpers-CspuhE9k.mjs → event-helpers-CxNgMQqH.mjs} +5 -7
  22. package/dist/.setup/{exec-approvals-BLDAMyHs.mjs → exec-approvals-BgNWWJg1.mjs} +6 -12
  23. package/dist/.setup/{file-sync-store-Clc9iEdn.mjs → file-sync-store-BdKx_gMi.mjs} +2 -5
  24. package/dist/.setup/{http-client-DfJY5Ck0.mjs → http-client-ByR4STVQ.mjs} +55 -59
  25. package/dist/.setup/{messages-uCbwLRKS.mjs → messages-B1CZqU8u.mjs} +4 -16
  26. package/dist/.setup/{monitor-skIntQVG.mjs → monitor-Dk_fQL1k.mjs} +176 -232
  27. package/dist/.setup/{onboarding-Cm_tOJxs.mjs → onboarding-CrSexor_.mjs} +33 -50
  28. package/dist/.setup/{outbound-CqQou3ny.mjs → outbound-LR3SqPIq.mjs} +2 -2
  29. package/dist/.setup/{profile-update-C1n8SRqH.mjs → profile-update-C7bjaGR6.mjs} +2 -3
  30. package/dist/.setup/{reaction-events-Cqq46xsG.mjs → reaction-events-CTSvOlXO.mjs} +4 -4
  31. package/dist/.setup/{resolve-targets-DFeU1Ww6.mjs → resolve-targets-BVVbbvP6.mjs} +15 -21
  32. package/dist/.setup/{retired-state-BXUQ2I-C.mjs → retired-state-DW5pLH05.mjs} +22 -3
  33. package/dist/.setup/{room-info-BPMbwe8I.mjs → room-info-9Uqlpt1V.mjs} +4 -4
  34. package/dist/.setup/{sdk-CgQGkCsS.mjs → sdk-Cfc6m7fY.mjs} +115 -195
  35. package/dist/.setup/{secret-contract-JlB6VmI3.mjs → secret-contract-DSBRvhdZ.mjs} +1 -1
  36. package/dist/.setup/{secret-contract-api-B-iJoQEv.mjs → secret-contract-api-DzEJ-X7n.mjs} +1 -1
  37. package/dist/.setup/{send-B1Y2L4wj.mjs → send-LCOuTVc1.mjs} +10 -30
  38. package/dist/.setup/{setup-bootstrap-UNIGyKnk.mjs → setup-bootstrap-CV-hHBXu.mjs} +2 -2
  39. package/dist/.setup/setup-core-CKnNTfgD.mjs +673 -0
  40. package/dist/.setup/{setup-plugin-api-BRs9bcp4.mjs → setup-plugin-api-BDAYk1a5.mjs} +1 -1
  41. package/dist/.setup/{startup-verification-D00eUt74.mjs → startup-verification-CgfUb4yJ.mjs} +3 -3
  42. package/dist/.setup/{storage-D7agewjH.mjs → storage-DkC6bHgA.mjs} +24 -49
  43. package/dist/.setup/{subagent-hooks-D5kd_kzN.mjs → subagent-hooks-D8jyeQsO.mjs} +1 -1
  44. package/dist/.setup/{sync-cache-state-C2z64uyk.mjs → sync-cache-state-D4G-fi3t.mjs} +20 -33
  45. package/dist/.setup/{target-ids-Nwx7cMVE.mjs → target-ids-HhcaKX1n.mjs} +15 -1
  46. package/dist/.setup/{thread-binding-api-DRMC62cs.mjs → thread-binding-api-BvuaKpd0.mjs} +1 -1
  47. package/dist/.setup/{thread-bindings-DveHVZqN.mjs → thread-bindings-CT4P-OSZ.mjs} +38 -58
  48. package/dist/.setup/{thread-bindings-shared-hxKkYC1W.mjs → thread-bindings-shared-CbsFNbAY.mjs} +19 -37
  49. package/dist/.setup/{tool-actions-BqlK2ilM.mjs → tool-actions-DAp6_XSJ.mjs} +17 -18
  50. package/dist/.setup/{verification-kMlFYUn0.mjs → verification-B3VswneT.mjs} +15 -21
  51. package/dist/api.js +7 -7
  52. package/dist/channel-plugin-api.js +1 -1
  53. package/dist/cli-metadata.js +1 -1
  54. package/dist/contract-api.js +2 -2
  55. package/dist/doctor-contract-api.js +13 -22
  56. package/dist/helper-api.js +2 -2
  57. package/dist/index.js +1 -1
  58. package/dist/plugin-entry.handlers.runtime.js +2 -2
  59. package/dist/runtime-api.js +4 -4
  60. package/dist/secret-contract-api.js +1 -1
  61. package/dist/session-binding-contract-api.js +1 -1
  62. package/dist/setup-entry.js +2 -2
  63. package/dist/setup-plugin-api.js +1 -1
  64. package/dist/subagent-hooks-api.js +1 -1
  65. package/dist/thread-binding-api.js +1 -1
  66. package/dist/thread-bindings-runtime.js +1 -1
  67. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  68. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm.d.ts +129 -129
  69. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +688 -688
  70. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +512 -512
  71. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  72. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +84 -84
  73. package/node_modules/@openclaw/fs-safe/CHANGELOG.md +35 -0
  74. package/node_modules/@openclaw/fs-safe/README.md +1 -1
  75. package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +1 -1
  76. package/node_modules/@openclaw/fs-safe/dist/advanced.js +1 -1
  77. package/node_modules/@openclaw/fs-safe/dist/archive-durability.js +1 -1
  78. package/node_modules/@openclaw/fs-safe/dist/archive-merge.js +4 -4
  79. package/node_modules/@openclaw/fs-safe/dist/archive-parser.wasm +0 -0
  80. package/node_modules/@openclaw/fs-safe/dist/archive-read.js +5 -4
  81. package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts +1 -1
  82. package/node_modules/@openclaw/fs-safe/dist/archive-staging.js +22 -38
  83. package/node_modules/@openclaw/fs-safe/dist/copy-path-admission.d.ts +17 -0
  84. package/node_modules/@openclaw/fs-safe/dist/copy-path-admission.js +117 -0
  85. package/node_modules/@openclaw/fs-safe/dist/copy-root-file-sync.d.ts +8 -5
  86. package/node_modules/@openclaw/fs-safe/dist/copy-root-file-sync.js +27 -50
  87. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.d.ts +3 -0
  88. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.js +57 -11
  89. package/node_modules/@openclaw/fs-safe/dist/guarded-mutation.js +5 -5
  90. package/node_modules/@openclaw/fs-safe/dist/guest-native-python.js +52 -5
  91. package/node_modules/@openclaw/fs-safe/dist/guest.js +1 -1
  92. package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +1 -0
  93. package/node_modules/@openclaw/fs-safe/dist/native-operations.d.ts +0 -1
  94. package/node_modules/@openclaw/fs-safe/dist/native-operations.js +22 -26
  95. package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.js +5 -1
  96. package/node_modules/@openclaw/fs-safe/dist/native-staged-file.js +4 -1
  97. package/node_modules/@openclaw/fs-safe/dist/permission-exec.js +2 -1
  98. package/node_modules/@openclaw/fs-safe/dist/pinned-write-types.d.ts +6 -1
  99. package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.js +2 -2
  100. package/node_modules/@openclaw/fs-safe/dist/publish-file.js +34 -7
  101. package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.js +1 -4
  102. package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +6 -0
  103. package/node_modules/@openclaw/fs-safe/dist/root-create-input.d.ts +15 -1
  104. package/node_modules/@openclaw/fs-safe/dist/root-create-input.js +4 -0
  105. package/node_modules/@openclaw/fs-safe/dist/root-directory-entry.js +1 -1
  106. package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts +0 -1
  107. package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +6 -12
  108. package/node_modules/@openclaw/fs-safe/dist/root-impl.js +15 -15
  109. package/node_modules/@openclaw/fs-safe/dist/root-paths.js +1 -1
  110. package/node_modules/@openclaw/fs-safe/dist/root-walk.js +4 -4
  111. package/node_modules/@openclaw/fs-safe/dist/root-write-verification.d.ts +10 -1
  112. package/node_modules/@openclaw/fs-safe/dist/root-write-verification.js +20 -0
  113. package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.js +19 -7
  114. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.js +25 -3
  115. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission.d.ts +2 -0
  116. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-retained.d.ts +14 -0
  117. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-retained.js +187 -0
  118. package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.js +15 -1
  119. package/node_modules/@openclaw/fs-safe/dist/temp-directory-diagnostics.d.ts +10 -0
  120. package/node_modules/@openclaw/fs-safe/dist/temp-directory-diagnostics.js +29 -0
  121. package/node_modules/@openclaw/fs-safe/dist/temp-target.js +1 -1
  122. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.js +6 -6
  123. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.d.ts +4 -4
  124. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.js +17 -16
  125. package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.js +20 -28
  126. package/node_modules/@openclaw/fs-safe/dist/walk.js +2 -13
  127. package/node_modules/@openclaw/fs-safe/dist/watch-native.d.ts +2 -2
  128. package/node_modules/@openclaw/fs-safe/dist/watch-native.js +3 -1
  129. package/node_modules/@openclaw/fs-safe/dist/watch-rescan.js +3 -9
  130. package/node_modules/@openclaw/fs-safe/dist/watch.js +2 -3
  131. package/node_modules/@openclaw/fs-safe/docs/advanced.md +1 -1
  132. package/node_modules/@openclaw/fs-safe/docs/archive.md +3 -0
  133. package/node_modules/@openclaw/fs-safe/docs/atomic.md +11 -3
  134. package/node_modules/@openclaw/fs-safe/docs/contributing.md +1 -1
  135. package/node_modules/@openclaw/fs-safe/docs/copy.md +48 -0
  136. package/node_modules/@openclaw/fs-safe/docs/guest.md +21 -4
  137. package/node_modules/@openclaw/fs-safe/docs/path-scope.md +4 -0
  138. package/node_modules/@openclaw/fs-safe/docs/sidecar-lock.md +46 -8
  139. package/node_modules/@openclaw/fs-safe/docs/temp.md +12 -0
  140. package/node_modules/@openclaw/fs-safe/docs/watch.md +3 -2
  141. package/node_modules/@openclaw/fs-safe/package.json +15 -15
  142. package/node_modules/@openclaw/fs-safe-darwin-arm64/fs-safe-native.node +0 -0
  143. package/node_modules/@openclaw/fs-safe-darwin-arm64/package.json +1 -1
  144. package/node_modules/@openclaw/fs-safe-darwin-x64/fs-safe-native.node +0 -0
  145. package/node_modules/@openclaw/fs-safe-darwin-x64/package.json +1 -1
  146. package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/fs-safe-native.node +0 -0
  147. package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/package.json +1 -1
  148. package/node_modules/@openclaw/fs-safe-linux-arm64-musl/fs-safe-native.node +0 -0
  149. package/node_modules/@openclaw/fs-safe-linux-arm64-musl/package.json +1 -1
  150. package/node_modules/@openclaw/fs-safe-linux-x64-gnu/fs-safe-native.node +0 -0
  151. package/node_modules/@openclaw/fs-safe-linux-x64-gnu/package.json +1 -1
  152. package/node_modules/@openclaw/fs-safe-linux-x64-musl/fs-safe-native.node +0 -0
  153. package/node_modules/@openclaw/fs-safe-linux-x64-musl/package.json +1 -1
  154. package/node_modules/@openclaw/fs-safe-win32-x64-msvc/fs-safe-native.node +0 -0
  155. package/node_modules/@openclaw/fs-safe-win32-x64-msvc/package.json +1 -1
  156. package/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.d.ts +6 -12
  157. package/node_modules/matrix-widget-api/lib/interfaces/RtcLivekitActions.js.map +1 -1
  158. package/node_modules/matrix-widget-api/package.json +1 -1
  159. package/node_modules/matrix-widget-api/src/interfaces/RtcLivekitActions.ts +6 -13
  160. package/node_modules/music-metadata/README.md +35 -32
  161. package/node_modules/music-metadata/lib/ParserFactory.d.ts +1 -1
  162. package/node_modules/music-metadata/lib/ParserFactory.js +17 -13
  163. package/node_modules/music-metadata/lib/aiff/AiffParser.js +19 -12
  164. package/node_modules/music-metadata/lib/aiff/AiffToken.d.ts +1 -1
  165. package/node_modules/music-metadata/lib/aiff/AiffToken.js +2 -1
  166. package/node_modules/music-metadata/lib/apev2/APEv2Parser.d.ts +4 -3
  167. package/node_modules/music-metadata/lib/apev2/APEv2Parser.js +59 -16
  168. package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.js +1 -0
  169. package/node_modules/music-metadata/lib/apev2/APEv2Token.d.ts +1 -1
  170. package/node_modules/music-metadata/lib/apev2/APEv2Token.js +1 -1
  171. package/node_modules/music-metadata/lib/asf/AsfGuid.js +56 -50
  172. package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +1 -1
  173. package/node_modules/music-metadata/lib/asf/AsfObject.js +3 -2
  174. package/node_modules/music-metadata/lib/asf/AsfParser.js +15 -7
  175. package/node_modules/music-metadata/lib/asf/AsfTagMapper.d.ts +3 -2
  176. package/node_modules/music-metadata/lib/asf/AsfTagMapper.js +21 -4
  177. package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.d.ts +1 -1
  178. package/node_modules/music-metadata/lib/common/CombinedTagMapper.d.ts +2 -2
  179. package/node_modules/music-metadata/lib/common/CombinedTagMapper.js +6 -6
  180. package/node_modules/music-metadata/lib/common/FourCC.js +3 -2
  181. package/node_modules/music-metadata/lib/common/GenericTagMapper.d.ts +1 -1
  182. package/node_modules/music-metadata/lib/common/GenericTagTypes.js +1 -1
  183. package/node_modules/music-metadata/lib/common/MetadataCollector.d.ts +3 -1
  184. package/node_modules/music-metadata/lib/common/MetadataCollector.js +28 -9
  185. package/node_modules/music-metadata/lib/common/Util.js +25 -17
  186. package/node_modules/music-metadata/lib/core.d.ts +4 -4
  187. package/node_modules/music-metadata/lib/core.js +18 -11
  188. package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.js +29 -16
  189. package/node_modules/music-metadata/lib/dsf/DsfChunk.d.ts +1 -1
  190. package/node_modules/music-metadata/lib/dsf/DsfParser.js +3 -5
  191. package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +1 -1
  192. package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +35 -6
  193. package/node_modules/music-metadata/lib/ebml/types.d.ts +1 -1
  194. package/node_modules/music-metadata/lib/ebml/types.js +1 -1
  195. package/node_modules/music-metadata/lib/flac/FlacParser.d.ts +1 -1
  196. package/node_modules/music-metadata/lib/flac/FlacParser.js +6 -5
  197. package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +1 -1
  198. package/node_modules/music-metadata/lib/flac/FlacToken.js +1 -1
  199. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.d.ts +1 -1
  200. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +212 -42
  201. package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js +5 -5
  202. package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +1 -1
  203. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +8 -5
  204. package/node_modules/music-metadata/lib/id3v2/FrameParser.d.ts +2 -1
  205. package/node_modules/music-metadata/lib/id3v2/FrameParser.js +54 -23
  206. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.d.ts +1 -1
  207. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.js +1 -1
  208. package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.js +3 -3
  209. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +2 -2
  210. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.d.ts +1 -1
  211. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.js +32 -16
  212. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.d.ts +2 -2
  213. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +2 -3
  214. package/node_modules/music-metadata/lib/index.js +6 -3
  215. package/node_modules/music-metadata/lib/lrc/LyricsParser.js +3 -5
  216. package/node_modules/music-metadata/lib/matroska/MatroskaDtd.js +7 -3
  217. package/node_modules/music-metadata/lib/matroska/MatroskaParser.js +22 -11
  218. package/node_modules/music-metadata/lib/matroska/types.d.ts +2 -2
  219. package/node_modules/music-metadata/lib/mp4/Atom.d.ts +4 -3
  220. package/node_modules/music-metadata/lib/mp4/Atom.js +44 -11
  221. package/node_modules/music-metadata/lib/mp4/AtomToken.d.ts +1 -1
  222. package/node_modules/music-metadata/lib/mp4/AtomToken.js +30 -8
  223. package/node_modules/music-metadata/lib/mp4/MP4Parser.d.ts +2 -0
  224. package/node_modules/music-metadata/lib/mp4/MP4Parser.js +79 -54
  225. package/node_modules/music-metadata/lib/mp4/MP4TagMapper.d.ts +2 -2
  226. package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +1 -1
  227. package/node_modules/music-metadata/lib/mpeg/MpegParser.js +41 -19
  228. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.d.ts +2 -2
  229. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js +1 -1
  230. package/node_modules/music-metadata/lib/mpeg/XingTag.d.ts +1 -1
  231. package/node_modules/music-metadata/lib/musepack/MusepackParser.js +2 -2
  232. package/node_modules/music-metadata/lib/musepack/sv7/BitReader.js +1 -1
  233. package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.js +4 -3
  234. package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.js +3 -3
  235. package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.js +7 -5
  236. package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js +2 -2
  237. package/node_modules/music-metadata/lib/ogg/OggParser.js +23 -13
  238. package/node_modules/music-metadata/lib/ogg/OggToken.d.ts +2 -0
  239. package/node_modules/music-metadata/lib/ogg/OggToken.js +1 -1
  240. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +2 -2
  241. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +2 -2
  242. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +2 -2
  243. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.js +8 -4
  244. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +2 -2
  245. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.js +2 -1
  246. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +2 -2
  247. package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.d.ts +1 -1
  248. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.js +1 -1
  249. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +4 -3
  250. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +16 -9
  251. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.js +4 -0
  252. package/node_modules/music-metadata/lib/riff/RiffChunk.d.ts +3 -1
  253. package/node_modules/music-metadata/lib/riff/RiffChunk.js +3 -2
  254. package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.d.ts +1 -1
  255. package/node_modules/music-metadata/lib/type.d.ts +3 -3
  256. package/node_modules/music-metadata/lib/type.js +1 -1
  257. package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +1 -1
  258. package/node_modules/music-metadata/lib/wav/WaveChunk.js +3 -2
  259. package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +6 -2
  260. package/node_modules/music-metadata/lib/wav/WaveParser.js +75 -22
  261. package/node_modules/music-metadata/lib/wavpack/WavPackParser.js +22 -13
  262. package/node_modules/music-metadata/lib/wavpack/WavPackToken.js +3 -2
  263. package/node_modules/music-metadata/package.json +3 -2
  264. package/node_modules/uint8array-extras/index.d.ts +7 -7
  265. package/node_modules/uint8array-extras/index.js +27 -13
  266. package/node_modules/uint8array-extras/package.json +6 -6
  267. package/node_modules/uint8array-extras/readme.md +7 -7
  268. package/package.json +7 -7
  269. package/dist/.setup/accounts-C_r0UlEm.mjs +0 -138
  270. package/dist/.setup/config-update-CZndPxNd.mjs +0 -102
  271. package/dist/.setup/profile-DS0xdJAi.mjs +0 -80
  272. package/dist/.setup/setup-core-6DppLENo.mjs +0 -377
  273. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.d.ts +0 -17
  274. package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.js +0 -66
  275. package/node_modules/@openclaw/fs-safe/dist/publish-file-native.d.ts +0 -4
  276. package/node_modules/@openclaw/fs-safe/dist/publish-file-native.js +0 -35
  277. package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.d.ts +0 -7
  278. package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.js +0 -16
  279. package/dist/.setup/{errors-DKVS3_DO.mjs → errors-Bw4EHwKX.mjs} +1 -1
@@ -12,6 +12,7 @@ export const __wbg_checkcode_free: (a: number, b: number) => void;
12
12
  export const __wbg_collectstrategy_free: (a: number, b: number) => void;
13
13
  export const __wbg_crosssigningbootstraprequests_free: (a: number, b: number) => void;
14
14
  export const __wbg_crosssigningkeyexport_free: (a: number, b: number) => void;
15
+ export const __wbg_crosssigningstatus_free: (a: number, b: number) => void;
15
16
  export const __wbg_curve25519publickey_free: (a: number, b: number) => void;
16
17
  export const __wbg_curve25519secretkey_free: (a: number, b: number) => void;
17
18
  export const __wbg_decryptedroomevent_free: (a: number, b: number) => void;
@@ -34,14 +35,18 @@ export const __wbg_encryptedattachment_free: (a: number, b: number) => void;
34
35
  export const __wbg_encryptioninfo_free: (a: number, b: number) => void;
35
36
  export const __wbg_encryptionsettings_free: (a: number, b: number) => void;
36
37
  export const __wbg_establishedecies_free: (a: number, b: number) => void;
38
+ export const __wbg_eventid_free: (a: number, b: number) => void;
37
39
  export const __wbg_get_backupkeys_backupVersion: (a: number) => [number, number];
38
40
  export const __wbg_get_backupkeys_decryptionKey: (a: number) => number;
39
41
  export const __wbg_get_backupsecretsbundle_backup_version: (a: number) => [number, number];
40
42
  export const __wbg_get_backupsecretsbundle_key: (a: number) => [number, number];
43
+ export const __wbg_get_base64encodedpkmessage_ciphertext: (a: number) => [number, number];
41
44
  export const __wbg_get_base64encodedpkmessage_ephemeralKey: (a: number) => [number, number];
45
+ export const __wbg_get_base64encodedpkmessage_mac: (a: number) => [number, number];
42
46
  export const __wbg_get_basemigrationdata_backupRecoveryKey: (a: number) => [number, number];
43
47
  export const __wbg_get_basemigrationdata_backupVersion: (a: number) => [number, number];
44
48
  export const __wbg_get_basemigrationdata_deviceId: (a: number) => number;
49
+ export const __wbg_get_basemigrationdata_pickledAccount: (a: number) => [number, number];
45
50
  export const __wbg_get_basemigrationdata_privateCrossSigningMasterKey: (a: number) => [number, number];
46
51
  export const __wbg_get_basemigrationdata_privateCrossSigningSelfSigningKey: (a: number) => [number, number];
47
52
  export const __wbg_get_basemigrationdata_privateCrossSigningUserSigningKey: (a: number) => [number, number];
@@ -56,6 +61,8 @@ export const __wbg_get_decryptionsettings_sender_device_trust_requirement: (a: n
56
61
  export const __wbg_get_encryptioninfo_forwarder: (a: number) => number;
57
62
  export const __wbg_get_encryptioninfo_forwarderDevice: (a: number) => number;
58
63
  export const __wbg_get_encryptioninfo_sender: (a: number) => number;
64
+ export const __wbg_get_encryptioninfo_senderClaimedEd25519Key: (a: number) => [number, number];
65
+ export const __wbg_get_encryptioninfo_senderCurve25519Key: (a: number) => [number, number];
59
66
  export const __wbg_get_encryptioninfo_senderDevice: (a: number) => number;
60
67
  export const __wbg_get_encryptionsettings_algorithm: (a: number) => number;
61
68
  export const __wbg_get_encryptionsettings_encryptStateEvents: (a: number) => number;
@@ -66,16 +73,37 @@ export const __wbg_get_encryptionsettings_sharingStrategy: (a: number) => number
66
73
  export const __wbg_get_identitykeys_curve25519: (a: number) => number;
67
74
  export const __wbg_get_identitykeys_ed25519: (a: number) => number;
68
75
  export const __wbg_get_inboundcreationresult_channel: (a: number) => number;
76
+ export const __wbg_get_inboundcreationresult_message: (a: number) => [number, number];
69
77
  export const __wbg_get_invalidtodeviceevent_rawEvent: (a: number) => any;
70
78
  export const __wbg_get_keysbackuprequest_body: (a: number) => any;
79
+ export const __wbg_get_keysbackuprequest_id: (a: number) => any;
71
80
  export const __wbg_get_keysbackuprequest_version: (a: number) => any;
81
+ export const __wbg_get_keysclaimrequest_body: (a: number) => any;
82
+ export const __wbg_get_keysclaimrequest_id: (a: number) => any;
83
+ export const __wbg_get_keysqueryrequest_body: (a: number) => any;
84
+ export const __wbg_get_keysqueryrequest_id: (a: number) => any;
85
+ export const __wbg_get_keysuploadrequest_body: (a: number) => any;
86
+ export const __wbg_get_keysuploadrequest_id: (a: number) => any;
72
87
  export const __wbg_get_megolmdecryptionerror_code: (a: number) => number;
88
+ export const __wbg_get_megolmdecryptionerror_description: (a: number) => any;
89
+ export const __wbg_get_msc4108intentdata_rendezvousUrl: (a: number) => [number, number];
90
+ export const __wbg_get_msc4108intentdata_serverName: (a: number) => [number, number];
91
+ export const __wbg_get_msc4388intentdata_baseUrl: (a: number) => [number, number];
92
+ export const __wbg_get_msc4388intentdata_rendezvousId: (a: number) => [number, number];
93
+ export const __wbg_get_outboundcreationresult_channel: (a: number) => number;
94
+ export const __wbg_get_outboundcreationresult_initial_message: (a: number) => [number, number];
73
95
  export const __wbg_get_pickledinboundgroupsession_backedUp: (a: number) => number;
74
96
  export const __wbg_get_pickledinboundgroupsession_imported: (a: number) => number;
97
+ export const __wbg_get_pickledinboundgroupsession_pickle: (a: number) => [number, number];
75
98
  export const __wbg_get_pickledinboundgroupsession_roomId: (a: number) => number;
99
+ export const __wbg_get_pickledinboundgroupsession_senderKey: (a: number) => [number, number];
100
+ export const __wbg_get_pickledinboundgroupsession_senderSigningKey: (a: number) => [number, number];
76
101
  export const __wbg_get_pickledsession_createdUsingFallbackKey: (a: number) => number;
77
102
  export const __wbg_get_pickledsession_creationTime: (a: number) => any;
78
103
  export const __wbg_get_pickledsession_lastUseTime: (a: number) => any;
104
+ export const __wbg_get_pickledsession_pickle: (a: number) => [number, number];
105
+ export const __wbg_get_pickledsession_senderKey: (a: number) => [number, number];
106
+ export const __wbg_get_plaintexttodeviceevent_rawEvent: (a: number) => any;
79
107
  export const __wbg_get_putdehydrateddevicerequest_body: (a: number) => any;
80
108
  export const __wbg_get_qrcodeintentdata_msc4108: (a: number) => number;
81
109
  export const __wbg_get_qrcodeintentdata_msc4388: (a: number) => number;
@@ -84,6 +112,10 @@ export const __wbg_get_roomkeycounts_total: (a: number) => number;
84
112
  export const __wbg_get_roomkeyimportresult_importedCount: (a: number) => number;
85
113
  export const __wbg_get_roomkeyimportresult_totalCount: (a: number) => number;
86
114
  export const __wbg_get_roommessagerequest_body: (a: number) => any;
115
+ export const __wbg_get_roommessagerequest_event_type: (a: number) => any;
116
+ export const __wbg_get_roommessagerequest_id: (a: number) => any;
117
+ export const __wbg_get_roommessagerequest_room_id: (a: number) => any;
118
+ export const __wbg_get_roommessagerequest_txn_id: (a: number) => any;
87
119
  export const __wbg_get_roomsettings_algorithm: (a: number) => number;
88
120
  export const __wbg_get_roomsettings_encryptStateEvents: (a: number) => number;
89
121
  export const __wbg_get_roomsettings_onlyAllowTrustedDevices: (a: number) => number;
@@ -91,30 +123,47 @@ export const __wbg_get_roomsettings_sessionRotationPeriodMessages: (a: number) =
91
123
  export const __wbg_get_roomsettings_sessionRotationPeriodMs: (a: number) => [number, number];
92
124
  export const __wbg_get_shieldstate_code: (a: number) => number;
93
125
  export const __wbg_get_shieldstate_color: (a: number) => number;
126
+ export const __wbg_get_signatureuploadrequest_body: (a: number) => any;
94
127
  export const __wbg_get_signatureuploadrequest_id: (a: number) => any;
95
128
  export const __wbg_get_todeviceencryptioninfo_sender: (a: number) => number;
129
+ export const __wbg_get_todeviceencryptioninfo_senderCurve25519Key: (a: number) => [number, number];
96
130
  export const __wbg_get_todeviceencryptioninfo_senderDevice: (a: number) => number;
131
+ export const __wbg_get_todevicerequest_body: (a: number) => any;
132
+ export const __wbg_get_todevicerequest_event_type: (a: number) => any;
133
+ export const __wbg_get_todevicerequest_id: (a: number) => any;
134
+ export const __wbg_get_todevicerequest_txn_id: (a: number) => any;
97
135
  export const __wbg_get_todeviceunabletodecryptinfo_reason: (a: number) => number;
136
+ export const __wbg_get_uploadsigningkeysrequest_body: (a: number) => any;
137
+ export const __wbg_get_utdtodeviceevent_rawEvent: (a: number) => any;
98
138
  export const __wbg_get_utdtodeviceevent_utdInfo: (a: number) => number;
139
+ export const __wbg_get_versions_git_description: (a: number) => any;
140
+ export const __wbg_get_versions_git_sha: (a: number) => any;
141
+ export const __wbg_get_versions_matrix_sdk_crypto: (a: number) => any;
142
+ export const __wbg_get_versions_vodozemac: (a: number) => any;
99
143
  export const __wbg_identitykeys_free: (a: number, b: number) => void;
100
144
  export const __wbg_inboundcreationresult_free: (a: number, b: number) => void;
101
145
  export const __wbg_inboundgroupsession_free: (a: number, b: number) => void;
102
146
  export const __wbg_invalidtodeviceevent_free: (a: number, b: number) => void;
103
147
  export const __wbg_keysbackuprequest_free: (a: number, b: number) => void;
104
148
  export const __wbg_keysclaimrequest_free: (a: number, b: number) => void;
149
+ export const __wbg_keysqueryrequest_free: (a: number, b: number) => void;
150
+ export const __wbg_keysuploadrequest_free: (a: number, b: number) => void;
105
151
  export const __wbg_maybesignature_free: (a: number, b: number) => void;
106
152
  export const __wbg_megolmdecryptionerror_free: (a: number, b: number) => void;
107
153
  export const __wbg_megolmv1backupkey_free: (a: number, b: number) => void;
154
+ export const __wbg_migration_free: (a: number, b: number) => void;
108
155
  export const __wbg_msc4108intentdata_free: (a: number, b: number) => void;
109
156
  export const __wbg_msc4388intentdata_free: (a: number, b: number) => void;
110
157
  export const __wbg_olmmachine_free: (a: number, b: number) => void;
111
158
  export const __wbg_otheruseridentity_free: (a: number, b: number) => void;
159
+ export const __wbg_outboundcreationresult_free: (a: number, b: number) => void;
112
160
  export const __wbg_ownuseridentity_free: (a: number, b: number) => void;
113
161
  export const __wbg_pickledinboundgroupsession_free: (a: number, b: number) => void;
114
162
  export const __wbg_pickledsession_free: (a: number, b: number) => void;
115
163
  export const __wbg_pkdecryption_free: (a: number, b: number) => void;
116
164
  export const __wbg_pkencryption_free: (a: number, b: number) => void;
117
165
  export const __wbg_pkmessage_free: (a: number, b: number) => void;
166
+ export const __wbg_plaintexttodeviceevent_free: (a: number, b: number) => void;
118
167
  export const __wbg_putdehydrateddevicerequest_free: (a: number, b: number) => void;
119
168
  export const __wbg_qr_free: (a: number, b: number) => void;
120
169
  export const __wbg_qrcode_free: (a: number, b: number) => void;
@@ -122,6 +171,7 @@ export const __wbg_qrcodedata_free: (a: number, b: number) => void;
122
171
  export const __wbg_qrcodeintentdata_free: (a: number, b: number) => void;
123
172
  export const __wbg_qrcodescan_free: (a: number, b: number) => void;
124
173
  export const __wbg_rehydrateddevice_free: (a: number, b: number) => void;
174
+ export const __wbg_roomid_free: (a: number, b: number) => void;
125
175
  export const __wbg_roomkeycounts_free: (a: number, b: number) => void;
126
176
  export const __wbg_roomkeyimportresult_free: (a: number, b: number) => void;
127
177
  export const __wbg_roomkeyinfo_free: (a: number, b: number) => void;
@@ -131,14 +181,18 @@ export const __wbg_roompendingkeybundledetails_free: (a: number, b: number) => v
131
181
  export const __wbg_roomsettings_free: (a: number, b: number) => void;
132
182
  export const __wbg_sas_free: (a: number, b: number) => void;
133
183
  export const __wbg_secretsbundle_free: (a: number, b: number) => void;
184
+ export const __wbg_servername_free: (a: number, b: number) => void;
134
185
  export const __wbg_set_backupkeys_backupVersion: (a: number, b: number, c: number) => void;
135
186
  export const __wbg_set_backupkeys_decryptionKey: (a: number, b: number) => void;
136
187
  export const __wbg_set_backupsecretsbundle_backup_version: (a: number, b: number, c: number) => void;
137
188
  export const __wbg_set_backupsecretsbundle_key: (a: number, b: number, c: number) => void;
189
+ export const __wbg_set_base64encodedpkmessage_ciphertext: (a: number, b: number, c: number) => void;
138
190
  export const __wbg_set_base64encodedpkmessage_ephemeralKey: (a: number, b: number, c: number) => void;
191
+ export const __wbg_set_base64encodedpkmessage_mac: (a: number, b: number, c: number) => void;
139
192
  export const __wbg_set_basemigrationdata_backupRecoveryKey: (a: number, b: number, c: number) => void;
140
193
  export const __wbg_set_basemigrationdata_backupVersion: (a: number, b: number, c: number) => void;
141
194
  export const __wbg_set_basemigrationdata_deviceId: (a: number, b: number) => void;
195
+ export const __wbg_set_basemigrationdata_pickledAccount: (a: number, b: number, c: number) => void;
142
196
  export const __wbg_set_basemigrationdata_privateCrossSigningMasterKey: (a: number, b: number, c: number) => void;
143
197
  export const __wbg_set_basemigrationdata_privateCrossSigningSelfSigningKey: (a: number, b: number, c: number) => void;
144
198
  export const __wbg_set_basemigrationdata_privateCrossSigningUserSigningKey: (a: number, b: number, c: number) => void;
@@ -147,6 +201,8 @@ export const __wbg_set_decryptionsettings_sender_device_trust_requirement: (a: n
147
201
  export const __wbg_set_encryptioninfo_forwarder: (a: number, b: number) => void;
148
202
  export const __wbg_set_encryptioninfo_forwarderDevice: (a: number, b: number) => void;
149
203
  export const __wbg_set_encryptioninfo_sender: (a: number, b: number) => void;
204
+ export const __wbg_set_encryptioninfo_senderClaimedEd25519Key: (a: number, b: number, c: number) => void;
205
+ export const __wbg_set_encryptioninfo_senderCurve25519Key: (a: number, b: number, c: number) => void;
150
206
  export const __wbg_set_encryptioninfo_senderDevice: (a: number, b: number) => void;
151
207
  export const __wbg_set_encryptionsettings_algorithm: (a: number, b: number) => void;
152
208
  export const __wbg_set_encryptionsettings_encryptStateEvents: (a: number, b: number) => void;
@@ -157,12 +213,24 @@ export const __wbg_set_encryptionsettings_sharingStrategy: (a: number, b: number
157
213
  export const __wbg_set_identitykeys_curve25519: (a: number, b: number) => void;
158
214
  export const __wbg_set_identitykeys_ed25519: (a: number, b: number) => void;
159
215
  export const __wbg_set_inboundcreationresult_channel: (a: number, b: number) => void;
216
+ export const __wbg_set_inboundcreationresult_message: (a: number, b: number, c: number) => void;
217
+ export const __wbg_set_msc4108intentdata_rendezvousUrl: (a: number, b: number, c: number) => void;
218
+ export const __wbg_set_msc4108intentdata_serverName: (a: number, b: number, c: number) => void;
219
+ export const __wbg_set_msc4388intentdata_baseUrl: (a: number, b: number, c: number) => void;
220
+ export const __wbg_set_msc4388intentdata_rendezvousId: (a: number, b: number, c: number) => void;
221
+ export const __wbg_set_outboundcreationresult_channel: (a: number, b: number) => void;
222
+ export const __wbg_set_outboundcreationresult_initial_message: (a: number, b: number, c: number) => void;
160
223
  export const __wbg_set_pickledinboundgroupsession_backedUp: (a: number, b: number) => void;
161
224
  export const __wbg_set_pickledinboundgroupsession_imported: (a: number, b: number) => void;
225
+ export const __wbg_set_pickledinboundgroupsession_pickle: (a: number, b: number, c: number) => void;
162
226
  export const __wbg_set_pickledinboundgroupsession_roomId: (a: number, b: number) => void;
227
+ export const __wbg_set_pickledinboundgroupsession_senderKey: (a: number, b: number, c: number) => void;
228
+ export const __wbg_set_pickledinboundgroupsession_senderSigningKey: (a: number, b: number, c: number) => void;
163
229
  export const __wbg_set_pickledsession_createdUsingFallbackKey: (a: number, b: number) => void;
164
230
  export const __wbg_set_pickledsession_creationTime: (a: number, b: any) => void;
165
231
  export const __wbg_set_pickledsession_lastUseTime: (a: number, b: any) => void;
232
+ export const __wbg_set_pickledsession_pickle: (a: number, b: number, c: number) => void;
233
+ export const __wbg_set_pickledsession_senderKey: (a: number, b: number, c: number) => void;
166
234
  export const __wbg_set_qrcodeintentdata_msc4108: (a: number, b: number) => void;
167
235
  export const __wbg_set_qrcodeintentdata_msc4388: (a: number, b: number) => void;
168
236
  export const __wbg_set_roomkeycounts_backedUp: (a: number, b: number) => void;
@@ -175,6 +243,7 @@ export const __wbg_set_roomsettings_sessionRotationPeriodMs: (a: number, b: numb
175
243
  export const __wbg_set_shieldstate_code: (a: number, b: number) => void;
176
244
  export const __wbg_set_shieldstate_color: (a: number, b: number) => void;
177
245
  export const __wbg_set_todeviceencryptioninfo_sender: (a: number, b: number) => void;
246
+ export const __wbg_set_todeviceencryptioninfo_senderCurve25519Key: (a: number, b: number, c: number) => void;
178
247
  export const __wbg_set_todeviceencryptioninfo_senderDevice: (a: number, b: number) => void;
179
248
  export const __wbg_set_todeviceunabletodecryptinfo_reason: (a: number, b: number) => void;
180
249
  export const __wbg_shieldstate_free: (a: number, b: number) => void;
@@ -188,7 +257,9 @@ export const __wbg_todeviceencryptioninfo_free: (a: number, b: number) => void;
188
257
  export const __wbg_todevicerequest_free: (a: number, b: number) => void;
189
258
  export const __wbg_todeviceunabletodecryptinfo_free: (a: number, b: number) => void;
190
259
  export const __wbg_tracing_free: (a: number, b: number) => void;
260
+ export const __wbg_uploadsigningkeysrequest_free: (a: number, b: number) => void;
191
261
  export const __wbg_userdevices_free: (a: number, b: number) => void;
262
+ export const __wbg_userid_free: (a: number, b: number) => void;
192
263
  export const __wbg_utdtodeviceevent_free: (a: number, b: number) => void;
193
264
  export const __wbg_verificationrequest_free: (a: number, b: number) => void;
194
265
  export const __wbg_versions_free: (a: number, b: number) => void;
@@ -240,6 +311,7 @@ export const decryptedtodeviceevent_type: (a: number) => number;
240
311
  export const decryptionsettings_new: (a: number) => number;
241
312
  export const dehydrateddevice_keysForUpload: (a: number, b: any, c: number) => any;
242
313
  export const dehydrateddevicekey_createKeyFromArray: (a: any) => [number, number, number];
314
+ export const dehydrateddevicekey_createRandomKey: () => number;
243
315
  export const dehydrateddevicekey_toBase64: (a: number) => any;
244
316
  export const dehydrateddevices_create: (a: number) => any;
245
317
  export const dehydrateddevices_deleteDehydratedDeviceKey: (a: number) => any;
@@ -308,6 +380,7 @@ export const establishedecies_public_key: (a: number) => number;
308
380
  export const eventid_localpart: (a: number) => [number, number];
309
381
  export const eventid_new: (a: number, b: number) => [number, number, number];
310
382
  export const eventid_serverName: (a: number) => number;
383
+ export const eventid_toString: (a: number) => [number, number];
311
384
  export const getVersions: () => number;
312
385
  export const inboundgroupsession_hasBeenImported: (a: number) => number;
313
386
  export const inboundgroupsession_roomId: (a: number) => number;
@@ -318,7 +391,9 @@ export const keysbackuprequest_new: (a: any, b: any, c: any) => number;
318
391
  export const keysbackuprequest_type: (a: number) => number;
319
392
  export const keysclaimrequest_new: (a: any, b: any) => number;
320
393
  export const keysclaimrequest_type: (a: number) => number;
394
+ export const keysqueryrequest_new: (a: any, b: any) => number;
321
395
  export const keysqueryrequest_type: (a: number) => number;
396
+ export const keysuploadrequest_new: (a: any, b: any) => number;
322
397
  export const keysuploadrequest_type: (a: number) => number;
323
398
  export const maybesignature_invalidSignatureSource: (a: number) => [number, number];
324
399
  export const maybesignature_isInvalid: (a: number) => number;
@@ -486,6 +561,7 @@ export const qrcodedata_toBytes: (a: number) => [number, number];
486
561
  export const qrcodescan_fromBytes: (a: any) => [number, number, number];
487
562
  export const rehydrateddevice_receiveEvents: (a: number, b: number, c: number, d: number) => any;
488
563
  export const roomid_new: (a: number, b: number) => [number, number, number];
564
+ export const roomid_toString: (a: number) => [number, number];
489
565
  export const roomkeyimportresult_keys: (a: number) => any;
490
566
  export const roomkeyinfo_algorithm: (a: number) => number;
491
567
  export const roomkeyinfo_roomId: (a: number) => number;
@@ -528,6 +604,7 @@ export const sas_timedOut: (a: number) => number;
528
604
  export const sas_userId: (a: number) => number;
529
605
  export const sas_weStarted: (a: number) => number;
530
606
  export const secretsbundle_backupBundle: (a: number) => number;
607
+ export const ring_core_0_17_14__bn_mul_mont: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
531
608
  export const secretsbundle_from_json: (a: any) => [number, number, number];
532
609
  export const secretsbundle_masterKey: (a: number) => [number, number];
533
610
  export const secretsbundle_selfSigningKey: (a: number) => [number, number];
@@ -568,6 +645,7 @@ export const tracing_new: (a: number) => [number, number, number];
568
645
  export const tracing_set_minLevel: (a: number, b: number) => [number, number];
569
646
  export const tracing_turnOff: (a: number) => [number, number];
570
647
  export const tracing_turnOn: (a: number) => [number, number];
648
+ export const uploadsigningkeysrequest_new: (a: any) => number;
571
649
  export const userdevices_devices: (a: number) => any;
572
650
  export const userdevices_get: (a: number, b: number) => number;
573
651
  export const userdevices_isAnyVerified: (a: number) => number;
@@ -577,6 +655,7 @@ export const userid_isHistorical: (a: number) => number;
577
655
  export const userid_localpart: (a: number) => [number, number];
578
656
  export const userid_new: (a: number, b: number) => [number, number, number];
579
657
  export const userid_serverName: (a: number) => number;
658
+ export const userid_toString: (a: number) => [number, number];
580
659
  export const utdtodeviceevent_type: (a: number) => number;
581
660
  export const verificationrequest_accept: (a: number) => [number, number, number];
582
661
  export const verificationrequest_acceptWithMethods: (a: number, b: number, c: number) => [number, number, number];
@@ -604,90 +683,11 @@ export const verificationrequest_theirSupportedMethods: (a: number) => [number,
604
683
  export const verificationrequest_timeRemainingMillis: (a: number) => number;
605
684
  export const verificationrequest_timedOut: (a: number) => number;
606
685
  export const verificationrequest_weStarted: (a: number) => number;
607
- export const ring_core_0_17_14__bn_mul_mont: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
608
- export const uploadsigningkeysrequest_new: (a: any) => number;
609
- export const dehydrateddevicekey_createRandomKey: () => number;
610
- export const __wbg_get_base64encodedpkmessage_ciphertext: (a: number) => [number, number];
611
- export const __wbg_get_base64encodedpkmessage_mac: (a: number) => [number, number];
612
- export const __wbg_get_basemigrationdata_pickledAccount: (a: number) => [number, number];
613
- export const __wbg_get_encryptioninfo_senderCurve25519Key: (a: number) => [number, number];
614
- export const __wbg_get_inboundcreationresult_message: (a: number) => [number, number];
615
- export const __wbg_get_msc4108intentdata_rendezvousUrl: (a: number) => [number, number];
616
- export const __wbg_get_msc4388intentdata_baseUrl: (a: number) => [number, number];
617
- export const __wbg_get_msc4388intentdata_rendezvousId: (a: number) => [number, number];
618
- export const __wbg_get_outboundcreationresult_initial_message: (a: number) => [number, number];
619
- export const __wbg_get_pickledinboundgroupsession_pickle: (a: number) => [number, number];
620
- export const __wbg_get_pickledinboundgroupsession_senderKey: (a: number) => [number, number];
621
- export const __wbg_get_pickledsession_pickle: (a: number) => [number, number];
622
- export const __wbg_get_pickledsession_senderKey: (a: number) => [number, number];
623
- export const __wbg_get_todeviceencryptioninfo_senderCurve25519Key: (a: number) => [number, number];
624
- export const __wbg_set_outboundcreationresult_channel: (a: number, b: number) => void;
625
- export const __wbg_migration_free: (a: number, b: number) => void;
626
- export const __wbg_get_uploadsigningkeysrequest_body: (a: number) => any;
627
- export const __wbg_get_pickledinboundgroupsession_senderSigningKey: (a: number) => [number, number];
628
- export const __wbg_get_msc4108intentdata_serverName: (a: number) => [number, number];
629
- export const __wbg_get_encryptioninfo_senderClaimedEd25519Key: (a: number) => [number, number];
630
- export const __wbg_get_outboundcreationresult_channel: (a: number) => number;
631
- export const keysuploadrequest_new: (a: any, b: any) => number;
632
- export const keysqueryrequest_new: (a: any, b: any) => number;
633
- export const __wbg_set_pickledsession_pickle: (a: number, b: number, c: number) => void;
634
- export const __wbg_set_pickledinboundgroupsession_senderSigningKey: (a: number, b: number, c: number) => void;
635
- export const __wbg_set_pickledsession_senderKey: (a: number, b: number, c: number) => void;
636
- export const __wbg_set_pickledinboundgroupsession_pickle: (a: number, b: number, c: number) => void;
637
- export const __wbg_set_basemigrationdata_pickledAccount: (a: number, b: number, c: number) => void;
638
- export const __wbg_set_pickledinboundgroupsession_senderKey: (a: number, b: number, c: number) => void;
639
- export const __wbg_set_msc4108intentdata_serverName: (a: number, b: number, c: number) => void;
640
- export const __wbg_set_msc4108intentdata_rendezvousUrl: (a: number, b: number, c: number) => void;
641
- export const __wbg_set_msc4388intentdata_rendezvousId: (a: number, b: number, c: number) => void;
642
- export const __wbg_set_msc4388intentdata_baseUrl: (a: number, b: number, c: number) => void;
643
- export const __wbg_set_encryptioninfo_senderCurve25519Key: (a: number, b: number, c: number) => void;
644
- export const __wbg_set_encryptioninfo_senderClaimedEd25519Key: (a: number, b: number, c: number) => void;
645
- export const __wbg_set_todeviceencryptioninfo_senderCurve25519Key: (a: number, b: number, c: number) => void;
646
- export const __wbg_set_base64encodedpkmessage_mac: (a: number, b: number, c: number) => void;
647
- export const __wbg_set_base64encodedpkmessage_ciphertext: (a: number, b: number, c: number) => void;
648
- export const __wbg_set_inboundcreationresult_message: (a: number, b: number, c: number) => void;
649
- export const __wbg_set_outboundcreationresult_initial_message: (a: number, b: number, c: number) => void;
650
- export const __wbg_servername_free: (a: number, b: number) => void;
651
- export const __wbg_eventid_free: (a: number, b: number) => void;
652
- export const __wbg_get_versions_git_description: (a: number) => any;
653
- export const __wbg_get_versions_vodozemac: (a: number) => any;
654
- export const __wbg_get_utdtodeviceevent_rawEvent: (a: number) => any;
655
- export const __wbg_get_plaintexttodeviceevent_rawEvent: (a: number) => any;
656
- export const __wbg_get_versions_git_sha: (a: number) => any;
657
- export const __wbg_get_todevicerequest_id: (a: number) => any;
658
- export const __wbg_get_versions_matrix_sdk_crypto: (a: number) => any;
659
- export const __wbg_get_todevicerequest_body: (a: number) => any;
660
- export const __wbg_get_keysclaimrequest_id: (a: number) => any;
661
- export const __wbg_get_todevicerequest_event_type: (a: number) => any;
662
- export const __wbg_keysqueryrequest_free: (a: number, b: number) => void;
663
- export const __wbg_get_keysqueryrequest_id: (a: number) => any;
664
- export const __wbg_get_keysqueryrequest_body: (a: number) => any;
665
- export const __wbg_get_todevicerequest_txn_id: (a: number) => any;
666
- export const __wbg_get_keysbackuprequest_id: (a: number) => any;
667
- export const __wbg_get_keysclaimrequest_body: (a: number) => any;
668
- export const __wbg_keysuploadrequest_free: (a: number, b: number) => void;
669
- export const __wbg_get_keysuploadrequest_id: (a: number) => any;
670
- export const __wbg_get_keysuploadrequest_body: (a: number) => any;
671
- export const __wbg_get_roommessagerequest_txn_id: (a: number) => any;
672
- export const __wbg_get_roommessagerequest_room_id: (a: number) => any;
673
- export const __wbg_get_roommessagerequest_id: (a: number) => any;
674
- export const __wbg_get_roommessagerequest_event_type: (a: number) => any;
675
- export const __wbg_get_signatureuploadrequest_body: (a: number) => any;
676
- export const __wbg_uploadsigningkeysrequest_free: (a: number, b: number) => void;
677
- export const __wbg_get_megolmdecryptionerror_description: (a: number) => any;
678
- export const __wbg_crosssigningstatus_free: (a: number, b: number) => void;
679
- export const __wbg_plaintexttodeviceevent_free: (a: number, b: number) => void;
680
- export const userid_toString: (a: number) => [number, number];
681
- export const __wbg_userid_free: (a: number, b: number) => void;
682
- export const roomid_toString: (a: number) => [number, number];
683
- export const eventid_toString: (a: number) => [number, number];
684
- export const __wbg_roomid_free: (a: number, b: number) => void;
685
- export const __wbg_outboundcreationresult_free: (a: number, b: number) => void;
686
- export const wasm_bindgen_ff9af61e2d43a78a___convert__closures_____invoke___wasm_bindgen_ff9af61e2d43a78a___JsValue__core_ed718c3d60ebd546___result__Result_____wasm_bindgen_ff9af61e2d43a78a___JsError___true_: (a: number, b: number, c: any) => [number, number];
687
- export const wasm_bindgen_ff9af61e2d43a78a___convert__closures_____invoke___wasm_bindgen_ff9af61e2d43a78a___JsValue__core_ed718c3d60ebd546___result__Result_____wasm_bindgen_ff9af61e2d43a78a___JsError___true__2: (a: number, b: number, c: any) => [number, number];
688
- export const wasm_bindgen_ff9af61e2d43a78a___convert__closures_____invoke___js_sys_8badcad5ae9f3759___Function_fn_wasm_bindgen_ff9af61e2d43a78a___JsValue_____wasm_bindgen_ff9af61e2d43a78a___sys__Undefined___js_sys_8badcad5ae9f3759___Function_fn_wasm_bindgen_ff9af61e2d43a78a___JsValue_____wasm_bindgen_ff9af61e2d43a78a___sys__Undefined_______true_: (a: number, b: number, c: any, d: any) => void;
689
- export const wasm_bindgen_ff9af61e2d43a78a___convert__closures_____invoke___web_sys_4ec35d1b8222c725___features__gen_Event__Event______true_: (a: number, b: number, c: any) => void;
690
- export const wasm_bindgen_ff9af61e2d43a78a___convert__closures_____invoke_______true_: (a: number, b: number) => void;
686
+ export const wasm_bindgen_49b719dbd852acb8___convert__closures_____invoke___js_sys_2784ec704a33ecc8___Function_fn_wasm_bindgen_49b719dbd852acb8___JsValue_____wasm_bindgen_49b719dbd852acb8___sys__Undefined___js_sys_2784ec704a33ecc8___Function_fn_wasm_bindgen_49b719dbd852acb8___JsValue_____wasm_bindgen_49b719dbd852acb8___sys__Undefined_______true_: (a: number, b: number, c: any, d: any) => void;
687
+ export const wasm_bindgen_49b719dbd852acb8___convert__closures_____invoke___wasm_bindgen_49b719dbd852acb8___JsValue__core_ed718c3d60ebd546___result__Result_____wasm_bindgen_49b719dbd852acb8___JsError___true_: (a: number, b: number, c: any) => [number, number];
688
+ export const wasm_bindgen_49b719dbd852acb8___convert__closures_____invoke___wasm_bindgen_49b719dbd852acb8___JsValue__core_ed718c3d60ebd546___result__Result_____wasm_bindgen_49b719dbd852acb8___JsError___true__590: (a: number, b: number, c: any) => [number, number];
689
+ export const wasm_bindgen_49b719dbd852acb8___convert__closures_____invoke___web_sys_fe02f73cbd69cc6___features__gen_Event__Event______true_: (a: number, b: number, c: any) => void;
690
+ export const wasm_bindgen_49b719dbd852acb8___convert__closures_____invoke_______true_: (a: number, b: number) => void;
691
691
  export const __wbindgen_malloc: (a: number, b: number) => number;
692
692
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
693
693
  export const __wbindgen_exn_store: (a: number) => void;
@@ -2,6 +2,41 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.25.0 - 2026-10-08
6
+
7
+ ### Highlights
8
+
9
+ - **Faster synchronous plugin captures:** 16% faster than pre-change main on a measured 6,000-file tree; the new `createRootFileCopyBatchSync` API on `advanced` also reuses directory admissions across copies. ([#878](https://github.com/openclaw/fs-safe/pull/878), [#849](https://github.com/openclaw/fs-safe/pull/849))
10
+ - **Guest workspace publication:** works on gVisor and other Linux filesystems that reject `RENAME_NOREPLACE`. ([#876](https://github.com/openclaw/fs-safe/pull/876))
11
+ - **Root-backed sidecar locks:** native asynchronous release and exit cleanup no longer strand locks after their Root moves. ([#879](https://github.com/openclaw/fs-safe/pull/879))
12
+ - **Guest cross-device moves:** preserve the admitted file permissions. ([#869](https://github.com/openclaw/fs-safe/pull/869))
13
+
14
+ ### Features
15
+
16
+ - **Guarded copy batches:** `createRootFileCopyBatchSync` on `advanced` reuses directory admissions across synchronous copies on canonical POSIX paths while rechecking ancestor and file identities for every copy; single-file copies also reuse admission within the operation. ([#849](https://github.com/openclaw/fs-safe/pull/849))
17
+
18
+ ### Fixes
19
+
20
+ - **Root-backed file locks:** native asynchronous release and exit cleanup follow the created lock's retained identity after its Root moves, preserving replacement files and reporting ownership mismatches. ([#879](https://github.com/openclaw/fs-safe/pull/879)) Thanks @axiom-ncis.
21
+ - **Temp directory diagnostics:** name rejected roots and ancestors, explain ownership, mode, or symlink failures, and provide safe recovery guidance, including for root-run appliances. Thanks @joequant. ([#877](https://github.com/openclaw/fs-safe/pull/877))
22
+ - **Guest directory publication:** publish staged workspaces when Linux filesystems reject `RENAME_NOREPLACE`, with checked file link/unlink fallback and directory rename that can only replace a concurrently created empty directory. ([#876](https://github.com/openclaw/fs-safe/pull/876)) Thanks @valkyriweb.
23
+ - **Guest cross-device moves:** preserve the admitted source file's permissions instead of leaving the destination with a broader default mode. ([#869](https://github.com/openclaw/fs-safe/pull/869))
24
+ - **Move receipts:** publication receipts capture the source identity after synchronous authorization callbacks return, so a source replaced during authorization is reported accurately. ([#868](https://github.com/openclaw/fs-safe/pull/868))
25
+ - **Atomic copy fallback:** report a failed restoration as a failure even when the underlying error carries a restored receipt. ([#851](https://github.com/openclaw/fs-safe/pull/851))
26
+ - **Archive read limits:** keep the validated entry-read byte limit fixed when callers mutate the options during a read. ([#852](https://github.com/openclaw/fs-safe/pull/852))
27
+ - **Watch on macOS:** reconcile notifications for changes to the watched Root itself immediately instead of waiting for the periodic scan. ([#858](https://github.com/openclaw/fs-safe/pull/858))
28
+ - **`pathScope` tilde names:** keep literal `~` directory names inside scoped file and existing-path lookups instead of expanding them. ([#856](https://github.com/openclaw/fs-safe/pull/856))
29
+
30
+ ### Performance
31
+
32
+ - **Guarded file copies:** reuse checked canonical POSIX roots during initial path admission, reducing repeated path-resolution work in synchronous plugin source captures without changing per-file identity or race checks.
33
+ - **Root walks:** reuse normalized directory prefixes, cutting a 50k-file walk by 5.6% and its sampled allocation by about 9% while keeping every filesystem and identity check. ([#870](https://github.com/openclaw/fs-safe/pull/870))
34
+ - **Atomic writes:** non-durable async POSIX writes skip a redundant mode change when the staged file already has the requested permissions. ([#871](https://github.com/openclaw/fs-safe/pull/871))
35
+ - **Guarded mutations:** fewer promise allocations around synchronous guard checks, with directory identity checks unchanged. ([#857](https://github.com/openclaw/fs-safe/pull/857))
36
+ - **Archive publication:** fewer promise allocations in archive guard checks, without removing identity or containment checks. ([#864](https://github.com/openclaw/fs-safe/pull/864))
37
+ - **Watch:** Linux and Windows watch passes skip macOS stream-path preparation. ([#860](https://github.com/openclaw/fs-safe/pull/860))
38
+ - **Permission diagnostics:** bound escaping work for large error messages without changing the displayed excerpts. ([#859](https://github.com/openclaw/fs-safe/pull/859))
39
+
5
40
  ## 0.24.2 - 2026-10-07
6
41
 
7
42
  ### Fixes
@@ -22,7 +22,7 @@ await fs.write("../escape.txt", "x"); // throws FsSafeError("outside-
22
22
 
23
23
  That's the whole pitch. `root()` is the product; the rest of the package — JSON stores, atomic writes, secret files, archive extraction, temp workspaces — is supporting cast for the same boundary.
24
24
 
25
- Full docs and reference at **[fs-safe.io](https://fs-safe.io)**.
25
+ Full docs and reference at **[fs-safe.io](https://fs-safe.io)**. For synchronous plugin captures, [guarded file copies and batches](docs/copy.md#synchronous-guarded-file-copies) return owned destination descriptors while preserving per-file checks.
26
26
 
27
27
  ## Contents
28
28
 
@@ -1,4 +1,4 @@
1
- export { copyRootFileSync, type CopyRootFileSyncOptions, type CopiedRootFileSync } from "./copy-root-file-sync.js";
1
+ export { copyRootFileSync, createRootFileCopyBatchSync, type RootFileCopyBatchSync, type CopyRootFileSyncOptions, type CopiedRootFileSync } from "./copy-root-file-sync.js";
2
2
  export { createAsyncLock } from "./async-lock.js";
3
3
  export { createDirectory, createDirectorySync, createFileSync, type CreateDirectoryOptions, type CreateFileOptions, type OwnedFileDescriptorSync, } from "./create.js";
4
4
  export { copyFileHandle, copyFileDescriptorSync, type CopyFileHandleOptions } from "./file-handle-transfer.js";
@@ -1,4 +1,4 @@
1
- export { copyRootFileSync } from "./copy-root-file-sync.js";
1
+ export { copyRootFileSync, createRootFileCopyBatchSync } from "./copy-root-file-sync.js";
2
2
  // Advanced composition surface. These exports are less stable than the focused
3
3
  // public subpaths; prefer root/json/store/temp/archive unless you are building a
4
4
  // higher-level primitive.
@@ -65,7 +65,7 @@ export async function finalizeArchivePublication(params) {
65
65
  const check = () => params.deadline?.check();
66
66
  const assertGuards = async (guards) => {
67
67
  for (const guard of [params.destinationGuard, ...guards, params.sourceGuard]) {
68
- await assertDirectoryIdentityGuard(guard);
68
+ assertDirectoryIdentityGuard(guard);
69
69
  check();
70
70
  }
71
71
  };
@@ -98,15 +98,15 @@ async function mergeTree(params, publication, durable = true, entryUmask = 0) {
98
98
  assertSourceDirectory(ancestor);
99
99
  };
100
100
  const assertGuards = async () => {
101
- await assertDirectoryIdentityGuard(destinationGuard);
101
+ assertDirectoryIdentityGuard(destinationGuard);
102
102
  check();
103
103
  for (const ancestor of ancestors) {
104
- await assertDirectoryIdentityGuard(ancestor.guard);
104
+ assertDirectoryIdentityGuard(ancestor.guard);
105
105
  check();
106
106
  await ancestor.owner.verify(check);
107
107
  check();
108
108
  }
109
- await assertDirectoryIdentityGuard(sourceGuard);
109
+ assertDirectoryIdentityGuard(sourceGuard);
110
110
  check();
111
111
  };
112
112
  const walk = async (sourceDir) => {
@@ -184,7 +184,7 @@ async function mergeTree(params, publication, durable = true, entryUmask = 0) {
184
184
  await owner.apply(mode, { check, beforeChmod: async () => {
185
185
  await assertGuards();
186
186
  assertSourceAncestors();
187
- await assertDirectoryIdentityGuard(guard);
187
+ assertDirectoryIdentityGuard(guard);
188
188
  check();
189
189
  await assertResolvedInsideDestination({
190
190
  destinationRealDir, targetPath: destinationPath, originalPath,
@@ -213,7 +213,8 @@ async function readNativeBufferEntry(native, buffer, kind, requested, displayPat
213
213
  }
214
214
  }
215
215
  export async function readArchiveEntry(archivePath, entryPath, options) {
216
- if (!Number.isSafeInteger(options.maxBytes) || options.maxBytes < 0) {
216
+ const maxBytes = options.maxBytes;
217
+ if (!Number.isSafeInteger(maxBytes) || maxBytes < 0) {
217
218
  throw new RangeError("maxBytes must be a non-negative safe integer");
218
219
  }
219
220
  const kind = options.kind ?? resolveArchiveKind(archivePath);
@@ -228,7 +229,7 @@ export async function readArchiveEntry(archivePath, entryPath, options) {
228
229
  admitZipBuffer(buffer, resolveExtractLimits(), entry => { zipEntries.push(entry); });
229
230
  const native = getNativeBinding();
230
231
  if (native)
231
- return await readNativeBufferEntry(native, buffer, kind, requestedEntry, entryPath, options.maxBytes, zipEntries);
232
- return kind === "zip" ? await readZipEntry(buffer, requestedEntry, options.maxBytes, zipEntries)
233
- : await readTarEntry(buffer, requestedEntry, options.maxBytes, kind);
232
+ return await readNativeBufferEntry(native, buffer, kind, requestedEntry, entryPath, maxBytes, zipEntries);
233
+ return kind === "zip" ? await readZipEntry(buffer, requestedEntry, maxBytes, zipEntries)
234
+ : await readTarEntry(buffer, requestedEntry, maxBytes, kind);
234
235
  }
@@ -5,7 +5,7 @@ import { ArchiveSecurityError } from "./archive-errors.js";
5
5
  export type ArchiveDirectoryGuard = AsyncDirectoryGuard<BigIntStats>;
6
6
  export declare function createArchiveSymlinkTraversalError(originalPath: string): ArchiveSecurityError;
7
7
  export declare function createDirectoryIdentityGuard(dir: string): Promise<ArchiveDirectoryGuard>;
8
- export declare function assertDirectoryIdentityGuard(guard: ArchiveDirectoryGuard): Promise<void>;
8
+ export declare function assertDirectoryIdentityGuard(guard: ArchiveDirectoryGuard): void;
9
9
  export declare function prepareArchiveDestinationGuard(destDir: string): Promise<ArchiveDirectoryGuard>;
10
10
  export declare function prepareArchiveDestinationDir(destDir: string): Promise<string>;
11
11
  export declare function assertResolvedInsideDestination(params: {
@@ -1,7 +1,7 @@
1
1
  import fsSync, {} from "node:fs";
2
2
  import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
- import { assertAsyncDirectoryGuard, createAsyncDirectoryGuard, } from "./directory-guard.js";
4
+ import { assertDirectoryGuard, createAsyncDirectoryGuard, } from "./directory-guard.js";
5
5
  import { ownExtractionDestinationMutation, } from "./archive-deadline.js";
6
6
  import { ArchiveSecurityError, } from "./archive-errors.js";
7
7
  import { FsSafeError } from "./errors.js";
@@ -38,9 +38,9 @@ export async function createDirectoryIdentityGuard(dir) {
38
38
  throw err;
39
39
  }
40
40
  }
41
- export async function assertDirectoryIdentityGuard(guard) {
41
+ export function assertDirectoryIdentityGuard(guard) {
42
42
  try {
43
- await assertAsyncDirectoryGuard(guard);
43
+ assertDirectoryGuard(guard, "native");
44
44
  }
45
45
  catch (err) {
46
46
  if (err instanceof FsSafeError || isNotFoundPathError(err)) {
@@ -200,7 +200,7 @@ async function prepareOutputPath(params, assertGuards, privateWorkingMode = fals
200
200
  if (existingDestinationGuard && assertGuards)
201
201
  await assertGuards();
202
202
  else {
203
- await assertDirectoryIdentityGuard(destinationGuard);
203
+ assertDirectoryIdentityGuard(destinationGuard);
204
204
  checkExtractionDeadline(params.deadline);
205
205
  await assertGuards?.();
206
206
  }
@@ -213,46 +213,30 @@ async function prepareOutputPath(params, assertGuards, privateWorkingMode = fals
213
213
  originalPath: params.originalPath,
214
214
  });
215
215
  checkExtractionDeadline(params.deadline);
216
- if (params.isDirectory) {
217
- await getFsSafeTestHooks()?.beforeArchiveOutputMutation?.("mkdir", params.outPath);
216
+ const relativePath = params.isDirectory ? relPath : path.posix.dirname(relPath);
217
+ if (params.isDirectory || relativePath !== ".") {
218
+ const directoryPath = params.isDirectory ? params.outPath : path.dirname(params.outPath);
219
+ await getFsSafeTestHooks()?.beforeArchiveOutputMutation?.("mkdir", directoryPath);
218
220
  checkExtractionDeadline(params.deadline);
219
221
  await ownExtractionDestinationMutation(params.deadline, async () => {
220
222
  await assertOutputGuards();
221
223
  checkExtractionDeadline(params.deadline);
222
- await mkdirArchiveOutput({
223
- targetRoot,
224
- relativePath: relPath,
225
- originalPath: params.originalPath,
226
- });
227
- checkExtractionDeadline(params.deadline);
228
- await assertDirectoryIdentityGuard(destinationGuard);
224
+ await mkdirArchiveOutput({ targetRoot, relativePath, originalPath: params.originalPath });
229
225
  checkExtractionDeadline(params.deadline);
230
- await assertResolvedInsideDestination({
231
- destinationRealDir: params.destinationRealDir,
232
- targetPath: params.outPath,
233
- originalPath: params.originalPath,
234
- });
235
- checkExtractionDeadline(params.deadline);
236
- });
237
- return;
238
- }
239
- const parentRel = path.posix.dirname(relPath);
240
- if (parentRel !== ".") {
241
- await getFsSafeTestHooks()?.beforeArchiveOutputMutation?.("mkdir", path.dirname(params.outPath));
242
- checkExtractionDeadline(params.deadline);
243
- await ownExtractionDestinationMutation(params.deadline, async () => {
244
- await assertOutputGuards();
245
- checkExtractionDeadline(params.deadline);
246
- await mkdirArchiveOutput({
247
- targetRoot,
248
- relativePath: parentRel,
249
- originalPath: params.originalPath,
250
- });
251
- checkExtractionDeadline(params.deadline);
252
- await assertDirectoryIdentityGuard(destinationGuard);
226
+ assertDirectoryIdentityGuard(destinationGuard);
253
227
  checkExtractionDeadline(params.deadline);
228
+ if (params.isDirectory) {
229
+ await assertResolvedInsideDestination({
230
+ destinationRealDir: params.destinationRealDir,
231
+ targetPath: params.outPath,
232
+ originalPath: params.originalPath,
233
+ });
234
+ checkExtractionDeadline(params.deadline);
235
+ }
254
236
  });
255
237
  }
238
+ if (params.isDirectory)
239
+ return;
256
240
  await assertResolvedInsideDestination({
257
241
  destinationRealDir: params.destinationRealDir,
258
242
  targetPath: path.dirname(params.outPath),
@@ -292,12 +276,12 @@ export async function withStagedArchiveDestination(params) {
292
276
  const stagingGuard = await createDirectoryIdentityGuard(stagingDir);
293
277
  try {
294
278
  await fs.chmod(stagingDir, ARCHIVE_STAGING_MODE).catch(() => undefined);
295
- await assertDirectoryIdentityGuard(stagingGuard);
279
+ assertDirectoryIdentityGuard(stagingGuard);
296
280
  return await params.run(stagingDir);
297
281
  }
298
282
  finally {
299
283
  try {
300
- await assertDirectoryIdentityGuard(stagingGuard);
284
+ assertDirectoryIdentityGuard(stagingGuard);
301
285
  await fs.rm(stagingDir, { recursive: true, force: true }).catch(() => undefined);
302
286
  }
303
287
  catch {