@openclaw/signal 2026.10.5-beta.4 → 2026.10.10-beta.1
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/{accounts-DMtj2E-4.mjs → accounts-B0Pba1-q.mjs} +3 -2
- package/dist/.setup/{api-CfFaBHKY.mjs → api-CzKr1lQN.mjs} +8 -8
- package/dist/.setup/{api-oTYg1sqh.mjs → api-ylHKOSSq.mjs} +6 -6
- package/dist/.setup/{approval-auth-BITw96pZ.mjs → approval-auth-DhUKkSkA.mjs} +1 -1
- package/dist/.setup/{approval-handler.runtime-DzZCg6An.mjs → approval-handler.runtime-qDG12_4V.mjs} +6 -6
- package/dist/.setup/{approval-reactions-POBtr9RL.mjs → approval-reactions-JsqCEOHK.mjs} +3 -3
- package/dist/.setup/{channel-v_OVXflu.mjs → channel-guL6QH47.mjs} +66 -145
- package/dist/.setup/{client-DrPmUInx.mjs → client-Duwqbgqi.mjs} +7 -17
- package/dist/.setup/{client-adapter-C25_QRp1.mjs → client-adapter-Chnbch_z.mjs} +1 -1
- package/dist/.setup/{doctor-contract-api-CGS80vmV.mjs → doctor-contract-api-BIdVW0PF.mjs} +2 -2
- package/dist/.setup/{monitor-B2dIc7fW.mjs → monitor-DldFmVVK.mjs} +48 -106
- package/dist/.setup/{probe-D6n3Nkud.mjs → probe-CvYdLBHM.mjs} +3 -3
- package/dist/.setup/{reaction-runtime-api-BoF_xKQe.mjs → reaction-runtime-api-mdO4k0yv.mjs} +2 -2
- package/dist/.setup/{reaction-targets-Bw8pIemQ.mjs → reaction-targets-BgPLDHBf.mjs} +3 -3
- package/dist/.setup/{send-Da8lyyyC.mjs → send-BRjkYbdz.mjs} +10 -11
- package/dist/.setup/{setup-surface-D1IPnECU.mjs → setup-surface-CAnAkngR.mjs} +2 -2
- package/dist/.setup/{transport-detection-C7tIMlYW.mjs → transport-detection-SO-gF_og.mjs} +2 -2
- package/dist/.setup/transport-probes.runtime-D5HTmtuk.mjs +1 -0
- package/dist/api.js +8 -8
- package/dist/channel-config-api.js +1 -2
- package/dist/channel-plugin-api.js +1 -2
- package/dist/doctor-contract-api.js +1 -2
- package/dist/reaction-runtime-api.js +1 -2
- package/dist/runtime-api.js +1 -2
- package/dist/setup-entry.js +1 -1
- package/node_modules/@openclaw/fs-safe/CHANGELOG.md +148 -0
- package/node_modules/@openclaw/fs-safe/README.md +20 -4
- package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/advanced.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-merge.js +28 -3
- package/node_modules/@openclaw/fs-safe/dist/archive-parser.wasm +0 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-read.js +11 -5
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.js +4 -2
- package/node_modules/@openclaw/fs-safe/dist/archive.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/atomic-io.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/bounded-read.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/bounded-read.js +9 -2
- package/node_modules/@openclaw/fs-safe/dist/clone-metadata.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/clone-metadata.js +2 -1
- package/node_modules/@openclaw/fs-safe/dist/config.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/config.js +5 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-file-input.d.ts +3 -1
- package/node_modules/@openclaw/fs-safe/dist/copy-file-input.js +8 -7
- package/node_modules/@openclaw/fs-safe/dist/copy-link.d.ts +26 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-link.js +170 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-metadata.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-metadata.js +39 -0
- package/node_modules/@openclaw/fs-safe/dist/copy-path-admission.js +11 -2
- package/node_modules/@openclaw/fs-safe/dist/copy-root-file-sync.d.ts +2 -4
- package/node_modules/@openclaw/fs-safe/dist/copy-root-file-sync.js +4 -2
- package/node_modules/@openclaw/fs-safe/dist/copy-tree-portable.js +3 -6
- package/node_modules/@openclaw/fs-safe/dist/copy.js +3 -3
- package/node_modules/@openclaw/fs-safe/dist/create.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/creation-boundary.js +7 -4
- package/node_modules/@openclaw/fs-safe/dist/darwin-acl.d.ts +12 -0
- package/node_modules/@openclaw/fs-safe/dist/darwin-acl.js +29 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-durability.d.ts +7 -4
- package/node_modules/@openclaw/fs-safe/dist/directory-guard.js +20 -5
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.js +27 -2
- package/node_modules/@openclaw/fs-safe/dist/directory-receipt.d.ts +7 -7
- package/node_modules/@openclaw/fs-safe/dist/directory-receipt.js +9 -4
- package/node_modules/@openclaw/fs-safe/dist/durability.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/entry-publication.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/exact-identity.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/exact-identity.js +29 -0
- package/node_modules/@openclaw/fs-safe/dist/file-handle-transfer.js +4 -2
- package/node_modules/@openclaw/fs-safe/dist/file-hash.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/file-hash.js +11 -9
- package/node_modules/@openclaw/fs-safe/dist/file-identity.d.ts +7 -1
- package/node_modules/@openclaw/fs-safe/dist/file-identity.js +27 -5
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-admission.js +1 -2
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.js +8 -1
- package/node_modules/@openclaw/fs-safe/dist/file-lock.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/file-lock.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/file-write-lease.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/file-write-lease.js +42 -0
- package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/guarded-mkdir.js +22 -15
- package/node_modules/@openclaw/fs-safe/dist/guest-native-python.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/hardlink-fallback.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/hardlink-fallback.js +5 -0
- package/node_modules/@openclaw/fs-safe/dist/index.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/index.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-ownership.js +16 -3
- package/node_modules/@openclaw/fs-safe/dist/local-file-descriptor.js +24 -13
- package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +85 -18
- package/node_modules/@openclaw/fs-safe/dist/native-config.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/native-config.js +11 -0
- package/node_modules/@openclaw/fs-safe/dist/native-directory-observation.js +6 -4
- package/node_modules/@openclaw/fs-safe/dist/native-fallback-warning.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/native-fallback-warning.js +26 -2
- package/node_modules/@openclaw/fs-safe/dist/native-guidance.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/native-guidance.js +21 -0
- package/node_modules/@openclaw/fs-safe/dist/native-move-fallback.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/native-move-fallback.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/native-operations.js +8 -6
- package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.d.ts +44 -4
- package/node_modules/@openclaw/fs-safe/dist/native-parent-admission.js +85 -15
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.d.ts +3 -3
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write-windows.js +33 -6
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.d.ts +4 -1
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.js +22 -3
- package/node_modules/@openclaw/fs-safe/dist/native-policy-directory-observation.js +4 -3
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/native-policy-parent.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file-metadata.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file-metadata.js +16 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/native-staged-file.js +15 -5
- package/node_modules/@openclaw/fs-safe/dist/native-stat-identity.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/native-stat-identity.js +7 -0
- package/node_modules/@openclaw/fs-safe/dist/native-status.d.ts +17 -0
- package/node_modules/@openclaw/fs-safe/dist/native-status.js +30 -0
- package/node_modules/@openclaw/fs-safe/dist/native.d.ts +31 -4
- package/node_modules/@openclaw/fs-safe/dist/native.js +107 -9
- package/node_modules/@openclaw/fs-safe/dist/opened-realpath.js +9 -1
- package/node_modules/@openclaw/fs-safe/dist/overwrite-file-handle.js +4 -1
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/permission-exec.js +9 -1
- package/node_modules/@openclaw/fs-safe/dist/permissions-public.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions-public.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions-windows.js +83 -47
- package/node_modules/@openclaw/fs-safe/dist/pinned-open.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-open.js +8 -3
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-input.js +13 -0
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-staged.js +10 -8
- package/node_modules/@openclaw/fs-safe/dist/pinned-write-types.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/pinned-write.js +7 -5
- package/node_modules/@openclaw/fs-safe/dist/pipe.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/pipe.js +26 -0
- package/node_modules/@openclaw/fs-safe/dist/private-directory.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/private-producer-handoff.js +2 -5
- package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.d.ts +3 -2
- package/node_modules/@openclaw/fs-safe/dist/private-temp-workspace.js +38 -10
- package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.js +92 -10
- package/node_modules/@openclaw/fs-safe/dist/publish-file-failure.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-file-failure.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/publish-file.d.ts +5 -3
- package/node_modules/@openclaw/fs-safe/dist/publish-file.js +26 -20
- package/node_modules/@openclaw/fs-safe/dist/read-opened-file.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/read-opened-file.js +3 -4
- package/node_modules/@openclaw/fs-safe/dist/realpath.js +32 -0
- package/node_modules/@openclaw/fs-safe/dist/regular-file.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/regular-file.js +11 -15
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +3 -2
- package/node_modules/@openclaw/fs-safe/dist/root-copy.d.ts +18 -0
- package/node_modules/@openclaw/fs-safe/dist/root-copy.js +128 -0
- package/node_modules/@openclaw/fs-safe/dist/root-create-native.d.ts +8 -13
- package/node_modules/@openclaw/fs-safe/dist/root-create-native.js +252 -27
- package/node_modules/@openclaw/fs-safe/dist/root-directory-creation.js +5 -1
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list-types.d.ts +11 -8
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +35 -13
- package/node_modules/@openclaw/fs-safe/dist/root-file-open-batch-sync.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file-open-batch-sync.js +108 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file.d.ts +7 -0
- package/node_modules/@openclaw/fs-safe/dist/root-file.js +15 -0
- package/node_modules/@openclaw/fs-safe/dist/root-impl.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/root-impl.js +154 -175
- package/node_modules/@openclaw/fs-safe/dist/root-mkdir-native.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/root-mkdir-native.js +239 -0
- package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.js +37 -15
- package/node_modules/@openclaw/fs-safe/dist/root-native-creation-path.d.ts +32 -0
- package/node_modules/@openclaw/fs-safe/dist/root-native-creation-path.js +56 -0
- package/node_modules/@openclaw/fs-safe/dist/root-options.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/root-public-types.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/root-remove-native.js +95 -16
- package/node_modules/@openclaw/fs-safe/dist/root-remove.js +6 -4
- package/node_modules/@openclaw/fs-safe/dist/root-walk.js +23 -19
- package/node_modules/@openclaw/fs-safe/dist/root-write-admission.js +8 -6
- package/node_modules/@openclaw/fs-safe/dist/root-write-publication.js +5 -1
- package/node_modules/@openclaw/fs-safe/dist/secure-file-windows.js +3 -1
- package/node_modules/@openclaw/fs-safe/dist/secure-file.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/secure-file.js +10 -4
- package/node_modules/@openclaw/fs-safe/dist/sibling-staged-file.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-retained.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-target.js +8 -1
- package/node_modules/@openclaw/fs-safe/dist/staged-directory.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-directory.js +29 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-child-admission.js +5 -3
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.js +13 -2
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-owner.js +71 -3
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-ownership.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-ownership.js +22 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-types.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/test-hooks.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/test-hooks.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/trash.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/types.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-native.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/windows-appcontainer.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-appcontainer.js +39 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-owner.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-owner.js +25 -36
- package/node_modules/@openclaw/fs-safe/dist/windows-security-command.js +24 -5
- package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.js +4 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-helper.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-helper.exe +0 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-helper.js +7 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-test-hooks.d.ts +16 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-test-hooks.js +51 -0
- package/node_modules/@openclaw/fs-safe/dist/write-file-handle.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/write-file-handle.js +12 -10
- package/node_modules/@openclaw/fs-safe/docs/advanced.md +2 -1
- package/node_modules/@openclaw/fs-safe/docs/archive.md +16 -0
- package/node_modules/@openclaw/fs-safe/docs/config.md +71 -1
- package/node_modules/@openclaw/fs-safe/docs/contributing.md +45 -5
- package/node_modules/@openclaw/fs-safe/docs/copy.md +45 -5
- package/node_modules/@openclaw/fs-safe/docs/durability.md +34 -7
- package/node_modules/@openclaw/fs-safe/docs/errors.md +8 -0
- package/node_modules/@openclaw/fs-safe/docs/guest.md +2 -0
- package/node_modules/@openclaw/fs-safe/docs/install.md +47 -27
- package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.5.md +6 -6
- package/node_modules/@openclaw/fs-safe/docs/migrating-to-0.6.md +1 -1
- package/node_modules/@openclaw/fs-safe/docs/native-helper.md +79 -6
- package/node_modules/@openclaw/fs-safe/docs/native.md +279 -8
- package/node_modules/@openclaw/fs-safe/docs/permissions.md +64 -15
- package/node_modules/@openclaw/fs-safe/docs/pipe.md +81 -0
- package/node_modules/@openclaw/fs-safe/docs/platform-capabilities.md +63 -0
- package/node_modules/@openclaw/fs-safe/docs/public-api.md +10 -0
- package/node_modules/@openclaw/fs-safe/docs/queue-link-free-design.md +237 -0
- package/node_modules/@openclaw/fs-safe/docs/quickstart.md +23 -3
- package/node_modules/@openclaw/fs-safe/docs/reading.md +56 -2
- package/node_modules/@openclaw/fs-safe/docs/regular-file.md +2 -0
- package/node_modules/@openclaw/fs-safe/docs/secret-file.md +5 -5
- package/node_modules/@openclaw/fs-safe/docs/secure-file.md +1 -1
- package/node_modules/@openclaw/fs-safe/docs/security-model.md +35 -0
- package/node_modules/@openclaw/fs-safe/docs/sidecar-lock.md +31 -13
- package/node_modules/@openclaw/fs-safe/docs/staged-file.md +18 -0
- package/node_modules/@openclaw/fs-safe/docs/store.md +15 -0
- package/node_modules/@openclaw/fs-safe/docs/temp.md +39 -0
- package/node_modules/@openclaw/fs-safe/docs/testing.md +13 -0
- package/node_modules/@openclaw/fs-safe/docs/types.md +51 -81
- package/node_modules/@openclaw/fs-safe/docs/walk.md +4 -1
- package/node_modules/@openclaw/fs-safe/docs/watch.md +3 -2
- package/node_modules/@openclaw/fs-safe/docs/writing.md +121 -14
- package/node_modules/@openclaw/fs-safe/package.json +21 -12
- 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-freebsd-arm64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-freebsd-arm64/package.json +29 -0
- package/node_modules/@openclaw/fs-safe-freebsd-x64/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-freebsd-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 +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-arm64-msvc/fs-safe-native.node +0 -0
- package/node_modules/@openclaw/fs-safe-win32-arm64-msvc/package.json +29 -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 +1 -1
- package/package.json +5 -5
- package/dist/.setup/transport-probes.runtime-CE-YN8v-.mjs +0 -2
- package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.cs +0 -336
- package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.ps1 +0 -90
|
@@ -51,8 +51,9 @@ function resolveSignalManagedNativePort(params) {
|
|
|
51
51
|
if (!isSignalAccountConfigured(accountConfig) || !isSignalAccountEnabled(params.cfg, accountConfig)) continue;
|
|
52
52
|
const transport = accountConfig.transport;
|
|
53
53
|
if (transport?.kind === "managed-native" && transport.httpPort === explicitPort) throw new Error(`Signal managed native accounts "${params.accountId}" and "${accountId}" both bind port ${explicitPort}. Assign each account a distinct transport.httpPort.`);
|
|
54
|
-
const
|
|
55
|
-
|
|
54
|
+
const siblingPorts = /* @__PURE__ */ new Set();
|
|
55
|
+
reserveSignalTransportPorts(transport, siblingPorts);
|
|
56
|
+
if (siblingPorts.has(explicitPort)) throw new Error(`Signal managed native account "${params.accountId}" binds port ${explicitPort}, which conflicts with account "${accountId}" local transport endpoint. Assign a distinct transport.httpPort.`);
|
|
56
57
|
}
|
|
57
58
|
return explicitPort;
|
|
58
59
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-
|
|
1
|
+
import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-B0Pba1-q.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-D7kSomXt.mjs";
|
|
3
3
|
import { a as normalizeSignalAllowRecipient, c as resolveSignalSender, i as isSignalSenderAllowed, l as looksLikeUuid, n as formatSignalSenderDisplay, o as resolveSignalPeerId, r as formatSignalSenderId, s as resolveSignalRecipient, t as formatSignalPairingIdLine } from "./identity-B3JyPqGO.mjs";
|
|
4
|
-
import { _ as resolveSignalReactionLevel, a as normalizeSignalAccountInput, b as markdownToSignalTextChunks, d as probeSignalTransport, f as writeSignalAccountTransport, g as signalMessageActions, h as resolveSignalOutboundTarget, t as signalPlugin, u as prepareSignalManagedNativeTransport, y as markdownToSignalText } from "./channel-
|
|
5
|
-
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-
|
|
6
|
-
import { t as detectSignalTransport } from "./transport-detection-
|
|
7
|
-
import { t as signalSetupPlugin } from "./api-
|
|
4
|
+
import { _ as resolveSignalReactionLevel, a as normalizeSignalAccountInput, b as markdownToSignalTextChunks, d as probeSignalTransport, f as writeSignalAccountTransport, g as signalMessageActions, h as resolveSignalOutboundTarget, t as signalPlugin, u as prepareSignalManagedNativeTransport, y as markdownToSignalText } from "./channel-guL6QH47.mjs";
|
|
5
|
+
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-mdO4k0yv.mjs";
|
|
6
|
+
import { t as detectSignalTransport } from "./transport-detection-SO-gF_og.mjs";
|
|
7
|
+
import { t as signalSetupPlugin } from "./api-ylHKOSSq.mjs";
|
|
8
8
|
import { r as installSignalCli } from "./install-signal-cli-hYVLYGXe.mjs";
|
|
9
|
-
import { t as monitorSignalProvider } from "./monitor-
|
|
10
|
-
import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-
|
|
11
|
-
import { t as probeSignal } from "./probe-
|
|
9
|
+
import { t as monitorSignalProvider } from "./monitor-DldFmVVK.mjs";
|
|
10
|
+
import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-BRjkYbdz.mjs";
|
|
11
|
+
import { t as probeSignal } from "./probe-CvYdLBHM.mjs";
|
|
12
12
|
export { detectSignalTransport, formatSignalPairingIdLine, formatSignalSenderDisplay, formatSignalSenderId, installSignalCli, isSignalSenderAllowed, listEnabledSignalAccounts, listSignalAccountIds, looksLikeSignalTargetId, looksLikeUuid, markdownToSignalText, markdownToSignalTextChunks, monitorSignalProvider, normalizeSignalAccountInput, normalizeSignalAllowRecipient, normalizeSignalMessagingTarget, prepareSignalManagedNativeTransport, probeSignal, probeSignalTransport, removeReactionSignal, resolveDefaultSignalAccountId, resolveSignalAccount, resolveSignalOutboundTarget, resolveSignalPeerId, resolveSignalReactionLevel, resolveSignalRecipient, resolveSignalSender, sendMessageSignal, sendReactionSignal, sendReadReceiptSignal, sendTypingSignal, signalMessageActions, signalPlugin, signalSetupPlugin, writeSignalAccountTransport };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import "./accounts-
|
|
1
|
+
import "./accounts-B0Pba1-q.mjs";
|
|
2
2
|
import "./normalize-D7kSomXt.mjs";
|
|
3
3
|
import "./identity-B3JyPqGO.mjs";
|
|
4
|
-
import { l as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-
|
|
5
|
-
import "./reaction-runtime-api-
|
|
4
|
+
import { l as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-guL6QH47.mjs";
|
|
5
|
+
import "./reaction-runtime-api-mdO4k0yv.mjs";
|
|
6
6
|
import "./install-signal-cli-hYVLYGXe.mjs";
|
|
7
|
-
import "./monitor-
|
|
8
|
-
import "./send-
|
|
9
|
-
import "./probe-
|
|
7
|
+
import "./monitor-DldFmVVK.mjs";
|
|
8
|
+
import "./send-BRjkYbdz.mjs";
|
|
9
|
+
import "./probe-CvYdLBHM.mjs";
|
|
10
10
|
//#region extensions/signal/src/channel.setup.ts
|
|
11
11
|
const signalSetupPlugin = createSignalPluginBase({
|
|
12
12
|
setupWizard: signalSetupWizard,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as resolveSignalAccount } from "./accounts-
|
|
1
|
+
import { i as resolveSignalAccount } from "./accounts-B0Pba1-q.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-D7kSomXt.mjs";
|
|
3
3
|
import { l as looksLikeUuid } from "./identity-B3JyPqGO.mjs";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
package/dist/.setup/{approval-handler.runtime-DzZCg6An.mjs → approval-handler.runtime-qDG12_4V.mjs}
RENAMED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { r as resolveDefaultSignalAccountId } from "./accounts-
|
|
1
|
+
import { r as resolveDefaultSignalAccountId } from "./accounts-B0Pba1-q.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget } from "./normalize-D7kSomXt.mjs";
|
|
3
|
-
import { a as resolveSignalTarget } from "./approval-auth-
|
|
4
|
-
import { a as registerSignalApprovalReactionTarget, c as resolveSignalApprovalTargetAuthorKeys, l as unregisterSignalApprovalReactionTarget, r as hasSignalApprovalReactionApprovers, s as resolveSignalApprovalConversationKey } from "./approval-reactions-
|
|
5
|
-
import { r as sendTypingSignal, t as sendMessageSignal } from "./send-
|
|
3
|
+
import { a as resolveSignalTarget } from "./approval-auth-DhUKkSkA.mjs";
|
|
4
|
+
import { a as registerSignalApprovalReactionTarget, c as resolveSignalApprovalTargetAuthorKeys, l as unregisterSignalApprovalReactionTarget, r as hasSignalApprovalReactionApprovers, s as resolveSignalApprovalConversationKey } from "./approval-reactions-JsqCEOHK.mjs";
|
|
5
|
+
import { r as sendTypingSignal, t as sendMessageSignal } from "./send-BRjkYbdz.mjs";
|
|
6
6
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
7
7
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
9
9
|
import { buildApprovalReactionPendingContent } from "openclaw/plugin-sdk/approval-reaction-runtime";
|
|
10
10
|
import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
|
|
11
|
-
import { buildChannelApprovalExpiredText, buildChannelApprovalResolvedText,
|
|
11
|
+
import { buildChannelApprovalExpiredText, buildChannelApprovalResolvedText, createChannelApprovalNativeRuntimeAdapterAsync, resolvePreparedApprovalAccountId } from "openclaw/plugin-sdk/approval-handler-runtime";
|
|
12
12
|
//#region extensions/signal/src/approval-handler.runtime.ts
|
|
13
13
|
const log = createSubsystemLogger("signal/approvals");
|
|
14
14
|
function readSignalApprovalRuntimeContext(context) {
|
|
@@ -19,7 +19,7 @@ function readSignalApprovalRuntimeContext(context) {
|
|
|
19
19
|
accountUuid: normalizeOptionalString(value?.accountUuid)
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
const signalApprovalNativeRuntime =
|
|
22
|
+
const signalApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapterAsync({
|
|
23
23
|
eventKinds: [
|
|
24
24
|
"exec",
|
|
25
25
|
"plugin",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { o as __exportAll } from "./doctor-contract-api-
|
|
1
|
+
import { o as __exportAll } from "./doctor-contract-api-BIdVW0PF.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget } from "./normalize-D7kSomXt.mjs";
|
|
3
|
-
import { a as resolveSignalTarget, i as resolveSignalDeliveredConversationKey, n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-
|
|
3
|
+
import { a as resolveSignalTarget, i as resolveSignalDeliveredConversationKey, n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-DhUKkSkA.mjs";
|
|
4
4
|
import { l as looksLikeUuid } from "./identity-B3JyPqGO.mjs";
|
|
5
5
|
import { t as getOptionalSignalRuntime } from "./runtime-8sxUF217.mjs";
|
|
6
6
|
import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
|
|
@@ -100,7 +100,7 @@ const signalApprovalReactionTargets = createApprovalReactionTargetStore({
|
|
|
100
100
|
namespace: PERSISTENT_NAMESPACE,
|
|
101
101
|
maxEntries: PERSISTENT_MAX_ENTRIES,
|
|
102
102
|
defaultTtlMs: DEFAULT_REACTION_TARGET_TTL_MS,
|
|
103
|
-
openStore: (storeParams) => getOptionalSignalRuntime()?.state.
|
|
103
|
+
openStore: (storeParams) => getOptionalSignalRuntime()?.state.openKeyedStoreV2(storeParams),
|
|
104
104
|
logPersistentError: reportPersistentApprovalReactionError,
|
|
105
105
|
readPersistedTarget
|
|
106
106
|
});
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { a as migrateLegacySignalTransportConfig, i as clearLegacySignalTransportFieldsForAccount, n as normalizeCompatibilityConfig, r as repairSignalAccountKeys } from "./doctor-contract-api-
|
|
1
|
+
import { a as migrateLegacySignalTransportConfig, i as clearLegacySignalTransportFieldsForAccount, n as normalizeCompatibilityConfig, r as repairSignalAccountKeys } from "./doctor-contract-api-BIdVW0PF.mjs";
|
|
2
2
|
import { a as normalizeSignalTransportUrl, i as normalizeSignalTransportHost, o as resolveSignalAccountEntry, s as resolveSignalAccountKey, t as assertSignalSocketTransport } from "./transport-url-CAC0JcuI.mjs";
|
|
3
3
|
import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort, s as reserveSignalTransportPorts } from "./transport-policy-B6C_LogW.mjs";
|
|
4
|
-
import { a as resolveSignalAccountConfig, i as resolveSignalAccount, n as listSignalAccountIds, o as resolveSignalReplyToMode, r as resolveDefaultSignalAccountId, s as resolveSignalTransport, t as listEnabledSignalAccounts } from "./accounts-
|
|
4
|
+
import { a as resolveSignalAccountConfig, i as resolveSignalAccount, n as listSignalAccountIds, o as resolveSignalReplyToMode, r as resolveDefaultSignalAccountId, s as resolveSignalTransport, t as listEnabledSignalAccounts } from "./accounts-B0Pba1-q.mjs";
|
|
5
5
|
import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient, t as looksLikeSignalTargetId } from "./normalize-D7kSomXt.mjs";
|
|
6
|
-
import { a as resolveSignalTarget, n as signalApprovalAuth, r as listSignalAliasDirectoryEntries, t as getSignalApprovalApprovers } from "./approval-auth-
|
|
6
|
+
import { a as resolveSignalTarget, n as signalApprovalAuth, r as listSignalAliasDirectoryEntries, t as getSignalApprovalApprovers } from "./approval-auth-DhUKkSkA.mjs";
|
|
7
7
|
import { c as resolveSignalSender, l as looksLikeUuid, o as resolveSignalPeerId, s as resolveSignalRecipient } from "./identity-B3JyPqGO.mjs";
|
|
8
|
-
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-
|
|
8
|
+
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-mdO4k0yv.mjs";
|
|
9
9
|
import { t as getOptionalSignalRuntime } from "./runtime-8sxUF217.mjs";
|
|
10
|
-
import { t as detectSignalTransport } from "./transport-detection-
|
|
10
|
+
import { t as detectSignalTransport } from "./transport-detection-SO-gF_og.mjs";
|
|
11
11
|
import { t as SignalChannelConfigSchema } from "./config-schema-DvxZ18SD.mjs";
|
|
12
12
|
import { describeAccountSnapshot, resolveChannelMediaMaxBytes } from "openclaw/plugin-sdk/account-helpers";
|
|
13
13
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
@@ -26,8 +26,8 @@ import { buildBaseChannelStatusSummary, collectStatusIssuesFromLastError, create
|
|
|
26
26
|
import { asPositiveSafeInteger, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringifiedEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
27
27
|
import { FormatCapabilityProfile, markdownToIR, renderMarkdownIRChunksWithinLimit, renderMarkdownWithAttributedRanges, sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
28
28
|
import { normalizeAccountId as normalizeAccountId$1 } from "openclaw/plugin-sdk/account-resolution";
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
29
|
+
import { createApproverRestrictedNativeApprovalCapabilityFromForwardingRoutesAsync } from "openclaw/plugin-sdk/approval-delivery-runtime";
|
|
30
|
+
import { createLazyChannelApprovalNativeRuntimeAdapterAsync } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
|
|
31
31
|
import { shouldSuppressLocalNativeExecApprovalPrompt } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
32
32
|
import { buildApprovalReactionPendingContentForRequest } from "openclaw/plugin-sdk/approval-reaction-runtime";
|
|
33
33
|
import { normalizeE164 } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
@@ -40,6 +40,7 @@ import { parseAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
|
|
|
40
40
|
import { getExecApprovalReplyMetadata } from "openclaw/plugin-sdk/approval-reply-runtime";
|
|
41
41
|
import { isMessagePresentationInteractiveBlock, normalizeMessagePresentation, renderMessagePresentationFallbackText } from "openclaw/plugin-sdk/interactive-runtime";
|
|
42
42
|
import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
|
|
43
|
+
import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
|
|
43
44
|
import { createChannelDmPolicy } from "openclaw/plugin-sdk/channel-dm-policy";
|
|
44
45
|
import { defineChannelSetupContract } from "openclaw/plugin-sdk/channel-setup";
|
|
45
46
|
import { patchTopLevelChannelConfigSection } from "openclaw/plugin-sdk/setup";
|
|
@@ -54,7 +55,7 @@ function isSignalApprovalTransportEnabled(params) {
|
|
|
54
55
|
accountId: params.accountId
|
|
55
56
|
}).enabled;
|
|
56
57
|
}
|
|
57
|
-
const signalApproval =
|
|
58
|
+
const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwardingRoutesAsync({
|
|
58
59
|
channel: "signal",
|
|
59
60
|
channelLabel: "Signal",
|
|
60
61
|
authorizeActorAction: (params) => signalApprovalAuth.authorizeActorAction(params),
|
|
@@ -84,7 +85,7 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
|
|
|
84
85
|
nowMs
|
|
85
86
|
}).manualFallbackPayload }
|
|
86
87
|
},
|
|
87
|
-
createNativeRuntime: (routing) =>
|
|
88
|
+
createNativeRuntime: (routing) => createLazyChannelApprovalNativeRuntimeAdapterAsync({
|
|
88
89
|
capabilityBoundary: true,
|
|
89
90
|
eventKinds: [
|
|
90
91
|
"exec",
|
|
@@ -95,13 +96,13 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
|
|
|
95
96
|
cfg,
|
|
96
97
|
accountId
|
|
97
98
|
}),
|
|
98
|
-
shouldHandle: ({ cfg, accountId, context, approvalKind, request }) => Boolean(context) && routing.shouldHandleApprovalRequest({
|
|
99
|
+
shouldHandle: async ({ cfg, accountId, context, approvalKind, request }) => Boolean(context) && routing.shouldHandleApprovalRequest({
|
|
99
100
|
cfg,
|
|
100
101
|
accountId,
|
|
101
102
|
approvalKind,
|
|
102
103
|
request
|
|
103
104
|
}),
|
|
104
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
105
|
+
load: async () => (await import("./approval-handler.runtime-qDG12_4V.mjs")).signalApprovalNativeRuntime
|
|
105
106
|
})
|
|
106
107
|
});
|
|
107
108
|
const signalApprovalRouting = signalApproval.routing;
|
|
@@ -389,27 +390,23 @@ function materializeSignalPresentationFallback(payload, presentationOverride) {
|
|
|
389
390
|
}
|
|
390
391
|
//#endregion
|
|
391
392
|
//#region extensions/signal/src/reply-authors-state.ts
|
|
392
|
-
const signalReplyAuthorState = {
|
|
393
|
-
memoryReplyContexts: /* @__PURE__ */ new Map(),
|
|
394
|
-
persistentStoreDisabled: false
|
|
395
|
-
};
|
|
393
|
+
const signalReplyAuthorState = { memoryReplyContexts: /* @__PURE__ */ new Map() };
|
|
396
394
|
//#endregion
|
|
397
395
|
//#region extensions/signal/src/reply-authors.ts
|
|
398
396
|
const PERSISTENT_NAMESPACE = "signal.reply-authors.v1";
|
|
399
397
|
const PERSISTENT_MAX_ENTRIES = 5e3;
|
|
400
398
|
const DEFAULT_REPLY_AUTHOR_TTL_MS = 6048e5;
|
|
401
399
|
const { memoryReplyContexts } = signalReplyAuthorState;
|
|
400
|
+
const replyContextWrites = new KeyedAsyncQueue();
|
|
402
401
|
function openSignalReplyAuthorStore() {
|
|
403
|
-
if (signalReplyAuthorState.persistentStoreDisabled) return;
|
|
404
402
|
const runtime = getOptionalSignalRuntime();
|
|
405
403
|
try {
|
|
406
|
-
return runtime?.state.
|
|
404
|
+
return runtime?.state.openKeyedStoreV2({
|
|
407
405
|
namespace: PERSISTENT_NAMESPACE,
|
|
408
406
|
maxEntries: PERSISTENT_MAX_ENTRIES,
|
|
409
407
|
defaultTtlMs: DEFAULT_REPLY_AUTHOR_TTL_MS
|
|
410
408
|
});
|
|
411
409
|
} catch (error) {
|
|
412
|
-
signalReplyAuthorState.persistentStoreDisabled = true;
|
|
413
410
|
runtime?.logging.getChildLogger({
|
|
414
411
|
plugin: "signal",
|
|
415
412
|
feature: "reply-author-state"
|
|
@@ -482,77 +479,26 @@ async function registerSignalReplyContext(params) {
|
|
|
482
479
|
registeredAt
|
|
483
480
|
};
|
|
484
481
|
const expiresAt = registeredAt + DEFAULT_REPLY_AUTHOR_TTL_MS;
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
signalReplyAuthorState.persistentStoreDisabled = true;
|
|
482
|
+
await replyContextWrites.enqueue(key, async () => {
|
|
483
|
+
const cached = memoryReplyContexts.get(key);
|
|
484
|
+
let next = mergeReplyContext(cached && cached.expiresAt > registeredAt ? cached : void 0, record);
|
|
485
|
+
try {
|
|
486
|
+
if (store) {
|
|
487
|
+
next = mergeReplyContext(await store.lookup(key), next);
|
|
488
|
+
await store.register(key, next);
|
|
489
|
+
}
|
|
490
|
+
} catch (error) {
|
|
495
491
|
getOptionalSignalRuntime()?.logging.getChildLogger({
|
|
496
492
|
plugin: "signal",
|
|
497
493
|
feature: "reply-author-state"
|
|
498
|
-
}).warn("Signal persistent reply author state
|
|
494
|
+
}).warn("Signal persistent reply author state failed", { error: String(error) });
|
|
499
495
|
}
|
|
500
|
-
return;
|
|
501
|
-
}
|
|
502
|
-
const cachedBeforeUpdate = memoryReplyContexts.get(key);
|
|
503
|
-
const cacheReplyContext = (next) => {
|
|
504
|
-
const current = memoryReplyContexts.get(key);
|
|
505
|
-
const changedDuringUpdate = usesComparisons && current !== cachedBeforeUpdate;
|
|
506
|
-
if (!next) {
|
|
507
|
-
if (!changedDuringUpdate) memoryReplyContexts.delete(key);
|
|
508
|
-
return;
|
|
509
|
-
}
|
|
510
|
-
const concurrent = changedDuringUpdate && current && current.expiresAt > registeredAt ? current : void 0;
|
|
511
496
|
memoryReplyContexts.set(key, {
|
|
512
|
-
...
|
|
513
|
-
expiresAt
|
|
514
|
-
});
|
|
515
|
-
};
|
|
516
|
-
let updateEvaluated = false;
|
|
517
|
-
let nextRecord;
|
|
518
|
-
try {
|
|
519
|
-
let updated = false;
|
|
520
|
-
if (store.observe && store.compareAndApply) {
|
|
521
|
-
let observation = await store.observe(key);
|
|
522
|
-
for (;;) {
|
|
523
|
-
updateEvaluated = true;
|
|
524
|
-
nextRecord = mergeReplyContext(observation.value, record);
|
|
525
|
-
const result = await store.compareAndApply(key, observation.comparison, {
|
|
526
|
-
operation: "update",
|
|
527
|
-
action: "set",
|
|
528
|
-
value: nextRecord
|
|
529
|
-
});
|
|
530
|
-
if (result.status !== "conflict") {
|
|
531
|
-
updated = result.status === "applied";
|
|
532
|
-
break;
|
|
533
|
-
}
|
|
534
|
-
observation = result.current;
|
|
535
|
-
}
|
|
536
|
-
} else if (store.update) updated = await store.update(key, (current) => {
|
|
537
|
-
updateEvaluated = true;
|
|
538
|
-
nextRecord = mergeReplyContext(current, record);
|
|
539
|
-
return nextRecord;
|
|
497
|
+
...next,
|
|
498
|
+
expiresAt
|
|
540
499
|
});
|
|
541
|
-
cacheReplyContext(updated ? nextRecord : void 0);
|
|
542
|
-
pruneMemoryReplyContexts(registeredAt);
|
|
543
|
-
} catch (error) {
|
|
544
|
-
if (!updateEvaluated) try {
|
|
545
|
-
nextRecord = mergeReplyContext(await store.lookup(key), record);
|
|
546
|
-
} catch {
|
|
547
|
-
nextRecord = void 0;
|
|
548
|
-
}
|
|
549
|
-
if (nextRecord || updateEvaluated) cacheReplyContext(nextRecord);
|
|
550
500
|
pruneMemoryReplyContexts(registeredAt);
|
|
551
|
-
|
|
552
|
-
plugin: "signal",
|
|
553
|
-
feature: "reply-author-state"
|
|
554
|
-
}).warn("Signal persistent reply author state failed", { error: String(error) });
|
|
555
|
-
}
|
|
501
|
+
});
|
|
556
502
|
}
|
|
557
503
|
async function resolveSignalReplyContextWithPersistence(params) {
|
|
558
504
|
const store = openSignalReplyAuthorStore();
|
|
@@ -573,10 +519,6 @@ async function resolveSignalReplyContextWithPersistence(params) {
|
|
|
573
519
|
}
|
|
574
520
|
//#endregion
|
|
575
521
|
//#region extensions/signal/src/setup-transport.ts
|
|
576
|
-
function managedTransportOptions(transport) {
|
|
577
|
-
const { kind: _kind, ...options } = transport;
|
|
578
|
-
return options;
|
|
579
|
-
}
|
|
580
522
|
function normalizeTransport(transport) {
|
|
581
523
|
if (transport.kind === "managed-native") {
|
|
582
524
|
assertSignalSocketTransport(transport);
|
|
@@ -703,11 +645,11 @@ async function probeSignalTransport(params) {
|
|
|
703
645
|
const transport = params.transport.kind === "managed-native" ? prepareSignalManagedNativeTransport({
|
|
704
646
|
cfg: params.cfg,
|
|
705
647
|
accountId: params.accountId,
|
|
706
|
-
overrides:
|
|
648
|
+
overrides: params.transport
|
|
707
649
|
}) : params.transport;
|
|
708
650
|
const resolved = resolveSignalTransport(transport);
|
|
709
|
-
if (resolved.kind === "container") return (params.probeContainer ?? (await import("./transport-probes.runtime-
|
|
710
|
-
return (params.probeNative ?? (await import("./transport-probes.runtime-
|
|
651
|
+
if (resolved.kind === "container") return (params.probeContainer ?? (await import("./transport-probes.runtime-D5HTmtuk.mjs")).containerCheck)(resolved.baseUrl, timeoutMs, params.account);
|
|
652
|
+
return (params.probeNative ?? (await import("./transport-probes.runtime-D5HTmtuk.mjs")).nativeCheck)(resolved.baseUrl, timeoutMs);
|
|
711
653
|
}
|
|
712
654
|
function writeSignalAccountTransport(params) {
|
|
713
655
|
const transport = normalizeTransport(params.transport);
|
|
@@ -1050,7 +992,7 @@ function createSignalSetupWizardProxy(loadWizard) {
|
|
|
1050
992
|
const signalDoctor = {
|
|
1051
993
|
normalizeCompatibilityConfig,
|
|
1052
994
|
cleanStaleConfig: async ({ cfg }) => {
|
|
1053
|
-
const { detectSignalTransport } = await import("./transport-detection-
|
|
995
|
+
const { detectSignalTransport } = await import("./transport-detection-SO-gF_og.mjs").then((n) => n.n);
|
|
1054
996
|
const transport = await migrateLegacySignalTransportConfig({
|
|
1055
997
|
cfg,
|
|
1056
998
|
detect: detectSignalTransport
|
|
@@ -1064,7 +1006,7 @@ const signalDoctor = {
|
|
|
1064
1006
|
//#endregion
|
|
1065
1007
|
//#region extensions/signal/src/shared.ts
|
|
1066
1008
|
const SIGNAL_CHANNEL = "signal";
|
|
1067
|
-
const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-
|
|
1009
|
+
const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-CAnAkngR.mjs")).signalSetupWizard);
|
|
1068
1010
|
const signalConfigAdapter = {
|
|
1069
1011
|
...createScopedChannelConfigAdapter({
|
|
1070
1012
|
sectionKey: SIGNAL_CHANNEL,
|
|
@@ -1149,17 +1091,30 @@ function createSignalPluginBase(params) {
|
|
|
1149
1091
|
}
|
|
1150
1092
|
//#endregion
|
|
1151
1093
|
//#region extensions/signal/src/channel.ts
|
|
1152
|
-
const loadSignalMonitorModule = createLazyRuntimeModule(() => import("./monitor-
|
|
1153
|
-
const loadSignalProbeModule = createLazyRuntimeModule(() => import("./probe-
|
|
1154
|
-
const loadSignalSendRuntime = createLazyRuntimeModule(() => import("./send-
|
|
1155
|
-
const loadSignalApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-
|
|
1156
|
-
async function
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1094
|
+
const loadSignalMonitorModule = createLazyRuntimeModule(() => import("./monitor-DldFmVVK.mjs").then((n) => n.n));
|
|
1095
|
+
const loadSignalProbeModule = createLazyRuntimeModule(() => import("./probe-CvYdLBHM.mjs").then((n) => n.n));
|
|
1096
|
+
const loadSignalSendRuntime = createLazyRuntimeModule(() => import("./send-BRjkYbdz.mjs").then((n) => n.i));
|
|
1097
|
+
const loadSignalApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-JsqCEOHK.mjs").then((n) => n.n));
|
|
1098
|
+
async function createSignalOutboundSender(params) {
|
|
1099
|
+
const send = resolveOutboundSendDep(params.deps, "signal") ?? (await loadSignalSendRuntime()).sendMessageSignal;
|
|
1100
|
+
const maxBytes = resolveChannelMediaMaxBytes({
|
|
1101
|
+
cfg: params.cfg,
|
|
1102
|
+
resolveChannelLimitMb: () => resolveSignalAccount(params).config.mediaMaxMb
|
|
1103
|
+
});
|
|
1104
|
+
return async (to, text, { replyToId, ...options }) => {
|
|
1105
|
+
const replyOptions = await resolveSignalReplyOptions({
|
|
1106
|
+
...params,
|
|
1107
|
+
to,
|
|
1108
|
+
replyToId
|
|
1109
|
+
});
|
|
1110
|
+
return await send(to, text, {
|
|
1160
1111
|
cfg: params.cfg,
|
|
1161
|
-
|
|
1162
|
-
|
|
1112
|
+
...options,
|
|
1113
|
+
maxBytes,
|
|
1114
|
+
accountId: params.accountId ?? void 0,
|
|
1115
|
+
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
1116
|
+
...replyOptions
|
|
1117
|
+
});
|
|
1163
1118
|
};
|
|
1164
1119
|
}
|
|
1165
1120
|
function resolveSignalSendTarget(params) {
|
|
@@ -1170,25 +1125,12 @@ function resolveSignalSendTarget(params) {
|
|
|
1170
1125
|
})?.to ?? params.to.trim();
|
|
1171
1126
|
}
|
|
1172
1127
|
async function sendSignalOutbound(params) {
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
const to = resolveSignalSendTarget(params);
|
|
1176
|
-
const replyOptions = await resolveSignalReplyOptions({
|
|
1177
|
-
cfg: params.cfg,
|
|
1178
|
-
to,
|
|
1179
|
-
accountId,
|
|
1180
|
-
replyToId: params.replyToId
|
|
1181
|
-
});
|
|
1182
|
-
return await send(to, params.text, {
|
|
1183
|
-
cfg: params.cfg,
|
|
1128
|
+
return await (await createSignalOutboundSender(params))(resolveSignalSendTarget(params), params.text, {
|
|
1129
|
+
replyToId: params.replyToId,
|
|
1184
1130
|
...params.mediaUrl ? { mediaUrl: params.mediaUrl } : {},
|
|
1185
1131
|
...params.mediaAccess ? { mediaAccess: params.mediaAccess } : {},
|
|
1186
1132
|
...params.mediaLocalRoots?.length ? { mediaLocalRoots: params.mediaLocalRoots } : {},
|
|
1187
|
-
...params.mediaReadFile ? { mediaReadFile: params.mediaReadFile } : {}
|
|
1188
|
-
maxBytes,
|
|
1189
|
-
accountId,
|
|
1190
|
-
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
1191
|
-
...replyOptions
|
|
1133
|
+
...params.mediaReadFile ? { mediaReadFile: params.mediaReadFile } : {}
|
|
1192
1134
|
});
|
|
1193
1135
|
}
|
|
1194
1136
|
async function resolveSignalReplyOptions(params) {
|
|
@@ -1263,7 +1205,7 @@ function resolveSignalOutboundSessionRoute(params) {
|
|
|
1263
1205
|
};
|
|
1264
1206
|
}
|
|
1265
1207
|
async function sendFormattedSignalText(ctx) {
|
|
1266
|
-
const
|
|
1208
|
+
const send = await createSignalOutboundSender(ctx);
|
|
1267
1209
|
const limit = resolveTextChunkLimit(ctx.cfg, "signal", ctx.accountId ?? void 0, { fallbackLimit: 4e3 });
|
|
1268
1210
|
const to = resolveSignalSendTarget(ctx);
|
|
1269
1211
|
const tableMode = resolveMarkdownTableMode({
|
|
@@ -1289,21 +1231,10 @@ async function sendFormattedSignalText(ctx) {
|
|
|
1289
1231
|
const results = [];
|
|
1290
1232
|
for (const chunk of chunks) {
|
|
1291
1233
|
ctx.abortSignal?.throwIfAborted();
|
|
1292
|
-
const replyToId = nextReplyToId();
|
|
1293
|
-
const replyOptions = await resolveSignalReplyOptions({
|
|
1294
|
-
cfg: ctx.cfg,
|
|
1295
|
-
to,
|
|
1296
|
-
accountId: ctx.accountId,
|
|
1297
|
-
replyToId
|
|
1298
|
-
});
|
|
1299
1234
|
const result = await send(to, chunk.text, {
|
|
1300
|
-
|
|
1301
|
-
maxBytes,
|
|
1302
|
-
accountId: ctx.accountId ?? void 0,
|
|
1235
|
+
replyToId: nextReplyToId(),
|
|
1303
1236
|
textMode: "plain",
|
|
1304
|
-
textStyles: chunk.styles
|
|
1305
|
-
assertDirectAdapterHandoff: ctx.assertDirectAdapterHandoff,
|
|
1306
|
-
...replyOptions
|
|
1237
|
+
textStyles: chunk.styles
|
|
1307
1238
|
});
|
|
1308
1239
|
const deliveryResult = attachChannelToResult("signal", attachSignalVisibleText(result, chunk.text));
|
|
1309
1240
|
results.push(deliveryResult);
|
|
@@ -1313,7 +1244,7 @@ async function sendFormattedSignalText(ctx) {
|
|
|
1313
1244
|
}
|
|
1314
1245
|
async function sendFormattedSignalMedia(ctx) {
|
|
1315
1246
|
ctx.abortSignal?.throwIfAborted();
|
|
1316
|
-
const
|
|
1247
|
+
const send = await createSignalOutboundSender(ctx);
|
|
1317
1248
|
const to = resolveSignalSendTarget(ctx);
|
|
1318
1249
|
const tableMode = resolveMarkdownTableMode({
|
|
1319
1250
|
cfg: ctx.cfg,
|
|
@@ -1324,24 +1255,14 @@ async function sendFormattedSignalMedia(ctx) {
|
|
|
1324
1255
|
text: ctx.text,
|
|
1325
1256
|
styles: []
|
|
1326
1257
|
};
|
|
1327
|
-
const replyOptions = await resolveSignalReplyOptions({
|
|
1328
|
-
cfg: ctx.cfg,
|
|
1329
|
-
to,
|
|
1330
|
-
accountId: ctx.accountId,
|
|
1331
|
-
replyToId: ctx.replyToId
|
|
1332
|
-
});
|
|
1333
1258
|
const result = await send(to, formatted.text, {
|
|
1334
|
-
|
|
1259
|
+
replyToId: ctx.replyToId,
|
|
1335
1260
|
mediaUrl: ctx.mediaUrl,
|
|
1336
1261
|
...ctx.mediaAccess ? { mediaAccess: ctx.mediaAccess } : {},
|
|
1337
1262
|
mediaLocalRoots: ctx.mediaLocalRoots,
|
|
1338
1263
|
...ctx.mediaReadFile ? { mediaReadFile: ctx.mediaReadFile } : {},
|
|
1339
|
-
maxBytes,
|
|
1340
|
-
accountId: ctx.accountId ?? void 0,
|
|
1341
1264
|
textMode: "plain",
|
|
1342
|
-
textStyles: formatted.styles
|
|
1343
|
-
assertDirectAdapterHandoff: ctx.assertDirectAdapterHandoff,
|
|
1344
|
-
...replyOptions
|
|
1265
|
+
textStyles: formatted.styles
|
|
1345
1266
|
});
|
|
1346
1267
|
return attachChannelToResult("signal", attachSignalVisibleText(result, formatted.text));
|
|
1347
1268
|
}
|
|
@@ -1353,7 +1274,7 @@ async function registerDeliveredSignalApprovalPayloadForReactions(params) {
|
|
|
1353
1274
|
const targetAuthor = normalizeOptionalString(account.config.account);
|
|
1354
1275
|
const targetAuthorUuid = normalizeOptionalString(account.config.accountUuid);
|
|
1355
1276
|
if (!targetAuthor && !targetAuthorUuid) return;
|
|
1356
|
-
const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-
|
|
1277
|
+
const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-BgPLDHBf.mjs").then((n) => n.t);
|
|
1357
1278
|
await registerSignalReactionTargetsForDeliveredPayload({
|
|
1358
1279
|
cfg: params.cfg,
|
|
1359
1280
|
target: {
|
|
@@ -760,7 +760,6 @@ async function streamSignalUnixEvents(params) {
|
|
|
760
760
|
timeoutMs: params.timeoutMs === 0 ? DEFAULT_TIMEOUT_MS$1 : params.timeoutMs
|
|
761
761
|
}, params.abortSignal);
|
|
762
762
|
const id = randomUUID();
|
|
763
|
-
let subscribed = false;
|
|
764
763
|
let subscription;
|
|
765
764
|
try {
|
|
766
765
|
connection.socket.write(`${JSON.stringify({
|
|
@@ -775,7 +774,6 @@ async function streamSignalUnixEvents(params) {
|
|
|
775
774
|
const value = result(message);
|
|
776
775
|
if (typeof value !== "number" || !Number.isInteger(value) || value < 0) throw new Error("Signal UNIX RPC returned invalid receive subscription");
|
|
777
776
|
subscription = value;
|
|
778
|
-
subscribed = true;
|
|
779
777
|
connection.ready();
|
|
780
778
|
params.onStreamOpen?.();
|
|
781
779
|
continue;
|
|
@@ -792,7 +790,7 @@ async function streamSignalUnixEvents(params) {
|
|
|
792
790
|
data: JSON.stringify(payload)
|
|
793
791
|
});
|
|
794
792
|
}
|
|
795
|
-
if (
|
|
793
|
+
if (subscription === void 0) throw new Error("Signal UNIX RPC closed before receive subscription");
|
|
796
794
|
} finally {
|
|
797
795
|
connection.close();
|
|
798
796
|
}
|
|
@@ -862,7 +860,6 @@ function initiateSignalHttp(url, options) {
|
|
|
862
860
|
const client = url.protocol === "https:" ? https : http;
|
|
863
861
|
options.assertDirectAdapterHandoff?.();
|
|
864
862
|
return new Promise((resolve, reject) => {
|
|
865
|
-
let settled = false;
|
|
866
863
|
const deadline = setTimeout(() => {
|
|
867
864
|
request?.destroy(/* @__PURE__ */ new Error(`Signal HTTP exceeded deadline after ${timeoutMs}ms`));
|
|
868
865
|
}, timeoutMs);
|
|
@@ -871,18 +868,10 @@ function initiateSignalHttp(url, options) {
|
|
|
871
868
|
clearTimeout(deadline);
|
|
872
869
|
request?.setTimeout(0);
|
|
873
870
|
};
|
|
874
|
-
const
|
|
875
|
-
if (settled) return;
|
|
876
|
-
settled = true;
|
|
871
|
+
const rejectResponse = (error) => {
|
|
877
872
|
cleanup();
|
|
878
873
|
reject(toErrorObject(error, "Non-Error rejection"));
|
|
879
874
|
};
|
|
880
|
-
const resolveOnce = (response) => {
|
|
881
|
-
if (settled) return;
|
|
882
|
-
settled = true;
|
|
883
|
-
cleanup();
|
|
884
|
-
resolve(response);
|
|
885
|
-
};
|
|
886
875
|
const maxResponseBytes = Math.floor(asPositiveFiniteNumber(options.maxResponseBytes) ?? DEFAULT_SIGNAL_HTTP_RESPONSE_MAX_BYTES);
|
|
887
876
|
const request = client.request(url, {
|
|
888
877
|
method: options.method,
|
|
@@ -897,14 +886,15 @@ function initiateSignalHttp(url, options) {
|
|
|
897
886
|
const error = /* @__PURE__ */ new Error("Signal HTTP response exceeded size limit");
|
|
898
887
|
request?.destroy(error);
|
|
899
888
|
res.destroy(error);
|
|
900
|
-
|
|
889
|
+
rejectResponse(error);
|
|
901
890
|
return;
|
|
902
891
|
}
|
|
903
892
|
chunks.push(next);
|
|
904
893
|
});
|
|
905
|
-
res.on("error",
|
|
894
|
+
res.on("error", rejectResponse);
|
|
906
895
|
res.on("end", () => {
|
|
907
|
-
|
|
896
|
+
cleanup();
|
|
897
|
+
resolve({
|
|
908
898
|
status: res.statusCode ?? 0,
|
|
909
899
|
body: Buffer$1.concat(chunks)
|
|
910
900
|
});
|
|
@@ -913,7 +903,7 @@ function initiateSignalHttp(url, options) {
|
|
|
913
903
|
request.setTimeout(timeoutMs, () => {
|
|
914
904
|
request?.destroy(/* @__PURE__ */ new Error(`Signal HTTP timed out after ${timeoutMs}ms`));
|
|
915
905
|
});
|
|
916
|
-
request.on("error",
|
|
906
|
+
request.on("error", rejectResponse);
|
|
917
907
|
if (options.body !== void 0) request.write(options.body);
|
|
918
908
|
request.end();
|
|
919
909
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as containerRpcRequest, i as streamSignalEvents$1, l as streamContainerEvents, n as signalCheck$1, r as signalRpcRequest$1, s as containerCheck } from "./client-
|
|
1
|
+
import { c as containerRpcRequest, i as streamSignalEvents$1, l as streamContainerEvents, n as signalCheck$1, r as signalRpcRequest$1, s as containerCheck } from "./client-Duwqbgqi.mjs";
|
|
2
2
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
3
3
|
//#region extensions/signal/src/client-adapter.ts
|
|
4
4
|
const DEFAULT_TIMEOUT_MS = 1e4;
|
|
@@ -197,8 +197,8 @@ function nestedDefaultOwnsEffectiveTransport(entries) {
|
|
|
197
197
|
return isRecord(nestedDefault) && (isSignalTransportConfig(nestedDefault.transport) || hasLegacySignalTransportFields(nestedDefault));
|
|
198
198
|
}
|
|
199
199
|
function isDiscardedTransportEntry(entries, index) {
|
|
200
|
-
if (
|
|
201
|
-
return index ===
|
|
200
|
+
if (isSignalTransportConfig(entries[0]?.transport)) return index === resolveNestedDefaultEntryIndex(entries);
|
|
201
|
+
return index === 0 && (!hasRootSignalAccount(entries) || nestedDefaultOwnsEffectiveTransport(entries));
|
|
202
202
|
}
|
|
203
203
|
function shouldMaterializeTransport(entries, index) {
|
|
204
204
|
if (isDiscardedTransportEntry(entries, index)) return false;
|