@openclaw/feishu 2026.9.6 → 2026.9.8
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.
- package/assets/icon.png +0 -0
- package/dist/.setup/accounts-wRqItHug.mjs +206 -0
- package/dist/.setup/app-registration-BB6TubaW.mjs +194 -0
- package/dist/.setup/channel-DV4hM2Uf.mjs +3042 -0
- package/dist/.setup/channel.runtime-CXQcH5zZ.mjs +230 -0
- package/dist/.setup/chat-D8MlFAZi.mjs +224 -0
- package/dist/.setup/client-BYG-_IZl.mjs +351 -0
- package/dist/.setup/conversation-id-C1ofUfU8.mjs +133 -0
- package/dist/.setup/doctor-contract-3XC0vbIw.mjs +661 -0
- package/dist/.setup/message-action-contract-Bhxj8Zrf.mjs +22 -0
- package/dist/.setup/monitor-D_rsHBZ6.mjs +204 -0
- package/dist/.setup/monitor.account-DvvY7i6k.mjs +6905 -0
- package/dist/.setup/probe-_ViqSi0j.mjs +208 -0
- package/dist/.setup/reply-delivery-result-COAjaukc.mjs +3490 -0
- package/dist/.setup/secret-contract-CI1wCr9i.mjs +60 -0
- package/dist/.setup/secret-contract-api-o4CeT4nP.mjs +3 -0
- package/dist/.setup/security-audit-b86aSgH2.mjs +34 -0
- package/dist/.setup/session-conversation-C53IEUWt.mjs +27 -0
- package/dist/.setup/setup-api-C4S5I3ac.mjs +3 -0
- package/dist/.setup/subagent-hooks-BaFoMu8W.mjs +129 -0
- package/dist/.setup/thread-bindings-EdLXPXzw.mjs +229 -0
- package/dist/api.js +401 -732
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +3 -3
- package/dist/doctor-contract-api.js +1 -1
- package/dist/runtime-api.js +2 -10
- package/dist/secret-contract-api.js +1 -1
- package/dist/security-contract-api.js +1 -1
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/session-key-api.js +1 -1
- package/dist/setup-api.js +1 -1
- package/dist/setup-entry.js +2 -2
- package/dist/subagent-hooks-api.js +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/README.md +20 -0
- package/node_modules/@larksuiteoapi/node-sdk/README.zh.md +20 -0
- package/node_modules/@larksuiteoapi/node-sdk/es/index.js +33 -1
- package/node_modules/@larksuiteoapi/node-sdk/lib/index.js +33 -1
- package/node_modules/@larksuiteoapi/node-sdk/package.json +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/types/index.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/CHANGELOG.md +1289 -0
- package/node_modules/@openclaw/fs-safe/LICENSE +22 -0
- package/node_modules/@openclaw/fs-safe/README.md +672 -0
- package/node_modules/@openclaw/fs-safe/SECURITY.md +45 -0
- package/node_modules/@openclaw/fs-safe/dist/absolute-path.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/absolute-path.js +323 -0
- package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +41 -0
- package/node_modules/@openclaw/fs-safe/dist/advanced.js +40 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-crc32.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-crc32.js +19 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-deadline.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-deadline.js +101 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-durability.d.ts +23 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-durability.js +180 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-entry.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-entry.js +85 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-errors.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-errors.js +23 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-gzip-tail.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-gzip-tail.js +99 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-input.d.ts +18 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-input.js +98 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-kind.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-kind.js +71 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-limits.d.ts +56 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-limits.js +131 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-merge.d.ts +22 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-merge.js +282 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-parser-errors.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-parser-errors.js +12 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-parser.wasm +0 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-plan.d.ts +85 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-plan.js +119 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-read.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-read.js +234 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.js +308 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-tar-stream.d.ts +27 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-tar-stream.js +127 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-tar-wasm.d.ts +29 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-tar-wasm.js +203 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-admission.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-admission.js +96 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-count.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-count.js +160 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-directory.d.ts +21 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-directory.js +267 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-entry.d.ts +24 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-entry.js +10 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-integrity.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-integrity.js +30 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.js +150 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-manifest.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-manifest.js +24 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-names.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-names.js +149 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-preflight.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-preflight.js +21 -0
- package/node_modules/@openclaw/fs-safe/dist/archive.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/archive.js +332 -0
- package/node_modules/@openclaw/fs-safe/dist/async-lock.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/async-lock.js +17 -0
- package/node_modules/@openclaw/fs-safe/dist/atomic.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/atomic.js +4 -0
- package/node_modules/@openclaw/fs-safe/dist/bounded-read-stream.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/bounded-read-stream.js +15 -0
- package/node_modules/@openclaw/fs-safe/dist/bounded-read.d.ts +25 -0
- package/node_modules/@openclaw/fs-safe/dist/bounded-read.js +143 -0
- package/node_modules/@openclaw/fs-safe/dist/byte-budget.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/byte-budget.js +9 -0
- package/node_modules/@openclaw/fs-safe/dist/byte-view.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/byte-view.js +13 -0
- package/node_modules/@openclaw/fs-safe/dist/clone-metadata.d.ts +19 -0
- package/node_modules/@openclaw/fs-safe/dist/clone-metadata.js +36 -0
- package/node_modules/@openclaw/fs-safe/dist/config.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/config.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/containment.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/containment.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-file-input.d.ts +21 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-file-input.js +71 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-policy.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-policy.js +8 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-publication.d.ts +18 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-publication.js +29 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.js +245 -0
- package/node_modules/@openclaw/fs-safe/dist/copy.d.ts +15 -0
- package/node_modules/@openclaw/fs-safe/dist/copy.js +143 -0
- package/node_modules/@openclaw/fs-safe/dist/create-owned-file.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/create-owned-file.js +16 -0
- package/node_modules/@openclaw/fs-safe/dist/create.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/create.js +388 -0
- package/node_modules/@openclaw/fs-safe/dist/creation-boundary.d.ts +60 -0
- package/node_modules/@openclaw/fs-safe/dist/creation-boundary.js +371 -0
- package/node_modules/@openclaw/fs-safe/dist/deny-mutation-match.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/deny-mutation-match.js +71 -0
- package/node_modules/@openclaw/fs-safe/dist/deny-mutations.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/deny-mutations.js +96 -0
- package/node_modules/@openclaw/fs-safe/dist/device-path.d.ts +14 -0
- package/node_modules/@openclaw/fs-safe/dist/device-path.js +139 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-durability.d.ts +43 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-durability.js +286 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-entry-path.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-entry-path.js +21 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-guard.d.ts +54 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-guard.js +176 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.d.ts +39 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.js +285 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-receipt.d.ts +23 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-receipt.js +121 -0
- package/node_modules/@openclaw/fs-safe/dist/durability.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/durability.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/effective-uid.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/effective-uid.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/error-detail.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/error-detail.js +13 -0
- package/node_modules/@openclaw/fs-safe/dist/errors.d.ts +15 -0
- package/node_modules/@openclaw/fs-safe/dist/errors.js +27 -0
- package/node_modules/@openclaw/fs-safe/dist/file-cleanup.d.ts +19 -0
- package/node_modules/@openclaw/fs-safe/dist/file-cleanup.js +81 -0
- package/node_modules/@openclaw/fs-safe/dist/file-contents.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/file-contents.js +40 -0
- package/node_modules/@openclaw/fs-safe/dist/file-handle-transfer.d.ts +15 -0
- package/node_modules/@openclaw/fs-safe/dist/file-handle-transfer.js +190 -0
- package/node_modules/@openclaw/fs-safe/dist/file-hash.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/file-hash.js +296 -0
- package/node_modules/@openclaw/fs-safe/dist/file-identity.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/file-identity.js +56 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-acquisition.d.ts +22 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-acquisition.js +98 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-admission.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-admission.js +58 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-acquire.js +303 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-arbitration.js +66 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-held.d.ts +25 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-held.js +392 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.d.ts +40 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.js +209 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-mutation.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-mutation.js +275 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-options.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-options.js +58 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-registration.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-registration.js +90 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root.d.ts +34 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root.js +288 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-stale-admission.d.ts +19 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-stale-admission.js +199 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.js +341 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock.d.ts +23 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock.js +66 -0
- package/node_modules/@openclaw/fs-safe/dist/file-observation.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/file-observation.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.d.ts +34 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.js +174 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-prune.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-prune.js +110 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-sync-directory.d.ts +15 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-sync-directory.js +319 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-sync-write.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-sync-write.js +128 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store.d.ts +62 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store.js +360 -0
- package/node_modules/@openclaw/fs-safe/dist/file-sync.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/file-sync.js +19 -0
- package/node_modules/@openclaw/fs-safe/dist/filename.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/filename.js +138 -0
- package/node_modules/@openclaw/fs-safe/dist/fs.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/fs.js +30 -0
- package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.d.ts +25 -0
- package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.js +281 -0
- package/node_modules/@openclaw/fs-safe/dist/guarded-mutation.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/guarded-mutation.js +81 -0
- package/node_modules/@openclaw/fs-safe/dist/guest-dispatch-python.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/guest-dispatch-python.js +68 -0
- package/node_modules/@openclaw/fs-safe/dist/guest-native-python.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/guest-native-python.js +127 -0
- package/node_modules/@openclaw/fs-safe/dist/guest.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/guest.js +433 -0
- package/node_modules/@openclaw/fs-safe/dist/home-dir.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/home-dir.js +149 -0
- package/node_modules/@openclaw/fs-safe/dist/index.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/index.js +5 -0
- package/node_modules/@openclaw/fs-safe/dist/install-path.d.ts +25 -0
- package/node_modules/@openclaw/fs-safe/dist/install-path.js +136 -0
- package/node_modules/@openclaw/fs-safe/dist/json-document-store.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/json-document-store.js +105 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-directory.d.ts +14 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-directory.js +154 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-ownership.d.ts +19 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-ownership.js +355 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-read.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-read.js +65 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue.d.ts +44 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue.js +210 -0
- package/node_modules/@openclaw/fs-safe/dist/json-store.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/json-store.js +15 -0
- package/node_modules/@openclaw/fs-safe/dist/json-stringify.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/json-stringify.js +7 -0
- package/node_modules/@openclaw/fs-safe/dist/json.d.ts +49 -0
- package/node_modules/@openclaw/fs-safe/dist/json.js +323 -0
- package/node_modules/@openclaw/fs-safe/dist/local-file-access.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/local-file-access.js +81 -0
- package/node_modules/@openclaw/fs-safe/dist/local-file-descriptor.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/local-file-descriptor.js +84 -0
- package/node_modules/@openclaw/fs-safe/dist/local-roots.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/local-roots.js +160 -0
- package/node_modules/@openclaw/fs-safe/dist/lock-config.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/lock-config.js +12 -0
- package/node_modules/@openclaw/fs-safe/dist/move-path-cleanup.d.ts +30 -0
- package/node_modules/@openclaw/fs-safe/dist/move-path-cleanup.js +224 -0
- package/node_modules/@openclaw/fs-safe/dist/move-path-stage.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/move-path-stage.js +56 -0
- package/node_modules/@openclaw/fs-safe/dist/move-path.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/move-path.js +390 -0
- package/node_modules/@openclaw/fs-safe/dist/mutation-authority.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/mutation-authority.js +41 -0
- package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +199 -0
- package/node_modules/@openclaw/fs-safe/dist/native-binding.js +8 -0
- package/node_modules/@openclaw/fs-safe/dist/native-config.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/native-config.js +71 -0
- package/node_modules/@openclaw/fs-safe/dist/native-directory-observation.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/native-directory-observation.js +37 -0
- package/node_modules/@openclaw/fs-safe/dist/native-fallback-warning.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/native-fallback-warning.js +11 -0
- package/node_modules/@openclaw/fs-safe/dist/native-operations.d.ts +15 -0
- package/node_modules/@openclaw/fs-safe/dist/native-operations.js +111 -0
- package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.d.ts +34 -0
- package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.js +147 -0
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.js +252 -0
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.js +478 -0
- package/node_modules/@openclaw/fs-safe/dist/native-policy-directory-observation.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/native-policy-directory-observation.js +61 -0
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.js +209 -0
- package/node_modules/@openclaw/fs-safe/dist/native-rename-outcome.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/native-rename-outcome.js +8 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file.d.ts +45 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file.js +442 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-symlink.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-symlink.js +303 -0
- package/node_modules/@openclaw/fs-safe/dist/native.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/native.js +209 -0
- package/node_modules/@openclaw/fs-safe/dist/opened-file-failure.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/opened-file-failure.js +46 -0
- package/node_modules/@openclaw/fs-safe/dist/opened-realpath.d.ts +15 -0
- package/node_modules/@openclaw/fs-safe/dist/opened-realpath.js +102 -0
- package/node_modules/@openclaw/fs-safe/dist/output.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/output.js +139 -0
- package/node_modules/@openclaw/fs-safe/dist/overwrite-file-handle.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/overwrite-file-handle.js +46 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch-worker.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch-worker.js +54 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch.js +64 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl.js +39 -0
- package/node_modules/@openclaw/fs-safe/dist/path-case.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/path-case.js +136 -0
- package/node_modules/@openclaw/fs-safe/dist/path-policy.d.ts +24 -0
- package/node_modules/@openclaw/fs-safe/dist/path-policy.js +49 -0
- package/node_modules/@openclaw/fs-safe/dist/path-prefix.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/path-prefix.js +104 -0
- package/node_modules/@openclaw/fs-safe/dist/path-scope-lexical.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/path-scope-lexical.js +37 -0
- package/node_modules/@openclaw/fs-safe/dist/path-segment-route.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/path-segment-route.js +24 -0
- package/node_modules/@openclaw/fs-safe/dist/path-suffix-aliases.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/path-suffix-aliases.js +394 -0
- package/node_modules/@openclaw/fs-safe/dist/path.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/path.js +185 -0
- package/node_modules/@openclaw/fs-safe/dist/permission-exec.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/permission-exec.js +194 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions-public.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions-public.js +4 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions-windows.d.ts +48 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions-windows.js +319 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions.d.ts +52 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions.js +131 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.d.ts +23 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.js +421 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-observation.d.ts +38 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-observation.js +205 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-shared-route.d.ts +18 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-shared-route.js +70 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-open.d.ts +30 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-open.js +98 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-operation.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-operation.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-input.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-input.js +35 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-mode.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-mode.js +31 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-staged.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-staged.js +185 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-types.d.ts +68 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write.js +300 -0
- package/node_modules/@openclaw/fs-safe/dist/positional-read.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/positional-read.js +36 -0
- package/node_modules/@openclaw/fs-safe/dist/private-directory.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/private-directory.js +30 -0
- package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff-sync.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff-sync.js +72 -0
- package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.d.ts +53 -0
- package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.js +358 -0
- package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.js +341 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.js +60 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-file-failure.d.ts +27 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-file-failure.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-file.d.ts +19 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-file.js +332 -0
- package/node_modules/@openclaw/fs-safe/dist/read-open-flags.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/read-open-flags.js +13 -0
- package/node_modules/@openclaw/fs-safe/dist/read-opened-file.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/read-opened-file.js +18 -0
- package/node_modules/@openclaw/fs-safe/dist/realpath.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/realpath.js +43 -0
- package/node_modules/@openclaw/fs-safe/dist/recursive-mkdir-path.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/recursive-mkdir-path.js +8 -0
- package/node_modules/@openclaw/fs-safe/dist/regular-file.d.ts +37 -0
- package/node_modules/@openclaw/fs-safe/dist/regular-file.js +317 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-directory.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-directory.js +275 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.js +36 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.js +369 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.js +101 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.d.ts +46 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +168 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.d.ts +21 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.js +123 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-mode.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-mode.js +10 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-mutation.d.ts +26 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-mutation.js +47 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-rename-policy.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-rename-policy.js +30 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.d.ts +49 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.js +368 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-types.d.ts +55 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file.js +356 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-directory-replacement.d.ts +26 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-directory-replacement.js +193 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-file-types.d.ts +50 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-file-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-file.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-file.js +121 -0
- package/node_modules/@openclaw/fs-safe/dist/root-boundary.d.ts +29 -0
- package/node_modules/@openclaw/fs-safe/dist/root-boundary.js +186 -0
- package/node_modules/@openclaw/fs-safe/dist/root-context.d.ts +43 -0
- package/node_modules/@openclaw/fs-safe/dist/root-context.js +233 -0
- package/node_modules/@openclaw/fs-safe/dist/root-create-input.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/root-create-input.js +93 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-creation.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-creation.js +225 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-entry.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-entry.js +28 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts +46 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +433 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory.d.ts +22 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory.js +141 -0
- package/node_modules/@openclaw/fs-safe/dist/root-entries.d.ts +10 -0
- package/node_modules/@openclaw/fs-safe/dist/root-entries.js +61 -0
- package/node_modules/@openclaw/fs-safe/dist/root-errors.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/root-errors.js +92 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file-final-admission.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file-final-admission.js +81 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file.d.ts +46 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file.js +205 -0
- package/node_modules/@openclaw/fs-safe/dist/root-handle-context.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/root-handle-context.js +12 -0
- package/node_modules/@openclaw/fs-safe/dist/root-impl.d.ts +117 -0
- package/node_modules/@openclaw/fs-safe/dist/root-impl.js +1446 -0
- package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.d.ts +10 -0
- package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.js +205 -0
- package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/root-move-preflight.js +16 -0
- package/node_modules/@openclaw/fs-safe/dist/root-observed-path.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/root-observed-path.js +90 -0
- package/node_modules/@openclaw/fs-safe/dist/root-options.d.ts +84 -0
- package/node_modules/@openclaw/fs-safe/dist/root-options.js +18 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-errors.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-errors.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-existing.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-existing.js +160 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-observation.d.ts +55 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-observation.js +180 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-stat.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path-stat.js +151 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path.d.ts +53 -0
- package/node_modules/@openclaw/fs-safe/dist/root-path.js +440 -0
- package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/root-paths.d.ts +58 -0
- package/node_modules/@openclaw/fs-safe/dist/root-paths.js +296 -0
- package/node_modules/@openclaw/fs-safe/dist/root-public-types.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/root-public-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/root-read-admission.d.ts +25 -0
- package/node_modules/@openclaw/fs-safe/dist/root-read-admission.js +86 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove-identity.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove-identity.js +87 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove-receipt.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove-receipt.js +37 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove.js +464 -0
- package/node_modules/@openclaw/fs-safe/dist/root-symlink-policy.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/root-symlink-policy.js +34 -0
- package/node_modules/@openclaw/fs-safe/dist/root-walk.d.ts +48 -0
- package/node_modules/@openclaw/fs-safe/dist/root-walk.js +234 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-admission.d.ts +65 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-admission.js +299 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-compatibility.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-compatibility.js +23 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-complete-parent.d.ts +43 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-complete-parent.js +180 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-lock-binding.d.ts +14 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-lock-binding.js +162 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-mode.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-mode.js +72 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-publication.d.ts +23 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-publication.js +85 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-verification.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-verification.js +95 -0
- package/node_modules/@openclaw/fs-safe/dist/root.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/root.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.js +80 -0
- package/node_modules/@openclaw/fs-safe/dist/secret-file.d.ts +29 -0
- package/node_modules/@openclaw/fs-safe/dist/secret-file.js +333 -0
- package/node_modules/@openclaw/fs-safe/dist/secret-read-async.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/secret-read-async.js +58 -0
- package/node_modules/@openclaw/fs-safe/dist/secret-read-policy.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/secret-read-policy.js +68 -0
- package/node_modules/@openclaw/fs-safe/dist/secret.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/secret.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-file-windows.d.ts +10 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-file-windows.js +79 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-file.d.ts +31 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-file.js +298 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.d.ts +29 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.js +176 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-temp-repair.d.ts +34 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-temp-repair.js +110 -0
- package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.js +301 -0
- package/node_modules/@openclaw/fs-safe/dist/sibling-temp.d.ts +28 -0
- package/node_modules/@openclaw/fs-safe/dist/sibling-temp.js +132 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.js +442 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-context.d.ts +18 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-context.js +60 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-parser.d.ts +41 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-parser.js +113 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission.d.ts +31 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-handle.d.ts +20 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-handle.js +48 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-policy.d.ts +14 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-policy.js +113 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.d.ts +67 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.js +374 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-registration.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-registration.js +47 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-root.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-root.js +79 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-stale-admission.d.ts +34 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-stale-admission.js +228 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-target.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-target.js +55 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-types.d.ts +68 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.js +282 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-directory.d.ts +27 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-directory.js +148 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.js +57 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-file-types.d.ts +55 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-file-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-symlink-types.d.ts +39 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-symlink-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/stat-observation.d.ts +10 -0
- package/node_modules/@openclaw/fs-safe/dist/stat-observation.js +57 -0
- package/node_modules/@openclaw/fs-safe/dist/store.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/store.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/strict-file-identity.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/strict-file-identity.js +88 -0
- package/node_modules/@openclaw/fs-safe/dist/string-coerce.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/string-coerce.js +16 -0
- package/node_modules/@openclaw/fs-safe/dist/suppressed-error.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/suppressed-error.js +15 -0
- package/node_modules/@openclaw/fs-safe/dist/symlink-parents.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/symlink-parents.js +109 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-cleanup.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-cleanup.js +88 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-target.d.ts +31 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-target.js +236 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.d.ts +14 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.js +387 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.d.ts +23 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.js +150 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.d.ts +42 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.js +341 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-owner.d.ts +24 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-owner.js +398 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-ownership.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-ownership.js +52 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-types.d.ts +39 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/temp.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/temp.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/test-hooks.d.ts +35 -0
- package/node_modules/@openclaw/fs-safe/dist/test-hooks.js +13 -0
- package/node_modules/@openclaw/fs-safe/dist/text-atomic.d.ts +14 -0
- package/node_modules/@openclaw/fs-safe/dist/text-atomic.js +18 -0
- package/node_modules/@openclaw/fs-safe/dist/timing.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/timing.js +59 -0
- package/node_modules/@openclaw/fs-safe/dist/trash.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/trash.js +245 -0
- package/node_modules/@openclaw/fs-safe/dist/types.d.ts +22 -0
- package/node_modules/@openclaw/fs-safe/dist/types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/unicode-path.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/unicode-path.js +16 -0
- package/node_modules/@openclaw/fs-safe/dist/walk.d.ts +37 -0
- package/node_modules/@openclaw/fs-safe/dist/walk.js +207 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-alias.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-alias.js +88 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-hints.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-hints.js +93 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-native.d.ts +36 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-native.js +73 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-scan.d.ts +28 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-scan.js +300 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-stream.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-stream.js +32 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-types.d.ts +60 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/watch.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/watch.js +530 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-command.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-command.js +34 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-owner.d.ts +24 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-owner.js +100 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.d.ts +39 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.js +122 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.js +21 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.cs +336 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.ps1 +90 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-command.d.ts +33 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-command.js +414 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.js +112 -0
- package/node_modules/@openclaw/fs-safe/dist/write-file-handle.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/write-file-handle.js +49 -0
- package/node_modules/@openclaw/fs-safe/dist/write-open-flags.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/write-open-flags.js +27 -0
- package/node_modules/@openclaw/fs-safe/dist/write-queue.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/write-queue.js +15 -0
- package/node_modules/@openclaw/fs-safe/docs/advanced.md +271 -0
- package/node_modules/@openclaw/fs-safe/docs/archive.md +859 -0
- package/node_modules/@openclaw/fs-safe/docs/assets/readme-banner.jpg +0 -0
- package/node_modules/@openclaw/fs-safe/docs/atomic.md +611 -0
- package/node_modules/@openclaw/fs-safe/docs/config.md +136 -0
- package/node_modules/@openclaw/fs-safe/docs/contributing.md +360 -0
- package/node_modules/@openclaw/fs-safe/docs/copy.md +199 -0
- package/node_modules/@openclaw/fs-safe/docs/creation.md +132 -0
- package/node_modules/@openclaw/fs-safe/docs/directory-identity.md +85 -0
- package/node_modules/@openclaw/fs-safe/docs/durability.md +445 -0
- package/node_modules/@openclaw/fs-safe/docs/entries.md +109 -0
- package/node_modules/@openclaw/fs-safe/docs/errors.md +240 -0
- package/node_modules/@openclaw/fs-safe/docs/file-contents.md +68 -0
- package/node_modules/@openclaw/fs-safe/docs/file-store.md +369 -0
- package/node_modules/@openclaw/fs-safe/docs/filename.md +110 -0
- package/node_modules/@openclaw/fs-safe/docs/guest.md +152 -0
- package/node_modules/@openclaw/fs-safe/docs/in-place-write.md +81 -0
- package/node_modules/@openclaw/fs-safe/docs/index.md +87 -0
- package/node_modules/@openclaw/fs-safe/docs/install-path.md +216 -0
- package/node_modules/@openclaw/fs-safe/docs/install.md +252 -0
- package/node_modules/@openclaw/fs-safe/docs/json-store.md +240 -0
- package/node_modules/@openclaw/fs-safe/docs/json.md +225 -0
- package/node_modules/@openclaw/fs-safe/docs/local-roots.md +150 -0
- package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.5.md +205 -0
- package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.6.md +48 -0
- package/node_modules/@openclaw/fs-safe/docs/mutation-policy-proof.md +69 -0
- package/node_modules/@openclaw/fs-safe/docs/native-helper.md +193 -0
- package/node_modules/@openclaw/fs-safe/docs/native.md +351 -0
- package/node_modules/@openclaw/fs-safe/docs/output.md +193 -0
- package/node_modules/@openclaw/fs-safe/docs/path-case.md +64 -0
- package/node_modules/@openclaw/fs-safe/docs/path-prefix.md +74 -0
- package/node_modules/@openclaw/fs-safe/docs/path-scope.md +159 -0
- package/node_modules/@openclaw/fs-safe/docs/path-suffix-aliases.md +204 -0
- package/node_modules/@openclaw/fs-safe/docs/path.md +219 -0
- package/node_modules/@openclaw/fs-safe/docs/permissions.md +352 -0
- package/node_modules/@openclaw/fs-safe/docs/positional-read.md +63 -0
- package/node_modules/@openclaw/fs-safe/docs/private-file-store.md +68 -0
- package/node_modules/@openclaw/fs-safe/docs/public-api.md +188 -0
- package/node_modules/@openclaw/fs-safe/docs/quickstart.md +154 -0
- package/node_modules/@openclaw/fs-safe/docs/reading.md +196 -0
- package/node_modules/@openclaw/fs-safe/docs/regular-file.md +193 -0
- package/node_modules/@openclaw/fs-safe/docs/retained-file.md +115 -0
- package/node_modules/@openclaw/fs-safe/docs/root.md +571 -0
- package/node_modules/@openclaw/fs-safe/docs/secret-file.md +318 -0
- package/node_modules/@openclaw/fs-safe/docs/secure-file.md +112 -0
- package/node_modules/@openclaw/fs-safe/docs/security-model.md +272 -0
- package/node_modules/@openclaw/fs-safe/docs/sidecar-lock.md +599 -0
- package/node_modules/@openclaw/fs-safe/docs/staged-file.md +192 -0
- package/node_modules/@openclaw/fs-safe/docs/staged-symlink.md +124 -0
- package/node_modules/@openclaw/fs-safe/docs/store.md +129 -0
- package/node_modules/@openclaw/fs-safe/docs/temp.md +780 -0
- package/node_modules/@openclaw/fs-safe/docs/test-hooks.md +110 -0
- package/node_modules/@openclaw/fs-safe/docs/testing.md +399 -0
- package/node_modules/@openclaw/fs-safe/docs/timing.md +123 -0
- package/node_modules/@openclaw/fs-safe/docs/types.md +217 -0
- package/node_modules/@openclaw/fs-safe/docs/walk.md +283 -0
- package/node_modules/@openclaw/fs-safe/docs/watch.md +251 -0
- package/node_modules/@openclaw/fs-safe/docs/writing.md +662 -0
- package/node_modules/@openclaw/fs-safe/package.json +204 -0
- package/node_modules/@openclaw/fs-safe-darwin-arm64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-darwin-arm64/package.json +29 -0
- package/node_modules/@openclaw/fs-safe-darwin-x64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-darwin-x64/package.json +29 -0
- package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-arm64-gnu/package.json +32 -0
- package/node_modules/@openclaw/fs-safe-linux-arm64-musl/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-arm64-musl/package.json +32 -0
- package/node_modules/@openclaw/fs-safe-linux-x64-gnu/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-x64-gnu/package.json +32 -0
- package/node_modules/@openclaw/fs-safe-linux-x64-musl/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-linux-x64-musl/package.json +32 -0
- package/node_modules/@openclaw/fs-safe-win32-x64-msvc/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-win32-x64-msvc/package.json +29 -0
- package/node_modules/core-util-is/LICENSE +19 -0
- package/node_modules/core-util-is/README.md +3 -0
- package/node_modules/core-util-is/lib/util.js +107 -0
- package/node_modules/core-util-is/package.json +38 -0
- package/node_modules/immediate/LICENSE.txt +20 -0
- package/node_modules/immediate/README.md +93 -0
- package/node_modules/immediate/dist/immediate.js +75 -0
- package/node_modules/immediate/dist/immediate.min.js +1 -0
- package/node_modules/immediate/lib/browser.js +69 -0
- package/node_modules/immediate/lib/index.js +73 -0
- package/node_modules/immediate/package.json +42 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/isarray/.npmignore +1 -0
- package/node_modules/isarray/.travis.yml +4 -0
- package/node_modules/isarray/Makefile +6 -0
- package/node_modules/isarray/README.md +60 -0
- package/node_modules/isarray/component.json +19 -0
- package/node_modules/isarray/index.js +5 -0
- package/node_modules/isarray/package.json +45 -0
- package/node_modules/isarray/test.js +20 -0
- package/node_modules/jszip/.codeclimate.yml +16 -0
- package/node_modules/jszip/.editorconfig +8 -0
- package/node_modules/jszip/.eslintrc.js +43 -0
- package/node_modules/jszip/.github/FUNDING.yml +1 -0
- package/node_modules/jszip/.github/actions/setup/action.yml +23 -0
- package/node_modules/jszip/.github/workflows/benchmark.yml +38 -0
- package/node_modules/jszip/.github/workflows/main.yml +55 -0
- package/node_modules/jszip/CHANGES.md +210 -0
- package/node_modules/jszip/LICENSE.markdown +651 -0
- package/node_modules/jszip/README.markdown +33 -0
- package/node_modules/jszip/dist/jszip.js +11586 -0
- package/node_modules/jszip/dist/jszip.min.js +13 -0
- package/node_modules/jszip/index.d.ts +344 -0
- package/node_modules/jszip/lib/base64.js +106 -0
- package/node_modules/jszip/lib/compressedObject.js +74 -0
- package/node_modules/jszip/lib/compressions.js +14 -0
- package/node_modules/jszip/lib/crc32.js +77 -0
- package/node_modules/jszip/lib/defaults.js +11 -0
- package/node_modules/jszip/lib/external.js +18 -0
- package/node_modules/jszip/lib/flate.js +85 -0
- package/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
- package/node_modules/jszip/lib/generate/index.js +57 -0
- package/node_modules/jszip/lib/index.js +55 -0
- package/node_modules/jszip/lib/license_header.js +11 -0
- package/node_modules/jszip/lib/load.js +88 -0
- package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
- package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
- package/node_modules/jszip/lib/nodejsUtils.js +57 -0
- package/node_modules/jszip/lib/object.js +384 -0
- package/node_modules/jszip/lib/readable-stream-browser.js +10 -0
- package/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
- package/node_modules/jszip/lib/reader/DataReader.js +116 -0
- package/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
- package/node_modules/jszip/lib/reader/StringReader.js +38 -0
- package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
- package/node_modules/jszip/lib/reader/readerFor.js +28 -0
- package/node_modules/jszip/lib/signature.js +7 -0
- package/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
- package/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
- package/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
- package/node_modules/jszip/lib/stream/DataWorker.js +116 -0
- package/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
- package/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
- package/node_modules/jszip/lib/support.js +38 -0
- package/node_modules/jszip/lib/utf8.js +275 -0
- package/node_modules/jszip/lib/utils.js +510 -0
- package/node_modules/jszip/lib/zipEntries.js +261 -0
- package/node_modules/jszip/lib/zipEntry.js +293 -0
- package/node_modules/jszip/lib/zipObject.js +133 -0
- package/node_modules/jszip/package.json +67 -0
- package/node_modules/jszip/sponsors.md +21 -0
- package/node_modules/jszip/tsconfig.json +101 -0
- package/node_modules/jszip/vendor/FileSaver.js +247 -0
- package/node_modules/lie/README.md +62 -0
- package/node_modules/lie/dist/lie.js +350 -0
- package/node_modules/lie/dist/lie.min.js +1 -0
- package/node_modules/lie/dist/lie.polyfill.js +358 -0
- package/node_modules/lie/dist/lie.polyfill.min.js +1 -0
- package/node_modules/lie/lib/browser.js +273 -0
- package/node_modules/lie/lib/index.js +298 -0
- package/node_modules/lie/license.md +7 -0
- package/node_modules/lie/lie.d.ts +244 -0
- package/node_modules/lie/package.json +69 -0
- package/node_modules/lie/polyfill.js +4 -0
- package/node_modules/pako/CHANGELOG.md +164 -0
- package/node_modules/pako/LICENSE +21 -0
- package/node_modules/pako/README.md +191 -0
- package/node_modules/pako/dist/pako.js +6818 -0
- package/node_modules/pako/dist/pako.min.js +1 -0
- package/node_modules/pako/dist/pako_deflate.js +3997 -0
- package/node_modules/pako/dist/pako_deflate.min.js +1 -0
- package/node_modules/pako/dist/pako_inflate.js +3300 -0
- package/node_modules/pako/dist/pako_inflate.min.js +1 -0
- package/node_modules/pako/index.js +14 -0
- package/node_modules/pako/lib/deflate.js +400 -0
- package/node_modules/pako/lib/inflate.js +423 -0
- package/node_modules/pako/lib/utils/common.js +105 -0
- package/node_modules/pako/lib/utils/strings.js +187 -0
- package/node_modules/pako/lib/zlib/README +59 -0
- package/node_modules/pako/lib/zlib/adler32.js +51 -0
- package/node_modules/pako/lib/zlib/constants.js +68 -0
- package/node_modules/pako/lib/zlib/crc32.js +59 -0
- package/node_modules/pako/lib/zlib/deflate.js +1874 -0
- package/node_modules/pako/lib/zlib/gzheader.js +58 -0
- package/node_modules/pako/lib/zlib/inffast.js +345 -0
- package/node_modules/pako/lib/zlib/inflate.js +1556 -0
- package/node_modules/pako/lib/zlib/inftrees.js +343 -0
- package/node_modules/pako/lib/zlib/messages.js +32 -0
- package/node_modules/pako/lib/zlib/trees.js +1222 -0
- package/node_modules/pako/lib/zlib/zstream.js +47 -0
- package/node_modules/pako/package.json +44 -0
- package/node_modules/process-nextick-args/index.js +45 -0
- package/node_modules/process-nextick-args/license.md +19 -0
- package/node_modules/process-nextick-args/package.json +25 -0
- package/node_modules/process-nextick-args/readme.md +18 -0
- package/node_modules/readable-stream/.travis.yml +34 -0
- package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- package/node_modules/readable-stream/GOVERNANCE.md +136 -0
- package/node_modules/readable-stream/LICENSE +47 -0
- package/node_modules/readable-stream/README.md +58 -0
- package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
- package/node_modules/readable-stream/duplex-browser.js +1 -0
- package/node_modules/readable-stream/duplex.js +1 -0
- package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
- package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
- package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
- package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
- package/node_modules/readable-stream/lib/_stream_writable.js +685 -0
- package/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- package/node_modules/readable-stream/package.json +52 -0
- package/node_modules/readable-stream/passthrough.js +1 -0
- package/node_modules/readable-stream/readable-browser.js +7 -0
- package/node_modules/readable-stream/readable.js +19 -0
- package/node_modules/readable-stream/transform.js +1 -0
- package/node_modules/readable-stream/writable-browser.js +1 -0
- package/node_modules/readable-stream/writable.js +8 -0
- package/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/index.js +62 -0
- package/node_modules/safe-buffer/package.json +37 -0
- package/node_modules/setimmediate/LICENSE.txt +20 -0
- package/node_modules/setimmediate/package.json +30 -0
- package/node_modules/setimmediate/setImmediate.js +186 -0
- package/node_modules/string_decoder/.travis.yml +50 -0
- package/node_modules/string_decoder/LICENSE +48 -0
- package/node_modules/string_decoder/README.md +47 -0
- package/node_modules/string_decoder/lib/string_decoder.js +296 -0
- package/node_modules/string_decoder/package.json +31 -0
- package/node_modules/typebox/build/compile/code.mjs +1 -2
- package/node_modules/typebox/build/compile/validator.mjs +5 -1
- package/node_modules/typebox/build/format/iri.mjs +16 -9
- package/node_modules/typebox/build/guard/emit.mjs +2 -2
- package/node_modules/typebox/build/guard/guard.d.mts +7 -5
- package/node_modules/typebox/build/guard/guard.mjs +14 -9
- package/node_modules/typebox/build/guard/index.mjs +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
- package/node_modules/typebox/build/guard/unicode/unicode_segment.mjs +165 -0
- package/node_modules/typebox/build/schema/build.mjs +2 -3
- package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
- package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
- package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
- package/node_modules/typebox/build/schema/parse.mjs +3 -0
- package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
- package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
- package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
- package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
- package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
- package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
- package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
- package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
- package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
- package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +3 -1
- package/node_modules/util-deprecate/History.md +16 -0
- package/node_modules/util-deprecate/LICENSE +24 -0
- package/node_modules/util-deprecate/README.md +53 -0
- package/node_modules/util-deprecate/browser.js +67 -0
- package/node_modules/util-deprecate/node.js +6 -0
- package/node_modules/util-deprecate/package.json +27 -0
- package/openclaw.plugin.json +64 -14
- package/package.json +8 -6
- package/dist/.setup/accounts-DmU0xYPx.mjs +0 -211
- package/dist/.setup/app-registration-Bv4mvauR.mjs +0 -204
- package/dist/.setup/audio-preflight.runtime-BBfC9elv.mjs +0 -7
- package/dist/.setup/channel-DsndN1sp.mjs +0 -3094
- package/dist/.setup/channel.runtime-tihKUwVI.mjs +0 -250
- package/dist/.setup/chat-BlvUjdN9.mjs +0 -285
- package/dist/.setup/client-DCwNVFZg.mjs +0 -373
- package/dist/.setup/conversation-id-H-lUayji.mjs +0 -177
- package/dist/.setup/doctor-contract-w6FpMypv.mjs +0 -465
- package/dist/.setup/monitor-OTT7VckU.mjs +0 -204
- package/dist/.setup/monitor.account-D5j6WomE.mjs +0 -7313
- package/dist/.setup/probe-bdidyhAn.mjs +0 -219
- package/dist/.setup/reply-delivery-result-CRIHpSze.mjs +0 -3668
- package/dist/.setup/rolldown-runtime-8H4AJuhK.mjs +0 -14
- package/dist/.setup/secret-contract-BCpDLdg9.mjs +0 -73
- package/dist/.setup/secret-contract-api-jmCkqVLc.mjs +0 -3
- package/dist/.setup/security-audit-CmiKKfU-.mjs +0 -23
- package/dist/.setup/security-audit-shared-CK5rVR-1.mjs +0 -34
- package/dist/.setup/session-conversation-ZC6TC1zk.mjs +0 -27
- package/dist/.setup/setup-api-VAUkwtTi.mjs +0 -3
- package/dist/.setup/subagent-hooks-BBfF1hZk.mjs +0 -160
- package/dist/.setup/thread-bindings-BiL1wGqK.mjs +0 -229
- package/node_modules/mdast-util-from-markdown/node_modules/debug/LICENSE +0 -20
- package/node_modules/mdast-util-from-markdown/node_modules/debug/README.md +0 -481
- package/node_modules/mdast-util-from-markdown/node_modules/debug/package.json +0 -64
- package/node_modules/mdast-util-from-markdown/node_modules/debug/src/browser.js +0 -272
- package/node_modules/mdast-util-from-markdown/node_modules/debug/src/common.js +0 -292
- package/node_modules/mdast-util-from-markdown/node_modules/debug/src/index.js +0 -10
- package/node_modules/mdast-util-from-markdown/node_modules/debug/src/node.js +0 -263
- package/node_modules/mdast-util-from-markdown/node_modules/ms/index.js +0 -162
- package/node_modules/mdast-util-from-markdown/node_modules/ms/license.md +0 -21
- package/node_modules/mdast-util-from-markdown/node_modules/ms/package.json +0 -38
- package/node_modules/mdast-util-from-markdown/node_modules/ms/readme.md +0 -59
- package/node_modules/mdast-util-gfm-table/node_modules/@types/mdast/LICENSE +0 -21
- package/node_modules/mdast-util-gfm-table/node_modules/@types/mdast/README.md +0 -15
- package/node_modules/mdast-util-gfm-table/node_modules/@types/mdast/index.d.ts +0 -1123
- package/node_modules/mdast-util-gfm-table/node_modules/@types/mdast/package.json +0 -47
- package/node_modules/mdast-util-gfm-table/node_modules/@types/unist/LICENSE +0 -21
- package/node_modules/mdast-util-gfm-table/node_modules/@types/unist/README.md +0 -15
- package/node_modules/mdast-util-gfm-table/node_modules/@types/unist/index.d.ts +0 -119
- package/node_modules/mdast-util-gfm-table/node_modules/@types/unist/package.json +0 -60
- package/node_modules/mdast-util-gfm-table/node_modules/character-entities/index.d.ts +0 -6
- package/node_modules/mdast-util-gfm-table/node_modules/character-entities/index.js +0 -2132
- package/node_modules/mdast-util-gfm-table/node_modules/character-entities/package.json +0 -78
- package/node_modules/mdast-util-gfm-table/node_modules/character-entities/readme.md +0 -152
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/index.d.ts +0 -13
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/index.dom.d.ts +0 -6
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/index.dom.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/index.dom.js +0 -32
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/index.js +0 -19
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/package.json +0 -90
- package/node_modules/mdast-util-gfm-table/node_modules/decode-named-character-reference/readme.md +0 -136
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/dist/index.js +0 -86
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/dist/index.min.js +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/dist/index.mjs +0 -84
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/index.d.ts +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/license +0 -21
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/lite/index.d.ts +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/lite/index.js +0 -31
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/lite/index.min.js +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/lite/index.mjs +0 -29
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/package.json +0 -57
- package/node_modules/mdast-util-gfm-table/node_modules/dequal/readme.md +0 -112
- package/node_modules/mdast-util-gfm-table/node_modules/devlop/lib/default.js +0 -9
- package/node_modules/mdast-util-gfm-table/node_modules/devlop/lib/development.d.ts +0 -84
- package/node_modules/mdast-util-gfm-table/node_modules/devlop/lib/development.js +0 -238
- package/node_modules/mdast-util-gfm-table/node_modules/devlop/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/devlop/package.json +0 -80
- package/node_modules/mdast-util-gfm-table/node_modules/devlop/readme.md +0 -360
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string/index.d.ts +0 -2
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string/index.js +0 -5
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string/lib/index.d.ts +0 -31
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string/lib/index.js +0 -108
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string/package.json +0 -78
- package/node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string/readme.md +0 -218
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/dev/index.d.ts +0 -195
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/dev/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/dev/index.js +0 -252
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/index.d.ts +0 -195
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/index.js +0 -246
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/package.json +0 -57
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-character/readme.md +0 -446
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/dev/index.d.ts +0 -18
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/dev/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/dev/index.js +0 -38
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/index.d.ts +0 -18
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/index.js +0 -27
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/package.json +0 -59
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-classify-character/readme.md +0 -205
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts +0 -16
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/dev/index.js +0 -42
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts +0 -16
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/index.js +0 -32
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/package.json +0 -59
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-numeric-character-reference/readme.md +0 -184
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/dev/index.d.ts +0 -14
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/dev/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/dev/index.js +0 -53
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/index.d.ts +0 -14
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/index.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/index.js +0 -45
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/package.json +0 -63
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-decode-string/readme.md +0 -179
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/codes.d.ts +0 -139
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/codes.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/codes.js +0 -158
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/constants.d.ts +0 -37
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/constants.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/constants.js +0 -44
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/default.d.ts +0 -5
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/default.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/default.js +0 -4
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/types.d.ts +0 -106
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/types.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/types.js +0 -453
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/values.d.ts +0 -102
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/values.d.ts.map +0 -1
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/lib/values.js +0 -109
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/package.json +0 -43
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-symbol/readme.md +0 -168
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-types/index.d.ts +0 -1312
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-types/index.js +0 -2
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-types/license +0 -22
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-types/package.json +0 -71
- package/node_modules/mdast-util-gfm-table/node_modules/micromark-util-types/readme.md +0 -151
- package/node_modules/mdast-util-gfm-table/node_modules/unist-util-visit/license +0 -22
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/dist/index.js +0 -86
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/dist/index.min.js +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/dist/index.mjs +0 -84
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/index.d.ts +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/license +0 -21
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/lite/index.d.ts +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/lite/index.js +0 -31
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/lite/index.min.js +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/lite/index.mjs +0 -29
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/package.json +0 -57
- package/node_modules/micromark-extension-gfm-table/node_modules/dequal/readme.md +0 -112
- package/node_modules/micromark-extension-gfm-table/node_modules/devlop/lib/default.js +0 -9
- package/node_modules/micromark-extension-gfm-table/node_modules/devlop/lib/development.d.ts +0 -84
- package/node_modules/micromark-extension-gfm-table/node_modules/devlop/lib/development.js +0 -238
- package/node_modules/micromark-extension-gfm-table/node_modules/devlop/license +0 -22
- package/node_modules/micromark-extension-gfm-table/node_modules/devlop/package.json +0 -80
- package/node_modules/micromark-extension-gfm-table/node_modules/devlop/readme.md +0 -360
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/dev/index.d.ts +0 -37
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/dev/index.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/dev/index.js +0 -67
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/index.d.ts +0 -37
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/index.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/index.js +0 -64
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/license +0 -22
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/package.json +0 -55
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space/readme.md +0 -225
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/dev/index.d.ts +0 -195
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/dev/index.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/dev/index.js +0 -252
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/index.d.ts +0 -195
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/index.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/index.js +0 -246
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/license +0 -22
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/package.json +0 -57
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character/readme.md +0 -446
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/codes.d.ts +0 -139
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/codes.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/codes.js +0 -158
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/constants.d.ts +0 -37
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/constants.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/constants.js +0 -44
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/default.d.ts +0 -5
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/default.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/default.js +0 -4
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/types.d.ts +0 -106
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/types.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/types.js +0 -453
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/values.d.ts +0 -102
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/values.d.ts.map +0 -1
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/lib/values.js +0 -109
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/license +0 -22
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/package.json +0 -43
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol/readme.md +0 -168
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-types/index.d.ts +0 -1312
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-types/index.js +0 -2
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-types/license +0 -22
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-types/package.json +0 -71
- package/node_modules/micromark-extension-gfm-table/node_modules/micromark-util-types/readme.md +0 -151
- package/node_modules/typebox/build/guard/string.mjs +0 -168
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/debug/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/debug/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/debug/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/debug/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/mdast/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/mdast/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/mdast/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/mdast/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/ms/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/ms/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/ms/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/ms/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/unist/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/unist/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/unist/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/unist/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/dist/src/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/dist/src/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/dist/src/index.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/dist/src/promisify.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/dist/src/promisify.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/dist/src/promisify.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/src/index.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/agent-base → agent-base}/src/promisify.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/bench.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/abort.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/async.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/defer.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/iterate.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/readable_asynckit.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/readable_parallel.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/readable_serial.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/readable_serial_ordered.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/state.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/streamify.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/lib/terminator.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/parallel.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/serial.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/serialOrdered.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/asynckit → asynckit}/stream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/MIGRATION_GUIDE.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/axios.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/axios.min.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/axios.min.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/browser/axios.cjs +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/esm/axios.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/esm/axios.min.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/esm/axios.min.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/dist/node/axios.cjs +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/index.d.cts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/adapters/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/adapters/adapters.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/adapters/fetch.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/adapters/http.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/adapters/xhr.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/axios.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/cancel/CancelToken.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/cancel/CanceledError.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/cancel/isCancel.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/Axios.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/AxiosError.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/AxiosHeaders.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/InterceptorManager.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/buildFullPath.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/dispatchRequest.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/mergeConfig.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/methodList.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/setFormDataHeaders.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/settle.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/core/transformData.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/defaults/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/defaults/transitional.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/env/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/env/classes/FormData.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/env/data.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/AxiosTransformStream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/AxiosURLSearchParams.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/Http2Sessions.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/HttpStatusCode.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/ZlibHeaderTransformStream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/bind.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/buildURL.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/callbackify.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/combineURLs.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/composeSignals.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/cookies.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/deprecatedMethod.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/estimateDataURLDecodedBytes.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/formDataToJSON.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/formDataToStream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/fromDataURI.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/isAbsoluteURL.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/isAxiosError.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/isURLSameOrigin.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/normalizeURLForProtocolCheck.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/null.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/parseHeaders.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/parseProtocol.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/progressEventReducer.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/readBlob.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/resolveConfig.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/sanitizeHeaderValue.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/shouldBypassProxy.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/speedometer.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/spread.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/throttle.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/toFormData.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/toURLEncodedForm.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/trackStream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/helpers/validator.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/browser/classes/Blob.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/browser/classes/FormData.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/browser/classes/URLSearchParams.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/browser/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/common/utils.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/node/classes/Buffer.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/node/classes/FormData.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/node/classes/URLSearchParams.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/platform/node/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/lib/utils.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/axios → axios}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/actualApply.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/actualApply.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/applyBind.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/applyBind.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/functionApply.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/functionApply.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/functionCall.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/functionCall.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/reflectApply.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/reflectApply.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bind-apply-helpers → call-bind-apply-helpers}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/call-bound → call-bound}/tsconfig.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/combined-stream → combined-stream}/License +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/combined-stream → combined-stream}/Readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/combined-stream → combined-stream}/lib/combined_stream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/combined-stream → combined-stream}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/debug → debug}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/debug → debug}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/debug → debug}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/debug → debug}/src/browser.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/debug → debug}/src/common.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/debug → debug}/src/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/debug → debug}/src/node.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.dom.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.dom.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.dom.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/delayed-stream → delayed-stream}/.npmignore +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/delayed-stream → delayed-stream}/License +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/delayed-stream → delayed-stream}/Makefile +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/delayed-stream → delayed-stream}/Readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/delayed-stream → delayed-stream}/lib/delayed_stream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/delayed-stream → delayed-stream}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/dist/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/dist/index.min.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/dist/index.mjs +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.min.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.mjs +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/lib/default.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/lib/development.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/lib/development.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/get.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/get.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/set.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/set.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/test/get.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/test/set.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/dunder-proto → dunder-proto}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-define-property → es-define-property}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/eval.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/eval.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/range.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/range.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/ref.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/ref.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/syntax.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/syntax.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/type.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/type.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/uri.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-errors → es-errors}/uri.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/RequireObjectCoercible.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/RequireObjectCoercible.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/ToObject.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/ToObject.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/isObject.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/isObject.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-object-atoms → es-object-atoms}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/es-set-tostringtag → es-set-tostringtag}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/follow-redirects → follow-redirects}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/follow-redirects → follow-redirects}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/follow-redirects → follow-redirects}/debug.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/follow-redirects → follow-redirects}/http.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/follow-redirects → follow-redirects}/https.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/follow-redirects → follow-redirects}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/follow-redirects → follow-redirects}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/License +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/lib/browser.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/lib/form_data.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/lib/populate.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/form-data → form-data}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/.github/SECURITY.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/implementation.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/test/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/function-bind → function-bind}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-intrinsic → get-intrinsic}/test/GetIntrinsic.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/Object.getPrototypeOf.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/Object.getPrototypeOf.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/Reflect.getPrototypeOf.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/Reflect.getPrototypeOf.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/get-proto → get-proto}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/gOPD.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/gOPD.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/gopd → gopd}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/shams.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/shams.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/test/shams/core-js.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/test/shams/get-own-property-symbols.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/test/tests.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-symbols → has-symbols}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/shams.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/shams.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/test/shams/core-js.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/test/shams/get-own-property-symbols.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/test/tests.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/has-tostringtag → has-tostringtag}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/eslint.config.mjs +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/hasown → hasown}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/agent.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/agent.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/agent.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/index.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/parse-proxy-response.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/parse-proxy-response.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/dist/parse-proxy-response.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/https-proxy-agent → https-proxy-agent}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.identity → lodash.identity}/LICENSE.txt +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.identity → lodash.identity}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.identity → lodash.identity}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.identity → lodash.identity}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.merge → lodash.merge}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.merge → lodash.merge}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.merge → lodash.merge}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.merge → lodash.merge}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.pickby → lodash.pickby}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.pickby → lodash.pickby}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.pickby → lodash.pickby}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/lodash.pickby → lodash.pickby}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/types.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/umd/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/umd/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/umd/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/long → long}/umd/types.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/longest-streak → longest-streak}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/longest-streak → longest-streak}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/longest-streak → longest-streak}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/longest-streak → longest-streak}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/longest-streak → longest-streak}/readme.md +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/markdown-table → markdown-table}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/markdown-table → markdown-table}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/markdown-table → markdown-table}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → markdown-table}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/markdown-table → markdown-table}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/markdown-table → markdown-table}/readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/abs.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/abs.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/constants/maxArrayLength.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/constants/maxArrayLength.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/constants/maxSafeInteger.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/constants/maxSafeInteger.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/constants/maxValue.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/constants/maxValue.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/floor.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/floor.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isFinite.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isFinite.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isInteger.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isInteger.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isNaN.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isNaN.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isNegativeZero.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/isNegativeZero.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/max.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/max.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/min.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/min.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/mod.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/mod.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/pow.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/pow.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/round.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/round.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/sign.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/sign.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/math-intrinsics → math-intrinsics}/tsconfig.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-phrasing → mdast-util-phrasing}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-phrasing → mdast-util-phrasing}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-phrasing → mdast-util-phrasing}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-phrasing → mdast-util-phrasing}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-phrasing → mdast-util-phrasing}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-phrasing → mdast-util-phrasing}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-phrasing → mdast-util-phrasing}/readme.md +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/configure.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/configure.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/configure.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/blockquote.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/blockquote.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/blockquote.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/break.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/break.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/break.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/code.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/code.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/code.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/definition.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/definition.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/definition.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/emphasis.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/emphasis.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/emphasis.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/heading.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/heading.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/heading.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/html.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/html.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/html.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/image-reference.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/image-reference.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/image-reference.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/image.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/image.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/image.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/inline-code.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/inline-code.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/inline-code.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/link-reference.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/link-reference.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/link-reference.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/link.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/link.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/link.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/list-item.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/list-item.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/list-item.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/list.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/list.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/list.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/paragraph.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/paragraph.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/paragraph.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/root.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/root.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/root.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/strong.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/strong.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/strong.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/text.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/text.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/thematic-break.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/thematic-break.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/handle/thematic-break.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/join.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/join.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/join.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/types.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/types.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/unsafe.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/unsafe.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/unsafe.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/association.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/association.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/association.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet-ordered.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet-ordered.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet-ordered.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet-other.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet-other.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet-other.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-bullet.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-emphasis.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-emphasis.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-emphasis.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-fence.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-fence.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-fence.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-list-item-indent.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-list-item-indent.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-list-item-indent.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-quote.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-quote.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-quote.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-rule-repetition.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-rule-repetition.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-rule-repetition.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-rule.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-rule.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-rule.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-strong.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-strong.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/check-strong.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/compile-pattern.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/compile-pattern.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/compile-pattern.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/container-flow.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/container-flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/container-flow.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/container-phrasing.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/container-phrasing.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/container-phrasing.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/emphasis-strong-marker.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/emphasis-strong-marker.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/encode-character-reference.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/encode-character-reference.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/encode-character-reference.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/encode-info.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/encode-info.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/encode-info.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-code-as-indented.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-code-as-indented.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-code-as-indented.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-heading-as-setext.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-heading-as-setext.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-heading-as-setext.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-link-as-autolink.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-link-as-autolink.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/format-link-as-autolink.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/indent-lines.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/indent-lines.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/indent-lines.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/pattern-in-scope.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/pattern-in-scope.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/pattern-in-scope.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/safe.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/safe.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/safe.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/track.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/track.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/lib/util/track.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → mdast-util-to-markdown}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/mdast-util-to-markdown → mdast-util-to-markdown}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/compile.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/compile.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/compile.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/constructs.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/constructs.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/constructs.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/create-tokenizer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/create-tokenizer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/create-tokenizer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/document.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/document.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/document.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/parse.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/parse.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/parse.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/postprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/postprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/postprocess.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/preprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/preprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/preprocess.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/stream.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/stream.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/stream.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/compile.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/compile.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/compile.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/constructs.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/constructs.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/constructs.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/create-tokenizer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/create-tokenizer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/create-tokenizer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/document.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/document.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/document.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/parse.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/parse.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/parse.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/postprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/postprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/postprocess.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/preprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/preprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/preprocess.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/markdown-table → micromark}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/stream.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/stream.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/stream.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/attention.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/attention.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/attention.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/autolink.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/autolink.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/autolink.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/blank-line.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/blank-line.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/blank-line.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/block-quote.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/block-quote.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/block-quote.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-reference.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-reference.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-reference.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-fenced.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-fenced.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-fenced.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-indented.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-indented.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-indented.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/definition.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/definition.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/definition.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/hard-break-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/hard-break-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/hard-break-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/heading-atx.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/heading-atx.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/heading-atx.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-end.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-end.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-end.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-image.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-image.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-image.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-link.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-link.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-link.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/line-ending.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/line-ending.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/line-ending.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/list.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/list.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/list.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/setext-underline.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/setext-underline.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/setext-underline.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/thematic-break.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/thematic-break.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/thematic-break.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/attention.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/attention.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/attention.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/autolink.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/autolink.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/autolink.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/blank-line.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/blank-line.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/blank-line.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/block-quote.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/block-quote.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/block-quote.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-reference.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-reference.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-reference.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-fenced.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-fenced.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-fenced.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-indented.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-indented.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-indented.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/definition.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/definition.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/definition.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/hard-break-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/hard-break-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/hard-break-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/heading-atx.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/heading-atx.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/heading-atx.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-end.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-end.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-end.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-image.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-image.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-image.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-link.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-link.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-link.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/line-ending.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/line-ending.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/line-ending.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/list.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/list.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/list.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/setext-underline.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/setext-underline.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/setext-underline.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/thematic-break.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/thematic-break.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/thematic-break.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-core-commonmark}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-destination}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-label}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-space}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-factory-title}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-factory-whitespace}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-character}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-chunked}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-classify-character}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-combine-extensions}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-decode-numeric-character-reference}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-decode-string}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-encode}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-html-tag-name}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-normalize-identifier}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-resolve-all}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-sanitize-uri}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/lib/splice-buffer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/lib/splice-buffer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/lib/splice-buffer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/lib/splice-buffer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/lib/splice-buffer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/lib/splice-buffer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-subtokenize}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/codes.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/codes.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/codes.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/constants.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/constants.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/constants.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/default.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/default.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/default.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/types.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/types.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/types.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/values.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/values.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/values.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark-util-symbol}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/decode-named-character-reference → micromark-util-types}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-db → mime-db}/HISTORY.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-db → mime-db}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-db → mime-db}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-db → mime-db}/db.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-db → mime-db}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-db → mime-db}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-types → mime-types}/HISTORY.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-types → mime-types}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-types → mime-types}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-types → mime-types}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/mime-types → mime-types}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ms → ms}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ms → ms}/license.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ms → ms}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ms → ms}/readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/example/all.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/example/circular.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/example/fn.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/example/inspect.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/package-support.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/readme.markdown +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/bigint.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/browser/dom.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/circular.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/deep.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/element.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/err.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/fakes.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/fn.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/global.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/has.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/holes.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/indent-option.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/inspect.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/lowbyte.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/number.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/quoteStyle.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/toStringTag.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/undef.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test/values.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/test-core-js.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/object-inspect → object-inspect}/util.inspect.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/light/protobuf.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/light/protobuf.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/light/protobuf.min.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/light/protobuf.min.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/minimal/protobuf.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/minimal/protobuf.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/minimal/protobuf.min.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/minimal/protobuf.min.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/protobuf.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/protobuf.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/protobuf.min.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/dist/protobuf.min.js.map +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/debug/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/debug/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/descriptor/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/descriptor/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/descriptor/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/descriptor.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/descriptor.generated.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/descriptor.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/protojson.LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/protojson.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/protojson.generated.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/protojson.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/textformat.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/textformat.generated.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/ext/textformat.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/api/annotations.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/api/annotations.proto +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/api/http.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/api/http.proto +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/api.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/api.proto +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/compiler/plugin.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/compiler/plugin.proto +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/descriptor.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/descriptor.proto +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/source_context.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/source_context.proto +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/type.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/google/protobuf/type.proto +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/light.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/light.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/minimal.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/minimal.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/common.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/converter.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/decoder.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/encoder.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/enum.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/field.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/index-light.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/index-minimal.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/mapfield.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/message.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/method.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/namespace.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/object.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/oneof.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/parse.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/reader.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/reader_buffer.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/root.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/roots.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/rpc/service.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/rpc.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/service.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/tokenize.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/type.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/types.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/typescript.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/aspromise.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/aspromise.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/base64.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/base64.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/codegen.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/codegen.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/eventemitter.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/eventemitter.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/fetch.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/fetch.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/float.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/float.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/fs.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/longbits.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/minimal.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/path.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/path.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/patterns.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/pool.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/pool.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/utf8.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util/utf8.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/util.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/verifier.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/wrappers.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/writer.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/src/writer_buffer.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/protobufjs → protobufjs}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/proxy-from-env → proxy-from-env}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/proxy-from-env → proxy-from-env}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/proxy-from-env → proxy-from-env}/index.cjs +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/proxy-from-env → proxy-from-env}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/proxy-from-env → proxy-from-env}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/.editorconfig +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/.github/SECURITY.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/.github/THREAT_MODEL.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/LICENSE.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/dist/qs.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/eslint.config.mjs +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/lib/formats.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/lib/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/lib/parse.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/lib/stringify.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/lib/utils.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/test/empty-keys-cases.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/test/parse.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/test/stringify.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/qs → qs}/test/utils.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/.editorconfig +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel → side-channel}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/.editorconfig +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/list.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-list → side-channel-list}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/.editorconfig +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-map → side-channel-map}/tsconfig.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/.editorconfig +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/.eslintrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/.github/FUNDING.yml +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/.nycrc +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/CHANGELOG.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/index.d.ts +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/test/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/side-channel-weakmap → side-channel-weakmap}/tsconfig.json +0 -0
- /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/lib/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-is → unist-util-is}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/readme.md +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit → unist-util-visit}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit → unist-util-visit}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit → unist-util-visit}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit → unist-util-visit}/lib/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit → unist-util-visit}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/character-entities → unist-util-visit}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit → unist-util-visit}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit → unist-util-visit}/readme.md +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/color.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/color.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/color.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/color.node.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/color.node.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/color.node.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/unist-util-visit-parents → unist-util-visit-parents}/readme.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/LICENSE +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/README.md +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/browser.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/index.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/buffer-util.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/constants.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/event-target.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/extension.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/limiter.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/permessage-deflate.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/receiver.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/sender.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/stream.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/subprotocol.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/validation.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/websocket-server.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/lib/websocket.js +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/package.json +0 -0
- /package/node_modules/{@larksuiteoapi/node-sdk/node_modules/ws → ws}/wrapper.mjs +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/zwitch → zwitch}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/zwitch → zwitch}/index.js +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/zwitch → zwitch}/license +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/zwitch → zwitch}/package.json +0 -0
- /package/node_modules/{mdast-util-gfm-table/node_modules/zwitch → zwitch}/readme.md +0 -0
|
@@ -0,0 +1,1289 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.21.1 - 2026-09-27
|
|
6
|
+
|
|
7
|
+
### Fixes
|
|
8
|
+
|
|
9
|
+
- **Linux without `openat2`:** native opens now follow in-root relative symlinks exactly as `RESOLVE_BENEATH` does, rejecting absolute links, `..` escapes, procfs and `nosymfollow` links, and chains longer than 40. Denial and symlink policies report the same errors as the `openat2` path. Links inside sticky world-writable directories are refused. ([#717](https://github.com/openclaw/fs-safe/pull/717))
|
|
10
|
+
- **Deny policies on case-insensitive filesystems:** `denyMutations` now denies creating a not-yet-existing case or Unicode-normalization alias of a denied path (for example `case.txt` when `Case.txt` is denied on APFS, NTFS or casefold ext4). Where a filesystem's sensitivity cannot be proven, Unicode-equivalent names are denied conservatively. ([#720](https://github.com/openclaw/fs-safe/pull/720))
|
|
11
|
+
- **Directory listings:** `list()`, `entries()` and `walk()` reject names that are not valid UTF-8 with `invalid-path` instead of decoding them lossily, which could collide with a real `U+FFFD` name and report another entry's metadata. ([#715](https://github.com/openclaw/fs-safe/pull/715))
|
|
12
|
+
- **ZIP admission:** entries that differ only by case or Unicode normalization are rejected during preflight and member reads, matching extraction's collision policy. ([#716](https://github.com/openclaw/fs-safe/pull/716))
|
|
13
|
+
- **Atomic restore:** when a metadata call fails with `EIO` after the destination was truncated, restore-original writes the original bytes back through the retained, identity-verified descriptor instead of leaving the file empty. ([#718](https://github.com/openclaw/fs-safe/pull/718))
|
|
14
|
+
- **Lock and prune cleanup:** cleanup decisions compare exact bigint file identities. Legacy numeric receipts with IDs above 2^53 are refused instead of risking removal of the wrong file. ([#719](https://github.com/openclaw/fs-safe/pull/719))
|
|
15
|
+
- **Watch overflow:** subscriptions no longer publish spurious whole-scope overflow invalidations for excluded or unselected paths or for slow reconcile passes. macOS streams use OS-level exclusion paths and anchor-scoped streams, and Windows uses a 1 MiB change buffer on local volumes. Genuine OS event drops still invalidate. ([#724](https://github.com/openclaw/fs-safe/pull/724))
|
|
16
|
+
- **Mutation authority:** reject synchronous and asynchronous generator callback results before mutation, so lazy authority checks cannot be skipped. ([#711](https://github.com/openclaw/fs-safe/pull/711))
|
|
17
|
+
- **Synchronous atomic writes:** reject deferred `beforeRename` hooks before publication and clean up the owned stage. ([#728](https://github.com/openclaw/fs-safe/pull/728))
|
|
18
|
+
- **Copy publication callbacks:** reject deferred generator observers in `Root.copyIn()` while preserving the completed destination and source bytes. ([#726](https://github.com/openclaw/fs-safe/pull/726))
|
|
19
|
+
- **Native move diagnostics:** no-clobber `Root.move()` keeps the original native loader error as its cause, including missing libraries or incompatible glibc versions. ([#709](https://github.com/openclaw/fs-safe/pull/709))
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- **Watch polling interval:** `pollIntervalMs` sets the scan interval whenever polling is the selected transport, including `mode: "auto"` falling back to polling, without changing the events reconcile interval. ([#723](https://github.com/openclaw/fs-safe/pull/723))
|
|
24
|
+
|
|
25
|
+
### Performance
|
|
26
|
+
|
|
27
|
+
- **Linux directory cloning:** reuse the admitted filesystem type when creating clone sources and cloning trees, avoiding a duplicate filesystem probe and allocation per operation. ([#732](https://github.com/openclaw/fs-safe/pull/732))
|
|
28
|
+
|
|
29
|
+
## 0.21.0 - 2026-09-26
|
|
30
|
+
|
|
31
|
+
### Highlights
|
|
32
|
+
|
|
33
|
+
- **Guarded filesystem observation:** `@openclaw/fs-safe/watch` observes literal entry and tree scopes beneath an admitted Root and delivers bounded advisory invalidations; guarded scans stay authoritative. One shared Rust event thread per process uses inotify, FSEvents and ReadDirectoryChangesW on Linux, macOS and Windows, sleeps while idle, and falls back to portable polling under `mode: "auto"`. Subscriptions become ready after one baseline scan, stay available under sustained writes, fence stale generations on `setScopes()`, join native work on `close()`, and support `persistent: false` so one-shot Node commands can exit. Thanks @vincentkoc. ([#690](https://github.com/openclaw/fs-safe/pull/690), [#695](https://github.com/openclaw/fs-safe/pull/695), [#697](https://github.com/openclaw/fs-safe/pull/697), [#703](https://github.com/openclaw/fs-safe/pull/703), [#707](https://github.com/openclaw/fs-safe/pull/707))
|
|
34
|
+
- **Linux user namespaces:** private temp workspaces now work beneath unmapped ancestors, including systemd user services with `PrivateUsers=true`, while UID/GID mappings and ancestor permissions are still rechecked. ([#693](https://github.com/openclaw/fs-safe/pull/693))
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
- **Revocable atomic writes:** atomic replacement can recheck caller authority before new effects and report retained destination identities for partial writes and publication, without treating receipts as permission to roll back. ([#694](https://github.com/openclaw/fs-safe/pull/694))
|
|
39
|
+
- **Root walking:** `symlinkPolicy: "include"` reports links without following their targets, preserving sorted traversal, entry budgets, and the existing skip/follow result types. Directory-to-symlink substitutions fail before descent. ([#692](https://github.com/openclaw/fs-safe/pull/692))
|
|
40
|
+
- **Windows file retirement:** the advanced surface can retire existing NTFS files through a retained handle, with exact producer identity, current authority, and separate disposition and settlement facts. There is no persistence guarantee. ([#706](https://github.com/openclaw/fs-safe/pull/706))
|
|
41
|
+
|
|
42
|
+
### Performance
|
|
43
|
+
|
|
44
|
+
- **Temporary filename sanitization:** skip duplicate normalization after reserved-device suffixing while preserving filename admission and fallback rules. ([#689](https://github.com/openclaw/fs-safe/pull/689))
|
|
45
|
+
|
|
46
|
+
### Compatibility
|
|
47
|
+
|
|
48
|
+
- Supplied temp workspace roots must be owned by the effective user and must not be group- or world-writable; use a private per-user root instead of shared `/tmp`. A one-time warning reports host ownership that cannot be verified. ([#693](https://github.com/openclaw/fs-safe/pull/693))
|
|
49
|
+
- On Windows, an events-mode watch holds one handle on each watched Root, so the Root's own ancestor directories cannot be renamed while it is open; renaming inside the Root is unaffected. Use `mode: "poll"` where that matters. ([#697](https://github.com/openclaw/fs-safe/pull/697))
|
|
50
|
+
- `watch()` requires an explicit `mode` (`"auto"`, `"events"` or `"poll"`); `"events"` fails readiness with `helper-unavailable` when no native backend is available, and Bun currently selects polling under `"auto"`. ([#690](https://github.com/openclaw/fs-safe/pull/690))
|
|
51
|
+
|
|
52
|
+
## 0.20.0 - 2026-09-25
|
|
53
|
+
|
|
54
|
+
### Highlights
|
|
55
|
+
|
|
56
|
+
- **Older Linux systems:** when `openat2` is absent (Linux before 5.6) or blocked by seccomp, native operations fall back to a guarded no-follow walk instead of failing with `ENOSYS`. Nested no-clobber moves keep working, and GNU x64/arm64 bindings now target glibc 2.28, so native operations load on RHEL 8-family systems. ([#686](https://github.com/openclaw/fs-safe/pull/686), [#685](https://github.com/openclaw/fs-safe/pull/685); fixes [#572](https://github.com/openclaw/fs-safe/issues/572), [#511](https://github.com/openclaw/fs-safe/issues/511), [#548](https://github.com/openclaw/fs-safe/issues/548))
|
|
57
|
+
- **Path hardening:** trash moves stay inside allowed roots, symlink-parent checks inspect raw segments before dotdot normalization, relative-escape checks recognize either Windows separator and nested escapes, and safe path segments reject Windows reserved device names. Thanks @SebTardif. ([#611](https://github.com/openclaw/fs-safe/pull/611), [#615](https://github.com/openclaw/fs-safe/pull/615), [#614](https://github.com/openclaw/fs-safe/pull/614), [#612](https://github.com/openclaw/fs-safe/pull/612))
|
|
58
|
+
- **ZIP admission per operation:** portable ZIP reads and extraction bind entry selection to the admitted archive, name, and decoder object, and verify payloads against the admitted CRC and size. Substituted, renamed, or replaced decoder entries are rejected. ([#660](https://github.com/openclaw/fs-safe/pull/660))
|
|
59
|
+
|
|
60
|
+
### Features
|
|
61
|
+
|
|
62
|
+
- **Retained symlink publication:** `retainSymlinkInDirectory()` on the advanced surface holds an explicitly identified POSIX symlink through exact-slot no-replace publication and explicit recovery, preserving observed foreign replacements and uncertain outcomes. ([#682](https://github.com/openclaw/fs-safe/pull/682))
|
|
63
|
+
- **Batched Windows ACL facts:** `readOwnerAndDaclBatch()` inspects ordered paths in one isolated native worker or one PowerShell process, with a configurable whole-batch timeout and bounded output. Results are bounded during collection; oversized batches reject with `too-large` before later paths are queried. ([#669](https://github.com/openclaw/fs-safe/pull/669), [#680](https://github.com/openclaw/fs-safe/pull/680))
|
|
64
|
+
- **Atomic text options:** `writeTextAtomic()` forwards the existing `beforeRename` hook and `tempPrefix` option to atomic replacement, keeping its validation and identity checks. ([#580](https://github.com/openclaw/fs-safe/pull/580))
|
|
65
|
+
|
|
66
|
+
### Fixes
|
|
67
|
+
|
|
68
|
+
- **Lock exit cleanup:** leave raw sidecars in place when Windows reports an unknown device or inode, while keeping token-owned cleanup working when the descriptor and path identities legitimately differ (for example on VirtioFS). Thanks @SebTardif. ([#617](https://github.com/openclaw/fs-safe/pull/617))
|
|
69
|
+
- **Retained symlink errors:** preserve uncertain publication outcomes and cached cleanup/recovery failures when inspecting thrown error metadata fails, retaining the original cause without retrying mutations, callbacks, or descriptor closes. ([#684](https://github.com/openclaw/fs-safe/pull/684))
|
|
70
|
+
- **Create collision cleanup:** atomic and streamed creates remove their private stage when the JavaScript fallback observes a competing destination before publication; failures after a link attempt retain their existing recovery evidence. ([#683](https://github.com/openclaw/fs-safe/pull/683))
|
|
71
|
+
|
|
72
|
+
### Compatibility
|
|
73
|
+
|
|
74
|
+
- Safe path segments now reject Windows reserved device names (`CON`, `NUL`, `COM1`, `CON.json`, …) on every platform, because segments are portable identifiers. Temporary filename sanitization still suffixes them (`CON.txt` becomes `CON_.txt`). ([#612](https://github.com/openclaw/fs-safe/pull/612))
|
|
75
|
+
- `assertNoSymlinkParents()` and guarded appends with `rejectSymlinkParents` reject raw spellings whose dotdot segments would cancel a symlink or re-enter the root after leaving it. ([#615](https://github.com/openclaw/fs-safe/pull/615))
|
|
76
|
+
- Without `openat2`, beneath opens report `best-effort` containment instead of `kernel-atomic`, anonymous `O_TMPFILE` opens report `ENOTSUP`, and bounded tree cleanup fails closed with `helper-unavailable` because it requires `RESOLVE_NO_XDEV`. ([#686](https://github.com/openclaw/fs-safe/pull/686))
|
|
77
|
+
- The Linux GNU binding floor is glibc 2.28 for both x64 and arm64 (arm64 was previously built against 2.17), matching Node 22's own Linux baseline. ([#685](https://github.com/openclaw/fs-safe/pull/685))
|
|
78
|
+
|
|
79
|
+
## 0.19.0 - 2026-09-24
|
|
80
|
+
|
|
81
|
+
### Highlights
|
|
82
|
+
|
|
83
|
+
- **Strict secret-file durability:** `createSecretFileAtomic()` accepts `durable: "file"` to require every file flush to succeed, including on `EPERM`; parent-directory synchronization remains best effort. ([#644](https://github.com/openclaw/fs-safe/pull/644))
|
|
84
|
+
- **Literal `~` names:** keep FileStore keys, absolute Root reads, discovered walk entries, and ZIP/TAR entries literal instead of treating them as home-directory shorthand. Reads, writes, removal, pruning, extraction, and durable publication select the intended entry. ([#633](https://github.com/openclaw/fs-safe/pull/633))
|
|
85
|
+
- **Native Unix descriptor safety:** reject negative descriptors in low-level root, query, hash, copy, clone, staging, and cleanup calls without Rust panics or working-directory operations. Modern macOS beneath opens report `EBADF` for negative roots instead of `EIO`. ([#640](https://github.com/openclaw/fs-safe/pull/640), [#643](https://github.com/openclaw/fs-safe/pull/643), [#646](https://github.com/openclaw/fs-safe/pull/646))
|
|
86
|
+
|
|
87
|
+
### Fixes
|
|
88
|
+
|
|
89
|
+
- **Guest directory permissions:** cross-device moves preserve mode `000`, including nested directories, without changing other modes' umask behavior. Restore top-level permissions through the retained directory descriptor and preserve published entries on failure. Thanks @SebTardif. ([#616](https://github.com/openclaw/fs-safe/pull/616))
|
|
90
|
+
- **ReFS clone cleanup:** remove ordinary partial output when Windows rejects the ignore-readonly deletion flag. Keep readonly attributes intact and include cleanup failures in the original clone error; readonly files or other processes' open handles can still leave output behind. ([#648](https://github.com/openclaw/fs-safe/pull/648))
|
|
91
|
+
|
|
92
|
+
### Compatibility and documentation
|
|
93
|
+
|
|
94
|
+
- Secret creation's default and boolean durability options retain their behavior, and `writeSecretFileAtomic()` remains boolean-only. Strict file synchronization preserves existing publication and cleanup semantics: a failure after publication can leave a complete file present. ([#644](https://github.com/openclaw/fs-safe/pull/644))
|
|
95
|
+
- `Root.walk("~")` and `Root.walk("~/dir")` expand home shorthand when iteration starts and return admitted canonical paths relative to the Root. Use `./~/dir` for a literal tilde directory, and prefix returned entry paths with `./` when passing them to another Root method. Relative Root `~/name` inputs still expand home; FileStore keys do not. ([#633](https://github.com/openclaw/fs-safe/pull/633))
|
|
96
|
+
- Guest moves still require OS permission to read mode-000 source directories; they do not widen source permissions. If permission restoration fails after publication, the source and published copy remain for caller reconciliation. ([#616](https://github.com/openclaw/fs-safe/pull/616))
|
|
97
|
+
- Clarify that `Root.append()` and `openWritable()` creation modes remain subject to the process umask and do not chmod existing files. This documents existing behavior. ([#636](https://github.com/openclaw/fs-safe/pull/636))
|
|
98
|
+
|
|
99
|
+
## 0.18.2 - 2026-09-22
|
|
100
|
+
|
|
101
|
+
### Fixes
|
|
102
|
+
|
|
103
|
+
- **Lock errors:** preserve Root stale-removal rejections and `null` or `undefined` retry failures instead of masking them with timeouts or `TypeError`s. ([#624](https://github.com/openclaw/fs-safe/pull/624))
|
|
104
|
+
- **Secret-file reads:** report caught `null` or `undefined` inspection and read failures as structured errors instead of internal `TypeError`s. ([#623](https://github.com/openclaw/fs-safe/pull/623))
|
|
105
|
+
- **Secret-file creation:** preserve `null` or `undefined` thrown by parameter getters instead of masking them with an internal `TypeError`. ([#625](https://github.com/openclaw/fs-safe/pull/625))
|
|
106
|
+
|
|
107
|
+
## 0.18.1 - 2026-09-22
|
|
108
|
+
|
|
109
|
+
### Fixes
|
|
110
|
+
|
|
111
|
+
- **Durable queue errors:** preserve the original read, validation, callback, or migration failure when closing the read descriptor also fails.
|
|
112
|
+
- **Secure temporary directories:** stop rejecting valid directories when Node reports negative device or inode IDs. Thanks @vincentkoc. ([#586](https://github.com/openclaw/fs-safe/pull/586))
|
|
113
|
+
- **Root write hardening:** prevent extra properties in wider options objects from enabling private writer controls or applying streamed-create byte limits to buffered writes. ([#571](https://github.com/openclaw/fs-safe/pull/571))
|
|
114
|
+
- **Error reporting:** preserve original errors from directory checks, secret reads, and Root opens when descriptor cleanup also fails. ([#574](https://github.com/openclaw/fs-safe/pull/574))
|
|
115
|
+
- **Lock timeouts:** keep async and sync retry deadlines stable when the system clock changes. Preserve wall-clock lock timestamps and stale-age checks.
|
|
116
|
+
|
|
117
|
+
## 0.18.0 - 2026-09-21
|
|
118
|
+
|
|
119
|
+
### Highlights
|
|
120
|
+
|
|
121
|
+
- **Security hardening for Root arguments:** explicit paths, payloads, and copy sources take precedence over matching properties in wider options objects. A supplied source Root retains its admission and read policy; directory creation and writable opens keep their internal controls. ([#577](https://github.com/openclaw/fs-safe/pull/577))
|
|
122
|
+
- **More reliable cancellation and failure reporting:** tree-copy workers receive cancellation even when caller abort handlers stop event propagation. Secret reads and asynchronous atomic operations preserve their selected failures when best-effort descriptor cleanup also fails. ([#561](https://github.com/openclaw/fs-safe/pull/561), [#566](https://github.com/openclaw/fs-safe/pull/566), [#545](https://github.com/openclaw/fs-safe/pull/545), [#554](https://github.com/openclaw/fs-safe/pull/554))
|
|
123
|
+
- **Reliable Windows publication and ownership checks:** keep missing buffered-write destinations absent until complete content is published, including across process interruption, and preserve write-only access when admitting a destination that appears during staging. Permission-query results must explicitly verify owner locality. ([#573](https://github.com/openclaw/fs-safe/pull/573), [#547](https://github.com/openclaw/fs-safe/pull/547))
|
|
124
|
+
- **Less repeated work in targeted workloads:** reduce metadata observations and Promise scheduling in secret reads, Root path resolution, and durable queues; reuse bounded, cleared scratch storage for fallback SHA-256. Measurements show gains in selected Linux read workloads, with workload-specific costs retained in the linked PRs. ([#535](https://github.com/openclaw/fs-safe/pull/535), [#536](https://github.com/openclaw/fs-safe/pull/536), [#549](https://github.com/openclaw/fs-safe/pull/549), [#550](https://github.com/openclaw/fs-safe/pull/550))
|
|
125
|
+
- **Smaller npm installs with intact TypeScript declarations:** stop shipping declaration maps that point to unpublished source files. Public declarations and exports remain available. Thanks @vincentkoc. ([#570](https://github.com/openclaw/fs-safe/pull/570))
|
|
126
|
+
|
|
127
|
+
### Compatibility and upgrade notes
|
|
128
|
+
|
|
129
|
+
- Explicit Root arguments remain authoritative even when JavaScript callers or structurally wider TypeScript options include `relativePath`, `data`, or `source`. Enumerable option getters still run and can throw; supported defaults and policy options keep their precedence. This fixes argument selection within the existing filesystem capability contract. ([#577](https://github.com/openclaw/fs-safe/pull/577), [Root contract](https://github.com/openclaw/fs-safe/blob/v0.18.0/docs/root.md))
|
|
130
|
+
- Injected Windows permission executors must return valid owner/current-user SIDs, an explicit boolean `remote`, and complete DACL facts. Missing or nonboolean locality leaves both inspectors unverified; `remote: true` retains the ACL report but does not grant trusted ownership. ([#547](https://github.com/openclaw/fs-safe/pull/547), [permission-query contract](https://github.com/openclaw/fs-safe/blob/v0.18.0/docs/permissions.md))
|
|
131
|
+
- Descriptor-close behavior remains operation-specific. Synchronous secret readers report a lone close failure before trimming or empty-content validation, while an earlier read or identity failure retains precedence. Atomic best-effort cleanup now treats synchronous adapter throws like rejected close promises; synchronous successful admission, parent-mode admission, and retained descriptor-owner closes keep their existing failure reporting. ([#566](https://github.com/openclaw/fs-safe/pull/566), [#545](https://github.com/openclaw/fs-safe/pull/545), [#554](https://github.com/openclaw/fs-safe/pull/554), [atomic cleanup contract](https://github.com/openclaw/fs-safe/blob/v0.18.0/docs/atomic.md))
|
|
132
|
+
- Root path properties are readonly metadata. Each Root retains its originally admitted canonical directory and identity; create another Root to select a different directory. Values in the supplied defaults object remain live for later operations. ([#546](https://github.com/openclaw/fs-safe/pull/546))
|
|
133
|
+
|
|
134
|
+
### Security hardening and correctness
|
|
135
|
+
|
|
136
|
+
- Preserve positional paths and payloads across Root reads, writable opens, writes, creates, appends, removals, and copies, including JSON and streamed wrappers. Keep Root-scoped copy sources authoritative instead of allowing an options property to substitute a raw path. `mkdir()` and `ensureRoot()` retain their distinct root-directory rules, and internal removal or writable-open fields cannot replace their caller-owned controls. ([#577](https://github.com/openclaw/fs-safe/pull/577))
|
|
137
|
+
- Keep missing destinations absent until buffered Windows `Root.write()` publishes complete content; existing destinations retain their previous bytes during staging. Re-admit raced destinations before replacement, preserving write-only access, link rejection, final authority checks, and cleanup. ([#573](https://github.com/openclaw/fs-safe/pull/573))
|
|
138
|
+
- Isolate tree-copy cancellation from caller event handlers across native cloning and portable byte-copy fallback. Preserve caller handlers, first-failure selection, and per-file cancellation; join admitted work before releasing descriptors and native signal handlers. Dispatched APFS/Btrfs bulk operations remain uninterruptible, and failed or cancelled copies can leave caller-owned output. ([#561](https://github.com/openclaw/fs-safe/pull/561), [copy cancellation contract](https://github.com/openclaw/fs-safe/blob/v0.18.0/docs/copy.md))
|
|
139
|
+
- Preserve synchronous secret-read and identity-validation errors, including their causes, when closing the descriptor also fails. Make one close attempt and retain the existing lone-close failure behavior. ([#566](https://github.com/openclaw/fs-safe/pull/566))
|
|
140
|
+
- Preserve asynchronous copy-source results and destination-admission failures when custom filesystem adapters throw synchronously during best-effort close. Apply the same handling to atomic admission pins, best-effort parent synchronization, and replacement pins that were not adopted, without changing filesystem identity checks or retained-owner close policy. ([#545](https://github.com/openclaw/fs-safe/pull/545), [#554](https://github.com/openclaw/fs-safe/pull/554))
|
|
141
|
+
- Reject unverified Windows owner locality while retaining valid local/remote classification, SID-validation precedence, bounded diagnostics, and exact rejected values. Share permission-report metadata across native and command inspection without sharing mutable public results or changing ACL policy. ([#547](https://github.com/openclaw/fs-safe/pull/547), [#567](https://github.com/openclaw/fs-safe/pull/567))
|
|
142
|
+
|
|
143
|
+
### Performance and package size
|
|
144
|
+
|
|
145
|
+
- Reduce redundant metadata observations and scheduling in secret reads, regular-file admission, and staged publication. An isolated Linux comparison measured `readSecretFileSync()` about 11% faster; five other measured calls were roughly unchanged. Exact identity and mutation checks remain. ([#535](https://github.com/openclaw/fs-safe/pull/535))
|
|
146
|
+
- Share Root metadata traversal and reuse normalized missing-path suffixes instead of rebuilding per-component arrays. An isolated Linux/native-off comparison measured roughly 3–4% lower resolver medians, with a slightly higher maximum synchronous sample average. Preserve async/sync canonicalization routes, Windows alias rejection, dangling-link behavior, and observation receipts. ([#536](https://github.com/openclaw/fs-safe/pull/536), [#562](https://github.com/openclaw/fs-safe/pull/562))
|
|
147
|
+
- Consolidate durable-queue directory and metadata ownership while retaining asynchronous file I/O, path admission, exact identities, and recovery synchronization. Small and 64 KiB reads measured 8.68% and 13.78% faster in a balanced Linux comparison; durable medians stayed within −1.09% to +1.21%, with isolated higher maxima documented. ([#549](https://github.com/openclaw/fs-safe/pull/549))
|
|
148
|
+
- Reuse scratch storage between fallback SHA-256 operations, retaining at most four idle buffers of up to 256 KiB each. Clear used contents before retention and keep each pending read's storage exclusive until settlement, including cancellation; preserve byte limits and borrowed descriptor cursors. ([#550](https://github.com/openclaw/fs-safe/pull/550))
|
|
149
|
+
- Share Windows drive and namespace syntax checks without rewriting whole inputs during network classification. Predicate measurements showed gains for normal Windows paths under Linux with explicit Windows rules and a small rooted-alias cost; they do not establish end-to-end Windows throughput. ([#539](https://github.com/openclaw/fs-safe/pull/539))
|
|
150
|
+
- Omit `.d.ts.map` output and package entries whose targets are unpublished TypeScript sources, and make package validation reject those maps. The PR's baseline/candidate comparison measured a 5.8% smaller compressed package and 7.8% smaller unpacked package; declarations and public exports remain intact. Thanks @vincentkoc. ([#570](https://github.com/openclaw/fs-safe/pull/570))
|
|
151
|
+
|
|
152
|
+
### Maintenance and platform validation
|
|
153
|
+
|
|
154
|
+
- Consolidate archive staging, directory admission, temporary ownership, synchronous store receipt chains, lock registration and acquisition, and ordered mutation-denial policy. Preserve authority boundaries, exact identity checks, callback ordering, stale recovery, and publication/cleanup ownership. These are maintenance changes; measured raw-lock overhead and other control tradeoffs remain documented in their PRs. ([#535](https://github.com/openclaw/fs-safe/pull/535), [#537](https://github.com/openclaw/fs-safe/pull/537), [#538](https://github.com/openclaw/fs-safe/pull/538), [#542](https://github.com/openclaw/fs-safe/pull/542))
|
|
155
|
+
- Specialize private lock, store, JSON retry, filename, rename, and move-cleanup helpers to their existing callers; remove unused descriptor projections and native lock-handle methods. Preserve public defaults, shared validators, Windows device-name protection, root replacement checks, and trash fallback behavior. Share write-policy callback types without changing emitted JavaScript or public type semantics. ([#551](https://github.com/openclaw/fs-safe/pull/551), [#552](https://github.com/openclaw/fs-safe/pull/552), [#556](https://github.com/openclaw/fs-safe/pull/556), [#558](https://github.com/openclaw/fs-safe/pull/558), [#546](https://github.com/openclaw/fs-safe/pull/546), [#543](https://github.com/openclaw/fs-safe/pull/543))
|
|
156
|
+
- Share guest Python operand admission and descriptor cleanup, retain native POSIX beneath-open descriptors until handoff, and use the shared Windows handle owner for process tokens. Simplify native task settlement, SHA-256 worker state, and Unix cleanup forwarding while preserving containment, positioned reads, cancellation checks, handle ownership, and error precedence. ([#540](https://github.com/openclaw/fs-safe/pull/540), [#541](https://github.com/openclaw/fs-safe/pull/541), [#535](https://github.com/openclaw/fs-safe/pull/535), [#555](https://github.com/openclaw/fs-safe/pull/555), [#565](https://github.com/openclaw/fs-safe/pull/565))
|
|
157
|
+
- Use existing Windows SDK declarations for native syscalls and verify the built addon's imports in installed npm and pnpm consumers. Share native link/rename admission and the archive entry schema; simplify Windows relative-open policy while preserving source-before-target errors, manifest snapshots, reparse checks, exact created-directory ownership, and hardlink access. ([#563](https://github.com/openclaw/fs-safe/pull/563), [#560](https://github.com/openclaw/fs-safe/pull/560), [#564](https://github.com/openclaw/fs-safe/pull/564), [#559](https://github.com/openclaw/fs-safe/pull/559))
|
|
158
|
+
- Keep filesystem fixtures and backend settings alive until timed-out operations settle, make the in-flight archive deadline regression deterministic, and exercise queue recovery where directory synchronization is unsupported. Send guest-test stdin only to operations that consume it and give the durable copy-restoration regression its instrumented Windows budget. Expand public mutation proof selection to shared policy/path owners without weakening runtime deadlines or settlement assertions. ([#553](https://github.com/openclaw/fs-safe/pull/553), [#556](https://github.com/openclaw/fs-safe/pull/556), [#549](https://github.com/openclaw/fs-safe/pull/549), [#543](https://github.com/openclaw/fs-safe/pull/543), [#540](https://github.com/openclaw/fs-safe/pull/540), [#538](https://github.com/openclaw/fs-safe/pull/538))
|
|
159
|
+
|
|
160
|
+
## 0.17.0 - 2026-09-20
|
|
161
|
+
|
|
162
|
+
### Highlights
|
|
163
|
+
|
|
164
|
+
- **Complete writes and exact comparison for borrowed files:** add `writeFileWindowFully()` and `sameFileContentsSync()` under `/advanced`. Complete short writes with cancellation and per-write authority checks, or compare regular-file descriptors byte for byte with bounded memory and optional byte limits. Callers retain handle ownership and path admission. ([#524](https://github.com/openclaw/fs-safe/pull/524))
|
|
165
|
+
- **Explicit archive permissions and reliable selection:** add `extractArchive({ entryUmask })` to remove selected permission bits from extracted files and directories. JavaScript ZIP filters now follow physical archive order, and extraction enforces deadlines even when synchronous work delays timer delivery. ([#516](https://github.com/openclaw/fs-safe/pull/516), [#521](https://github.com/openclaw/fs-safe/pull/521), [#522](https://github.com/openclaw/fs-safe/pull/522))
|
|
166
|
+
- **Stronger checks at mutation boundaries:** revalidate Root paths and private-file permissions after caller callbacks, retain exact identities through copy-and-remove moves, and keep synchronous JSON staging bound to its descriptor through publication and cleanup. Replaced entries remain protected. ([#498](https://github.com/openclaw/fs-safe/pull/498), [#500](https://github.com/openclaw/fs-safe/pull/500), [#503](https://github.com/openclaw/fs-safe/pull/503), [#497](https://github.com/openclaw/fs-safe/pull/497), [#527](https://github.com/openclaw/fs-safe/pull/527))
|
|
167
|
+
- **Less repeated work in targeted workloads:** reduce ZIP scanning and name admission, TAR path validation, directory-walk allocations, store setup, and default lock-payload decoding. Performance results are workload-specific; archive and other control cases with measured costs remain documented in the linked PRs below.
|
|
168
|
+
- **More reliable deep paths and native loading:** resolve valid deep relative paths without JavaScript argument-limit failures, and select the matching native prebuild on Linux installations containing both glibc and musl loaders. ([#523](https://github.com/openclaw/fs-safe/pull/523), [#526](https://github.com/openclaw/fs-safe/pull/526))
|
|
169
|
+
|
|
170
|
+
### Compatibility and upgrade notes
|
|
171
|
+
|
|
172
|
+
- `entryUmask` defaults to `0`, preserving existing extraction modes. It applies after `entryModes` to files, explicit directories, and implicit parents, including existing destination subdirectories; it does not change the destination root or private staging modes. The library neither reads nor changes the process umask. See the [archive permission contract](https://github.com/openclaw/fs-safe/blob/v0.17.0/docs/archive.md).
|
|
173
|
+
- The new borrowed-file helpers do not acquire locks or provide path admission, identity validation, truncation, durability, or cleanup. Numeric write positions preserve the cursor and require handles opened without append mode; `null` advances the current cursor. Comparison preserves both cursors and is not a snapshot of concurrently modified files. See [borrowed-handle writes](https://github.com/openclaw/fs-safe/blob/v0.17.0/docs/advanced.md#borrowed-handle-writes) and [exact comparison](https://github.com/openclaw/fs-safe/blob/v0.17.0/docs/file-contents.md).
|
|
174
|
+
- Atomic copy fallback and copied moves require exact bigint identity observations; injected filesystem adapters must honor `{ bigint: true }`. Rounded or persistently unknown identities fail closed. A copied move can report `ESTALE` after publishing the destination while preserving changed source entries; it is not a transaction or rollback guarantee. ([#512](https://github.com/openclaw/fs-safe/pull/512), [#527](https://github.com/openclaw/fs-safe/pull/527))
|
|
175
|
+
- Pathname hashing and portable create-only writes now report owned descriptor-close failures after otherwise successful work. Earlier operation or cancellation failures retain precedence, and a completed destination remains in place after a late close or verification failure. ([#525](https://github.com/openclaw/fs-safe/pull/525))
|
|
176
|
+
- Synchronous lock stale-policy callbacks must return synchronously: Promise or thenable results now reject with `TypeError` before deletion. If a protected callback and release both fail, `withFileLock()` and `withFileLockSync()` retain both through `SuppressedError`, with the release failure primary. ([#496](https://github.com/openclaw/fs-safe/pull/496))
|
|
177
|
+
|
|
178
|
+
### Security and correctness
|
|
179
|
+
|
|
180
|
+
- Recheck hardlink policy before Root reads return bytes or handles, verify exact identities in the opened-handle path resolver, and capture local-root link policies before asynchronous admission. Explicit link-allow policies remain supported. ([#498](https://github.com/openclaw/fs-safe/pull/498), [#513](https://github.com/openclaw/fs-safe/pull/513))
|
|
181
|
+
- Renew directory ancestry and move/removal admission after authority callbacks. Protect replaced roots, copied source files and symlinks, and outside targets; honor callback-triggered removal cancellation before dispatch and preserve the published destination during cleanup failures. ([#498](https://github.com/openclaw/fs-safe/pull/498), [#503](https://github.com/openclaw/fs-safe/pull/503))
|
|
182
|
+
- Recheck private POSIX ownership and permissions before mode preparation, after producer and authority callbacks, and through fallback publication. Verify final modes and recheck exclusive-publication source and target identities after directory synchronization, preserving substituted entries and completed destinations on late failure. ([#500](https://github.com/openclaw/fs-safe/pull/500), [#509](https://github.com/openclaw/fs-safe/pull/509))
|
|
183
|
+
- Keep synchronous JSON staging descriptor-bound through publication and cleanup, preserving substitutions and staging-name collisions. Compare exact source, destination, and parent identities in atomic copy fallback and mode admission; retain exact move manifests and hardlink groups beyond JavaScript's safe integer range. ([#497](https://github.com/openclaw/fs-safe/pull/497), [#512](https://github.com/openclaw/fs-safe/pull/512), [#527](https://github.com/openclaw/fs-safe/pull/527))
|
|
184
|
+
- Capture append content, encoding, mode, and byte limits before filesystem work so changes to caller options cannot change an in-flight write. Empty string appends no longer insert a newline; missing-file creation and durability behavior remain intact. ([#506](https://github.com/openclaw/fs-safe/pull/506))
|
|
185
|
+
- Preserve physical ZIP entry order for JavaScript extraction filters, including numeric and Unicode filenames, without changing the public loader's files object. Check archive deadlines at monotonic boundaries, queued mutation dispatch, and successful settlement; retain caller errors and join active destination mutations before rejection. ([#521](https://github.com/openclaw/fs-safe/pull/521), [#522](https://github.com/openclaw/fs-safe/pull/522))
|
|
186
|
+
- Keep observed sidecar tokens separate from creator authority, and stop compromise monitoring after manager reset, including checks already in flight. Ownership verification retains raw bytes, token, and identity checks. ([#496](https://github.com/openclaw/fs-safe/pull/496))
|
|
187
|
+
- Preserve arbitrary atomic filesystem-adapter failures, including nullish values and throwing error-code getters, and preserve original nullish failures from synchronous symlink-parent checks. Retain missing-file errors from durable queue callbacks, migrations, and owned claim transitions instead of misclassifying them as absent entries. ([#512](https://github.com/openclaw/fs-safe/pull/512), [#514](https://github.com/openclaw/fs-safe/pull/514), [#529](https://github.com/openclaw/fs-safe/pull/529))
|
|
188
|
+
- Preserve paired temporary-workspace parent-admission and descriptor-close failures in an `AggregateError`, including on aliases and newly created roots, instead of selecting compatible cleanup or losing the original diagnostic. ([#519](https://github.com/openclaw/fs-safe/pull/519))
|
|
189
|
+
- Accept exact bigint directory receipts in durability, exclusive publication, and staging inputs. Returned receipts retain numeric `Stats`, fractional timestamps, and private exact identity authority. ([#495](https://github.com/openclaw/fs-safe/pull/495))
|
|
190
|
+
|
|
191
|
+
### Performance
|
|
192
|
+
|
|
193
|
+
- Use bounded signature searches for ZIP end-record admission and entry-count hints, including commented archives. Retain latest-valid-record selection, complete comment and ambiguity checks, conservative count fallbacks, and the dense-marker byte-scan fallback. ([#507](https://github.com/openclaw/fs-safe/pull/507), [#515](https://github.com/openclaw/fs-safe/pull/515))
|
|
194
|
+
- Reuse validated nonshared ASCII ZIP names and identical canonical keys while preserving shared-memory revalidation, Unicode Path CRCs, collisions, and decoder metadata checks. Public-loader gains were measured for UTF-8-flagged ASCII names on Node 22/24/26; shallow Unicode controls had a small cost. ([#531](https://github.com/openclaw/fs-safe/pull/531))
|
|
195
|
+
- Reuse admitted TAR paths and USTAR components in the shared native/WASM parser, removing redundant allocation and empty-prefix validation. Raw field decoding, padding rejection, and PAX/GNU override checks remain. Linux measurements showed gains for Unicode prefixes, with a small cost on WASM PAX/GNU controls. ([#517](https://github.com/openclaw/fs-safe/pull/517), [#532](https://github.com/openclaw/fs-safe/pull/532))
|
|
196
|
+
- Skip unused default JSON decoding during sidecar ownership verification and release. Stale-policy parsing and explicit parser callbacks retain their behavior; gains are concentrated in large structured default payloads, and the measured mixed-workload custom-parser cost remains documented. ([#533](https://github.com/openclaw/fs-safe/pull/533), [lock ownership contract](https://github.com/openclaw/fs-safe/blob/v0.17.0/docs/sidecar-lock.md))
|
|
197
|
+
- Reduce repeated bigint metadata allocation in `Root.entries()` and `Root.walk()`, reuse normalized prefixes in standalone walkers, and reduce repeated filename and install-name scans. Preserve exact identity checks, lexical paths, callback timing, cancellation, Unicode limits, and encoded names. ([#510](https://github.com/openclaw/fs-safe/pull/510), [#518](https://github.com/openclaw/fs-safe/pull/518), [#508](https://github.com/openclaw/fs-safe/pull/508))
|
|
198
|
+
- Borrow bounded `Uint8Array` stream slices without payload copies, retaining backpressure and byte limits even with shadowed metadata properties. Reuse archive output-parent preparation while each publication still performs fresh parent and source admission. ([#505](https://github.com/openclaw/fs-safe/pull/505), [#499](https://github.com/openclaw/fs-safe/pull/499))
|
|
199
|
+
- Reuse synchronous store JSON readers and resolve queue filesystem roots directly. Share filesystem admission and remove redundant ancestor, permission-report, and write-queue work while preserving per-call admission, durability checks, and same-path ordering. These changes include measured control tradeoffs, not a universal latency improvement. ([#501](https://github.com/openclaw/fs-safe/pull/501), [#529](https://github.com/openclaw/fs-safe/pull/529))
|
|
200
|
+
|
|
201
|
+
### Platform support and validation
|
|
202
|
+
|
|
203
|
+
- Mark native POSIX beneath-open and duplicated descriptors close-on-exec atomically, preventing child-process inheritance. Preserve caller record locks during macOS ACL inspection, and share Windows secure-file handle ownership without changing borrowed descriptor lifetime or cursor position. ([#504](https://github.com/openclaw/fs-safe/pull/504), [#530](https://github.com/openclaw/fs-safe/pull/530))
|
|
204
|
+
- Prefer the running executable's ELF interpreter over installed compatibility-loader filenames when Linux process reports cannot identify libc. Resolve deep valid relative paths without spreading components into function arguments, retaining complete validation and containment checks. ([#526](https://github.com/openclaw/fs-safe/pull/526), [#523](https://github.com/openclaw/fs-safe/pull/523))
|
|
205
|
+
- Correct creation examples, advanced helper signatures, Root option references, homepage primitive names, and documentation of Windows payload writes versus native sidecar publication. Accept Corepack's native pnpm 12 launcher in package validation and correct Crabbox argument forwarding. ([#528](https://github.com/openclaw/fs-safe/pull/528), [#502](https://github.com/openclaw/fs-safe/pull/502))
|
|
206
|
+
- Strengthen error-code declaration checks and installed archive-consumer proof; repair parent-swap coverage and streamed-create diagnostics, retire superseded package smoke coverage, and measure portable codecs and Windows security fallbacks in native-off benchmarks. Isolate descriptor-close tests from inherited subprocess locks and native-loader tests from real diagnostic-report generation. ([#528](https://github.com/openclaw/fs-safe/pull/528), [#520](https://github.com/openclaw/fs-safe/pull/520), [#529](https://github.com/openclaw/fs-safe/pull/529))
|
|
207
|
+
|
|
208
|
+
## 0.16.0 - 2026-09-19
|
|
209
|
+
|
|
210
|
+
### Highlights
|
|
211
|
+
|
|
212
|
+
- **Private files and directories through existing APIs:** add `private: true` to Root `mkdir()`, `ensureRoot()`, `create()`, and `createJson()`, with verified owner-only permissions and creation-time Windows ACL protection. New `/advanced` helpers `createDirectory()`, `createDirectorySync()`, and `createFileSync()` create one exclusive entry under an existing trusted parent; the file helper returns an owned, disposable descriptor. ([#487](https://github.com/openclaw/fs-safe/pull/487), [#482](https://github.com/openclaw/fs-safe/issues/482))
|
|
213
|
+
- **Safer secret and private writes:** verify the actual staging permissions before writing content, rejecting filesystems that accept permission changes without enforcing the required private mode. ([#491](https://github.com/openclaw/fs-safe/pull/491), [#493](https://github.com/openclaw/fs-safe/pull/493))
|
|
214
|
+
- **Atomic buffered file creation:** opt into `atomic: true` on `Root.create()` or `createJson()` to keep the destination absent until its content is ready, including without the native addon. Independently select `durable: "file"` when file-flush failures must propagate. Existing defaults remain unchanged. ([#486](https://github.com/openclaw/fs-safe/pull/486))
|
|
215
|
+
- **Compressed TAR without native installation:** extract and read bounded entries from zstd and bzip2 TAR archives through bundled WASM codecs, even with all optional dependencies omitted. The fallback retains the shared Rust TAR parser, full-stream validation, byte limits, and guarded publication, with no runtime interpreter or download. ([#488](https://github.com/openclaw/fs-safe/pull/488))
|
|
216
|
+
- **Windows security operations without the addon:** use packaged, readable PowerShell/C# helpers for raw owner/DACL inspection, private-directory creation, and secure-file reads in native `auto` or `off` mode when capabilities are unavailable. Private permissions apply at creation, and secure reads inspect the same open handle that supplies the bytes. ([#476](https://github.com/openclaw/fs-safe/pull/476))
|
|
217
|
+
|
|
218
|
+
### Compatibility and upgrade notes
|
|
219
|
+
|
|
220
|
+
- Private creation on macOS requires the matching native helper's ACL-inspection capability; disabled, missing, or older helpers reject before creating parents or stages. Relevant inheritable parent ACLs reject creation, while noninheriting ACLs remain allowed. Existing entries are never repaired or made less restrictive. Nonprivate creation and native-free secret-file writes retain their behavior; see the [creation contract](https://github.com/openclaw/fs-safe/blob/v0.16.0/docs/creation.md) for supported modes and platform limits.
|
|
221
|
+
- Native-free `atomic: true` creation requires hardlinks and rejects unsupported filesystems without publishing partial content. Private Windows file publication also requires hardlinks on the same local filesystem. Streamed creates continue to stage complete content; atomic visibility does not strengthen pathname containment or guarantee crash durability.
|
|
222
|
+
- `durable: "file"` applies to buffered, streamed, and JSON creates and propagates file-sync errors, including `EPERM`. Parent-directory synchronization remains best-effort, independently of the selected publication strategy.
|
|
223
|
+
- Windows fallbacks require system PowerShell and permission to run the packaged scripts and `.NET Add-Type` under normal system policy. They emit a path-free `FS_SAFE_NATIVE_FALLBACK` warning once per capability per process and add startup and compilation overhead; disallowed execution fails closed. No system policy is bypassed.
|
|
224
|
+
- Native `require` remains strict, and failures from available native operations never trigger a fallback retry. No-clobber `Root.move()` still requires native support. ZIP fallback still needs optional `jszip`, and `inspectTarArchive()` continues to accept only plain TAR and gzip.
|
|
225
|
+
- Atomic, streamed, and private creation can report cleanup, close, mode, or synchronization errors after a complete file has been published. Preserve the publication and cleanup receipts when handling failures; completed destinations remain in place, and indeterminate outcomes retain names for recovery.
|
|
226
|
+
|
|
227
|
+
### Security and correctness
|
|
228
|
+
|
|
229
|
+
- Verify `0600` before secret-file payload writes in native and JavaScript writers. Verify actual native private-file ownership and permissions before payload writes and at publication, rejecting filesystems that accept permission changes without enforcing them; retain explicit final modes and public staging's `0600` guarantees. ([#491](https://github.com/openclaw/fs-safe/pull/491), [#493](https://github.com/openclaw/fs-safe/pull/493))
|
|
230
|
+
- Compare exact directory identities before and after durability syncs, retry unknown Windows observations once, and reject rounded or unverifiable caller receipts. Bind numeric metadata to the same observation and preserve private identity authority across receipt mutation, durable creation, publication, and retained staging. ([#483](https://github.com/openclaw/fs-safe/pull/483))
|
|
231
|
+
- Retain streamed `Root.create()` authority callbacks and abort signals across producer waits so replacing caller options cannot detach a revoked lease or redirect cancellation; preserve callback receivers and owned-stage cleanup. ([#490](https://github.com/openclaw/fs-safe/pull/490))
|
|
232
|
+
- Recheck retained parent and staging identities after final publication authority callbacks on JavaScript and native writers, preserving substituted entries before their bytes can be published. Flush native Windows creation through the retained writable descriptor and preserve published destinations after finalization failures.
|
|
233
|
+
- Snapshot `Root.move()` mutation policy before asynchronous admission so changes to caller-owned deny paths or prefixes cannot change an in-flight move. Recheck native no-clobber source identity, type, and hardlink policy after the final authority callback; live revocation remains available through `assertBeforeMutation`.
|
|
234
|
+
- Keep asynchronous Root-backed file locks waiting through successive owner handoffs instead of failing with `path-mismatch`, while retaining identity checks and requiring a fresh exclusive acquisition.
|
|
235
|
+
- Return one unsupported clone-metadata result per input without the native addon on non-macOS platforms in `auto` and `off` modes. Preserve input validation, strict `require` mode, and native-only APFS metadata on macOS. ([#489](https://github.com/openclaw/fs-safe/pull/489))
|
|
236
|
+
|
|
237
|
+
### Diagnostics and maintenance
|
|
238
|
+
|
|
239
|
+
- Address Windows security commands by their built-in module names and restrict discovery to PowerShell's bundled system modules, avoiding broad discovery scans on helper startup. ([#484](https://github.com/openclaw/fs-safe/pull/484))
|
|
240
|
+
- Clarify that `resolveExistingPathsWithinRoot()` permits missing paths while `resolveStrictExistingPathsWithinRoot()` requires existing regular files, and distinguish native beneath mechanisms from the best-effort containment reported by public Root open, read, and writable-open results. ([#485](https://github.com/openclaw/fs-safe/pull/485))
|
|
241
|
+
- Honor case-insensitive Windows build environment names so configured WASM compilers and archivers remain selected in worker processes; preserve child-only compiler flags without duplicate case variants. ([#492](https://github.com/openclaw/fs-safe/pull/492))
|
|
242
|
+
- Refresh JavaScript and Rust dependencies, pnpm, CodeQL, and archive/release build toolchains, including current NAPI interoperability fixes; retain Node 22 support and Rust 1.88 compatibility. Includes the Dependabot updates in [#481](https://github.com/openclaw/fs-safe/pull/481).
|
|
243
|
+
|
|
244
|
+
## 0.15.0 - 2026-09-18
|
|
245
|
+
|
|
246
|
+
### Highlights
|
|
247
|
+
|
|
248
|
+
- Enforce Root authority throughout synchronous lock admission, stale recovery, and cleanup; keep asynchronous reclaim guards inside the Root capability.
|
|
249
|
+
- Preserve directory and archive-source identity across publication, callbacks, and recovery, and reject corrupt portable ZIP payloads and metadata.
|
|
250
|
+
- Support asynchronous walk filters, configurable-depth suffix probing, and bounded synchronous descriptor copying.
|
|
251
|
+
|
|
252
|
+
### Compatibility and upgrade notes
|
|
253
|
+
|
|
254
|
+
- Directory replacement now requires compatible native identity-fenced, no-replace support, including when the destination is absent. Disabled, missing, or older helpers reject before target-parent creation.
|
|
255
|
+
- Treat ordinary post-dispatch native rename errors as indeterminate. Preserve staged files and directory backups when a rename may have committed before its reply was lost; automatic retry and rollback require explicit evidence that dispatch never occurred.
|
|
256
|
+
- Synchronous Root locks require a genuine registered Root handle and enforce its policies. Interrupted asynchronous Root reclaim guards can remain after process exit or reset; recover them only after an application-owned liveness check proves the attempt ended.
|
|
257
|
+
- Root lock authority checks add measurable overhead. Removing redundant observations reduces some cost, but these paths remain slower than the earlier implementation that did not enforce the same boundary.
|
|
258
|
+
|
|
259
|
+
### Security and correctness
|
|
260
|
+
|
|
261
|
+
- Serialize sidecar admission across raw and Root-based synchronous callers, retain separate cleanup authority, and recheck asynchronous authorization at the final stale-removal boundary.
|
|
262
|
+
- Keep asynchronous Root reclaim-guard creation, token/byte ownership checks, and removal inside the capability. Preserve unsettled guards instead of following replaced parents through raw cleanup.
|
|
263
|
+
- Create native Root lock records through retained-parent exclusive opens so racing contenders retry normally. Ordinary Root writes retain private staging. Treat raw reclaim guards disappearing or changing during collision inspection as contention.
|
|
264
|
+
- Verify reclaim-guard ownership after the final sidecar snapshot and parser, preserving mutation authorization and parser failures. Evaluate stale age after snapshot parsing and reject cleanup when exact identity is unknown.
|
|
265
|
+
- Retain source-root and child-directory authority during archive merges and bind file identity and mode to the admitted copy descriptor, including exact large Windows identities.
|
|
266
|
+
- Preserve ZIP payloads and physical entry metadata during portable loading so extraction rejects corrupt empty content and honors admitted directory, symlink, and special-file kinds without reordering callbacks.
|
|
267
|
+
- Snapshot FileStore policies before asynchronous work, streams, source reads, and JSON serialization; snapshot JsonStore durability/newline options before queued mutations and updater callbacks.
|
|
268
|
+
- Snapshot external-output and sibling-temp options before asynchronous setup while preserving callback receivers.
|
|
269
|
+
- Enforce Windows native parent mutation policies before creating each missing component and retain originating native descriptor ownership through cleanup.
|
|
270
|
+
- Preserve files and symlinks replacing an observed empty FileStore directory, and leave directories that become nonempty untouched.
|
|
271
|
+
- Recheck child entries before walk descent so symlink replacements during filters honor the selected policy.
|
|
272
|
+
- Keep Windows owner/ACL diagnostics bounded and fail-closed for hostile thrown values. Preserve ordinary diagnostics and the original cause without invoking getters, proxy traps, coercion, or altered buffer properties.
|
|
273
|
+
|
|
274
|
+
### APIs and failure handling
|
|
275
|
+
|
|
276
|
+
- Allow asynchronous `include`/`descend` callbacks in `walkDirectory()` and `entryFilter` in `Root.walk()`, retaining serial selection, callback receivers, budgets, cancellation, and post-callback identity checks.
|
|
277
|
+
- Add `maxDepth` to `probePathSuffixAliasesSync()` with proportional budgets, a 32,768-forward-observation ceiling, unchanged defaults and string limits, and complete owned cleanup.
|
|
278
|
+
- Add `copyFileDescriptorSync()` for bounded positional transfers between caller-owned regular-file descriptors, preserving cursors, destination suffixes, descriptor lifetime, and caller-owned durability/publication.
|
|
279
|
+
- Preserve the first tree-copy operation failure, including falsy values and existing codes, while closing each owned resource once. Successful operations retain output-before-input and source-before-parent close-failure precedence.
|
|
280
|
+
- Preserve falsy atomic operation, cleanup, close, restoration, temporary-workspace removal, and Windows native cleanup failures; consume retained handles before close to prevent repeated release.
|
|
281
|
+
- Propagate portable ZIP fallback-close failures before publication and copy-fallback writer close failures after successful unsynchronized writes, including restoration with an absent destination.
|
|
282
|
+
- Preserve synchronous destination-admission failures when best-effort close also fails, and preserve directory-mode authority/deadline failures before and after dispatch.
|
|
283
|
+
|
|
284
|
+
### Performance and maintenance
|
|
285
|
+
|
|
286
|
+
- Bound path-prefix queue consumption on long paths while preserving short-path behavior and resolution checks.
|
|
287
|
+
- Reuse eligible Windows parent-creation receipts, equivalent Root identity observations, and guarded regular-file unlink paths while retaining final identity and policy checks.
|
|
288
|
+
- Consolidate native copy ownership, regular/secret read admission, copy-fallback admission, and temporary-workspace setup and settlement; remove redundant wrappers, write-admission storage, and permission-diagnostic work.
|
|
289
|
+
- Bind public copy, ZIP extraction, atomic settlement, and permission benchmarks to verified workload receipts; keep setup, content checks, and cleanup verification outside timing.
|
|
290
|
+
- Update @napi-rs/cli to 3.10.0 and the locked Node type definitions to 26.6.0, and align Vitest/coverage on 5.0.1.
|
|
291
|
+
- Expand security-owner coverage to native/archive code, platform packages, executable benchmarks, and build/test/release configuration.
|
|
292
|
+
- Raise publication and release-proof job ceilings to 90 minutes, retaining bounded registry retries and fail-closed artifact, signature, and provenance checks.
|
|
293
|
+
|
|
294
|
+
## 0.14.0 - 2026-09-17
|
|
295
|
+
|
|
296
|
+
### Highlights
|
|
297
|
+
|
|
298
|
+
- **Safer guest directory selection:** descriptor-relative listings now report regular files as well as directories without following symlinks, so consumers can select files without reopening path-type checks.
|
|
299
|
+
|
|
300
|
+
### Filesystem boundaries and performance
|
|
301
|
+
|
|
302
|
+
- Report both directory and regular-file kinds from descriptor-relative guest listings. Symlinks and special entries report neither kind.
|
|
303
|
+
- Reduce repeated filesystem observations during policy-bound native parent creation, Windows compatibility writes and metadata reads, synchronous store-directory permission repair, and missing temporary-root creation. Fresh identity, canonical-path, lock-destination, callback, and publication checks remain at mutation boundaries.
|
|
304
|
+
|
|
305
|
+
### Validation
|
|
306
|
+
|
|
307
|
+
- Register the path-prefix and synchronous `lockRoot` performance workflows on the default branch. Their dispatch stubs fail closed without checking out or executing repository code.
|
|
308
|
+
|
|
309
|
+
## 0.13.1 - 2026-09-16
|
|
310
|
+
|
|
311
|
+
### Highlights
|
|
312
|
+
|
|
313
|
+
- **Correct native cleanup in Node workers:** guarded writes, moves, and staged-file cleanup close native-created descriptors through their originating binding, eliminating unmanaged-descriptor warnings while preserving Node's own descriptor tracking. ([#438](https://github.com/openclaw/fs-safe/pull/438))
|
|
314
|
+
|
|
315
|
+
### Fixes and compatibility
|
|
316
|
+
|
|
317
|
+
- Retain the correct closer through errors and native-mode changes, including staged files whose parent directory was opened by Node. Borrowed handles keep their caller-owned lifetime.
|
|
318
|
+
- On Windows, close exported descriptors through the same host runtime's libuv table that opened them. Descriptor-producing operations require complete native close support before allocation; stale helpers are treated as unavailable under the existing native-mode policy.
|
|
319
|
+
- Add real Worker coverage on Node 22/24 and verify that Windows native close releases both file and directory descriptors. Forced `Worker.terminate()` reclamation remains a [documented limitation](https://github.com/openclaw/fs-safe/blob/v0.13.1/docs/native-helper.md); callers should close retained resources and finish in-flight work before termination.
|
|
320
|
+
|
|
321
|
+
## 0.13.0 - 2026-09-16
|
|
322
|
+
|
|
323
|
+
### Highlights
|
|
324
|
+
|
|
325
|
+
- **Stronger protection against filesystem replacement races:** bind Root reads, metadata, writes, moves, and cleanup to exact file and directory identities; use atomic native rename for no-clobber moves.
|
|
326
|
+
- **Less overhead in guarded writes and archives:** avoid repeated path and mutation-policy work on eligible routes, reuse validated archive paths, and size native result buffers to bounded member sizes.
|
|
327
|
+
- **Safer Windows paths and writes:** reject NTFS stream and directory-index aliases before filesystem access, and retain destination handles through compatibility writes and verification.
|
|
328
|
+
- **New tools for prospective paths:** add `resolvePathPrefixSync()` and `probePathSuffixAliasesSync()` for existing-prefix traversal and bounded observations of missing suffix aliases.
|
|
329
|
+
- **Opt-in bounded temporary-file cleanup:** add retained-directory cleanup ownership to `tempFile()` and strengthen temporary-workspace admission and permission repair.
|
|
330
|
+
|
|
331
|
+
### Compatibility and upgrade notes
|
|
332
|
+
|
|
333
|
+
- **No-clobber `Root.move()` now requires usable native support.** With `overwrite` omitted or `false`, native-off mode, missing bindings, or unavailable safe parent/rename support fail with `helper-unavailable`; there is no JavaScript check-and-replace fallback. Keep the matching native package installed for these moves. Directory moves still require `overwrite: true`, which retains guarded JavaScript support; use it only when replacement is intended. Post-operation verification can report an error after a rename has completed.
|
|
334
|
+
- Windows alternate-data-stream and directory-index aliases now reject across guarded APIs before I/O. Supported rooted and extended-drive paths retain their handling, as do released drive-relative forms in trusted-path atomic, store/queue, move, publication, and lock APIs. Existing Root destination restrictions remain distinct; ordinary colon-bearing POSIX names keep their established rules.
|
|
335
|
+
- POSIX secure-file ownership checks now use the process's effective user ID and fail closed when required identity facts are unavailable. Public `Stats` values remain numeric; exact writable-file verification uses private bigint receipts.
|
|
336
|
+
- `tempFile({ cleanupSafety: "require-bounded" })` is opt-in and requires an existing supplied root plus supported retained-parent cleanup. Unsupported admission fails before child creation. `"compatible"` remains the default; cleanup callbacks and error-suppression behavior are preserved. Bounded cleanup retains the documented [POSIX final-entry unlink limitation](https://github.com/openclaw/fs-safe/blob/v0.13.0/docs/temp.md).
|
|
337
|
+
- The two new path helpers are observations, not permission to access a path. Prefix resolution is read-only but is not a pinned or consistent snapshot. Suffix probing can create and remove directories under an approved writable parent, returns `undefined` when unresolved, and may preserve artifacts whose ownership cannot be verified; its budgets limit work counts and path sizes, not elapsed time.
|
|
338
|
+
|
|
339
|
+
### Root boundaries and mutation performance
|
|
340
|
+
|
|
341
|
+
- Fence Root content reads, metadata observations, directory entries, and low-level file opens with exact captured-root, parent, and final-path identities. Admit supported native Windows root spellings without relaxing symlink or replacement rejection.
|
|
342
|
+
- Apply `denyMutations` and mutation-symlink policy to the actual retained parent used by `Root.write`, `Root.create`, `Root.copyIn`, `Root.openWritable`, `Root.append`, and `Root.mkdir`, including Windows buffer fallbacks. Admit missing components before creating them, and re-authorize followed final-link destinations before open, truncation, staging, and publication.
|
|
343
|
+
- Reuse operation-local policy observations, canonical parent guards, post-create receipts, and immutable suffix offsets for eligible Node.js mutation paths. This avoids repeated resolver work and depth-quadratic segment copies; collisions, callbacks, aliases, ambiguous routes, incomplete identity observations, and final open/publication/cleanup checks retain full admission.
|
|
344
|
+
- Bound repeated resolver work during deep missing-parent creation on eligible Windows and POSIX JavaScript paths. Advance only through owned directory-creation receipts, and let `Root.mkdir` reuse an exact existing-parent proof for its single missing child.
|
|
345
|
+
- Reuse an already admitted parent guard for private producer Roots while preserving isolated handoff, including legacy Windows delete-pending and read-only restoration behavior.
|
|
346
|
+
- Bind nonrecursive removal to its admitted parent and revalidate native move endpoints and explicit parent-symlink rejection before dispatch. Recheck copied-directory identities after child cleanup so concurrent replacements are preserved.
|
|
347
|
+
|
|
348
|
+
### Credentials, permissions, and temporary files
|
|
349
|
+
|
|
350
|
+
- Snapshot secure-read, secret-reader, traversal, and borrowed-transfer policies before asynchronous work, including size/link limits, trusted directories, and selected environment values. In-flight admission can no longer be relaxed by changing shared options.
|
|
351
|
+
- Preserve single-read pathname and authority accessors on Node.js 22, along with callback receivers, cancellation signals, and progress callbacks across JSON, durable directory/queue, sibling-staging, and borrowed-handle operations. Windows temp admission remains active with platform adapters, and canonical prefixes are checked before inspection.
|
|
352
|
+
- Bind secure temporary-directory and synchronous store-directory mode repairs to no-follow descriptors and exact current identities, including concurrent mode changes during the matching-mode fast path.
|
|
353
|
+
- Admit temporary-workspace roots and children before use, preserve existing permissions, and bind initialization and cleanup to retained identities. Opt-in bounded temporary-file admission closes descriptors on failure.
|
|
354
|
+
- Retain Windows destination descriptors through buffered compatibility-write locking, content verification, mode changes, sync, and final identity checks.
|
|
355
|
+
- Validate descriptor-bound macOS clone ACLs before admission and publication, including absent ACLs. Once payload bytes exist, normalization or security failures are terminal `EIO` errors rather than a reason to retry with an ordinary copy.
|
|
356
|
+
|
|
357
|
+
### Archive safety and performance
|
|
358
|
+
|
|
359
|
+
- Bind physical ZIP entry names and file/directory kinds to decoder metadata before callbacks or member selection, rejecting ambiguous interpretations consistently.
|
|
360
|
+
- Stop zstd and bzip2 compressed-input refills after cancellation while preserving decoded-output limits and complete archive validation.
|
|
361
|
+
- Reuse canonical archive paths when no components are stripped and avoid temporary ZIP collision collections, retaining validation/filter order and checks of both raw and Unicode identities.
|
|
362
|
+
- Reserve native archive result capacity from bounded member-size hints so small ZIP and compressed TAR reads do not allocate the caller's larger byte budget.
|
|
363
|
+
|
|
364
|
+
### Path helpers and reliability
|
|
365
|
+
|
|
366
|
+
- Add [`resolvePathPrefixSync()`](https://github.com/openclaw/fs-safe/blob/v0.13.0/docs/path-prefix.md) under `@openclaw/fs-safe/advanced` to traverse existing path prefixes while retaining the raw missing suffix, preserving dangling aliases and propagating ambiguous resolution failures.
|
|
367
|
+
- Add [`probePathSuffixAliasesSync()`](https://github.com/openclaw/fs-safe/blob/v0.13.0/docs/path-suffix-aliases.md) under `@openclaw/fs-safe/advanced`, with fixed path, depth, creation, and observation budgets and conservative identity-checked cleanup.
|
|
368
|
+
- Sanitize fallback filenames and validate completed sibling callback names before producers run, retaining length bounds and Windows device-name rejection. Reuse Windows namespace admission for unchanged ordinary rooted-drive paths while keeping full checks for relative, normalized, malformed, namespaced, and colon-bearing forms.
|
|
369
|
+
- Pin asynchronous relative sidecar-lock paths and roots to their entry-time working directory through acquisition, reclaim, verification, and release. Close synchronous lock descriptors after metadata inspection failures while preserving the original error and unverified sidecar; retry vanished admitted successors under the existing identity checks and budgets.
|
|
370
|
+
- Report actionable guarded-write errno diagnostics while preserving error codes, categories, original causes, and already-classified failures.
|
|
371
|
+
- Tolerate concurrent guest parent-directory creation only after descriptor-relative no-follow admission; file and symlink competitors remain rejected. Thanks @vincentkoc.
|
|
372
|
+
- Show only the moon icon in the docs light-theme picker and only the sun icon in dark mode.
|
|
373
|
+
|
|
374
|
+
### Validation and tooling
|
|
375
|
+
|
|
376
|
+
- Strengthen exact-identity, rounded-inode, Windows recovery, mutation-policy, and package-consumer regressions, with explicit test-hook provenance and bounded fixture lifetimes. Queue stress fixtures retain and drain outstanding writers before cleanup.
|
|
377
|
+
- Separate manual method-audit harnesses from immutable candidate and baseline checkouts, validate dispatch inputs before fan-out, and support Node 22/24 plus rebuild and same-artifact controls. Versioned benchmark receipts bind source, harness, dependencies, artifacts, native addons, and runner metadata; they detect accidental drift and are not a sandbox for hostile code.
|
|
378
|
+
- Expand benchmark coverage for filename sanitizers, all 17 profiles, shared mutation admission, temporary-workspace modes, and existing/missing roots at depths 4/8/32. Keep Windows-specific rows and observed-preservation claims distinct from JavaScript operation counts.
|
|
379
|
+
- Isolate split-credential proof runners, authenticate official Node archives before checkout, and use private, identity-checked stages and tools. Fixtures remain traversable by both dropped identities while published receipts stay in a separately admitted container; the seven behavioral cases are unchanged.
|
|
380
|
+
- Update development tooling to `@napi-rs/cli` 3.9.1, fast-check 4.10.0, and Vite 8.3.0 with verified registry integrity.
|
|
381
|
+
|
|
382
|
+
## 0.12.0 - 2026-09-15
|
|
383
|
+
|
|
384
|
+
### Highlights
|
|
385
|
+
|
|
386
|
+
- **Faster archive workloads:** reuse validated ZIP names, batch native plain-TAR reads, and reduce gzip validation and payload-buffer allocations while preserving complete archive checks.
|
|
387
|
+
- **Less overhead in everyday filesystem work:** reduce repeated path resolution, directory-walk work, small-hash allocations, Linux copy buffers, and lock-manager setup.
|
|
388
|
+
- **Stronger Windows file boundaries:** verify secure-file permissions against the descriptor supplying the bytes, retain handles through private-directory creation and cleanup, and check directory identity when Root containment relies on case folding.
|
|
389
|
+
- **Safer queue recovery and cleanup:** prevent stale migrations from replacing newer queue entries, preserve files refreshed during expiry pruning, and keep existing destinations intact when guest symlink moves fail.
|
|
390
|
+
- **Versioned install identifiers:** add `safePathSegmentHashedV2`, which hashes every trimmed ID into a fixed lowercase directory segment and avoids the deterministic aliases of the legacy readable encoder.
|
|
391
|
+
|
|
392
|
+
### Compatibility and upgrade notes
|
|
393
|
+
|
|
394
|
+
- Windows `readSecureFile()` now requires the matching current native package for descriptor-bound owner and DACL checks. Missing or stale helpers, remote handles, denied access, and unsupported or incomplete permission facts fail closed before reading; there is no pathname ACL-command fallback. Standalone permission-reporting APIs retain their documented fallbacks.
|
|
395
|
+
- Windows private-directory creation rejects explicit `.` and `..` components and components ending in spaces or periods before filesystem operations. Directory association requires the complete file identity; unsupported identity classes fail closed.
|
|
396
|
+
- Windows native descriptor operations require the host runtime's paired libuv descriptor bridge. Missing or partial bridges reject with `ENOTSUP` instead of interpreting descriptors as raw handles or using another runtime's descriptor table.
|
|
397
|
+
- `safePathSegmentHashedV2` is opt-in. Legacy encoder outputs and the default encoder remain unchanged. Switching to V2 changes existing paths: use a new base directory or explicitly migrate after verifying recorded IDs, and do not silently fall back to legacy paths.
|
|
398
|
+
|
|
399
|
+
### Archive performance and reliability
|
|
400
|
+
|
|
401
|
+
- Reuse identical local and central ZIP name validation within one entry, including matching complete Unicode Path metadata. Differing fields and shared backing memory retain independent checks; CRC, traversal, collision, and interpretation validation remain intact.
|
|
402
|
+
- Reuse raw archive path segments during validation, preserving platform rules, normalized component limits, and error ordering.
|
|
403
|
+
- Speed up native plain-TAR inspection and extraction with bounded file read-ahead, retaining complete framing, payload, trailer, and cancellation checks at parser boundaries.
|
|
404
|
+
- Fill one owned result buffer when reading admitted gzip TAR payloads in JavaScript, reducing retained decoded buffers while preserving complete validation and independent returned bytes.
|
|
405
|
+
- Validate gzip container padding with bounded buffer comparisons and one lazily allocated reusable zero window, preserving complete suffix checks, short-read handling, and cancellation cadence.
|
|
406
|
+
- Destroy and join ZIP decoder sources before rejecting bounded member reads, preventing abandoned decoders and retained archive buffers after byte-limit failures while preserving error classifications on Node 22 and newer.
|
|
407
|
+
|
|
408
|
+
### Paths, reads, and copying
|
|
409
|
+
|
|
410
|
+
- Reuse normalized absolute POSIX roots within bulk lexical path resolution and avoid per-segment drive-letter validation allocations, preserving path spellings, validation order, and errors.
|
|
411
|
+
- Reuse resolved Windows drive paths and descendant comparisons, with existing namespace, UNC, and colon-bearing component handling retained. Classify Windows device names without intermediate segment arrays.
|
|
412
|
+
- Reuse lexical directory prefixes while walking, preserving traversal order, followed-link spelling, budgets, callback behavior, and directory checks.
|
|
413
|
+
- Size small JavaScript SHA-256 scratch buffers to the file and byte budget, growing when size hints are stale while preserving complete reads, overflow detection, cancellation, and borrowed-descriptor ownership.
|
|
414
|
+
- Complete positive short reads from virtual files that report size zero instead of returning a truncated prefix. Byte-limit overflow detection and borrowed-descriptor cursor behavior remain intact.
|
|
415
|
+
- Confirm EOF when Linux `copy_file_range` reports zero after partial progress; resume guarded byte copying when readable data remains instead of publishing a truncated copy.
|
|
416
|
+
- Size Linux native byte-copy buffers from existing source-size hints, bounded between 4 KiB and 1 MiB, retaining read-to-EOF behavior, sparse output, and borrowed descriptors.
|
|
417
|
+
|
|
418
|
+
### Windows security and generated names
|
|
419
|
+
|
|
420
|
+
- Bind secure-file owner and DACL verification to the open descriptor and compare its native volume serial and file-index projection with Node's bigint receipt before reading.
|
|
421
|
+
- Retain parent and created-directory handles through private-directory creation, protected-DACL validation, complete identity association, and failure cleanup, preserving concurrent pathname replacements.
|
|
422
|
+
- Require differently cased Root prefixes to match the Root directory's exact identity, then continue under its trusted spelling. Exact-case paths retain their lexical fast path.
|
|
423
|
+
- Prevent filename truncation and temp-file sanitization from producing Windows reserved-device aliases. Invalid completed sibling callback components reject before hooks or producers run.
|
|
424
|
+
|
|
425
|
+
### Queues, locks, and cleanup
|
|
426
|
+
|
|
427
|
+
- Bind durable-queue migrations to their pinned processing generation, rejecting stale callbacks after acknowledgement, quarantine, or replacement. Release the verified read pin at Windows publication so migrations can replace their target.
|
|
428
|
+
- Resync resumed processing claims under the transfer lock so conditional migrations cannot bypass a failed publication sync on retry.
|
|
429
|
+
- Recheck current file type and modification time immediately before expiry pruning removes a file, preserving fresh replacements and timestamp refreshes without requiring read access.
|
|
430
|
+
- Stage guest cross-device symlink moves privately before atomic replacement, preserving the existing destination and source link when creation or publication fails.
|
|
431
|
+
- Avoid rescanning held locks during repeated lock-manager construction, and initialize legacy reference counts during acquisition and release so nested handles retain the outer lock.
|
|
432
|
+
|
|
433
|
+
### Validation
|
|
434
|
+
|
|
435
|
+
- Expand representative method-audit coverage to 572 workloads across JavaScript/native modes on Linux, macOS, and Windows, including 1,000-entry walks, larger TAR inventories, and small synchronous hashes, with explicit platform exclusions.
|
|
436
|
+
- Allow focused method audits with explicit native mode and balanced A-B-B-A or B-A-A-B measurement ordering.
|
|
437
|
+
- Extend walker coverage for lexical aliases and callback mutation. Keep cancellation fixture setup outside the operation deadline and drain fixture writes before cleanup on slow or failing filesystems.
|
|
438
|
+
- Give the Windows slow physical-package-copy sidecar proof separate setup, operation, child, and teardown budgets with bounded failure diagnostics, preserving ordinary helper deadlines.
|
|
439
|
+
|
|
440
|
+
## 0.11.0 - 2026-09-14
|
|
441
|
+
|
|
442
|
+
### Highlights
|
|
443
|
+
|
|
444
|
+
- **Faster archive-heavy workloads:** reduce repeated ZIP admission, batch native ZIP metadata reads, and reuse TAR parser input and admitted payload ranges. Archive extraction and inspection also benefit from larger reusable staging and transfer buffers.
|
|
445
|
+
- **More capable filesystem roots:** iterate one directory with `Root.entries()`, remove trees with bounded or explicitly unlimited `Root.remove()`, and create complete files from async byte streams with `Root.create()`.
|
|
446
|
+
- **Reuse handles for copying, overwriting, and hashing:** add `copyFileHandle()`, `overwriteFileHandle()`, and `sha256FileSync()` while preserving caller-owned descriptors and file positions.
|
|
447
|
+
- **Faster Windows permissions and copying:** inspect inherited ACLs without PowerShell startup when the native binding is available, reduce copy allocations, and preserve large zero-filled ranges in empty destination files.
|
|
448
|
+
- **Safer publication and private files:** tighten hardlink, inode, permission, archive-destination, and lock validation; add private producer workspaces for callback writes and fix staging of long Unicode filenames.
|
|
449
|
+
|
|
450
|
+
### Compatibility and upgrade notes
|
|
451
|
+
|
|
452
|
+
- `readSecureFile()` now rejects hardlinked inputs and rechecks the opened file after reading. Synchronous store publication rejects substituted or unverifiable file identities, including opaque Windows identities.
|
|
453
|
+
- Invalid lock stale thresholds and compromise-check intervals now reject before acquisition. Asynchronous compromise checks no longer overlap or turn overflowing timer values into rapid polling loops.
|
|
454
|
+
- Inherited atomic-replacement modes include only ordinary rwx bits from an existing non-symlink regular file. JavaScript raw sidecars are created with mode `0o600`, so a permissive umask cannot expose their payloads.
|
|
455
|
+
- Bun gains additional POSIX path support through the existing Rust binding, including with JIT disabled. Native-off policy remains explicit; addon-free limitations are documented. Node.js remains supported from version 22.
|
|
456
|
+
|
|
457
|
+
### Directory and file workflows
|
|
458
|
+
|
|
459
|
+
- Add guarded, nonrecursive `Root.entries()` with child-symlink reporting, cancellation, entry limits, and bounded sorted-name collection. Traversal and link policy remain with the caller.
|
|
460
|
+
- Extend `Root.remove()` with recursive traversal, entry/depth budgets, sorted or filesystem order, cancellation, and missing-target handling. Callers may explicitly choose unlimited recursive-removal budgets; exact directory/leaf identity checks remain in place, and `force` continues sibling cleanup when a child directory disappears.
|
|
461
|
+
- Add a `Root.create()` overload for async byte iterables. Input consumption is bounded, cancellation settles pending work, and completed contents are published exclusively through the existing guarded writer.
|
|
462
|
+
- Add `copyFileHandle()` for bounded regular-file transfers and `overwriteFileHandle()` for in-place replacement with prefix-only rollback preparation, growth-before-overwrite ordering, and a once-only synchronous pre-write admission callback. Both preserve caller ownership and cursors.
|
|
463
|
+
- Add `sha256FileSync()` for bounded hashing of pathnames and borrowed descriptors, with exact pathname admission and no native-binding requirement.
|
|
464
|
+
- Add exact directory-identity observations and synchronous assertions for caller-owned staging and recovery, retaining bigint precision, optional canonical-path checks, and final-symlink rejection even with trailing separators.
|
|
465
|
+
- Add `probePathCaseInsensitiveSync()` for local ASCII-case observations, with a read-only option, owned temporary probes, and an explicit unknown result instead of operating-system guesses.
|
|
466
|
+
- Add opt-in `producerIsolation: "private-directory"` to sibling callback writes and external sibling outputs. Cleanup ownership is established before the producer runs, allowing partial failures to be cleaned without changing existing defaults or publication checks.
|
|
467
|
+
|
|
468
|
+
### Archive and path performance
|
|
469
|
+
|
|
470
|
+
- Avoid repeating physical ZIP admission during JavaScript member reads. Reduce filename-validation allocations across both backends, and group native ZIP metadata reads into bounded buffers while retaining complete record, CRC, limit, and cancellation checks.
|
|
471
|
+
- Copy each JavaScript TAR WASM input window once across member events. Read selected plain-TAR payloads directly from the fully admitted private snapshot instead of parsing it a second time.
|
|
472
|
+
- Batch private archive-input staging through reusable buffers capped at 512 KiB. Match file-backed JavaScript gzip output to the 64 KiB WASM input window for faster extraction and TAR inspection; retain short-I/O handling, framing validation, bounded growth probes, and settled cancellation.
|
|
473
|
+
- Reduce repeated POSIX path-scoping and Root work, reuse checked store keys, and avoid redundant name normalization. Root exclusion, canonical spelling, Unicode byte limits, collision rules, home expansion, and live filesystem identity checks are preserved.
|
|
474
|
+
- Complete short gzip-header reads before classifying staged archives, preventing valid gzip files from being mistaken for TAR.
|
|
475
|
+
- Fit callback staging names using their original UTF-8 length as well as NFC/NFD lengths. Valid destination names whose normalization is shorter no longer fail with `ENAMETOOLONG` when a staging prefix is added; the final target spelling is preserved.
|
|
476
|
+
|
|
477
|
+
### Copy performance and filesystem fidelity
|
|
478
|
+
|
|
479
|
+
- Batch large borrowed-handle and JavaScript Root transfers through reusable 512 KiB buffers, retaining byte limits, cancellation, and per-write authority checks. Small byte budgets also bound scratch allocation and the overflow probe.
|
|
480
|
+
- Batch atomic copy-fallback restore snapshots and synchronous source reads into reusable buffers, reducing reads and full-buffer copies while preserving restore budgets, short reads, identity checks, original modes, and rollback behavior.
|
|
481
|
+
- Share portable directory-copy workers across sibling directories, with bounded deferred completion, joined cancellation, and bottom-up timestamp restoration. Preserve fractional timestamps, including pre-1970 dates on Unix, to the precision supported by Node and the destination filesystem.
|
|
482
|
+
- Add Linux ZFS directory cloning through the bounded reflink traversal, with independent destinations, metadata preservation, and no byte-copy fallback when cloning is required. XFS clones now preserve user extended attributes on read-only files and directories, along with their modes and ACLs.
|
|
483
|
+
- Preserve large zero-filled ranges without allocating them during native Linux automatic directory byte copies and native Windows byte copies into empty files. Exact lengths, contents, cancellation settlement, and existing-target overwrite behavior remain intact.
|
|
484
|
+
- Confirm EOF when Linux copy offload initially reports zero bytes, so automatic copying reads available data instead of publishing an empty file.
|
|
485
|
+
- Size Windows native copy buffers to small inputs, reuse directory-enumeration buffers, and start ReFS workers as file jobs arrive. Report disk-full and sharing failures as `ENOSPC` and `EBUSY`; worker-start failures join admitted workers before returning instead of panicking across the native boundary.
|
|
486
|
+
|
|
487
|
+
### Permissions, compatibility, and tooling
|
|
488
|
+
|
|
489
|
+
- Inspect complete inherited local Windows ACLs through the native descriptor reader when available, preserving SID classification, explicit test injections, .NET normalization, and structured fallback diagnostics. Classify canonical SID facts directly without a redundant account lookup, retaining fail-closed behavior when discovery is unavailable.
|
|
490
|
+
- Retain the admitted archive destination's exact bigint identity through publication, rejecting replacements introduced by entry filters or concurrent actors before files can be published into them.
|
|
491
|
+
- Support Bun POSIX resolution for restrictive permissions, literal backslashes, sockets, and symlink/parent traversal. Preserve raw path components in absolute recursive-mkdir inputs to fix relative publication and queue writes on Bun for Windows.
|
|
492
|
+
- Export the caller-launched Python guest filesystem program and shared no-replace rename fragment through `@openclaw/fs-safe/guest`. The Linux/macOS protocol validates basenames before filesystem operations and uses short independent staging names for long-basename writes and cross-device moves.
|
|
493
|
+
- Support standalone `@pnpm/exe` in consumer smoke and lifecycle tests while retaining the declared pnpm version and isolated consumer configuration. Strengthen exact-inode durability checks and batch independent native ACL test observations.
|
|
494
|
+
- Expand method benchmarks to 557 representative workloads across Linux, macOS, and Windows, with native/JavaScript modes, equal-concurrency copy comparisons, large collections, contention, and explicit platform exclusions. Verify returned data and digests, initialize private Windows fixture ACLs, apply synchronous iteration reductions consistently, and handle expected synchronous rejections during timed calls as well as warmup.
|
|
495
|
+
|
|
496
|
+
## 0.10.0 - 2026-09-13
|
|
497
|
+
|
|
498
|
+
### Highlights
|
|
499
|
+
|
|
500
|
+
- **Faster ZIP and TAR reads:** read archive members without temporary disk snapshots, reuse admitted native buffers, and reduce integrity-check and decompression overhead while retaining full validation.
|
|
501
|
+
- **Directory copies with native acceleration:** use `copyTree` to prefer or require APFS clones, Btrfs snapshots, or parallel ReFS/XFS reflinks, or choose portable byte copying for controlled, immutable templates and checkouts.
|
|
502
|
+
- **Guarded file copies:** copy from checked Root sources with exclusive publication, cancellation that waits for writes, and optional native cloning; copied data stays independent of its source.
|
|
503
|
+
- **Faster Windows byte copies:** reuse bounded buffers and parallelize directory copying, with native transfers between checked handles in automatic mode.
|
|
504
|
+
- **Reuse buffers for file reads:** new async and sync positional readers fill caller-owned buffers without changing the file's current offset; hashing gains byte limits and cancellation.
|
|
505
|
+
- **Walk large directories incrementally:** Root walks bound metadata work by the entry budget, with an opt-in filesystem-order stream for directories too wide to enumerate up front.
|
|
506
|
+
- **Recheck live access authority:** Root mutations can verify caller-owned leases or cancellation immediately before dispatch, and new symlink policies allow contained parent-directory aliases while rejecting final symlinks.
|
|
507
|
+
|
|
508
|
+
### Compatibility and upgrade notes
|
|
509
|
+
|
|
510
|
+
- **Ambiguous paths may now reject.** Reads preserve actual symlink and parent traversal instead of normalizing it away; mutations reject ambiguous symlink/parent combinations. Use the new explicit parent-alias policies when that behavior is intended.
|
|
511
|
+
- **Mutation failures are reported more accurately.** Failed parent-directory checks after fallback moves and removals now reject instead of reporting success. Treat rejection after dispatch as a potentially completed mutation, not proof that nothing changed.
|
|
512
|
+
- **Windows fallback writes honor durability settings.** Root defaults and per-call overrides now apply to JavaScript write/create fallbacks. Use `durable: false` explicitly for reconstructible data when syncing is unnecessary.
|
|
513
|
+
|
|
514
|
+
### Archive reads
|
|
515
|
+
|
|
516
|
+
- Retain admitted ZIP input buffers and parsed directories across native inspection and selected-member reads, removing disk staging and archive handoff copies. JavaScript ZIP reads also consume the admitted in-memory archive directly.
|
|
517
|
+
- Retain native TAR input and admitted member offsets. Plain TAR copies only the selected range after complete validation; gzip, zstd, and bzip2 replay bounded decompression with framing, trailer, padding, and limit checks intact. JavaScript TAR/gzip reads also avoid disk staging, with gzip output chunks matched to the WASM input window.
|
|
518
|
+
- Accelerate ZIP integrity checks with Node's native CRC32 on Node 22.2 and newer, retaining checksum validation and compatibility with earlier Node 22 versions. Reuse the strict UTF-8 decoder for TAR metadata without changing filename validation or BOM handling.
|
|
519
|
+
- Give each native archive pass its own abort signal so completed inspection cannot mask an extraction deadline.
|
|
520
|
+
|
|
521
|
+
### File reads, hashing, and directory walks
|
|
522
|
+
|
|
523
|
+
- Add `readFileWindowFully()` and `readFileWindowFullySync()` to fill caller-owned buffers through short reads, stop at EOF, and preserve descriptor offsets and ownership. Async cancellation waits for the pending read to settle before the buffer can be reused.
|
|
524
|
+
- Bound speculative allocations for large or exhausted files and accelerate synchronous bounded reads of regular files up to 16 MiB without extra chunk copies; retain one-read async performance through the default Root byte budget.
|
|
525
|
+
- Add byte limits and cooperative cancellation to `sha256File`, preserving descriptor ownership and waiting for native work to stop before rejecting. Batch larger JavaScript hash reads in bounded buffers up to 256 KiB to reduce filesystem calls.
|
|
526
|
+
- Bound Root walk metadata batches by the global entry budget and stop batches at directories and symlinks before descent. Add `order: "filesystem"` for incremental directory streaming with bounded lookahead; sorted traversal remains the default, and unbounded sorted walks retain fast snapshots.
|
|
527
|
+
- Reduce walk overhead by sharing equivalent directory checks and synchronous entry classification, reusing joined paths, and avoiding an extra promise per async entry. Preserve both operation and close failures during disposal, and report a followed symlink target's size consistently in filters and returned metadata.
|
|
528
|
+
- Speed up POSIX containment and filename helpers while preserving traversal rejection, Unicode handling, reserved names, and collision-resistant install names.
|
|
529
|
+
|
|
530
|
+
### File and directory copying
|
|
531
|
+
|
|
532
|
+
- Extend `Root.copyIn` with guarded Root sources, exclusive publication, settled cancellation, exact publication receipts, and optional native file cloning while keeping copied data independent. Share `clone: "auto" | "always" | "never"` with `copyTree`; Root keeps its `"never"` default, which uses ordinary reads and writes without clone or copy-offload calls.
|
|
533
|
+
- Add `copyTree` in `@openclaw/fs-safe/copy` with `clone: "auto"` (default), `"always"`, and `"never"` policies. Automatic copying prefers native cloning and falls back to byte copying only when the binding or filesystem capability is unavailable, or cloning cannot cross filesystems; strict cloning never falls back, and ordinary copying avoids clone and copy-offload calls. Destinations must be absent, and cancellation waits for admitted writes to settle.
|
|
534
|
+
- Speed up Windows directory byte copies with bounded parallelism, reusable 1 MiB buffers, and native transfers between checked handles in automatic mode. Honor copy concurrency across portable backends and settle admitted writes before reporting failures or cancellation.
|
|
535
|
+
- Support APFS directory clones, Btrfs subvolume preparation and snapshots, and parallel ReFS/XFS reflinks through `probeTreeClone` and `createCloneSource`. Preserve XFS file and directory extended attributes and ACLs, and restore directory timestamps after APFS bulk cloning.
|
|
536
|
+
- Add batched `readCloneFileMetadata` for APFS clone IDs and file metadata. These are point-in-time observations, not authorization or proof that later contents remain unchanged.
|
|
537
|
+
- Document metadata and filesystem limits: APFS directory cloning does not guarantee descendant ACL preservation or inheritance, Btrfs snapshots omit nested subvolume contents, and ReFS rejects unsupported reparse points and alternate data streams. Portable copying does not promise ownership, ACL, extended-attribute, alternate-stream, or sparse-layout preservation. Callers retain responsibility for source immutability, permission policy, and recovery after a failed or aborted copy.
|
|
538
|
+
|
|
539
|
+
### Root policies and path safety
|
|
540
|
+
|
|
541
|
+
- Add composed Root `assertBeforeMutation` callbacks that recheck live caller authority immediately before mutation dispatch, including each buffered-write chunk and direct file removal. Root-level and per-call checks both apply; refusal errors and owned cleanup are preserved across native and JavaScript writers.
|
|
542
|
+
- Add `symlinks: "follow-parents-within-root"` for reads and opt-in `mutationSymlinks` policies, following contained directory aliases while rejecting final symlinks at absolute root entry, open, and publication boundaries.
|
|
543
|
+
- Preserve checked canonical and raw traversal in Root, absolute-path, local-root, and `openRootFile`/`openRootFileSync` reads, including home expansion and parent components that cancel a missing prefix. Validation can no longer normalize away a rejected link or select a different in-root file; local `requireFile` reads retain final-symlink rejection.
|
|
544
|
+
- Pin Root directory identities as bigint values, reject indistinguishable numeric inode replacements, and fail closed after bounded retries when Windows root identity remains unknown. Require a verified opened identity before inheriting an existing write target's mode.
|
|
545
|
+
- Preserve Linux native directory-only open flags so the kernel rejects non-directories before FIFO blocking or truncation, while removing the redundant post-open stat.
|
|
546
|
+
- Expand leading home-directory prefixes before resolving parent segments, so `~/../file` resolves against the home directory's parent; keep other tildes literal. Shorten only the home directory and its descendants in error messages, preserving similarly prefixed sibling paths.
|
|
547
|
+
- Resolve Windows ACL principal names such as `constructor` and `__proto__` as real dictionary keys, preserving SID lookup and translated entries.
|
|
548
|
+
- Preserve Unicode Windows paths during fallback permission inspection by reading structured SID and access-mask facts instead of localized command output.
|
|
549
|
+
|
|
550
|
+
### Writes, moves, and cleanup
|
|
551
|
+
|
|
552
|
+
- Check the complete encoded newline before Root append, avoiding duplicated or missing separators in UTF-16LE files on Windows and other platforms.
|
|
553
|
+
- Preserve unowned staging replacements after Windows fallback write or sync failures, and retain exact parent-directory identities so owned partial-file cleanup works even when Windows directory indexes exceed numeric precision.
|
|
554
|
+
- Report failed post-operation parent checks after fallback moves and removals, including moved source parents, instead of silently reporting success.
|
|
555
|
+
- Close publication descriptors when initial inspection fails and relinquish descriptor numbers before potentially failing closes, preventing cleanup from closing a reused descriptor.
|
|
556
|
+
- Keep move-fallback publication and cleanup tied to the initially admitted staging identity, preserve substituted paths after copy failures, and reject writes that make no progress.
|
|
557
|
+
- Preserve recreated temporary paths after exit cleanup observes the original name missing; absence no longer authorizes removal of a later replacement.
|
|
558
|
+
- Allow explicitly authorized filesystem-root descendants in Trash moves and keep reservation-directory names bounded for long source filenames.
|
|
559
|
+
|
|
560
|
+
### Locks and durable queues
|
|
561
|
+
|
|
562
|
+
- Honor finite timeouts and retry delays above Node's single-timer limit by rearming bounded timers instead of expiring after approximately 1 ms.
|
|
563
|
+
- Keep zero-delay lock retries finite when a large backoff factor overflows, preserving retry and timeout budgets.
|
|
564
|
+
- Skip invalid delivered-marker names during durable queue batch loading, preserving malformed files while continuing to load valid pending entries.
|
|
565
|
+
- Read durable queue entries through the shared bounded buffer and admitted file-size hint, reducing filesystem calls and chunk copies while retaining exact identity and byte-limit checks.
|
|
566
|
+
|
|
567
|
+
### Validation and maintenance
|
|
568
|
+
|
|
569
|
+
- Add a method-by-method benchmark with callable API coverage checks, native/fallback reports, and fixture setup outside measurement.
|
|
570
|
+
- Give the full documentation-build smoke test a bounded longer runtime on slow Windows runners. Validate retained native archive buffers across concurrent reads and forced garbage collection; use efficient byte comparisons in large-buffer coverage tests without relaxing timeouts.
|
|
571
|
+
|
|
572
|
+
## 0.9.0 - 2026-09-11
|
|
573
|
+
|
|
574
|
+
**Highlights:** Faster bulk extraction and configurable durability, with Windows filesystem fixes and reliable mixed-version lock cleanup.
|
|
575
|
+
|
|
576
|
+
- **Compatibility:** `extractArchive` skips file and directory fsync by default for faster bulk imports; pass `durable: true` to restore the previous durability behavior.
|
|
577
|
+
- Add store-level and per-call `durable` options to FileStore writes, streams, copies, and synchronous writes, plus JSON-store defaults, so reconstructible data can skip fsync while preserving guarded atomic publication.
|
|
578
|
+
- Add `Root.copyIn({ durable: false })`, with per-call, root-default, then `true` precedence, to skip file and parent-directory fsync for reconstructible data.
|
|
579
|
+
- Speed up archive extraction by omitting private staging syncs, deferring opted-in publication durability to one bounded file/directory pass, and sharing duplicate destination guards without weakening containment checks.
|
|
580
|
+
- Keep process-exit lock cleanup working when a legacy shared manager lacks reclaim-guard state, continuing through later managers while preserving retained locks; thanks @metahacker.
|
|
581
|
+
- Publish read-only modes such as `0o400` through the Windows JavaScript write fallback by retaining private `0o600` staging and applying the final mode through the retained handle after rename.
|
|
582
|
+
- Preserve Windows file identity across open-induced `ctime` changes during guarded move fallback, and recreate directory junctions without requiring symlink privileges; thanks @giodl73-repo.
|
|
583
|
+
- Extend synchronous metadata observations to archive, copy, publication, move, and directory-mode paths while keeping data and structural I/O asynchronous and preserving native canonical paths.
|
|
584
|
+
- Keep durable publication coverage reliable under filesystem contention by allowing bounded I/O time and draining unfinished operations before fixture cleanup.
|
|
585
|
+
- Refresh JSZip to 3.10.2, Node declarations to 26.5.1, emnapi runtime build tooling to 2.0.0-alpha.5, the Rust hybrid-array dependency to 0.4.15, and pinned CodeQL actions to 4.38.0.
|
|
586
|
+
|
|
587
|
+
## 0.8.6 - 2026-09-07
|
|
588
|
+
|
|
589
|
+
**Highlights:** Clearer guidance for atomic writes on Windows exFAT, with a repeatable filesystem compatibility probe.
|
|
590
|
+
|
|
591
|
+
- Document the existing opt-in locked rename policy for Windows exFAT/FAT32 and add a built-package probe for identity drift, substitution handling, and temporary-prefix isolation; require a trusted, quiescent probe parent and verify its cleanup identity. Thanks @dongsheng123132.
|
|
592
|
+
- Refresh the native zstd decoder to 0.14.0 and compatible Rust and JavaScript development dependencies, and update the pnpm setup action to 6.1.0.
|
|
593
|
+
|
|
594
|
+
## 0.8.5 - 2026-09-07
|
|
595
|
+
|
|
596
|
+
### Highlights
|
|
597
|
+
|
|
598
|
+
- **Strict moves stay strict:** a move started with hardlink rejection keeps that policy throughout asynchronous preparation and copying, even when the caller reuses or changes its options object.
|
|
599
|
+
|
|
600
|
+
### Safe moves
|
|
601
|
+
|
|
602
|
+
- Preserve the admitted `sourceHardlinks` policy through staged-copy fallback. A late hardlink is still rejected before destination publication, with the source and its alias preserved, instead of being accepted after an in-flight options change.
|
|
603
|
+
- Document when move policy is captured and how it relates to the existing per-mutation authority checks and destination-publication receipts.
|
|
604
|
+
|
|
605
|
+
## 0.8.4 - 2026-09-07
|
|
606
|
+
|
|
607
|
+
### Highlights
|
|
608
|
+
|
|
609
|
+
- **Faster reads and writes:** metadata checks avoid unnecessary event-loop round-trips while data I/O stays asynchronous; reconstructible data can explicitly opt out of fsync with `durable: false`.
|
|
610
|
+
- **Inspect TARs without extracting:** the new bounded archive inspection API uses the same native/WASM admission and canonical planner as extraction.
|
|
611
|
+
|
|
612
|
+
### Filesystem performance and durability
|
|
613
|
+
|
|
614
|
+
- Run metadata checks inside async operations synchronously (microseconds each), cutting event-loop round-trips per read/write while data I/O remains asynchronous and native canonical path spelling is preserved, including Windows short paths.
|
|
615
|
+
- Add `durable` to Root write/create/writeJson/createJson/append options and Root defaults; `durable: false` skips file and parent fsync for reconstructible data (default unchanged: durable).
|
|
616
|
+
|
|
617
|
+
### Archive inspection and compatibility
|
|
618
|
+
|
|
619
|
+
- Add bounded `inspectTarArchive` with complete native/WASM admission and the same canonical extraction planner, preserving effective member identities without materializing an output tree.
|
|
620
|
+
- Preserve inherited and getter-backed extraction options on the WASM TAR path, matching native and ZIP handling for destinations, filters, stripping, and modes.
|
|
621
|
+
|
|
622
|
+
### Validation
|
|
623
|
+
|
|
624
|
+
- Apply the existing filesystem-test worker cap locally as well as in CI, and drain archive publication fixtures before resetting hooks or cleaning restricted directories after timeouts.
|
|
625
|
+
|
|
626
|
+
## 0.8.3 - 2026-09-06
|
|
627
|
+
|
|
628
|
+
### Highlights
|
|
629
|
+
|
|
630
|
+
- **Safer cancellable moves:** callers can guard every source removal and retain an exact destination-publication receipt for recovery after later failures, including Windows and cross-device fallbacks.
|
|
631
|
+
- **Less filesystem overhead:** reads and writes make fewer calls while preserving their existing boundary and identity checks.
|
|
632
|
+
|
|
633
|
+
### Move authority and recovery
|
|
634
|
+
|
|
635
|
+
- Add optional synchronous move authority checks before renames and each copied-source removal, plus an exact bigint destination-publication receipt for caller-owned recovery after later failure; retain cross-device and Windows `EPERM` copy fallbacks and the existing `Promise<void>` contract.
|
|
636
|
+
|
|
637
|
+
### Filesystem performance and durability
|
|
638
|
+
|
|
639
|
+
- Reduce filesystem calls per read and write while retaining boundary, hardlink, hook, retry, and post-mutation identity checks.
|
|
640
|
+
- Skip native publication's extra mode-only file fsync for modes that retain owner read/write when staging permissions have not widened; after a crash, a file may retain staged `0o600` instead of the wider requested mode, while restrictive modes retain the extra fsync.
|
|
641
|
+
|
|
642
|
+
### Tooling and maintenance
|
|
643
|
+
|
|
644
|
+
- Add 1 MiB read/write and existing-mode inheritance benchmarks, with native-mode metadata and per-case iteration counts.
|
|
645
|
+
- Simplify internals without changing public behavior: remove unused string/home helpers, `resolveUserPath`, `createBoundedReadStream`, `sidecarLockPayloadIsStale`, and `tarManifestEntryCost`; share filesystem utilities and merge private modules.
|
|
646
|
+
|
|
647
|
+
## 0.8.2 - 2026-09-05
|
|
648
|
+
|
|
649
|
+
**Highlights:** TAR/gzip extraction now shares one parser across native and fallback modes, improving compatibility with system-tar output while keeping admission and publication guarded.
|
|
650
|
+
|
|
651
|
+
- Reject reserved archive device names and ignored-space aliases on Windows while preserving ordinary POSIX members, and guard secret reads with the documented `device-path` rejection. Thanks @SebTardif.
|
|
652
|
+
- Unify native and guarded JavaScript TAR admission on one Rust core, bundle its WASM build, and accept strict UTF-8/newline PAX paths without a runtime `tar` dependency; retain bounded framing, raw-field validation, and guarded publication.
|
|
653
|
+
- Accept bounded all-zero gzip container padding from system-tar stdout after validated member trailers, and reject nonzero data hidden after padding on both native and guarded JavaScript TAR routes.
|
|
654
|
+
- Fix `replaceFileAtomic({ dirMode })` rejecting a raw `fs.stat` mode: directory modes are masked to permission bits (`0o7777`) before application and verification, matching chmod semantics; 0.8.0 regressed this input tolerance with `directory final mode could not be verified`.
|
|
655
|
+
- Standardize malformed TAR mode fields on the native zero fallback while preserving ordinary octal, absent, zero, and safe GNU binary modes.
|
|
656
|
+
- Refresh the native binding build tool to `@napi-rs/cli` 3.9.0 and the test/coverage toolchain to Vitest 5.0.0. Thanks @dependabot.
|
|
657
|
+
|
|
658
|
+
## 0.8.1 - 2026-09-04
|
|
659
|
+
|
|
660
|
+
- Add `retainOnExit` to sidecar lock acquisition so deliberately retained ownership records (for example fail-closed build locks) survive natural process exit; default process-exit release behavior is unchanged.
|
|
661
|
+
|
|
662
|
+
## 0.8.0 - 2026-09-04
|
|
663
|
+
|
|
664
|
+
### Compatibility and upgrade notes
|
|
665
|
+
|
|
666
|
+
- **Existing secret directories must already have the requested mode.** Wrong permissions now fail the write with `insecure-permissions` instead of being chmod-repaired; audit and fix existing directories before upgrading.
|
|
667
|
+
- **FileStore keys are enforced portably.** Parent-segment and backslash aliases are rejected with `invalid-path` across async reads, `exists`, and `remove`, matching the sync and write paths.
|
|
668
|
+
- **Lock and queue failures now surface.** Durable queue enqueue, migration, and acknowledgement sync failures propagate instead of returning empty or partial success; sidecar payloads above 1 MiB are rejected with `too-large`; async lock retry counts apply even with infinite deadlines. Handle these rejections explicitly.
|
|
669
|
+
- **Create-only visibility is backend-scoped.** The sibling-temp no-visibility guarantee for `create`, `createJson`, and `write({ overwrite: false })` holds with the native binding (`require` mode, or `auto` when the binding loads); the JavaScript fallback claims the final name before content is written.
|
|
670
|
+
|
|
671
|
+
### Highlights
|
|
672
|
+
|
|
673
|
+
- **Stricter secret storage:** existing secret directories are never chmod-repaired — wrong permissions fail the write — and directory identity is tracked exactly through private locks and native writes, closing replacement races.
|
|
674
|
+
- **Exact file modes everywhere:** explicit modes, including set-ID bits, are applied after content writes and verified in full at publication, and synchronous appends no longer drop bytes when the kernel writes short.
|
|
675
|
+
- **Restrictive secret modes work:** write-only and no-access files such as `0o200` and `0o000` publish successfully through the writer's retained descriptor, without a readonly reopen or widened permissions.
|
|
676
|
+
- **Resilient locks and queues:** Windows sidecar creation retries genuine denials within the existing budgets, Root-backed locks release on natural process exit, and queue enqueue/migration/ack sync failures propagate instead of returning false success.
|
|
677
|
+
- **Honest backend guarantees:** the no-visibility guarantee for create-only Root writes is scoped to backends with atomic no-replace publication (`require`, or `auto` with a loaded binding); the JavaScript fallback's behavior is documented and regression-pinned.
|
|
678
|
+
|
|
679
|
+
### Secret files and permissions
|
|
680
|
+
|
|
681
|
+
- Preserve existing secret-directory permissions instead of repairing them; retain lossless directory identities through private locks and native writes, initialize new directories through guarded descriptor authority, honor full directory mode bits, and fail closed for unpinnable parents, including non-root macOS directories created under `umask(0o777)`.
|
|
682
|
+
- Finalize explicit file modes after content writes across pinned writers, verify all `0o7777` POSIX bits for secret publication, and use exact identities before native Windows mode changes and failed-write cleanup; JavaScript fallback cleanup preserves unverified replacements.
|
|
683
|
+
- Complete short synchronous regular-file appends and preserve explicitly requested special mode bits in both append helpers, retaining permission tightening before any data is written.
|
|
684
|
+
- Verify atomic secret writes through the writer's retained descriptor so restrictive POSIX modes such as `0o000` and `0o200` succeed without a readonly reopen or widened permissions.
|
|
685
|
+
- Retry and fully revalidate raced secret-parent creation so concurrent writes to distinct leaves succeed without leaking `EEXIST` or reporting a false `secret-exists` collision.
|
|
686
|
+
- Scope the sibling-temp no-visibility guarantee for create-only Root writes (`create`, `createJson`, `write({ overwrite: false })`) to backends with atomic no-replace publication: the native binding stages privately and renames without clobbering, while the pure-JavaScript fallback claims the final name exclusively before content is written. Regression tests now pin both behaviors.
|
|
687
|
+
- Normalize every exclusive-copy target to mode `0o600` through its owned descriptor, including under restrictive umasks and native macOS clone staging.
|
|
688
|
+
|
|
689
|
+
### Locks and durable queues
|
|
690
|
+
|
|
691
|
+
- Retry Windows Root-backed sidecar exclusive-create denials within the existing eight-retry and caller budgets, using per-call provenance while preserving callback errors and rejecting replayed failure evidence.
|
|
692
|
+
- Release asynchronously acquired Root-backed sidecar locks on natural event-loop shutdown through their retained ownership receipts, preserving changed sidecars and avoiding cleanup retry loops.
|
|
693
|
+
- Keep async Root-backed lock normalization read-only, rejecting deleted or replaced admitted parents without recreating them while preserving explicit in-root sidecars for external target keys.
|
|
694
|
+
- Reject serialized sidecar lock payloads above 1 MiB of UTF-8 bytes, including ownership overhead, with `too-large` before async or sync acquisition so admitted locks remain verifiable and releasable.
|
|
695
|
+
- Honor explicit async file-lock retry counts independently of infinite deadlines, matching sync locks while preserving unlimited retries when the count is omitted.
|
|
696
|
+
- Propagate durable queue enqueue parent-sync failures and keep published-file identity checks after synchronization, sharing the guarded writer with migrations while retaining retry state.
|
|
697
|
+
- Propagate durable queue batch claim and migration failures instead of returning empty or partial success, and strictly sync migration publication in both loaders while preserving retry state.
|
|
698
|
+
- Resync durable queue acknowledgement retries after final marker unlink before reporting completion or a newer-generation mismatch.
|
|
699
|
+
|
|
700
|
+
### Paths, stores, and moves
|
|
701
|
+
|
|
702
|
+
- Enforce portable FileStore keys consistently across methods: async reads, `exists`, and `remove` now reject parent-segment and backslash aliases with `invalid-path` for existing roots, matching sync and write methods while preserving missing-root error precedence and Root's confined existing-object compatibility.
|
|
703
|
+
- Prevent no-reader FIFOs from stalling POSIX `Root.openWritable()` and async/sync regular-file append admission, preserving regular-file write semantics and existing-target cleanup fencing.
|
|
704
|
+
- Accept canonical in-root absolute paths in `Root.readAbsolute()` and `Root.reader()` when the Root was configured through a directory symlink or Windows junction.
|
|
705
|
+
- Reject dangling symlink leaves and ancestors under strict absolute-write and missing local-root resolution instead of treating unresolved aliases as safe missing paths.
|
|
706
|
+
- Move dangling symlink sources through staged and cross-device fallback without dereferencing their absent referents, while retaining same-entry, descendant, and source-substitution guards.
|
|
707
|
+
- Retire every copied source name after cross-device moves with allowed in-tree hardlink aliases, while preserving `ESTALE` fences for unverified external mutations.
|
|
708
|
+
- End `Root.walk()` immediately after its single truncation marker, including when a nested depth or entry budget is reached.
|
|
709
|
+
- Bound callback staging components to 255 NFC/NFD bytes so filesystem-valid long destination names work without changing final names or short callback paths.
|
|
710
|
+
|
|
711
|
+
### Archives
|
|
712
|
+
|
|
713
|
+
- Separate archive staging permissions from final publication modes so zero/write-only files and restrictive directories extract correctly; finalize explicit and implicit directory modes through retained, verified authority and reject unsafe mode application instead of silently skipping it.
|
|
714
|
+
- Preserve pre-existing and substituted destination files when an archive merge fails, leaving guarded copy cleanup to the operation that owns publication.
|
|
715
|
+
- Decode absent TAR modes and supported signed GNU binary permission bits in native manifests, matching JavaScript defaults without changing the native ABI.
|
|
716
|
+
- Close a selected archive input if private staging allocation fails, preventing `readArchiveEntry()` setup errors from retaining file descriptors until garbage collection.
|
|
717
|
+
- Avoid opening the TAR metadata stream until preflight setup succeeds, and always destroy it after pipeline completion, preventing descriptor leaks on setup failures. Thanks @SebTardif.
|
|
718
|
+
|
|
719
|
+
### Docs, packaging, and validation
|
|
720
|
+
|
|
721
|
+
- Add the narrow `@openclaw/fs-safe/secure-temp-root` package subpath so consumers can import `resolveSecureTempRoot()` and its options type without loading the temp workspace implementation.
|
|
722
|
+
- Exercise secret-directory admission from isolated npm/pnpm consumer installs, retain real-identity and native-load proof, and honor explicit package-proof output paths.
|
|
723
|
+
- Correct lower-level archive helper signatures in the reference docs and guard them against drifting from the public declarations.
|
|
724
|
+
- Keep slow physical-package fixture setup outside the process-exit test deadline, drain fixture work before teardown, and give each adversarial corpus payload its own test lifetime while retaining Windows boundary assertions.
|
|
725
|
+
- Bound workflow-dispatch test subprocesses and terminate their process groups before fixture cleanup, so stuck shell descendants fail validation instead of hanging the suite.
|
|
726
|
+
- Assign cross-platform sidecar contention proof liveness to its whole-worker watchdog instead of false-failing healthy unfair acquisition; production lock timeout behavior is unchanged.
|
|
727
|
+
- Refresh the Node type definitions, align development and CI on pnpm 11.25.0, and update the pinned Pages deployment action to v5.0.1 for polling backoff and jitter. Thanks @dependabot.
|
|
728
|
+
|
|
729
|
+
## 0.7.2 - 2026-09-01
|
|
730
|
+
|
|
731
|
+
- Add `movePathWithCopyFallback({ assertBeforeRename })` to synchronously recheck caller-owned authorization immediately before direct or staged rename, preserving refusal errors and rejecting asynchronous callbacks without publishing the move.
|
|
732
|
+
|
|
733
|
+
## 0.7.1 - 2026-09-01
|
|
734
|
+
|
|
735
|
+
### Highlights
|
|
736
|
+
|
|
737
|
+
- **Make lock handoffs reliable:** recover from disappearing ownership records within retry budgets, preserve callback errors, and safely retry failed synchronous release cleanup.
|
|
738
|
+
- **Reject corrupt native ZIP reads:** verify decoded entry length against the declared size before returning bytes, while retaining byte caps and CRC checks.
|
|
739
|
+
- **Preserve long destination filenames:** use independent private staging names for Root writes and copies, ZIP extraction, and synchronous JSON writes instead of lengthening the destination basename.
|
|
740
|
+
|
|
741
|
+
### File locks
|
|
742
|
+
|
|
743
|
+
- Recover Root-backed asynchronous handoffs from unlinked opened records with exact descriptor identity and unlink evidence, including Windows resolver `EPERM`/`EBADF` failures. Recheck canonical ancestors and charge discarded observations to retry/deadline budgets without granting release or reclaim authority. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
744
|
+
- Retry Root lock contention when a holder changes between pre-open inspection and opening the file. Discard only the verified stale observation, recheck canonical ancestors, and require fresh exclusive creation; generic reads, creator admission, and release/reclaim authority remain unchanged.
|
|
745
|
+
- Verify reopened Root-created sidecars against the creator's exact serialized bytes and ownership token before admission. Reject replacements and unlinked descriptors, and retain the original creator receipt for failed-acquisition cleanup. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
746
|
+
- Align Windows synchronous lock-parent canonicalization with Root, including short-name expansion, and bound lock-file create/open denials and missing or changed snapshot retries. Preserve the original `EPERM` when a retry budget is exhausted. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
747
|
+
- Determine synchronous lock staleness from the captured payload timestamp or snapshot mtime, avoiding false stale decisions after unlink or replacement. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
748
|
+
- Retain failed synchronous release cleanup for safe retries without double-decrementing references, re-closing a consumed or reused descriptor, or deleting a replacement sidecar. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
749
|
+
- Propagate payload, JSON serialization, and parsing failures unchanged without retrying the failing callback. Scope Root failure evidence to each observation so historical errors cannot trigger retries in later, nested, or concurrent acquisitions. ([#190](https://github.com/openclaw/fs-safe/pull/190))
|
|
750
|
+
|
|
751
|
+
### File writes and archives
|
|
752
|
+
|
|
753
|
+
- Keep private staging names independent of destination basenames across guarded Root writes and copies, native Windows writes, ZIP extraction, and `writeJsonSync()`. Preserve public producer filenames, custom `tempPrefix`, and literal JSON parent-path and drive-relative semantics. ([#191](https://github.com/openclaw/fs-safe/pull/191))
|
|
754
|
+
- Avoid opening an existing target merely to inherit its mode during create-only Root writes, while preserving boundary, alias, hardlink, and type checks. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
755
|
+
- Reject native `readArchiveEntry()` ZIP payloads whose decoded length differs from the declared uncompressed size with `ArchiveFormatError("archive-header-invalid")`, matching JavaScript behavior while preserving `maxBytes` and CRC checks. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
756
|
+
|
|
757
|
+
### Docs and validation
|
|
758
|
+
|
|
759
|
+
- Clarify that invalid UTF-8 or nonzero bytes after NUL terminators in fixed TAR name, linkname, and USTAR prefix fields reject with `ArchiveSecurityError("entry-path")`; this documents existing behavior. ([#189](https://github.com/openclaw/fs-safe/pull/189))
|
|
760
|
+
- Add cross-process contention and release-retry proofs, plus focused lock-admission and ZIP-integrity coverage in JavaScript-fallback and required-native CI paths. Refresh the release checklist for eight-package trusted publishing.
|
|
761
|
+
|
|
762
|
+
## 0.7.0 - 2026-08-31
|
|
763
|
+
|
|
764
|
+
### Highlights
|
|
765
|
+
|
|
766
|
+
- **Safer reads and writes:** extend exact identity checks and retained-descriptor publication to reject substituted inputs and detect publication mismatches, including rounded-equal Windows file IDs.
|
|
767
|
+
- **Opt into bounded temp cleanup:** `cleanupSafety: "require-bounded"` prevents recursive traversal of substituted workspace trees, while the compatible default remains available without native support. See the [cleanup guarantees and POSIX limits](https://fs-safe.io/temp.html#private-temp-workspaces).
|
|
768
|
+
- **Harden untrusted archive handling:** reject hidden path aliases, ambiguous TAR metadata, corrupt gzip streams, and excessive decoded data before publication; align filtering and entry reads across JavaScript and native backends.
|
|
769
|
+
- **Preserve queued work and durability:** generation-bound claims protect newer same-ID entries from acknowledgement or quarantine, and queue transitions and synchronous store writes sync their filesystem changes.
|
|
770
|
+
- **Make lock handoffs and timeouts reliable:** recover from ownership records unlinked during contention, surface release failures, and finish in-flight archive publication or rollback before returning a timeout.
|
|
771
|
+
|
|
772
|
+
### Compatibility and upgrade notes
|
|
773
|
+
|
|
774
|
+
- **Claim queued entries before processing.** Call `loadJsonDurableQueueEntry()` or the batch loader before acknowledgement, rather than pairing a direct read with `ackJsonDurableQueueEntry()`. A pending entry without a processing claim now rejects; missing entries remain idempotent no-ops. Queue and failed directories must share a filesystem with hardlink support for quarantine. See the [queue recovery contract](https://fs-safe.io/store.html).
|
|
775
|
+
- **Handle the new cleanup result.** `TempWorkspaceCleanupResult` adds `"indeterminate"` for cleanup whose safe completion cannot be established. Exhaustive result handlers must accept it; do not treat it as successful removal or blindly delete retained artifacts.
|
|
776
|
+
- **Archive filters receive canonical pre-strip paths.** `entryFilter` now sees normalized separators, dot components, and effective metadata names rather than alternate spellings of the same entry. Update filters that match raw aliases; invalid `onFiltered` values reject before extraction rather than enabling skipping.
|
|
777
|
+
- **Validate limits and handle surfaced errors.** Root, FileStore, secure/secret/regular reads, durable queues, and external output require `maxBytes` to be a non-negative safe integer or positive `Infinity`; zero is enforced and `undefined` retains configured defaults. Lock retry/deadline numbers are validated. Handle propagated release, failed-acquire cleanup, and durability failures; exhaustive archive-limit handlers must accept `archive-decoded-size-exceeds-limit`.
|
|
778
|
+
|
|
779
|
+
### File safety and temp cleanup
|
|
780
|
+
|
|
781
|
+
- Verify regular-file reads, root-file adapters, archive staging, `Root.copyIn()` sources, and durable JSON queue reads with lossless bigint identities. Reject replacements whose IDs round to the same JavaScript number and unresolved Windows identities before reading bytes; public numeric `Stats` receipts remain unchanged.
|
|
782
|
+
- Verify async and sync regular-file append targets against exact pre-open, descriptor, and current-path identities, rejecting rounded-equal replacements and persistent unknown Windows identities before chmod or append.
|
|
783
|
+
- Retain async and sync atomic replacement descriptors across `beforeRename`, retries, copy fallback, and publication. Reject substituted, non-regular, or hardlinked stages and preserve unowned cleanup paths. `replaceFileAtomic()` and its sync variant add `renameIdentity: "verify-content-with-lock"` for rename-unstable FUSE mounts: an explicit weaker identity contract for cooperating writers, not protection against same-authority actors ignoring the lock.
|
|
784
|
+
- Pin callback-produced sibling temps through mode application, optional fsync, rename, and publication checks. Preserve unverified paths and producer modes, retain disabled sync defaults and best-effort file/directory chmod, and admit read-only descriptors unless `writeSiblingTempFile` requests file sync.
|
|
785
|
+
- Apply `writeJsonSync()` best-effort file-mode tightening only through a reopened, single-link regular descriptor matching the staged bigint identity, so a swap cannot chmod an unrelated file.
|
|
786
|
+
- Add native handle-relative temp workspace removal with collision-safe quarantine, enumerated-child identity checks, mount-crossing rejection, and symlink/reparse leaf removal without target traversal. Windows deletes exact opened handles; POSIX retains a documented final name-based race bounded to one substituted leaf or empty directory entry, never recursive traversal of a substituted nonempty tree.
|
|
787
|
+
- Require usable Linux `openat2` with `RESOLVE_NO_XDEV` at runtime for bounded cleanup. Compatible mode falls back when unavailable; `cleanupSafety: "require-bounded"` rejects before creating a child.
|
|
788
|
+
- Open attacker-raceable secure, secret, archive, queue, publication, fallback, and lock-file read paths nonblocking on POSIX, so a FIFO substitution cannot stall admission, deadlines, or cleanup verification.
|
|
789
|
+
|
|
790
|
+
### Archive extraction and reads
|
|
791
|
+
|
|
792
|
+
- Prevent archive path aliases from bypassing excluded subtrees: pass canonical pre-strip paths to `entryFilter` across JavaScript/native ZIP, TAR, gzip, zstd, and bzip2, while retaining raw-path validation, stripping, collision checks, and filter rejection policy.
|
|
793
|
+
- Reject ambiguous TAR EOF framing, unsafe numeric sizes, and bodies on raw directory/link entries before parsing. Enforce an absolute decoded-byte ceiling through physical EOF, including metadata and zero padding, before extraction publication or entry-read success; report `archive-decoded-size-exceeds-limit` on overflow.
|
|
794
|
+
- Bound retained TAR manifests with a shared budget capped at 64 MiB, independent of compressed input size. Validate checksums, strict fixed-field UTF-8, NFC/NFD component lengths, GNU effective trailing separators, and linkname/type consistency before metadata processing or caller policy.
|
|
795
|
+
- Validate GNU long-name/link bodies on both backends before parsing: reject malformed UTF-8/NUL structure, repeated or dangling metadata, mixed PAX/GNU chains, and unsafe effective names, while preserving original bytes and valid L+K pairs.
|
|
796
|
+
- Apply ordered path, count, strip, depth, collision, and filter policy even to TAR records parsers would ignore (`V`, `A`, `I`, `M`, and unknown typeflags). Safely omit accepted unsupported records, validate raw names hidden by metadata or NUL terminators, and align native device/FIFO filtering and GNUDumpDir handling with JavaScript.
|
|
797
|
+
- Stop starting archive destination mutations at the timeout boundary and wait for any already-running destination mutation and rollback before rejecting. Non-mutating work retains prompt deadlines; publication cannot continue after the timeout is reported.
|
|
798
|
+
- Match `readArchiveEntry()` to extraction's validated canonical pre-strip paths and effective metadata names across all supported formats/backends. Preserve directory, link, collision, integrity, and byte-limit checks; read `maxBytes` remains a requested-entry budget, separate from archive-wide decoding and metadata limits.
|
|
799
|
+
- Charge TAR `maxEntryBytes` and `maxExtractedBytes` only to entries accepted after strip/filter policy, not skipped or fully stripped members. Raw framing, logical entry counts, metadata, and absolute decoded-byte limits still apply to the whole archive.
|
|
800
|
+
- Accept highly compressible gzip TARs within fs-safe's explicit limits consistently across backends by disabling node-tar's extra 1000x ratio threshold only after complete decoded-byte admission. Archive, decoded, entry, output, and deadline limits remain enforced.
|
|
801
|
+
- Preserve large finite TAR limits such as `Number.MAX_VALUE` in native `auto`/`require` modes through shared internal metadata/decoded-byte and u32 entry-count clamping before backend selection; retain high-level payload budgets and reject malformed direct native limits.
|
|
802
|
+
- Update native gzip/DEFLATE decoding to flate2 1.1.10 and miniz_oxide 0.9.1, including upstream incomplete-stream fixes. Truncated bodies, missing trailers, and checksum failures reject before extraction publishes files or an entry read returns bytes.
|
|
803
|
+
|
|
804
|
+
### Durable queues, stores, and locks
|
|
805
|
+
|
|
806
|
+
- Claim durable queue generations under a fail-closed cross-process lock using no-replace hardlinks and recoverable source retirement. Acknowledgement and quarantine preserve newer same-ID replacements, and quarantine collisions preserve existing failed-entry evidence.
|
|
807
|
+
- Fsync affected directories for queue creation, claims, acknowledgement, quarantine, marker cleanup, and retirement; propagate durability failures. Synchronous file-store writes now fsync temps before rename and parent directories after publication.
|
|
808
|
+
- Retry Root-backed sidecar acquisition when the owner unlinks its record after the waiter opens it, but only after the same Root capability proves absence. Replacements remain fail-closed; generic `Root.open()` behavior is unchanged.
|
|
809
|
+
- Propagate asynchronous sidecar release and failed-acquire deletion failures, preserve paired errors, and retain failed release state for a safe retry through the same handle or manager drain.
|
|
810
|
+
- Clamp synchronous lock backoff to the remaining finite deadline instead of overshooting the timeout or blocking forever.
|
|
811
|
+
|
|
812
|
+
## 0.6.0 - 2026-08-29
|
|
813
|
+
|
|
814
|
+
### Highlights
|
|
815
|
+
|
|
816
|
+
- Install only the matching native platform package; deployments using native mode `require` or native-only features must keep optional dependencies enabled. See the [0.6 migration guide](https://fs-safe.io/migrating-to-0.6.html).
|
|
817
|
+
- Strengthen root, secure, secret, and pathname-hash identity checks with lossless bigint comparisons and fail-closed handling of unknown Windows identities.
|
|
818
|
+
- Add native-required Linux/macOS `stageFileInDirectory()` with retained-directory cleanup, private staging, identity-checked publication, and async disposal.
|
|
819
|
+
- Validate physical ZIP metadata and names before decoder normalization or collapse, align bounded TAR/PAX and stripped-path handling, and reject ZIP symlinks disguised as directories.
|
|
820
|
+
|
|
821
|
+
### Security and Correctness
|
|
822
|
+
|
|
823
|
+
- Validate physical ZIP local/central and Unicode name metadata before decoding, rejecting traversal, hidden duplicates, and conflicting interpretations consistently in extraction and bounded reads.
|
|
824
|
+
|
|
825
|
+
- Verify pathname SHA-256 hashing with lossless pre-open, descriptor, and current-path identities; fail closed on unknown Windows identities after one bounded retry without reopening the file.
|
|
826
|
+
- Preserve underlying command diagnostics (command, timing, timeout flag, exit code/signal, and sanitized stderr) and cause on Windows ACL `permission-unverified` errors without changing verification semantics.
|
|
827
|
+
- Verify secure and secret read identities with lossless bigint stats, reject replaced paths and retargeted aliases, and fail closed on unknown Windows identities after one bounded re-inspection; preserve the secure reader's numeric `Stats` receipt and permission options without letting them bypass identity checks.
|
|
828
|
+
- Apply the same exact identity checks to guarded root reads, rejecting parent-directory replacements even when distinct Windows file IDs round to the same number; retain numeric read receipts and keep Windows write reopens anchored to the writer's exact retained identity.
|
|
829
|
+
- Verify `Root.write()` and `create()` through retained descriptors and exact bigint identities for restrictive final modes, retaining guarded Windows path opens when pathname identity is unavailable; preserve explicit mode zero in `copyIn()`.
|
|
830
|
+
- Preserve filesystem failures from `ensureDirectoryWithinRoot()` and `pathScope().ensureDir()` in an optional operational `FsSafeError` diagnostic with the original cause and bounded, escaped display text, instead of misreporting them as containment violations; keep nonthrowing string results and directory safety checks.
|
|
831
|
+
- Accept bounded local PAX paths, sizes, and descriptive metadata, including inert binary macOS provenance xattrs, consistently in JavaScript and native TAR extraction/reads; reject ambiguous records, extension chains, and sparse semantics while retaining byte/count limits and guarded staging. Return TAR read traversal failures through the public promise instead of escaping the parser callback.
|
|
832
|
+
- Add native-required Linux/macOS `stageFileInDirectory()` under `advanced` with retained-directory abort cleanup, private `0600` staging until publication is identity-checked, exact identity checks, explicit publication/cleanup receipts, and async disposal; share that ownership with POSIX native streaming writes so parent moves no longer strand their unpublished temps.
|
|
833
|
+
- Share native writer admission and direct-child cleanup mechanisms; preserve combined POSIX coordinator operation/disposal failures with `SuppressedError` while keeping staged preparation/cleanup receipts and Windows close policy unchanged.
|
|
834
|
+
- Fail closed when synchronous sidecar compromise checks hit I/O errors and invoke `onCompromised` once instead of throwing from the interval. Thanks @SebTardif.
|
|
835
|
+
- Reject ZIP symlink-mode entries with a trailing slash or DOS directory bit before creating output, aligning JavaScript extraction with native link policy while preserving explicit filtering. Thanks @Yigtwxx.
|
|
836
|
+
- Make the validated stripped path authoritative during JavaScript TAR extraction, fixing `ENOENT` and native path disagreement for dot or empty components, including local PAX paths, while preserving pre-strip filter inputs. Thanks @Yigtwxx.
|
|
837
|
+
- Apply process-wide retry, timeout, and stale-policy defaults to synchronous file locks while preserving per-call overrides and caller-approved guarded recovery. Thanks @Yigtwxx.
|
|
838
|
+
|
|
839
|
+
### Docs and Tooling
|
|
840
|
+
|
|
841
|
+
- Publish native bindings as platform-filtered optional packages and load only the matching package, avoiding installation of binaries for six unrelated targets; verify root-only npm/pnpm resolution and document omitted-optionals limits and native-only recovery guidance. Thanks @RomneyDa.
|
|
842
|
+
- Raise the Crabbox AWS root volume to 400 GiB to meet the runner image's snapshot minimum and avoid allocation failures before checks run.
|
|
843
|
+
- Restore six missing documentation navigation entries, remove the dangling page, correct the lock-config link, and reject missing, nonexistent, or duplicate registrations before replacing site output. Thanks @Yigtwxx.
|
|
844
|
+
- Fix the standalone native smoke script to use the numeric descriptor returned by `openBeneath()` for identity checks and cleanup.
|
|
845
|
+
- Accept npm 11 array and npm 12 package-name-keyed pack results while validating the intended package and its file metadata.
|
|
846
|
+
|
|
847
|
+
### Dependencies and maintenance
|
|
848
|
+
|
|
849
|
+
- Refresh the Node and Rust dependency graphs, align development and CI on pnpm 11.24.0, and update the CodeQL, npm, and cargo-zigbuild pins while preserving the two-day dependency cooldown.
|
|
850
|
+
|
|
851
|
+
## 0.5.6 - 2026-08-14
|
|
852
|
+
|
|
853
|
+
### Security and Correctness
|
|
854
|
+
|
|
855
|
+
- Treat asynchronous sidecar compromise-check I/O failures as a lost lock and invoke `onCompromised` once, instead of leaking an unhandled rejection from the interval.
|
|
856
|
+
- Preserve replaced temporary paths during Windows cleanup when libuv reports a zero device or inode or a file index exceeds JavaScript's safe integer range, treating unknown or rounded identity as fail-closed instead of authorizing deletion.
|
|
857
|
+
|
|
858
|
+
### Docs and Tooling
|
|
859
|
+
|
|
860
|
+
- Set up Node before pnpm when hydrating Crabbox runners so minimal images without a preinstalled npm can prepare the workspace.
|
|
861
|
+
## 0.5.5 - 2026-08-12
|
|
862
|
+
|
|
863
|
+
### Security and Correctness
|
|
864
|
+
|
|
865
|
+
- Prevent nondeterministic Windows read failures with `path-mismatch` when path-based stat reports zero file identity through libuv's FindFirstFile fallback under antivirus or indexer contention; zero Windows inodes are now treated as unknown identity like zero device serials.
|
|
866
|
+
|
|
867
|
+
## 0.5.4 - 2026-08-10
|
|
868
|
+
|
|
869
|
+
**Highlight:** two security fixes in the publication path. If you run fs-safe on
|
|
870
|
+
Windows, the identity fix is the one that matters — rounded file indexes could
|
|
871
|
+
previously let a replaced path pass as the original.
|
|
872
|
+
|
|
873
|
+
### Security and Correctness
|
|
874
|
+
|
|
875
|
+
- Compare exact bigint filesystem identities during exclusive publication and rollback cleanup. Windows rounds file indexes, so a replaced source or target path could previously masquerade as the original — and, worse, authorize deletion of an attacker's replacement. Identity comparisons are now exact.
|
|
876
|
+
- Open pinned and standalone regular-file reads nonblocking on POSIX before validating the descriptor type, so a raced FIFO or device cannot stall the worker. The same read-open flags are now shared by root reads, hashing, and move-copy fallbacks, so the guarantee holds on every path rather than just the one that was fixed.
|
|
877
|
+
|
|
878
|
+
### Dependencies and maintenance
|
|
879
|
+
|
|
880
|
+
- Refresh the napi toolchain (napi 3.12.1, napi-derive 3.6.3, napi-build 2.4.1) and the Rust and Node development dependency graph.
|
|
881
|
+
|
|
882
|
+
## 0.5.3 - 2026-08-08
|
|
883
|
+
|
|
884
|
+
### Security and Correctness
|
|
885
|
+
|
|
886
|
+
- Reject NTFS alternate data stream archive entry names on Windows before extraction, keep JavaScript and native TAR/ZIP policy aligned, and fix one-code-unit native rename and hardlink metadata buffers.
|
|
887
|
+
- Reject synchronous secret reads when the path is retargeted after the preview check, matching the asynchronous reader's `path-mismatch` contract instead of returning bytes from the replacement file.
|
|
888
|
+
- Preserve dangling symlinks when trash moves cross filesystems instead of failing while following their missing targets.
|
|
889
|
+
- Reject non-canonical FileStore keys and malformed archive names before filesystem access, keep JavaScript/native TAR and ZIP rejection semantics aligned (including full-width base-256 sizes and empty ZIP files), and add deterministic property-based regression coverage for path aliasing, parser boundaries, collisions, truncation, and extraction limits.
|
|
890
|
+
|
|
891
|
+
### Compatibility
|
|
892
|
+
|
|
893
|
+
- Report filesystem I/O failures from secret, `FileStore`, and temp-workspace twin readers as the new operational `read-failed` code with the original error in `cause`, replacing synchronous secret `invalid-path`, asynchronous secret and synchronous store `path-mismatch`, and raw Node errors; consumers matching the old wrapper or `EIO`-style top-level code should match `read-failed` and inspect `cause.code` instead.
|
|
894
|
+
- Preserve semantic path and validation codes in synchronous `FileStore` and temp-workspace reads: missing temp leaves now report `not-found`, stable directories report `not-file`, and hardlinks and symlinks report `hardlink` and `symlink`, replacing `path-mismatch` and fabricated raw `ENOENT` respectively to match their asynchronous twins; consumers treating either old result as absence or identity drift should match the specific path-state code instead.
|
|
895
|
+
- Report an existing non-directory ancestor as `not-file` from both `assertNoSymlinkParents()` variants, replacing asynchronous success and the synchronous helper's platform-dependent success or raw `ENOTDIR` under default `allowMissing`; callers relying on that acceptance should ensure every existing prefix component is a directory or handle `not-file`.
|
|
896
|
+
|
|
897
|
+
### Docs and Tooling
|
|
898
|
+
|
|
899
|
+
- Measure coverage once per operating system and merge the platform reports before enforcing thresholds, so coverage reflects existing cross-platform execution rather than implying new test coverage.
|
|
900
|
+
- Refresh Vite and its Rolldown toolchain, and declare the native build CLI's Emscripten runtime peer explicitly.
|
|
901
|
+
|
|
902
|
+
## 0.5.2 - 2026-08-02
|
|
903
|
+
|
|
904
|
+
### Security and Correctness
|
|
905
|
+
|
|
906
|
+
- Reject negative, malformed, and oversized base-256 TAR sizes using the full encoded field, preventing high-order size bytes from bypassing archive metadata metering.
|
|
907
|
+
- Preserve unrelated files when the create-only JavaScript `Root.write()` fallback loses a parent-directory race during post-write verification, limiting failure cleanup to the inode created by the operation.
|
|
908
|
+
- Report the documented `not-file` code when a writable Root open reaches a non-regular descriptor on Windows, matching the existing POSIX `EISDIR` mapping.
|
|
909
|
+
- Serialize same-target `Root.write()` and `Root.copyIn()` calls before inspecting the existing destination, so ordinary overlapping writers do not race the mode-preservation open against another writer's atomic replacement.
|
|
910
|
+
- Serialize same-target directory replacements, confine their randomized backup names to the target parent, retain identity-bound exit cleanup after transient atomic/output/move staging cleanup failures, and refuse to publish EXDEV move copies when descriptor-bound mode application fails.
|
|
911
|
+
- Stream native pinned-write inputs only after create-only collision checks, avoiding backend-dependent eager buffering, and preserve explicit zero file modes instead of replacing them with `0o600`.
|
|
912
|
+
- Verify synchronous file-store publication by inode after rename and avoid pathname-based post-publication mode changes, so a raced symlink or hardlink swap fails closed without changing an unrelated target's permissions.
|
|
913
|
+
- Track live JSON-store mutation ownership separately from inherited async context, so continuations scheduled by an update can mutate the store after that update finishes while genuinely nested mutations remain rejected.
|
|
914
|
+
- Serialize private secret and file-store publications by canonical destination, preventing ordinary overlapping writers from tripping the fallback's post-rename identity fence while retaining atomic last-writer-wins replacement.
|
|
915
|
+
- Preserve replacement sidecars when asynchronous lock setup fails, remove an identity-matching `Root`-backed sidecar when its post-create open fails, and clean up synchronous sidecars on normal process exit.
|
|
916
|
+
- Pin each `Root` handle to the canonical root directory identity so root-path replacement cannot expose outside metadata through `stat()`, `exists()`, `list()`, or `walk()`, and preserve a swapped-in writable leaf when failed-open cleanup no longer owns its inode.
|
|
917
|
+
- Fail closed on invalid walk and absolute-path policies, keep standalone walk budgets bounded at runtime, reject final symlinks from absolute writable paths, and observe aborts that arrive during directory listing.
|
|
918
|
+
- Canonicalize configured local-root symlinks, recognize case-insensitive `file:` URL schemes (including unsafe device targets) using the requested platform's path semantics, validate every configured root, confine secure-temp fallback prefixes to one segment, preserve replaced temp-file directories during cleanup, return absolute install paths, and avoid splitting Unicode surrogate pairs while truncating filenames.
|
|
919
|
+
- Reject archive output names that collide after case or Unicode normalization, keeping extraction deterministic across JavaScript/native backends and case-insensitive filesystems.
|
|
920
|
+
- Escape control characters in archive-entry and root-path diagnostics, and reject NUL inputs plus embedded Windows drive-relative segments in the direct sync and async root resolvers before Node can echo raw attacker-controlled paths from a syscall error or resolve the two variants differently.
|
|
921
|
+
- Shell-quote POSIX permission-remediation paths, and report a secret file that grows past the synchronous read limit as `too-large` just like the asynchronous reader.
|
|
922
|
+
- Fence pathname SHA-256 hashing against pre-open identity replacement, propagate bounded-stream source failures while tearing down file streams on early consumer close, and report synchronous regular-file disappearance races as `path-mismatch` consistently with the async reader.
|
|
923
|
+
- Pin synchronous file-store roots across every parent-walk segment, so private and non-private writes reject a store root replaced during directory creation, and route deny-mutation ancestor canonicalization through the shared root resolver on Windows and POSIX.
|
|
924
|
+
- Keep the POSIX parent-directory no-follow identity check active for synchronous atomic-replacement adapters that omit `fchmodSync`, preventing the documented default adapter path from writing through a symlinked parent.
|
|
925
|
+
- Synchronize the actual destination after descriptor-bound mode application when atomic rename uses copy fallback, and include both bytes and mode in bounded fallback restoration.
|
|
926
|
+
- Continue accepting legacy atomic-replacement adapter literals that expose pathname `chmod` or `chmodSync` methods while keeping those methods unused.
|
|
927
|
+
- Reject archive NUL names, drive-relative path segments, duplicate output names (including collisions introduced by `stripComponents`), and ZIP CRC or declared-size mismatches before publishing output. Explicit zero archive limits now remain zero, and stripped TAR entries count toward `maxEntries`, keeping the native and JavaScript policies aligned.
|
|
928
|
+
|
|
929
|
+
- Reject non-file sidecars without spinning, and read contended async and synchronous sidecar locks through bounded, no-follow, identity-checked descriptors; keep valid `createdAt` timestamps authoritative under filesystem clock skew; fail closed when fallback Windows ACL inspection returns no verifiable access entries; preserve synchronous stale-reclaim guards owned by another acquirer; and share one process-exit cleanup listener across file-lock manager domains.
|
|
930
|
+
|
|
931
|
+
- Route `Root.copyIn()` and overwrite-capable `Root.write()` commits through a new descriptor-relative native replace rename, closing a parent-symlink swap that could create a missing destination directory outside the root before the JavaScript fallback detected the escape. Native `auto` and `require` mode now protect both create-only and replacing pinned writes; the explicitly best-effort JavaScript fallback remains available in `off` mode or when `auto` cannot load a binding.
|
|
932
|
+
- Report `not-found` rather than `invalid-path` or raw `ENOENT` when pinned `Root.write()` and `Root.copyIn()` calls cannot find their parent with `mkdir: false`, preserving the documented operational error category.
|
|
933
|
+
- Reject stable intermediate symlinks in default `Root` reads and the sync/async root-file helpers, while preserving `device-path` precedence for lexically explicit unsafe namespaces such as `/dev/fd`; compare the pre-open path identity with the opened descriptor so an in-root parent swap reports `path-mismatch`, open reads nonblocking where supported so a raced FIFO cannot pin a worker, and report followed symlink loops with the documented `symlink` code.
|
|
934
|
+
- Reject surrounding whitespace in every async and sync `FileStore` key instead of silently trimming one caller-supplied key onto another.
|
|
935
|
+
- Keep Windows-ignored trailing spaces and dots from disguising reserved device basenames such as `CON .` in `sanitizeUntrustedFileName()` output.
|
|
936
|
+
- Report overlong `Root` inputs as `invalid-path` instead of misclassifying the filesystem's `ENAMETOOLONG` failure as `outside-workspace`.
|
|
937
|
+
|
|
938
|
+
- Apply `movePathWithCopyFallback()` file and POSIX directory modes through staging descriptors before publication, so a replaceable staging pathname cannot redirect `chmod` to an unrelated symlink target. Windows no longer uses a pathname fallback for directory modes because Node cannot portably open a directory descriptor there and does not enforce POSIX modes.
|
|
939
|
+
|
|
940
|
+
- Reject drive-relative segments such as `C:secret.txt` and `a/C:b` in portable relative-path parsing and every `FileStore` key, and reject leading drive-relative spellings on `Root` destinations and `resolve()` with `invalid-path`. Existing-object Root operations, including reads, inspection, removal, and the source of `move()`, continue to accept legal POSIX filenames such as `c:notes.txt`; thanks @Yigtwxx for the fix.
|
|
941
|
+
|
|
942
|
+
- Apply atomic-replacement parent-directory modes through verified no-follow descriptors on POSIX, so a directory-entry swap cannot redirect `chmod` through a symlink to an unrelated directory. Windows keeps its explicit `mkdir(mode)`-only behavior because Node does not enforce POSIX directory modes there.
|
|
943
|
+
- Retry a contended file-lock acquisition when Windows denies access to a lock file whose directory entry is still being torn down, including when the native binding performs the exclusive create. Both the exclusive create and the holder's snapshot read reported that transient `EPERM` as a hard failure, so concurrent `acquireFileLock()` calls failed intermittently on Windows even though the very next attempt would have succeeded. Retries stay bounded, so a genuine permission denial still surfaces as `EPERM` rather than a lock timeout; thanks @Yigtwxx for the fix.
|
|
944
|
+
- Apply `replaceFileAtomic()` and `replaceFileAtomicSync()` modes through pinned temp-file descriptors before rename, and through pinned copy-fallback descriptors, so a post-rename symlink swap cannot redirect `chmod` to an unrelated file while exact modes remain independent of umask; thanks @yetval for reporting this (#86).
|
|
945
|
+
- Bound fallback Windows owner and ACL command execution to 30 seconds per process, tolerating loaded runners while still terminating wedged commands, and report owner-query failures as unverified instead of returning a partial permission classification; thanks @Yigtwxx for the diagnosis.
|
|
946
|
+
- Verify published npm bytes directly when registry integrity metadata conflicts, and cryptographically verify the registry signature plus Sigstore provenance against the package digest and the trusted fs-safe release workflow (#81).
|
|
947
|
+
- Report the documented `remove()` failure codes instead of collapsing every failure to `path-alias`. A missing target now throws `not-found`, a non-empty directory throws `not-empty`, and any other filesystem failure throws `not-removable`, while directory identity drift keeps reporting `path-mismatch`; thanks @Yigtwxx for the fix.
|
|
948
|
+
|
|
949
|
+
### Compatibility
|
|
950
|
+
|
|
951
|
+
- Report access-denied failures from native Windows operations as `EPERM` rather than `EACCES`, matching Node/libuv and the JavaScript fallback. Consumers that matched the previous native-only `EACCES` code should accept `EPERM` as well when supporting older package versions.
|
|
952
|
+
- Add an optional `fchmodSync` operation to the injectable synchronous atomic-replacement filesystem type. Async adapters need no new member because their required `open()` returns a mode-capable `FileHandle`; custom sync adapters that pass `mode`, `dirMode`, or `preserveExistingMode` now fail before mutation when `fchmodSync` is absent, while plain `node:fs` injection and adapters that request none of those options remain compatible.
|
|
953
|
+
- Classify `not-found`, `not-empty` and `not-removable` as operational rather than policy errors, so `FsSafeError.category` no longer reports routine filesystem outcomes as safety-policy rejections.
|
|
954
|
+
|
|
955
|
+
### Features
|
|
956
|
+
|
|
957
|
+
- Suffix Windows reserved basenames with `_` in `sanitizeUntrustedFileName()` while preserving case and extensions on every platform, including dollar names and superscript COM/LPT variants; thanks @SebTardif (#67).
|
|
958
|
+
|
|
959
|
+
### Docs and Tooling
|
|
960
|
+
|
|
961
|
+
- Refresh the native package build CLI to `@napi-rs/cli` 3.8.2.
|
|
962
|
+
- Give parallel native archive tests collision-free temporary paths so one fixture cannot remove another test's file on coarse-resolution clocks.
|
|
963
|
+
- Include the README banner in the npm tarball and require it during pack checks so the published README does not reference a missing package asset; sanitize pnpm-only npm configuration from package-smoke subprocesses so the documented release check stays warning-free on newer npm versions.
|
|
964
|
+
- Audit every public export and documented default against generated declarations and real filesystem behavior, add executable documentation-contract coverage, and correct stale examples and security guarantees across root writes, local roots, shared types, paths, temp roots, archives, errors, and filename portability.
|
|
965
|
+
|
|
966
|
+
- Create GitHub Releases as drafts before npm publication, then attach immutable verification proof and promote them only after the published package passes the shared registry verifier, avoiding stranded releases during registry propagation incidents (#81).
|
|
967
|
+
|
|
968
|
+
## 0.5.1 - 2026-08-01
|
|
969
|
+
|
|
970
|
+
### Security and Correctness
|
|
971
|
+
|
|
972
|
+
- Stop trimming surrounding whitespace when normalizing Windows paths for comparison, so a space-padded root no longer compares equal to its unpadded sibling and `isPathInside` keeps reporting outside paths as outside.
|
|
973
|
+
- Apply `denyMutations` prefixes to the directory they name on Windows. A prefix with trailing whitespace previously compared equal to its unpadded sibling, so the named directory stayed writable while the sibling was blocked; the two `preserves trailing whitespace` deny-mutation cases now run on Windows instead of being skipped.
|
|
974
|
+
- Replace backtracking-prone path-segment, temp-name, and Windows device-path sanitizers with linear scans to keep attacker-controlled inputs from causing excessive CPU use.
|
|
975
|
+
|
|
976
|
+
### Docs and Tooling
|
|
977
|
+
|
|
978
|
+
- Refresh the npm and Rust build toolchains, including the `zip` 8.6 native archive reader and the latest pinned CodeQL v4 action.
|
|
979
|
+
- Publish only the validated release tarball after asserting its byte identity against the release manifest, and tolerate npm registry propagation with bounded exponential backoff.
|
|
980
|
+
|
|
981
|
+
## 0.5.0 - 2026-07-27
|
|
982
|
+
|
|
983
|
+
### Highlights
|
|
984
|
+
|
|
985
|
+
- Add policy-driven archive entry filtering and mode handling, bounded single-entry archive reads, root-bounded async walking, synchronous sidecar locks, async secret reads, create-only secret writes, and exclusive file publication.
|
|
986
|
+
- Add public streaming `sha256File(path | FileHandle)` hashing with optional async native acceleration, plus policy-free Windows owner/DACL facts with owner and current-process-user SIDs and per-ACE masks and inheritance flags.
|
|
987
|
+
- Add native fd-relative ZIP and TAR extraction/read support with gzip, zstd, and bzip2 streaming; TypeScript evaluates the shared entry policy before Rust creates any output, and zstd/bzip2 report a typed native-required error when no binding is available.
|
|
988
|
+
- Bound PAX, GNU long-name/link, and sparse metadata with one `maxMetaEntryBytes` policy shared by node-tar and the native fixed-header metering reader, including typed failures for oversized or malformed metadata.
|
|
989
|
+
- Add `Root.walk()` subtree pruning and partial directory-error reporting for bounded best-effort consumers, plus a shared `maxEntryPathComponents` archive limit that rejects implicit-directory depth attacks before either extraction path creates output.
|
|
990
|
+
- Bundle all seven prebuilt native binaries inside the single `@openclaw/fs-safe` package for fd-relative opens, guarded directory creation and hardlinks, atomic no-replace rename, and file identity checks. This deliberately increases the package size in exchange for deterministic installs with no optional platform packages, downloads, postinstall step, or consumer Rust build; unsupported platforms silently use the guarded JavaScript fallback in `auto` mode.
|
|
991
|
+
|
|
992
|
+
### Security and Correctness
|
|
993
|
+
|
|
994
|
+
- **Security — `resolveRootPath()` / `resolveRootPathSync()`:** Published releases through 0.4.7 validated a lexically normalized path spelling, so a caller-supplied path traversing an in-root symlink could pass validation while resolving outside the root. Version 0.5 fixes this with component-wise alias resolution. `root()` handles were **not** affected: their operations have contained this case since `5ddca80`, so exposure is limited to direct users of these two exported helpers.
|
|
995
|
+
- Prefer macOS 15.4's `O_RESOLVE_BENEATH` for native opens, retain the guarded component walk on older kernels, and apply an `F_GETPATH` post-open escape detector to both routes without claiming rename-race atomicity.
|
|
996
|
+
- Report open containment explicitly: native `openBeneath()` returns `{ fd, containment }` with `kernel-atomic` on Linux and `best-effort` on macOS/Windows, while JavaScript root open/read/writable results report `best-effort`.
|
|
997
|
+
- Serialize async `jsonStore` writes and read-modify-write updates in-process by canonical store path before taking the cross-process sidecar lock, preventing overlapping `write`, `update`, and `updateOr` calls from silently losing updates; reject nested same-path mutations with typed `store-reentrant-update` errors. Thanks @yetval for reporting this.
|
|
998
|
+
- Create `append`, `openWritable`, and fallback `copyIn` parents through guarded per-component walks and continue I/O through the resolved in-root parent, preventing symlink-swap races from creating directories outside the root while preserving valid in-root symlink parents. Thanks @yetval for reporting this.
|
|
999
|
+
- Add pinned-destination hardlink rejection and bounded original-content restoration to `replaceFileAtomic()` and its sync variant, including typed `restored` / `restore-failed` receipts for torn copy-fallback writes.
|
|
1000
|
+
- Add sibling staging to `writeExternalFileWithinRoot()`: external producers can write a randomized file in the target directory for fsynced same-filesystem atomic replacement, while private workspace staging remains the cross-device-tolerant default; staged and final basenames share portable C0/C1 and Windows-invalid-character sanitization on every host.
|
|
1001
|
+
- Enforce `movePathWithCopyFallback({ sourceHardlinks: "reject" })` with a streaming, entry-capped recursive preflight before mutation, closing a shipped 0.4.x gap where the common same-filesystem rename bypassed the policy; approved trees commit through a fresh staged copy with open-time and post-copy link-count fences so a scan/rename race cannot publish a hardlinked inode.
|
|
1002
|
+
- Abort and tear down JavaScript TAR extraction immediately when entry policy, path validation, link rejection, or a budget fails, preventing node-tar from leaving a paused parser after rejected fleet-restore entries; both native and JavaScript paths now return the same typed archive-policy errors.
|
|
1003
|
+
- Attach a post-creation failure receipt to `publishFileExclusive()` errors with the failing phase, whether this call created the target, its observed identity, and whether cleanup removed, preserved, or could not classify the target.
|
|
1004
|
+
- Add `publishFileExclusive({ onSyncFailure: "rollback" | "preserve" })`: rollback remains the default, while preserve keeps a complete target after directory-sync failure and reports the failed sync outcome in the typed provenance receipt.
|
|
1005
|
+
- Close the pinned publication source on parent-pinning failure so every acquired descriptor is released on every exit path.
|
|
1006
|
+
- Remove the native loader's PATH-resolved `ldd` execution. Linux libc detection now uses the Node process report, conventional musl library filenames, and the Node executable's ELF interpreter without spawning a process at import time; an inconclusive probe conservatively attempts glibc and falls back normally in `auto` mode.
|
|
1007
|
+
- Default archive extraction to `entryModes: "clamp"`, normalizing directories to `0o755` and files to `0o644` or `0o755` while always stripping setuid, setgid, and sticky bits; use `"preserve"` to retain safe archived rwx bits.
|
|
1008
|
+
- Prefer native create-only commits, sidecar acquisition, hardlink publication, and the explicit `rename-noreplace` publication strategy when the platform binding is available, while retaining guarded JavaScript fallbacks for `auto` and `off` modes.
|
|
1009
|
+
- Accelerate exclusive publication fallbacks with macOS `fclonefileat`, Linux `FICLONE` and `copy_file_range`, then the unchanged JavaScript byte loop; all paths retain exclusive creation, identity fencing, mode normalization, and SHA-256 verification through an async native hash task when available.
|
|
1010
|
+
- Add direct Windows owner/DACL inspection and protected private-directory creation for the current owner, LocalSystem, and Administrators, while retaining the existing .NET/`icacls` behavior when native mode is unavailable, forced off, or encounters an unsupported descriptor form.
|
|
1011
|
+
- Keep the public private-directory creator Windows-only and native-only so POSIX pathname races or inherited ACLs cannot weaken its privacy guarantee.
|
|
1012
|
+
- Build Linux native opens on `openat2(RESOLVE_BENEATH | RESOLVE_NO_MAGICLINKS)`, macOS opens on an in-root `O_NOFOLLOW` component walk, and Windows opens on handle-relative `NtCreateFile` with reparse-point rejection.
|
|
1013
|
+
|
|
1014
|
+
### Compatibility
|
|
1015
|
+
|
|
1016
|
+
- Remove the unsound process-scoped `allowReentrant` async file-lock option and replace it with owner-scoped `reentrantOwner` for async and sync locks: only matching, explicitly defined logical owners reuse a canonical in-process lock, releases are reference-counted and idempotent, and different or absent owners contend normally. Callers that passed the boolean must either remove it or migrate intentional nesting to a per-operation owner key; `jsonStore` remains ownerless and rejects nested same-file mutations immediately.
|
|
1017
|
+
- Remove the persistent Python helper and its `pythonPath` configuration. Replace `configureFsSafePython`, `FS_SAFE_PYTHON_MODE`, and the OpenClaw Python aliases with `configureFsSafeNative` and `FS_SAFE_NATIVE_MODE`; 0.5 warns once and maps the former `auto`, `require`, and `off` policies solely as an upgrade bridge for shipped 0.4 consumers.
|
|
1018
|
+
- Add `publishFileExclusive({ strategy: "rename-noreplace" })`; this strategy requires the native helper, atomically moves the source, and never replaces an existing destination.
|
|
1019
|
+
|
|
1020
|
+
### Docs and Tooling
|
|
1021
|
+
|
|
1022
|
+
- Add an ordered 0.4-to-0.5 migration checklist and reconcile every new archive, native, publication, walk, lock, secret, permission, and temp-workspace contract with realistic examples and cross-links.
|
|
1023
|
+
- Convert the repository to a pnpm workspace, test the Rust crate on Linux, macOS, and Windows, and publish all platform bindings, the native loader, and the root package through one protected-tag release pipeline with npm provenance.
|
|
1024
|
+
- Replace unused napi-rs Android, FreeBSD, OpenHarmony, WASI, and unsupported-architecture loader branches with a checked-in loader for the seven packages actually published, and make publication benchmarks report the exercised clone/copy/JavaScript tier plus filesystem environment.
|
|
1025
|
+
|
|
1026
|
+
## 0.4.7 - 2026-07-24
|
|
1027
|
+
|
|
1028
|
+
### Features
|
|
1029
|
+
|
|
1030
|
+
- Add `@openclaw/fs-safe/durability` with identity-pinned directory handles,
|
|
1031
|
+
explicit strict sync outcomes, synchronous and best-effort variants, and
|
|
1032
|
+
durable nested-directory creation through every new parent edge.
|
|
1033
|
+
|
|
1034
|
+
### Security and Correctness
|
|
1035
|
+
|
|
1036
|
+
- Reject final symlinks, FIFOs, non-directories, canonical-path drift, and
|
|
1037
|
+
descriptor/path identity replacement before or after directory sync.
|
|
1038
|
+
- Propagate POSIX directory synchronization failures while classifying known
|
|
1039
|
+
unsupported Windows directory flushing only after revalidating the target;
|
|
1040
|
+
directory-open access failures remain strict.
|
|
1041
|
+
- Route sibling-temp, root, and pinned-write best-effort parent synchronization
|
|
1042
|
+
through the shared guarded primitive instead of maintaining divergent implementations.
|
|
1043
|
+
|
|
1044
|
+
### Docs and Tooling
|
|
1045
|
+
|
|
1046
|
+
- Document directory receipts, pin lifecycle, platform outcomes, custom
|
|
1047
|
+
creation callbacks, and the boundary between filesystem durability and
|
|
1048
|
+
application commit protocols.
|
|
1049
|
+
|
|
1050
|
+
## 0.4.6 - 2026-07-24
|
|
1051
|
+
|
|
1052
|
+
### Highlights
|
|
1053
|
+
|
|
1054
|
+
- Reject foreign-owned or unverifiable Windows files in secure reads while
|
|
1055
|
+
preserving supported trusted local owners and exact extended drive paths.
|
|
1056
|
+
|
|
1057
|
+
### Security and Correctness
|
|
1058
|
+
|
|
1059
|
+
- Report Windows owner SIDs and whether the owner is the current user,
|
|
1060
|
+
LocalSystem, or built-in Administrators so credential-bearing executable
|
|
1061
|
+
checks can reject foreign-owned paths even when their visible DACL is
|
|
1062
|
+
read-only. Secure reads enforce the result and remote filesystems fail
|
|
1063
|
+
closed.
|
|
1064
|
+
- Read Windows owner and DACL data through the underlying .NET security
|
|
1065
|
+
descriptor APIs so verification does not depend on PowerShell security-module
|
|
1066
|
+
autoloading.
|
|
1067
|
+
- Invoke `icacls.exe` with its supported path-only inspection syntax and use
|
|
1068
|
+
the live Windows user/domain environment for named ACE classification, so
|
|
1069
|
+
ACL verification works on supported Windows hosts instead of failing on the
|
|
1070
|
+
invalid `/sid` argument.
|
|
1071
|
+
- Normalize trailing Windows install-root separators with a bounded linear
|
|
1072
|
+
scan so library-provided environment maps cannot trigger regex backtracking.
|
|
1073
|
+
|
|
1074
|
+
### Docs and Tooling
|
|
1075
|
+
|
|
1076
|
+
- Add the public repository governance baseline, pinned CodeQL analysis,
|
|
1077
|
+
package tarball/import validation, and protected tag-driven npm trusted
|
|
1078
|
+
publishing with provenance and changelog-derived GitHub releases.
|
|
1079
|
+
- Let tag-driven publishing continue from an expected registry miss into npm
|
|
1080
|
+
trusted publishing instead of exiting before the publish attempt.
|
|
1081
|
+
- Publish the generated tarball through an explicit relative path so npm treats
|
|
1082
|
+
it as a local artifact instead of GitHub repository shorthand.
|
|
1083
|
+
|
|
1084
|
+
## 0.4.5 - 2026-07-20
|
|
1085
|
+
|
|
1086
|
+
### Highlights
|
|
1087
|
+
|
|
1088
|
+
- Preserve sidecar-lock ownership across filesystem identity drift without weakening legacy stale-lock checks.
|
|
1089
|
+
|
|
1090
|
+
### Security and Correctness
|
|
1091
|
+
|
|
1092
|
+
- Give new sidecar locks an internal random ownership token outside the parsed JSON payload so release remains ownership-checked when virtual filesystems report different descriptor and pathname identities, while legacy locks retain the stricter identity-plus-content check.
|
|
1093
|
+
|
|
1094
|
+
## 0.4.4 - 2026-07-18
|
|
1095
|
+
|
|
1096
|
+
### Security and Correctness
|
|
1097
|
+
|
|
1098
|
+
- Restore opt-in stale sidecar recovery with an exclusive reclaim guard that serializes snapshot verification and unlink, preserving dead-owner recovery without allowing a competing reclaimer to delete a fresh replacement lock.
|
|
1099
|
+
|
|
1100
|
+
## 0.4.3 - 2026-07-18
|
|
1101
|
+
|
|
1102
|
+
### Compatibility
|
|
1103
|
+
|
|
1104
|
+
- Restore the pre-0.4.2 `readRegularFile` and `readRegularFileSync` overflow error message while retaining allocation-bounded reads and the structured `too-large` error on the new low-level bounded-read primitives.
|
|
1105
|
+
|
|
1106
|
+
## 0.4.2 - 2026-07-18
|
|
1107
|
+
|
|
1108
|
+
### Features
|
|
1109
|
+
|
|
1110
|
+
- Add bounded async/sync reads for already-open file descriptors and handles, plus optional byte caps for standalone JSON readers.
|
|
1111
|
+
|
|
1112
|
+
### Security and Correctness
|
|
1113
|
+
|
|
1114
|
+
- Make capped root, regular-file, secure-file, secret-file, structured JSON, and synchronous store reads incremental so a file that grows after validation cannot trigger an unbounded allocation.
|
|
1115
|
+
- Disable `remove-if-unchanged` stale sidecar deletion because a pathname identity check followed by unlink can delete a replacement lock; retain the deprecated recovery inputs for compatibility while all stale locks fail closed.
|
|
1116
|
+
|
|
1117
|
+
### Compatibility
|
|
1118
|
+
|
|
1119
|
+
- Treat `EPERM` from pinned-write file and directory `fsync` calls as best effort for filesystems that permit the write but reject explicit synchronization.
|
|
1120
|
+
|
|
1121
|
+
## 0.4.1 - 2026-07-01
|
|
1122
|
+
|
|
1123
|
+
### Security and Correctness
|
|
1124
|
+
|
|
1125
|
+
- Update the optional TAR extractor to reject NUL-terminated PAX values, invalid negative entry sizes, and explosive decompression payloads.
|
|
1126
|
+
|
|
1127
|
+
### Compatibility
|
|
1128
|
+
|
|
1129
|
+
- Add explicit `renameIdentity: "verify-content-with-lock"` writes for rclone-style FUSE mounts whose inode identity changes across rename, while keeping strict identity verification as the default and failing closed on stale cooperative locks. (#32, #33; thanks @jlautman)
|
|
1130
|
+
|
|
1131
|
+
## 0.4.0 - 2026-06-17
|
|
1132
|
+
|
|
1133
|
+
### Features
|
|
1134
|
+
|
|
1135
|
+
- Report unreadable walk roots and subdirectories through `failedDirs` from `walkDirectory()` and `walkDirectorySync()`, preserving readable results while letting destructive reconciliation distinguish incomplete scans from empty directories. (#29; thanks @amknight)
|
|
1136
|
+
|
|
1137
|
+
### Compatibility
|
|
1138
|
+
|
|
1139
|
+
- Require Node.js 22 or newer for the npm package and docs, matching the maintained CI matrix.
|
|
1140
|
+
|
|
1141
|
+
### Security and Correctness
|
|
1142
|
+
|
|
1143
|
+
- Fall back to the existing copy/remove move path when Windows denies directory renames with `EPERM`, preserving skill updates while watched files are locked. (#27; thanks @liuxingwei0601)
|
|
1144
|
+
- Sync `root.append` file handles before close and sync the parent directory when append creates a file, preserving append-mode concurrency while improving durability. (#21; thanks @KumarAnandSingh)
|
|
1145
|
+
- Reject known unsafe device and process-fd read paths before opening files, including `/dev/zero`, `/dev/random`, `/dev/fd/*`, `/proc/*/fd/*`, and Windows reserved device names.
|
|
1146
|
+
|
|
1147
|
+
## 0.3.0 - 2026-05-21
|
|
1148
|
+
|
|
1149
|
+
### Features
|
|
1150
|
+
|
|
1151
|
+
- Add opt-in `denyMutations` policies with exact `paths` and subtree `prefixes` so callers can protect application-sensitive files from root write, copy, move, remove, mkdir, and writable-open operations. (#20; thanks @amknight)
|
|
1152
|
+
|
|
1153
|
+
### Security and Correctness
|
|
1154
|
+
|
|
1155
|
+
- Retry async JSON reads (`readJson`, `readJsonIfExists`, `tryReadJson`) up to five attempts with 50ms exponential backoff when the file is rotated mid-read by an atomic rename, and tag the underlying race as `FsSafeError("path-mismatch")` so callers can distinguish transient swaps from corruption. (#19; thanks @yetval)
|
|
1156
|
+
|
|
1157
|
+
## 0.2.7 - 2026-05-20
|
|
1158
|
+
|
|
1159
|
+
### Security and Correctness
|
|
1160
|
+
|
|
1161
|
+
- Restore best-effort Node write fallbacks when the Python helper is disabled or unavailable, preserving the `mode: "off"` contract while documenting the weaker POSIX same-UID race resistance compared with fd-relative helper commits.
|
|
1162
|
+
- Harden DeepSec-reported archive staging and input pinning, secret and queue hardlink rejection, absolute output file validation, sidecar lock read failures, ClawSweeper dispatch trust checks, and scoped path defaults.
|
|
1163
|
+
|
|
1164
|
+
## 0.2.6 - 2026-05-17
|
|
1165
|
+
|
|
1166
|
+
### Security and Correctness
|
|
1167
|
+
|
|
1168
|
+
- Harden DeepSec-reported temp path handling, private secret writes, pinned helper commits, fallback mkdir writes, and dot-prefixed root relative paths against symlink, race, and relative-path edge cases.
|
|
1169
|
+
|
|
1170
|
+
## 0.2.5 - 2026-05-16
|
|
1171
|
+
|
|
1172
|
+
### Security and Correctness
|
|
1173
|
+
|
|
1174
|
+
- Reject Windows drive-letter paths on POSIX secure-file reads, missing path fallbacks under symlinked parents, swapped archive destination roots, broad domain ACL principals, and hardlinked sync store reads.
|
|
1175
|
+
- Preserve top-level JSON `null` values in JSON stores and reject non-document JSON values such as top-level `undefined` before replacing files.
|
|
1176
|
+
- Fix timeout error factories, root-relative path resolution at filesystem roots, dot-prefixed child names in root path helpers, durable queue directory modes, and pinned helper stale-worker events.
|
|
1177
|
+
|
|
1178
|
+
### Build
|
|
1179
|
+
|
|
1180
|
+
- Clean `dist` before package builds and make prepack fail deterministically when dependencies are missing instead of resolving new toolchain versions at publish time.
|
|
1181
|
+
|
|
1182
|
+
### Tests
|
|
1183
|
+
|
|
1184
|
+
- Added Clawpatch regression coverage for secure reads, path fallback validation, sync stores, archive destination races, Windows ACL classification, JSON writes/stores, durable queue modes, root create no-clobber behavior, and pinned helper worker replacement.
|
|
1185
|
+
|
|
1186
|
+
## 0.2.4 - 2026-05-14
|
|
1187
|
+
|
|
1188
|
+
### Features
|
|
1189
|
+
|
|
1190
|
+
- Add opt-in `remove-if-unchanged` stale lock recovery so callers can centralize compare-and-remove mechanics while keeping application-owned stale-owner policy.
|
|
1191
|
+
|
|
1192
|
+
## 0.2.3 - 2026-05-14
|
|
1193
|
+
|
|
1194
|
+
### Fixes
|
|
1195
|
+
|
|
1196
|
+
- Classify broad Windows ACL identities such as Anonymous Logon, Guests, Interactive, Local, and Network as world-equivalent so writable paths are not downgraded to group-writable findings.
|
|
1197
|
+
|
|
1198
|
+
## 0.2.2 - 2026-05-11
|
|
1199
|
+
|
|
1200
|
+
### Fixes
|
|
1201
|
+
|
|
1202
|
+
- Fall back to Node path guards for root stat and list operations on Windows, where the pinned Python helper is intentionally unsupported.
|
|
1203
|
+
|
|
1204
|
+
## 0.2.1 - 2026-05-08
|
|
1205
|
+
|
|
1206
|
+
### Fixes
|
|
1207
|
+
|
|
1208
|
+
- Align POSIX and Windows handling for literal `..`-prefixed write targets, preserve whitespace in direct home-relative path inputs, and run the check suite on Windows CI. (#14; thanks @sjf)
|
|
1209
|
+
- Keep source prepack builds isolated from parent monorepo ambient type packages such as Bun typings. (#13; thanks @Kaspre)
|
|
1210
|
+
- Let secret-file reads follow symlink paths through the pinned real target unless callers opt into `rejectSymlink: true`.
|
|
1211
|
+
|
|
1212
|
+
## 0.2.0 - 2026-05-07
|
|
1213
|
+
|
|
1214
|
+
### Features
|
|
1215
|
+
|
|
1216
|
+
- Add `writeExternalFileWithinRoot()` for libraries that require an output path while preserving caller-provided destination names. (#7; thanks @jesse-merhi)
|
|
1217
|
+
- Add root JSON helpers and durable JSON queue helpers for file-backed work queues with pending, delivered, failed, and acknowledgement flows.
|
|
1218
|
+
- Add `ensureAbsoluteDirectory()` for creating trusted absolute directory paths one segment at a time while rejecting symlink and non-directory components. (#12; thanks @jesse-merhi)
|
|
1219
|
+
- Add a `durable: false` option to async atomic text and JSON writes so callers can preserve replace semantics while skipping temp-file and parent-directory fsync. (#9; thanks @sallyom)
|
|
1220
|
+
- Add process-wide sidecar lock defaults while keeping JSON store locking opt-in per resource.
|
|
1221
|
+
|
|
1222
|
+
### Security and Correctness
|
|
1223
|
+
|
|
1224
|
+
- Harden Root fallback mutators, archive merges, private store reads/writes, durable queue ids, JSON fallback writes, sibling temp writes, temp filename sanitization, and trash moves against symlink-swap and path traversal edge cases.
|
|
1225
|
+
- Centralize safe path segment validation, directory identity guards, guarded mkdir, and guarded mutation wrappers so filesystem helpers reuse the same race-resistant checks.
|
|
1226
|
+
- Route archive ZIP staging, temp workspace sync reads, secret-file commits, and atomic move/replace fallbacks through shared pinned-read or guarded-write primitives without applying private-directory modes to public paths.
|
|
1227
|
+
- Close guarded fallback write handles without following path names if post-write directory verification fails, avoiding descriptor leaks and unsafe cleanup in symlink-swap races.
|
|
1228
|
+
- Harden temp filename prefixes, local-root reads, private store imports, durable queue reads, and regular-file byte caps against Deepsec-reported path traversal, symlink, and oversized-read races.
|
|
1229
|
+
- Harden sidecar lock cleanup and stale-lock handling so stale third-party locks fail closed instead of being deleted by path.
|
|
1230
|
+
|
|
1231
|
+
### Compatibility
|
|
1232
|
+
|
|
1233
|
+
- Make cross-device move fallbacks reject source changes during staged copies and clean up only the source entries copied into the staged destination, preserving concurrent source additions or replacements instead of recursively deleting them.
|
|
1234
|
+
- Preserve directory modes during cross-device directory moves.
|
|
1235
|
+
- Preserve empty-directory pruning and broken-symlink trash moves across guarded fallback paths.
|
|
1236
|
+
- Preserve sync file-store read policy errors for directory and hardlink validation failures.
|
|
1237
|
+
- Preserve existing temp workspace leaf filename behavior for names such as `.env` and filenames containing spaces.
|
|
1238
|
+
- Preserve public parent-directory modes when writing JSON, moving files across devices, and extracting archives.
|
|
1239
|
+
- Make `prepack` portable on Windows and add the missing pnpm workspace `packages` field so package preparation succeeds consistently.
|
|
1240
|
+
|
|
1241
|
+
### Tests
|
|
1242
|
+
|
|
1243
|
+
- Added regression coverage for the filesystem race and traversal findings fixed in this release.
|
|
1244
|
+
- Added Deepsec regression coverage for unsafe temp tokens, dangling symlinks, default read caps, private `copyIn()` races, symlinked queue entries, oversized queue entries, and fresh sidecar lock preservation.
|
|
1245
|
+
- Added regression coverage for external-output traversal rejection, guarded cleanup, sidecar lock stale handling, move fallback cleanup, durable queue validation, sync read policy failures, and absolute-directory validation.
|
|
1246
|
+
- Added a static filesystem-boundary primitive check that blocks reintroducing known raw copy/read/guard patterns.
|
|
1247
|
+
|
|
1248
|
+
### Docs and Tooling
|
|
1249
|
+
|
|
1250
|
+
- Added docs for external output writers, durable JSON queue helpers, sidecar lock defaults, boundary guardrails, and absolute-directory creation.
|
|
1251
|
+
- Enable ClawSweeper dispatch for pull-request review automation.
|
|
1252
|
+
|
|
1253
|
+
## 0.1.2 - 2026-05-06
|
|
1254
|
+
|
|
1255
|
+
### Fixes
|
|
1256
|
+
|
|
1257
|
+
- Reject `fileStore()` and `fileStoreSync()` writes through symlinked parent directories so store commits cannot escape the configured root.
|
|
1258
|
+
|
|
1259
|
+
### Tests
|
|
1260
|
+
|
|
1261
|
+
- Increased filesystem edge coverage around secure temp fallback handling, sibling-temp cleanup, local-root resolution, file locks, and file identity checks.
|
|
1262
|
+
- Prevented POSIX test runs from leaving Windows-style secure-temp fallback paths in the repository root.
|
|
1263
|
+
|
|
1264
|
+
### Docs
|
|
1265
|
+
|
|
1266
|
+
- Added missing docs pages for `@openclaw/fs-safe/config`, `@openclaw/fs-safe/store`, `@openclaw/fs-safe/advanced`, and `@openclaw/fs-safe/test-hooks`.
|
|
1267
|
+
- Corrected path-helper docs for the synchronous `isPathInsideWithRealpath` and `safeRealpathSync` behavior.
|
|
1268
|
+
- Included the Markdown docs in the npm package so README links resolve after install.
|
|
1269
|
+
|
|
1270
|
+
## 0.1.1 - 2026-05-06
|
|
1271
|
+
|
|
1272
|
+
### Fixes
|
|
1273
|
+
|
|
1274
|
+
- Preserve the caller's destination path spelling during staged archive merges so symlink-rebind checks catch alias races on macOS.
|
|
1275
|
+
- Reject archive writes that gain a hardlink alias during post-write verification and clean up the destination file.
|
|
1276
|
+
|
|
1277
|
+
## 0.1.0 - 2026-05-06
|
|
1278
|
+
|
|
1279
|
+
### Features
|
|
1280
|
+
|
|
1281
|
+
- Added `root()` capability-style filesystem handles for root-bounded reads, writes, appends, moves, copies, directory listing, stat, mkdir, remove, JSON, streams, and existence checks.
|
|
1282
|
+
- Added traversal, symlink, hardlink, alias, and post-open/post-write identity checks for untrusted relative paths.
|
|
1283
|
+
- Added process-global Python helper configuration for stronger POSIX fd-relative mutation paths, with `auto`, `off`, and `require` modes.
|
|
1284
|
+
- Added atomic file and directory replacement helpers with mode control, fsync options, retry handling, and copy-fallback behavior.
|
|
1285
|
+
- Added JSON helpers, `fileStore()`, `jsonStore()`, private store mode, and file-backed temporary workspaces.
|
|
1286
|
+
- Added secure absolute file reads, secret-file helpers, permissions inspection, Windows ACL helpers, and local-root readers.
|
|
1287
|
+
- Added archive extraction and preflight helpers for ZIP/TAR with optional `jszip` and `tar` dependencies, size/count/path/link limits, and staged destination writes.
|
|
1288
|
+
- Added file locks, async locks, bounded directory walking, install-path sanitizers, filename sanitization, regular-file helpers, trash moves, and advanced composition helpers.
|
|
1289
|
+
- Added OpenClaw bypass-parity coverage, API coverage, a benchmark workflow, docs site generation, security docs, and coverage CI.
|