@openclaw/matrix 2026.9.8 → 2026.10.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.setup/{account-selection-B7axQ80R.mjs → account-selection-BDeeqwwR.mjs} +1 -1
- package/dist/.setup/{accounts-WkgrIxMt.mjs → accounts-C_r0UlEm.mjs} +2 -2
- package/dist/.setup/{approval-handler.runtime-C-pw3NvY.mjs → approval-handler.runtime-QkHLH2az.mjs} +14 -19
- package/dist/.setup/{approval-reactions-BrS5ECU0.mjs → approval-reactions-DhB6gNPU.mjs} +11 -25
- package/dist/.setup/{channel-DXenXmj0.mjs → channel-CeRXEAEP.mjs} +17 -46
- package/dist/.setup/{channel.runtime-BXUawOno.mjs → channel.runtime-DBQA2y1F.mjs} +6 -6
- package/dist/.setup/{channel.setup-DWfLaXqT.mjs → channel.setup-DC2t7_PK.mjs} +12 -26
- package/dist/.setup/{cli-IhZO2OEj.mjs → cli-Be8tdNw8.mjs} +24 -45
- package/dist/.setup/{cli-metadata-nowEgdY0.mjs → cli-metadata-CtcjBFhc.mjs} +1 -1
- package/dist/.setup/{client-BXATebyo.mjs → client-DY3HExqI.mjs} +3 -3
- package/dist/.setup/{client-bootstrap-BiHX55is.mjs → client-bootstrap-CZvJjr29.mjs} +1 -1
- package/dist/.setup/{client-Ccv77kwh.mjs → client-kmih04ng.mjs} +21 -40
- package/dist/.setup/{client-support-Bn9Bk0-H.mjs → client-support-D7BlioUb.mjs} +14 -23
- package/dist/.setup/{config-update-5m1Un5gJ.mjs → config-update-CZndPxNd.mjs} +29 -72
- package/dist/.setup/{create-client-DRZ580E3.mjs → create-client-CbJVyFDy.mjs} +5 -5
- package/dist/.setup/{credentials-C9qDO5-2.mjs → credentials-C2dvc_kB.mjs} +1 -1
- package/dist/.setup/{credentials-read-KD4o5biZ.mjs → credentials-read-CqRiEAQa.mjs} +1 -1
- package/dist/.setup/{crypto-runtime-DPjIDF8H.mjs → crypto-runtime-B2AjWo-i.mjs} +223 -79
- package/dist/.setup/{deps-CLQ4EOq7.mjs → deps-CFNl7tQo.mjs} +14 -39
- package/dist/.setup/{device-health-U-yoVjPw.mjs → device-health-Be60VF1w.mjs} +1 -1
- package/dist/.setup/{direct-management-Cn2t8n1V.mjs → direct-management-DJtQhLKH.mjs} +4 -8
- package/dist/.setup/{directory-live-_sw-Q7KO.mjs → directory-live-DW5UykLL.mjs} +3 -3
- package/dist/.setup/{doctor-contract-De6geW0h.mjs → doctor-contract-CsTNmbMa.mjs} +10 -133
- package/dist/.setup/{draft-stream-CdVMstpR.mjs → draft-stream-B87DfA6a.mjs} +4 -8
- package/dist/.setup/{encryption-guidance-B6797jNA.mjs → encryption-guidance-BEjKbiMR.mjs} +1 -1
- package/dist/.setup/{exec-approvals-fsiMQ1ce.mjs → exec-approvals-BLDAMyHs.mjs} +6 -19
- package/dist/.setup/{file-sync-store-B-9bMb_O.mjs → file-sync-store-Clc9iEdn.mjs} +3 -3
- package/dist/.setup/{http-client-C1XvVD3K.mjs → http-client-DfJY5Ck0.mjs} +8 -29
- package/dist/.setup/{inbound-dedupe-BGrMrTTu.mjs → inbound-dedupe-C-EBGY0B.mjs} +1 -1
- package/dist/.setup/{joined-room-encryption-TZoOKXgh.mjs → joined-room-encryption-BAD70N5n.mjs} +1 -1
- package/dist/.setup/logger-CXQnpXCt.mjs +44 -0
- package/dist/.setup/{logging-mhnFQGzB.mjs → logging-BKV8TYQq.mjs} +7 -32
- package/dist/.setup/{messages-Buz27pi5.mjs → messages-uCbwLRKS.mjs} +5 -8
- package/dist/.setup/{monitor-BBg5qgov.mjs → monitor-skIntQVG.mjs} +109 -180
- package/dist/.setup/{onboarding-hJaieQj5.mjs → onboarding-Cm_tOJxs.mjs} +12 -19
- package/dist/.setup/{outbound-C9vBijaH.mjs → outbound-CqQou3ny.mjs} +16 -22
- package/dist/.setup/{profile-B3DD2jYa.mjs → profile-DS0xdJAi.mjs} +11 -31
- package/dist/.setup/{profile-update-CmxIAd4c.mjs → profile-update-C1n8SRqH.mjs} +3 -3
- package/dist/.setup/{reaction-events-mnzc_JvP.mjs → reaction-events-Cqq46xsG.mjs} +5 -5
- package/dist/.setup/{resolve-targets-BFq3q4c9.mjs → resolve-targets-DFeU1Ww6.mjs} +2 -2
- package/dist/.setup/retired-state-BXUQ2I-C.mjs +91 -0
- package/dist/.setup/{room-info-BbTGRJcR.mjs → room-info-BPMbwe8I.mjs} +33 -50
- package/dist/.setup/{sdk-DmRVM0VA.mjs → sdk-CgQGkCsS.mjs} +226 -182
- package/dist/.setup/{send-GOF64QRc.mjs → send-B1Y2L4wj.mjs} +19 -68
- package/dist/.setup/{setup-bootstrap-AzalcuCW.mjs → setup-bootstrap-UNIGyKnk.mjs} +2 -2
- package/dist/.setup/{setup-core-BeifoeL4.mjs → setup-core-6DppLENo.mjs} +5 -5
- package/dist/.setup/{setup-plugin-api-Bsbdw41x.mjs → setup-plugin-api-BRs9bcp4.mjs} +1 -1
- package/dist/.setup/startup-verification-D00eUt74.mjs +122 -0
- package/dist/.setup/storage-D7agewjH.mjs +464 -0
- package/dist/.setup/{sync-cache-state-C6sEmvJK.mjs → sync-cache-state-C2z64uyk.mjs} +10 -24
- package/dist/.setup/{thread-bindings-jXu_9cHE.mjs → thread-bindings-DveHVZqN.mjs} +13 -71
- package/dist/.setup/{tool-actions-Ce7Okg6m.mjs → tool-actions-BqlK2ilM.mjs} +51 -73
- package/dist/.setup/{verification-C45rOZkM.mjs → verification-kMlFYUn0.mjs} +10 -27
- package/dist/api.js +5 -5
- package/dist/channel-plugin-api.js +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/contract-api.js +2 -2
- package/dist/doctor-contract-api.js +48 -201
- package/dist/helper-api.js +1 -1
- package/dist/index.js +1 -1
- package/dist/plugin-entry.handlers.runtime.js +1 -1
- package/dist/runtime-api.js +3 -3
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/setup-entry.js +1 -1
- package/dist/setup-plugin-api.js +1 -1
- package/node_modules/@openclaw/fs-safe/CHANGELOG.md +95 -0
- package/node_modules/@openclaw/fs-safe/README.md +70 -379
- package/node_modules/@openclaw/fs-safe/dist/absolute-path.js +35 -51
- package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/advanced.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-input.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-parser.wasm +0 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.js +9 -10
- package/node_modules/@openclaw/fs-safe/dist/archive.js +2 -5
- package/node_modules/@openclaw/fs-safe/dist/atomic-io.d.ts +51 -0
- package/node_modules/@openclaw/fs-safe/dist/atomic-io.js +242 -0
- package/node_modules/@openclaw/fs-safe/dist/config.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/config.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/copy-file-input.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/copy-file-input.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/create.js +12 -5
- package/node_modules/@openclaw/fs-safe/dist/directory-guard.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-guard.js +4 -7
- package/node_modules/@openclaw/fs-safe/dist/entry-publication-types.d.ts +55 -0
- package/node_modules/@openclaw/fs-safe/dist/entry-publication-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/entry-publication.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/entry-publication.js +262 -0
- package/node_modules/@openclaw/fs-safe/dist/exclusive-create.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/exclusive-create.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/file-cleanup.d.ts +1 -6
- package/node_modules/@openclaw/fs-safe/dist/file-cleanup.js +3 -6
- package/node_modules/@openclaw/fs-safe/dist/file-identity.js +3 -6
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-mutation.js +9 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root.js +4 -6
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-stale-admission.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.js +8 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/file-store-sync-write.js +20 -18
- package/node_modules/@openclaw/fs-safe/dist/file-store.js +4 -10
- package/node_modules/@openclaw/fs-safe/dist/fs.d.ts +2 -10
- package/node_modules/@openclaw/fs-safe/dist/fs.js +2 -10
- package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.d.ts +3 -4
- package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.js +6 -18
- package/node_modules/@openclaw/fs-safe/dist/guest-dispatch-python.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/guest-native-python.js +0 -2
- package/node_modules/@openclaw/fs-safe/dist/guest.js +3 -9
- package/node_modules/@openclaw/fs-safe/dist/index.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/index.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-directory.js +1 -5
- package/node_modules/@openclaw/fs-safe/dist/json.js +19 -37
- package/node_modules/@openclaw/fs-safe/dist/move-path.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/mutation-authority.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/mutation-authority.js +9 -1
- package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +47 -2
- package/node_modules/@openclaw/fs-safe/dist/native-config.d.ts +1 -9
- package/node_modules/@openclaw/fs-safe/dist/native-config.js +6 -40
- package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.js +5 -2
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.js +11 -316
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.d.ts +7 -7
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent-windows.js +28 -175
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent.d.ts +15 -0
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent.js +418 -0
- package/node_modules/@openclaw/fs-safe/dist/native-rename-outcome.js +9 -4
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file.js +17 -13
- package/node_modules/@openclaw/fs-safe/dist/native-staged-symlink.js +6 -24
- package/node_modules/@openclaw/fs-safe/dist/native.js +5 -1
- package/node_modules/@openclaw/fs-safe/dist/path-case.js +10 -9
- package/node_modules/@openclaw/fs-safe/dist/path-scope-lexical.js +4 -1
- package/node_modules/@openclaw/fs-safe/dist/path-segment-route.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/path-segment-route.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/path.js +4 -1
- package/node_modules/@openclaw/fs-safe/dist/permissions-windows.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.js +1 -3
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-staged.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write.js +9 -10
- package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.js +3 -6
- package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/publish-file.js +4 -3
- package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.d.ts +3 -4
- package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.js +18 -32
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.d.ts +5 -17
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.js +92 -230
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.d.ts +4 -15
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-source.js +22 -63
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.d.ts +9 -34
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +78 -83
- package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.d.ts +18 -20
- package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.js +64 -98
- package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.d.ts +16 -33
- package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.js +61 -200
- package/node_modules/@openclaw/fs-safe/dist/replace-file-types.d.ts +1 -6
- package/node_modules/@openclaw/fs-safe/dist/replace-file.js +76 -216
- package/node_modules/@openclaw/fs-safe/dist/root-boundary.js +14 -24
- package/node_modules/@openclaw/fs-safe/dist/root-context.d.ts +1 -4
- package/node_modules/@openclaw/fs-safe/dist/root-context.js +4 -19
- package/node_modules/@openclaw/fs-safe/dist/root-create-native.d.ts +52 -0
- package/node_modules/@openclaw/fs-safe/dist/root-create-native.js +350 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list-types.d.ts +35 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts +2 -27
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +31 -28
- package/node_modules/@openclaw/fs-safe/dist/root-directory.js +1 -4
- package/node_modules/@openclaw/fs-safe/dist/root-errors.js +34 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file.js +9 -21
- package/node_modules/@openclaw/fs-safe/dist/root-impl.js +105 -37
- package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.d.ts +7 -2
- package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.js +67 -38
- package/node_modules/@openclaw/fs-safe/dist/root-observed-path.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/root-observed-path.js +0 -2
- package/node_modules/@openclaw/fs-safe/dist/root-options.d.ts +2 -3
- package/node_modules/@openclaw/fs-safe/dist/root-path-existing.js +3 -1
- package/node_modules/@openclaw/fs-safe/dist/root-path-stat.js +68 -85
- package/node_modules/@openclaw/fs-safe/dist/root-path.js +6 -1
- package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/root-paths-lexical.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/root-paths.js +4 -9
- package/node_modules/@openclaw/fs-safe/dist/root-remove-native.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove-native.js +311 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove.d.ts +11 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove.js +3 -1
- package/node_modules/@openclaw/fs-safe/dist/root-walk.d.ts +2 -2
- package/node_modules/@openclaw/fs-safe/dist/root-walk.js +1 -3
- package/node_modules/@openclaw/fs-safe/dist/root-write-admission.d.ts +3 -3
- package/node_modules/@openclaw/fs-safe/dist/root-write-admission.js +8 -10
- package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.js +0 -4
- package/node_modules/@openclaw/fs-safe/dist/secret-file.js +12 -9
- package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.d.ts +0 -2
- package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/sibling-temp.js +7 -4
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.js +13 -6
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.d.ts +0 -3
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.js +5 -23
- package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/staged-file-settlement.js +11 -6
- package/node_modules/@openclaw/fs-safe/dist/temp-cleanup.js +1 -8
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.js +2 -9
- package/node_modules/@openclaw/fs-safe/dist/text-atomic.d.ts +1 -6
- package/node_modules/@openclaw/fs-safe/dist/trash.js +6 -2
- package/node_modules/@openclaw/fs-safe/dist/walk.js +100 -46
- package/node_modules/@openclaw/fs-safe/dist/watch-hints.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-hints.js +235 -19
- package/node_modules/@openclaw/fs-safe/dist/watch-native.d.ts +21 -2
- package/node_modules/@openclaw/fs-safe/dist/watch-native.js +21 -3
- package/node_modules/@openclaw/fs-safe/dist/watch-rescan.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-rescan.js +111 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-scan.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-scan.js +27 -4
- package/node_modules/@openclaw/fs-safe/dist/watch-stream.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/watch.js +131 -40
- package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-path-alias.js +24 -6
- package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-path-syntax.js +51 -0
- package/node_modules/@openclaw/fs-safe/docs/advanced.md +4 -0
- package/node_modules/@openclaw/fs-safe/docs/atomic.md +4 -1
- package/node_modules/@openclaw/fs-safe/docs/config.md +6 -14
- package/node_modules/@openclaw/fs-safe/docs/contributing.md +4 -14
- package/node_modules/@openclaw/fs-safe/docs/durability.md +6 -29
- package/node_modules/@openclaw/fs-safe/docs/entry-publication.md +146 -0
- package/node_modules/@openclaw/fs-safe/docs/errors.md +16 -0
- package/node_modules/@openclaw/fs-safe/docs/file-store.md +28 -5
- package/node_modules/@openclaw/fs-safe/docs/index.md +2 -31
- package/node_modules/@openclaw/fs-safe/docs/install.md +10 -31
- package/node_modules/@openclaw/fs-safe/docs/json.md +1 -1
- package/node_modules/@openclaw/fs-safe/docs/local-roots.md +0 -1
- package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.5.md +12 -12
- package/node_modules/@openclaw/fs-safe/docs/native-helper.md +35 -96
- package/node_modules/@openclaw/fs-safe/docs/native.md +22 -20
- package/node_modules/@openclaw/fs-safe/docs/path.md +1 -1
- package/node_modules/@openclaw/fs-safe/docs/permissions.md +1 -2
- package/node_modules/@openclaw/fs-safe/docs/public-api.md +1 -2
- package/node_modules/@openclaw/fs-safe/docs/reading.md +1 -2
- package/node_modules/@openclaw/fs-safe/docs/root.md +26 -184
- package/node_modules/@openclaw/fs-safe/docs/secret-file.md +1 -1
- package/node_modules/@openclaw/fs-safe/docs/security-model.md +115 -3
- package/node_modules/@openclaw/fs-safe/docs/store.md +2 -2
- package/node_modules/@openclaw/fs-safe/docs/temp.md +29 -65
- package/node_modules/@openclaw/fs-safe/docs/testing.md +90 -58
- package/node_modules/@openclaw/fs-safe/docs/types.md +3 -16
- package/node_modules/@openclaw/fs-safe/docs/walk.md +33 -5
- package/node_modules/@openclaw/fs-safe/docs/watch.md +96 -14
- package/node_modules/@openclaw/fs-safe/docs/writing.md +172 -16
- package/node_modules/@openclaw/fs-safe/package.json +10 -10
- package/node_modules/@openclaw/fs-safe-darwin-arm64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-darwin-arm64/package.json +1 -1
- package/node_modules/@openclaw/fs-safe-darwin-x64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-darwin-x64/package.json +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/openclaw.plugin.json +0 -9
- package/package.json +5 -5
- package/dist/.setup/crypto-snapshot-doctor.runtime-44FrCPR7.mjs +0 -91
- package/dist/.setup/doctor-DMvEBx6o.mjs +0 -49
- package/dist/.setup/idb-persistence-DBvfre1X.mjs +0 -227
- package/dist/.setup/idb-persistence-lock-D_mDu4Cf.mjs +0 -27
- package/dist/.setup/logger-CVv56jzH.mjs +0 -74
- package/dist/.setup/startup-verification-Aiy_xVdI.mjs +0 -204
- package/dist/.setup/storage-BXS2cB2i.mjs +0 -288
- package/dist/.setup/storage-metadata-BDRZ7vpX.mjs +0 -371
- package/node_modules/@openclaw/fs-safe/dist/watch-alias.d.ts +0 -6
- package/node_modules/@openclaw/fs-safe/dist/watch-alias.js +0 -88
- package/node_modules/@openclaw/fs-safe/docs/mutation-policy-proof.md +0 -69
- package/node_modules/@openclaw/fs-safe/docs/private-file-store.md +0 -68
- package/node_modules/@openclaw/fs-safe/docs/test-hooks.md +0 -110
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as __exportAll } from "./doctor-contract-
|
|
1
|
+
import { i as __exportAll } from "./doctor-contract-CsTNmbMa.mjs";
|
|
2
2
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
//#region extensions/matrix/src/matrix/profile.ts
|
|
4
4
|
var profile_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -16,42 +16,22 @@ function isMatrixHttpAvatarUri(value) {
|
|
|
16
16
|
function isSupportedMatrixAvatarSource(value) {
|
|
17
17
|
return isMatrixMxcUri(value) || isMatrixHttpAvatarUri(value);
|
|
18
18
|
}
|
|
19
|
-
async function uploadAvatarMedia(params) {
|
|
20
|
-
const media = await params.loadAvatar(params.avatarSource, params.avatarMaxBytes);
|
|
21
|
-
return await params.client.uploadContent(media.buffer, media.contentType, media.fileName || "avatar");
|
|
22
|
-
}
|
|
23
19
|
async function resolveAvatarUrl(params) {
|
|
24
20
|
const avatarPath = normalizeOptionalString(params.avatarPath) ?? null;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
resolvedAvatarUrl: await uploadAvatarMedia({
|
|
29
|
-
client: params.client,
|
|
30
|
-
avatarSource: avatarPath,
|
|
31
|
-
avatarMaxBytes: params.avatarMaxBytes,
|
|
32
|
-
loadAvatar: params.loadAvatarFromPath
|
|
33
|
-
}),
|
|
34
|
-
uploadedAvatarSource: "path",
|
|
35
|
-
convertedAvatarFromHttp: false
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
const avatarUrl = normalizeOptionalString(params.avatarUrl) ?? null;
|
|
39
|
-
if (!avatarUrl || isMatrixMxcUri(avatarUrl)) return {
|
|
40
|
-
resolvedAvatarUrl: avatarUrl,
|
|
21
|
+
const avatarSource = avatarPath ?? normalizeOptionalString(params.avatarUrl) ?? null;
|
|
22
|
+
if (!avatarSource || !avatarPath && isMatrixMxcUri(avatarSource)) return {
|
|
23
|
+
resolvedAvatarUrl: avatarSource,
|
|
41
24
|
uploadedAvatarSource: null,
|
|
42
25
|
convertedAvatarFromHttp: false
|
|
43
26
|
};
|
|
44
|
-
if (!isMatrixHttpAvatarUri(
|
|
45
|
-
|
|
27
|
+
if (!avatarPath && !isMatrixHttpAvatarUri(avatarSource)) throw new Error("Matrix avatar URL must be an mxc:// URI or an http(s) URL.");
|
|
28
|
+
const loadAvatar = avatarPath ? params.loadAvatarFromPath : params.loadAvatarFromUrl;
|
|
29
|
+
if (!loadAvatar) throw new Error(avatarPath ? "Matrix avatar path upload requires a media loader." : "Matrix avatar URL conversion requires a media loader.");
|
|
30
|
+
const media = await loadAvatar(avatarSource, params.avatarMaxBytes);
|
|
46
31
|
return {
|
|
47
|
-
resolvedAvatarUrl: await
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
avatarMaxBytes: params.avatarMaxBytes,
|
|
51
|
-
loadAvatar: params.loadAvatarFromUrl
|
|
52
|
-
}),
|
|
53
|
-
uploadedAvatarSource: "http",
|
|
54
|
-
convertedAvatarFromHttp: true
|
|
32
|
+
resolvedAvatarUrl: await params.client.uploadContent(media.buffer, media.contentType, media.fileName || "avatar"),
|
|
33
|
+
uploadedAvatarSource: avatarPath ? "path" : "http",
|
|
34
|
+
convertedAvatarFromHttp: !avatarPath
|
|
55
35
|
};
|
|
56
36
|
}
|
|
57
37
|
async function syncMatrixOwnProfile(params) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as getMatrixRuntime } from "./runtime-1kn1P6io.mjs";
|
|
2
2
|
import { n as resolveMatrixConfigPath } from "./config-paths-CnREYb1Y.mjs";
|
|
3
|
-
import { n as updateMatrixAccountConfig } from "./config-update-
|
|
4
|
-
import { r as syncMatrixOwnProfile } from "./profile-
|
|
5
|
-
import { n as withResolvedActionClient } from "./client-
|
|
3
|
+
import { n as updateMatrixAccountConfig } from "./config-update-CZndPxNd.mjs";
|
|
4
|
+
import { r as syncMatrixOwnProfile } from "./profile-DS0xdJAi.mjs";
|
|
5
|
+
import { n as withResolvedActionClient } from "./client-DY3HExqI.mjs";
|
|
6
6
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
7
7
|
//#region extensions/matrix/src/matrix/actions/profile.ts
|
|
8
8
|
async function updateMatrixOwnProfile(opts = {}) {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { a as resolveMatrixAccountConfig } from "./account-config-CRsKoMqJ.mjs";
|
|
2
|
-
import { a as resolveMatrixThreadRouting, i as resolveMatrixInboundRoute } from "./channel-
|
|
2
|
+
import { a as resolveMatrixThreadRouting, i as resolveMatrixInboundRoute } from "./channel-CeRXEAEP.mjs";
|
|
3
3
|
import { c as extractMatrixReactionAnnotation } from "./send-currentness-C2rMVVIQ.mjs";
|
|
4
|
-
import { p as resolveMatrixThreadRootId } from "./direct-management-
|
|
5
|
-
import { i as resolveMatrixApprovalReactionTargetWithPersistence, o as unregisterMatrixApprovalReactionTargetsForApproval } from "./approval-reactions-
|
|
4
|
+
import { p as resolveMatrixThreadRootId } from "./direct-management-DJtQhLKH.mjs";
|
|
5
|
+
import { i as resolveMatrixApprovalReactionTargetWithPersistence, o as unregisterMatrixApprovalReactionTargetsForApproval } from "./approval-reactions-DhB6gNPU.mjs";
|
|
6
6
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
7
7
|
import { isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
|
|
8
8
|
import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
|
|
9
9
|
import { getSessionBindingService } from "openclaw/plugin-sdk/session-binding-runtime";
|
|
10
10
|
//#region extensions/matrix/src/matrix/monitor/reaction-events.ts
|
|
11
|
-
const loadApprovalReactionAuth = createLazyRuntimeModule(() => import("./channel-
|
|
11
|
+
const loadApprovalReactionAuth = createLazyRuntimeModule(() => import("./channel-CeRXEAEP.mjs").then((n) => n.s));
|
|
12
12
|
const loadExecApprovalResolver = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/approval-gateway-runtime"));
|
|
13
|
-
const loadMatrixSend = createLazyRuntimeModule(() => import("./send-
|
|
13
|
+
const loadMatrixSend = createLazyRuntimeModule(() => import("./send-B1Y2L4wj.mjs").then((n) => n.s));
|
|
14
14
|
function buildMatrixApprovalTerminalText(result) {
|
|
15
15
|
const approval = result.approval;
|
|
16
16
|
const terminalLabel = approval.status === "allowed" ? approval.decision === "allow-always" ? "Allowed always" : "Allowed once" : approval.status === "denied" ? "Denied" : approval.status === "expired" ? "Expired" : "Cancelled";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as __exportAll } from "./doctor-contract-
|
|
1
|
+
import { i as __exportAll } from "./doctor-contract-CsTNmbMa.mjs";
|
|
2
2
|
import { r as normalizeMatrixMessagingTarget, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.mjs";
|
|
3
|
-
import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-
|
|
3
|
+
import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-DW5UykLL.mjs";
|
|
4
4
|
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/matrix/src/resolve-targets.ts
|
|
6
6
|
var resolve_targets_exports = /* @__PURE__ */ __exportAll({ resolveMatrixTargets: () => resolveMatrixTargets });
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { t as getMatrixRuntime } from "./runtime-1kn1P6io.mjs";
|
|
2
|
+
import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { extractErrorCode } from "openclaw/plugin-sdk/error-runtime";
|
|
5
|
+
import os from "node:os";
|
|
6
|
+
import fs from "node:fs/promises";
|
|
7
|
+
//#region extensions/matrix/src/matrix/chunked-state.ts
|
|
8
|
+
function chunkMatrixStateJson(value, maxBytes, maxChunks, limitMessage) {
|
|
9
|
+
const chunks = [];
|
|
10
|
+
const pushChunk = (chunk) => {
|
|
11
|
+
if (chunks.length >= maxChunks) throw new Error(limitMessage);
|
|
12
|
+
chunks.push(chunk);
|
|
13
|
+
};
|
|
14
|
+
let current = "";
|
|
15
|
+
let currentBytes = 0;
|
|
16
|
+
for (const char of value) {
|
|
17
|
+
const charBytes = Buffer.byteLength(char, "utf8");
|
|
18
|
+
if (current && currentBytes + charBytes > maxBytes) {
|
|
19
|
+
pushChunk(current);
|
|
20
|
+
current = "";
|
|
21
|
+
currentBytes = 0;
|
|
22
|
+
}
|
|
23
|
+
current += char;
|
|
24
|
+
currentBytes += charBytes;
|
|
25
|
+
}
|
|
26
|
+
if (current) pushChunk(current);
|
|
27
|
+
return chunks;
|
|
28
|
+
}
|
|
29
|
+
async function readMatrixStateChunks(store, keys, kind) {
|
|
30
|
+
const records = await store.lookupMany?.(keys);
|
|
31
|
+
const chunks = [];
|
|
32
|
+
for (let index = 0; index < keys.length; index += 1) {
|
|
33
|
+
const result = records?.[index];
|
|
34
|
+
if (result && !result.ok) throw result.error;
|
|
35
|
+
const chunk = records ? result?.value : await store.lookup(keys[index]);
|
|
36
|
+
if (!isRecord(chunk) || chunk.kind !== kind || chunk.index !== index || typeof chunk.data !== "string") return null;
|
|
37
|
+
chunks.push(chunk.data);
|
|
38
|
+
}
|
|
39
|
+
return chunks;
|
|
40
|
+
}
|
|
41
|
+
async function writeMatrixStateChunks(store, rows, chunkKeyPrefix) {
|
|
42
|
+
for (const row of rows.chunks) await store.register(row.key, row.value);
|
|
43
|
+
await store.register(rows.meta.key, rows.meta.value);
|
|
44
|
+
for (const row of await store.entries()) if (row.key.startsWith(chunkKeyPrefix) && !rows.nextChunkKeys.has(row.key)) await store.delete(row.key);
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region extensions/matrix/src/matrix/sqlite-state.ts
|
|
48
|
+
function resolveStateDirOverride(options) {
|
|
49
|
+
if (!options) return;
|
|
50
|
+
return options.stateDir || options.stateRootDir || getMatrixRuntime().state.resolveStateDir(options.env ?? process.env, os.homedir);
|
|
51
|
+
}
|
|
52
|
+
function resolveMatrixSqliteStateKey(options) {
|
|
53
|
+
return resolveStateDirOverride(options) ?? "";
|
|
54
|
+
}
|
|
55
|
+
function resolveMatrixSqliteStateEnv(options) {
|
|
56
|
+
const stateDir = resolveStateDirOverride(options);
|
|
57
|
+
if (!stateDir) return options?.env;
|
|
58
|
+
return {
|
|
59
|
+
...options?.env ?? process.env,
|
|
60
|
+
OPENCLAW_STATE_DIR: stateDir
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region extensions/matrix/src/matrix/retired-state.ts
|
|
65
|
+
const RETIRED_MATRIX_STATE_FILENAMES = /* @__PURE__ */ new Set([
|
|
66
|
+
"thread-bindings.json",
|
|
67
|
+
"startup-verification.json",
|
|
68
|
+
"recovery-key.json",
|
|
69
|
+
"legacy-crypto-migration.json",
|
|
70
|
+
"crypto-idb-snapshot.json",
|
|
71
|
+
"storage-meta.json",
|
|
72
|
+
"inbound-dedupe.json"
|
|
73
|
+
]);
|
|
74
|
+
async function assertMatrixSupportedStateRoot(rootDir) {
|
|
75
|
+
for (const filename of RETIRED_MATRIX_STATE_FILENAMES) await assertMatrixSupportedStateFile(path.join(rootDir, filename));
|
|
76
|
+
}
|
|
77
|
+
const RETIRED_MATRIX_STATE_REMEDIATION = "Install OpenClaw 2026.9.5, run \"openclaw doctor --fix\", and start the Matrix channel once to migrate it, then upgrade to latest.";
|
|
78
|
+
function describeRetiredMatrixState(filePath) {
|
|
79
|
+
return `Retired pre-July Matrix state at ${filePath} was left unchanged. ${RETIRED_MATRIX_STATE_REMEDIATION} See https://docs.openclaw.ai/channels/matrix-migration.`;
|
|
80
|
+
}
|
|
81
|
+
async function assertMatrixSupportedStateFile(filePath) {
|
|
82
|
+
try {
|
|
83
|
+
await fs.lstat(filePath);
|
|
84
|
+
} catch (error) {
|
|
85
|
+
if (extractErrorCode(error) === "ENOENT") return;
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
throw new Error(describeRetiredMatrixState(filePath));
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
export { describeRetiredMatrixState as a, chunkMatrixStateJson as c, assertMatrixSupportedStateRoot as i, readMatrixStateChunks as l, RETIRED_MATRIX_STATE_REMEDIATION as n, resolveMatrixSqliteStateEnv as o, assertMatrixSupportedStateFile as r, resolveMatrixSqliteStateKey as s, RETIRED_MATRIX_STATE_FILENAMES as t, writeMatrixStateChunks as u };
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as EventType } from "./messages-
|
|
3
|
-
import {
|
|
1
|
+
import { w as setBoundedMap } from "./send-B1Y2L4wj.mjs";
|
|
2
|
+
import { c as EventType } from "./messages-uCbwLRKS.mjs";
|
|
3
|
+
import { r as withResolvedRoomAction } from "./client-DY3HExqI.mjs";
|
|
4
4
|
import { n as isMatrixNotFoundError } from "./errors-DKVS3_DO.mjs";
|
|
5
5
|
import { filterStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
//#region extensions/matrix/src/matrix/actions/room.ts
|
|
7
7
|
async function getMatrixMemberInfo(userId, opts) {
|
|
8
|
-
return await
|
|
9
|
-
const roomId = await resolveMatrixRoomId(client, opts.roomId);
|
|
8
|
+
return await withResolvedRoomAction(opts.roomId, opts, async (client, roomId) => {
|
|
10
9
|
if (!(await client.getJoinedRoomMembers(roomId)).includes(userId)) throw new Error(`User ${userId} is not a member of room ${roomId}`);
|
|
11
10
|
const profile = await client.getUserProfile(userId);
|
|
12
11
|
return {
|
|
@@ -48,63 +47,47 @@ async function getMatrixRoomInfo(roomId, opts = {}) {
|
|
|
48
47
|
const MAX_ROOM_INFO = 1024;
|
|
49
48
|
const MAX_MEMBER_DISPLAY_NAMES = 4096;
|
|
50
49
|
function createMatrixRoomInfoResolver(client) {
|
|
51
|
-
const roomNameCache = /* @__PURE__ */ new Map();
|
|
52
|
-
const roomAliasCache = /* @__PURE__ */ new Map();
|
|
53
50
|
const memberDisplayNameCache = /* @__PURE__ */ new Map();
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
51
|
+
function createRoomStateResolver(eventType, project) {
|
|
52
|
+
const cache = /* @__PURE__ */ new Map();
|
|
53
|
+
return async (roomId) => {
|
|
54
|
+
const cached = cache.get(roomId);
|
|
55
|
+
if (cached) return cached;
|
|
56
|
+
let state;
|
|
57
|
+
let resolved;
|
|
58
|
+
try {
|
|
59
|
+
state = await client.getRoomStateEvent(roomId, eventType, "");
|
|
60
|
+
resolved = true;
|
|
61
|
+
} catch (err) {
|
|
62
|
+
resolved = isMatrixNotFoundError(err);
|
|
63
|
+
}
|
|
64
|
+
const info = {
|
|
65
|
+
value: project(state),
|
|
66
|
+
resolved
|
|
67
|
+
};
|
|
68
|
+
if (resolved) setBoundedMap(cache, roomId, info, MAX_ROOM_INFO);
|
|
69
|
+
return info;
|
|
69
70
|
};
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
let canonicalAlias;
|
|
77
|
-
let altAliases = [];
|
|
78
|
-
let aliasesResolved = false;
|
|
79
|
-
try {
|
|
80
|
-
const aliasState = await client.getRoomStateEvent(roomId, "m.room.canonical_alias", "");
|
|
81
|
-
aliasesResolved = true;
|
|
82
|
-
if (aliasState && typeof aliasState.alias === "string") canonicalAlias = aliasState.alias;
|
|
83
|
-
const rawAliases = aliasState?.alt_aliases;
|
|
84
|
-
if (Array.isArray(rawAliases)) altAliases = rawAliases.filter((entry) => typeof entry === "string");
|
|
85
|
-
} catch (err) {
|
|
86
|
-
if (isMatrixNotFoundError(err)) aliasesResolved = true;
|
|
87
|
-
}
|
|
88
|
-
const info = {
|
|
89
|
-
canonicalAlias,
|
|
90
|
-
altAliases,
|
|
91
|
-
aliasesResolved
|
|
92
|
-
};
|
|
93
|
-
if (aliasesResolved) setBoundedMap(roomAliasCache, roomId, info, MAX_ROOM_INFO);
|
|
94
|
-
return info;
|
|
95
|
-
};
|
|
71
|
+
}
|
|
72
|
+
const getRoomName = createRoomStateResolver("m.room.name", (state) => typeof state?.name === "string" ? state.name : void 0);
|
|
73
|
+
const getRoomAliases = createRoomStateResolver("m.room.canonical_alias", (state) => ({
|
|
74
|
+
canonicalAlias: typeof state?.alias === "string" ? state.alias : void 0,
|
|
75
|
+
altAliases: Array.isArray(state?.alt_aliases) ? state.alt_aliases.filter((entry) => typeof entry === "string") : []
|
|
76
|
+
}));
|
|
96
77
|
const getRoomInfo = async (roomId, opts = {}) => {
|
|
97
|
-
const { name, nameResolved } = await getRoomName(roomId);
|
|
78
|
+
const { value: name, resolved: nameResolved } = await getRoomName(roomId);
|
|
98
79
|
if (!opts.includeAliases) return {
|
|
99
80
|
name,
|
|
100
81
|
altAliases: [],
|
|
101
82
|
nameResolved,
|
|
102
83
|
aliasesResolved: false
|
|
103
84
|
};
|
|
85
|
+
const { value: aliases, resolved: aliasesResolved } = await getRoomAliases(roomId);
|
|
104
86
|
return {
|
|
105
87
|
name,
|
|
106
88
|
nameResolved,
|
|
107
|
-
...
|
|
89
|
+
...aliases,
|
|
90
|
+
aliasesResolved
|
|
108
91
|
};
|
|
109
92
|
};
|
|
110
93
|
const getMemberDisplayName = async (roomId, userId) => {
|