@openclaw/signal 2026.9.6 → 2026.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icon.png +0 -0
- package/dist/.setup/{accounts-BV6tDOTc.mjs → accounts-DMtj2E-4.mjs} +6 -35
- package/dist/.setup/api-DEB0Obj8.mjs +16 -0
- package/dist/.setup/{api-CGh4eWR8.mjs → api-DmCb6e7E.mjs} +10 -10
- package/dist/.setup/{approval-auth-BBI9BTRm.mjs → approval-auth-CszS7gwf.mjs} +7 -13
- package/dist/.setup/{approval-handler.runtime-C3vN5OWd.mjs → approval-handler.runtime-D9ofZcZW.mjs} +10 -29
- package/dist/.setup/{approval-reactions-DDQvPP_z.mjs → approval-reactions-BKkjIAoi.mjs} +25 -36
- package/dist/.setup/{channel-DhzTcFsK.mjs → channel-DrUxv5cf.mjs} +567 -136
- package/dist/.setup/{client-BseAt7F7.mjs → client-AXcDteBZ.mjs} +63 -152
- package/dist/.setup/client-adapter-c_O1ouxZ.mjs +30 -0
- package/dist/.setup/{config-schema-aQwwMGUj.mjs → config-schema-DvxZ18SD.mjs} +3 -13
- package/dist/.setup/{doctor-contract-api-Rbq_sRTI.mjs → doctor-contract-api-Db9V9gsY.mjs} +212 -91
- package/dist/.setup/{identity-YXPmgFMu.mjs → identity-B3JyPqGO.mjs} +2 -6
- package/dist/.setup/{install-signal-cli-BDbzFcU2.mjs → install-signal-cli-ChvjzM6X.mjs} +0 -4
- package/dist/.setup/legacy-transport-QIpaMNST.mjs +18 -0
- package/dist/.setup/{monitor-Dnz6Ygz5.mjs → monitor-BfwQr78f.mjs} +95 -124
- package/dist/.setup/{probe-DXT2eLnw.mjs → probe-BYLzra6D.mjs} +9 -9
- package/dist/.setup/{reaction-runtime-api-BnQGHcrB.mjs → reaction-runtime-api-DDi5x2wC.mjs} +3 -17
- package/dist/.setup/{question-reactions-C8cSEjVf.mjs → reaction-targets-CEdyjtrC.mjs} +11 -8
- package/dist/.setup/{rpc-context-CwwADZ1b.mjs → rpc-context-D26RxFIm.mjs} +1 -1
- package/dist/.setup/runtime-8sxUF217.mjs +8 -0
- package/dist/.setup/{send-B78M_eFp.mjs → send-DEjrbpIC.mjs} +25 -55
- package/dist/.setup/{channel.runtime-CG79z_Vy.mjs → setup-surface-Drt-4t3R.mjs} +4 -6
- package/dist/.setup/transport-detection-BVUDE42e.mjs +25 -0
- package/dist/.setup/{transport-policy-5VSnj5ma.mjs → transport-policy-B6C_LogW.mjs} +19 -1
- package/dist/.setup/transport-probes.runtime-DwXEHnXr.mjs +2 -0
- package/dist/api.js +10 -10
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +2 -2
- package/dist/doctor-contract-api.js +1 -1
- package/dist/reaction-runtime-api.js +1 -1
- package/dist/runtime-api.js +2 -19
- package/dist/setup-entry.js +1 -1
- package/node_modules/@openclaw/fs-safe/CHANGELOG.md +102 -0
- package/node_modules/@openclaw/fs-safe/README.md +24 -6
- package/node_modules/@openclaw/fs-safe/dist/advanced.d.ts +6 -1
- package/node_modules/@openclaw/fs-safe/dist/advanced.js +3 -1
- package/node_modules/@openclaw/fs-safe/dist/archive-durability.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/archive-merge.js +1 -2
- package/node_modules/@openclaw/fs-safe/dist/archive-plan.d.ts +2 -7
- package/node_modules/@openclaw/fs-safe/dist/archive-read.js +9 -18
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.d.ts +1 -2
- package/node_modules/@openclaw/fs-safe/dist/archive-staging.js +3 -3
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-directory.js +4 -0
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-entry.d.ts +11 -11
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-entry.js +3 -35
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-integrity.d.ts +2 -2
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-integrity.js +2 -12
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.d.ts +7 -3
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-loader.js +13 -10
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-manifest.js +3 -1
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-preflight.d.ts +2 -3
- package/node_modules/@openclaw/fs-safe/dist/archive-zip-preflight.js +16 -8
- package/node_modules/@openclaw/fs-safe/dist/archive.d.ts +6 -3
- package/node_modules/@openclaw/fs-safe/dist/archive.js +22 -19
- package/node_modules/@openclaw/fs-safe/dist/atomic.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/copy-publication.d.ts +1 -3
- package/node_modules/@openclaw/fs-safe/dist/copy-publication.js +2 -6
- package/node_modules/@openclaw/fs-safe/dist/deny-mutation-match.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/deny-mutation-match.js +71 -0
- package/node_modules/@openclaw/fs-safe/dist/deny-mutations.js +4 -3
- package/node_modules/@openclaw/fs-safe/dist/directory-guard.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/directory-guard.js +0 -3
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.d.ts +20 -2
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-node.js +77 -1
- package/node_modules/@openclaw/fs-safe/dist/directory-receipt.js +5 -7
- package/node_modules/@openclaw/fs-safe/dist/effective-uid.js +1 -4
- package/node_modules/@openclaw/fs-safe/dist/errors.d.ts +3 -1
- package/node_modules/@openclaw/fs-safe/dist/errors.js +3 -2
- package/node_modules/@openclaw/fs-safe/dist/file-identity.js +10 -2
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-acquisition.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-admission.js +5 -1
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-held.d.ts +4 -11
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-held.js +1 -4
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.d.ts +3 -6
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-io.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root-options.d.ts +2 -10
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync-root.d.ts +2 -4
- package/node_modules/@openclaw/fs-safe/dist/file-lock-sync.js +2 -2
- package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.d.ts +3 -7
- package/node_modules/@openclaw/fs-safe/dist/file-store-boundary.js +7 -10
- package/node_modules/@openclaw/fs-safe/dist/file-store-prune.js +7 -6
- package/node_modules/@openclaw/fs-safe/dist/file-store.d.ts +4 -7
- package/node_modules/@openclaw/fs-safe/dist/file-store.js +19 -21
- package/node_modules/@openclaw/fs-safe/dist/guest-native-python.js +23 -31
- package/node_modules/@openclaw/fs-safe/dist/guest.js +21 -12
- package/node_modules/@openclaw/fs-safe/dist/json-document-store.d.ts +4 -9
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue-ownership.d.ts +1 -5
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/json-durable-queue.js +2 -7
- package/node_modules/@openclaw/fs-safe/dist/local-file-access.js +2 -5
- package/node_modules/@openclaw/fs-safe/dist/local-file-descriptor.d.ts +2 -5
- package/node_modules/@openclaw/fs-safe/dist/local-roots.d.ts +2 -7
- package/node_modules/@openclaw/fs-safe/dist/move-path-cleanup.js +4 -4
- package/node_modules/@openclaw/fs-safe/dist/mutation-authority.js +5 -0
- package/node_modules/@openclaw/fs-safe/dist/native-binding.d.ts +51 -14
- package/node_modules/@openclaw/fs-safe/dist/native-pinned-write.js +8 -2
- package/node_modules/@openclaw/fs-safe/dist/native-staged-symlink.d.ts +13 -0
- package/node_modules/@openclaw/fs-safe/dist/native-staged-symlink.js +303 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch-worker.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch-worker.js +54 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl-batch.js +64 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/owner-dacl.js +3 -0
- package/node_modules/@openclaw/fs-safe/dist/path.js +17 -1
- package/node_modules/@openclaw/fs-safe/dist/permission-exec.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/permission-exec.js +3 -6
- package/node_modules/@openclaw/fs-safe/dist/permissions-public.d.ts +3 -1
- package/node_modules/@openclaw/fs-safe/dist/permissions-public.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/permissions-windows.d.ts +3 -6
- package/node_modules/@openclaw/fs-safe/dist/permissions.d.ts +3 -10
- package/node_modules/@openclaw/fs-safe/dist/permissions.js +0 -1
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-admission.js +4 -2
- package/node_modules/@openclaw/fs-safe/dist/pinned-mutation-shared-route.d.ts +2 -8
- package/node_modules/@openclaw/fs-safe/dist/pinned-open.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/pinned-open.js +2 -3
- package/node_modules/@openclaw/fs-safe/dist/publish-copy-stage.js +4 -0
- package/node_modules/@openclaw/fs-safe/dist/read-opened-file.d.ts +2 -5
- package/node_modules/@openclaw/fs-safe/dist/regular-file.js +3 -3
- package/node_modules/@openclaw/fs-safe/dist/replace-directory.js +5 -17
- package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-buffer.js +36 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.d.ts +4 -10
- package/node_modules/@openclaw/fs-safe/dist/replace-file-copy-fallback.js +66 -38
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.d.ts +7 -11
- package/node_modules/@openclaw/fs-safe/dist/replace-file-descriptor.js +10 -2
- package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.d.ts +21 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-destination.js +123 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-mutation.d.ts +26 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-mutation.js +47 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.d.ts +2 -2
- package/node_modules/@openclaw/fs-safe/dist/replace-file-temp-owner.js +16 -4
- package/node_modules/@openclaw/fs-safe/dist/replace-file-types.d.ts +55 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/replace-file.d.ts +3 -55
- package/node_modules/@openclaw/fs-safe/dist/replace-file.js +31 -11
- package/node_modules/@openclaw/fs-safe/dist/retained-directory-replacement.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-directory-replacement.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/retained-file-types.d.ts +50 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-file-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-file.d.ts +3 -0
- package/node_modules/@openclaw/fs-safe/dist/retained-file.js +121 -0
- package/node_modules/@openclaw/fs-safe/dist/root-context.js +3 -2
- package/node_modules/@openclaw/fs-safe/dist/root-directory-entry.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-entry.js +28 -0
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.d.ts +9 -1
- package/node_modules/@openclaw/fs-safe/dist/root-directory-list.js +88 -37
- package/node_modules/@openclaw/fs-safe/dist/root-file-final-admission.d.ts +1 -1
- package/node_modules/@openclaw/fs-safe/dist/root-file-final-admission.js +1 -6
- package/node_modules/@openclaw/fs-safe/dist/root-file.js +2 -5
- package/node_modules/@openclaw/fs-safe/dist/root-handle-context.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/root-handle-context.js +12 -0
- package/node_modules/@openclaw/fs-safe/dist/root-impl.d.ts +3 -3
- package/node_modules/@openclaw/fs-safe/dist/root-impl.js +8 -5
- package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.d.ts +2 -7
- package/node_modules/@openclaw/fs-safe/dist/root-move-noreplace.js +3 -3
- package/node_modules/@openclaw/fs-safe/dist/root-observed-path.d.ts +0 -1
- package/node_modules/@openclaw/fs-safe/dist/root-observed-path.js +0 -3
- package/node_modules/@openclaw/fs-safe/dist/root-path-observation.d.ts +4 -11
- package/node_modules/@openclaw/fs-safe/dist/root-path.js +7 -10
- package/node_modules/@openclaw/fs-safe/dist/root-paths.d.ts +2 -6
- package/node_modules/@openclaw/fs-safe/dist/root-remove-identity.d.ts +1 -3
- package/node_modules/@openclaw/fs-safe/dist/root-walk.d.ts +19 -12
- package/node_modules/@openclaw/fs-safe/dist/root-walk.js +56 -20
- package/node_modules/@openclaw/fs-safe/dist/root-write-admission.js +1 -6
- package/node_modules/@openclaw/fs-safe/dist/root-write-complete-parent.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/root-write-complete-parent.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.d.ts +1 -0
- package/node_modules/@openclaw/fs-safe/dist/safe-path-segment.js +8 -2
- package/node_modules/@openclaw/fs-safe/dist/secret-file.d.ts +6 -2
- package/node_modules/@openclaw/fs-safe/dist/secret-file.js +12 -16
- package/node_modules/@openclaw/fs-safe/dist/secret-read-policy.js +1 -1
- package/node_modules/@openclaw/fs-safe/dist/secure-file-windows.js +5 -14
- package/node_modules/@openclaw/fs-safe/dist/secure-file.js +3 -2
- package/node_modules/@openclaw/fs-safe/dist/secure-temp-dir.js +2 -7
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-acquire.js +4 -4
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-admission-parser.d.ts +1 -2
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-handle.d.ts +2 -8
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-policy.d.ts +2 -7
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.d.ts +2 -2
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-reclaim.js +11 -12
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock-stale-admission.d.ts +1 -5
- package/node_modules/@openclaw/fs-safe/dist/sidecar-lock.js +9 -7
- package/node_modules/@openclaw/fs-safe/dist/staged-symlink-types.d.ts +39 -0
- package/node_modules/@openclaw/fs-safe/dist/staged-symlink-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/stat-observation.js +3 -10
- package/node_modules/@openclaw/fs-safe/dist/strict-file-identity.d.ts +2 -0
- package/node_modules/@openclaw/fs-safe/dist/strict-file-identity.js +6 -6
- package/node_modules/@openclaw/fs-safe/dist/symlink-parents.js +58 -7
- package/node_modules/@openclaw/fs-safe/dist/temp-target.js +8 -10
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-admission.js +28 -33
- 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 +16 -17
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-descriptor.js +1 -2
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-owner.js +4 -9
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-ownership.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/temp-workspace-ownership.js +52 -0
- package/node_modules/@openclaw/fs-safe/dist/test-hooks.d.ts +5 -1
- package/node_modules/@openclaw/fs-safe/dist/text-atomic.d.ts +2 -1
- package/node_modules/@openclaw/fs-safe/dist/text-atomic.js +2 -0
- package/node_modules/@openclaw/fs-safe/dist/trash.js +27 -1
- package/node_modules/@openclaw/fs-safe/dist/walk.d.ts +2 -5
- package/node_modules/@openclaw/fs-safe/dist/watch-alias.d.ts +6 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-alias.js +88 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-hints.d.ts +9 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-hints.js +93 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-native.d.ts +36 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-native.js +73 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-scan.d.ts +28 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-scan.js +300 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-stream.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-stream.js +32 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-types.d.ts +60 -0
- package/node_modules/@openclaw/fs-safe/dist/watch-types.js +1 -0
- package/node_modules/@openclaw/fs-safe/dist/watch.d.ts +5 -0
- package/node_modules/@openclaw/fs-safe/dist/watch.js +530 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-owner.d.ts +3 -7
- package/node_modules/@openclaw/fs-safe/dist/windows-owner.js +0 -1
- package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.cs +6 -6
- package/node_modules/@openclaw/fs-safe/dist/windows-security-bridge.ps1 +78 -3
- package/node_modules/@openclaw/fs-safe/dist/windows-security-command.d.ts +8 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-command.js +66 -15
- package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.d.ts +4 -0
- package/node_modules/@openclaw/fs-safe/dist/windows-security-facts.js +6 -2
- package/node_modules/@openclaw/fs-safe/docs/advanced.md +4 -2
- package/node_modules/@openclaw/fs-safe/docs/archive.md +16 -0
- package/node_modules/@openclaw/fs-safe/docs/atomic.md +93 -3
- package/node_modules/@openclaw/fs-safe/docs/contributing.md +102 -4
- package/node_modules/@openclaw/fs-safe/docs/copy.md +2 -0
- package/node_modules/@openclaw/fs-safe/docs/durability.md +7 -0
- package/node_modules/@openclaw/fs-safe/docs/file-store.md +5 -0
- package/node_modules/@openclaw/fs-safe/docs/guest.md +7 -1
- package/node_modules/@openclaw/fs-safe/docs/index.md +1 -0
- package/node_modules/@openclaw/fs-safe/docs/install.md +30 -0
- package/node_modules/@openclaw/fs-safe/docs/native-helper.md +20 -4
- package/node_modules/@openclaw/fs-safe/docs/native.md +63 -1
- package/node_modules/@openclaw/fs-safe/docs/permissions.md +66 -0
- package/node_modules/@openclaw/fs-safe/docs/public-api.md +30 -3
- package/node_modules/@openclaw/fs-safe/docs/retained-file.md +115 -0
- package/node_modules/@openclaw/fs-safe/docs/root.md +35 -9
- package/node_modules/@openclaw/fs-safe/docs/secret-file.md +19 -0
- package/node_modules/@openclaw/fs-safe/docs/security-model.md +4 -1
- package/node_modules/@openclaw/fs-safe/docs/sidecar-lock.md +5 -1
- package/node_modules/@openclaw/fs-safe/docs/staged-symlink.md +124 -0
- package/node_modules/@openclaw/fs-safe/docs/store.md +3 -1
- package/node_modules/@openclaw/fs-safe/docs/temp.md +24 -4
- package/node_modules/@openclaw/fs-safe/docs/testing.md +210 -0
- package/node_modules/@openclaw/fs-safe/docs/types.md +6 -0
- package/node_modules/@openclaw/fs-safe/docs/walk.md +34 -1
- package/node_modules/@openclaw/fs-safe/docs/watch.md +251 -0
- package/node_modules/@openclaw/fs-safe/docs/writing.md +21 -0
- package/node_modules/@openclaw/fs-safe/package.json +13 -9
- 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/package.json +5 -5
- package/dist/.setup/api-B9-B1L7Q.mjs +0 -17
- package/dist/.setup/client-adapter-dvFa47YL.mjs +0 -63
- package/dist/.setup/rolldown-runtime-8H4AJuhK.mjs +0 -14
- package/dist/.setup/send.runtime-CLnCWvrM.mjs +0 -2
- package/dist/.setup/transport-detection-CoiRl7Gx.mjs +0 -576
- package/dist/.setup/transport-detection.runtime-Tlhuv3T_.mjs +0 -2
- package/dist/.setup/transport-probes.runtime-WprAyBbL.mjs +0 -2
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-owner.d.ts +0 -20
- package/node_modules/@openclaw/fs-safe/dist/directory-mode-owner.js +0 -78
package/assets/icon.png
CHANGED
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as normalizeSignalTransportHost, n as buildSignalSocketUrl, o as resolveSignalAccountEntry, r as buildSignalTransportHttpUrl, t as assertSignalSocketTransport } from "./transport-url-CAC0JcuI.mjs";
|
|
2
|
-
import { a as isSignalManagedNativeConnectionUrlForBind, i as assignSignalManagedNativePort, n as DEFAULT_SIGNAL_MANAGED_NATIVE_PORT, r as allocateSignalManagedNativePort, s as
|
|
2
|
+
import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, n as DEFAULT_SIGNAL_MANAGED_NATIVE_PORT, r as allocateSignalManagedNativePort, s as reserveSignalTransportPorts } from "./transport-policy-B6C_LogW.mjs";
|
|
3
3
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { DEFAULT_ACCOUNT_ID, createAccountListHelpers, normalizeAccountId, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
|
|
5
5
|
//#region extensions/signal/src/accounts.ts
|
|
@@ -61,23 +61,7 @@ function resolveSignalManagedNativePort(params) {
|
|
|
61
61
|
for (const accountId of listSignalAccountIds(params.cfg)) {
|
|
62
62
|
const accountConfig = resolveSignalAccountConfig(params.cfg, accountId);
|
|
63
63
|
if (!isSignalAccountConfigured(accountConfig) || !isSignalAccountEnabled(params.cfg, accountConfig)) continue;
|
|
64
|
-
|
|
65
|
-
if (transport?.kind === "external-native" || transport?.kind === "container") {
|
|
66
|
-
const localPort = resolveLocalSignalTransportPort(transport.url);
|
|
67
|
-
if (localPort !== void 0) reservedPorts.add(localPort);
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
if (transport?.kind === "managed-native") {
|
|
71
|
-
if (transport.socketPath !== void 0) continue;
|
|
72
|
-
if (transport.httpPort !== void 0) reservedPorts.add(transport.httpPort);
|
|
73
|
-
else implicitManagedAccountIds.push(accountId);
|
|
74
|
-
if (transport.url && !isSignalManagedNativeConnectionUrlForBind(transport)) {
|
|
75
|
-
const localConnectionPort = resolveLocalSignalTransportPort(transport.url);
|
|
76
|
-
if (localConnectionPort !== void 0) reservedPorts.add(localConnectionPort);
|
|
77
|
-
}
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
implicitManagedAccountIds.push(accountId);
|
|
64
|
+
if (reserveSignalTransportPorts(accountConfig.transport, reservedPorts)) implicitManagedAccountIds.push(accountId);
|
|
81
65
|
}
|
|
82
66
|
for (const accountId of implicitManagedAccountIds) {
|
|
83
67
|
const port = allocateSignalManagedNativePort({ reservedPorts });
|
|
@@ -112,25 +96,20 @@ function resolveSignalTransport(transport, managedNativePort = DEFAULT_SIGNAL_MA
|
|
|
112
96
|
}
|
|
113
97
|
function resolveSignalAccount(params) {
|
|
114
98
|
const accountId = normalizeAccountId(params.accountId ?? resolveDefaultSignalAccountId(params.cfg));
|
|
115
|
-
const baseEnabled = params.cfg.channels?.signal?.enabled !== false;
|
|
116
99
|
const merged = resolveSignalAccountConfig(params.cfg, accountId);
|
|
117
|
-
const accountEnabled = merged.enabled !== false;
|
|
118
|
-
const enabled = baseEnabled && accountEnabled;
|
|
119
100
|
const transport = resolveSignalTransport(merged.transport, resolveSignalManagedNativePort({
|
|
120
101
|
cfg: params.cfg,
|
|
121
102
|
accountId,
|
|
122
103
|
accountConfig: merged,
|
|
123
104
|
transport: merged.transport
|
|
124
105
|
}));
|
|
125
|
-
const baseUrl = transport.baseUrl;
|
|
126
|
-
const configured = isSignalAccountConfigured(merged);
|
|
127
106
|
return {
|
|
128
107
|
accountId,
|
|
129
|
-
enabled,
|
|
108
|
+
enabled: isSignalAccountEnabled(params.cfg, merged),
|
|
130
109
|
name: normalizeOptionalString(merged.name),
|
|
131
|
-
baseUrl,
|
|
110
|
+
baseUrl: transport.baseUrl,
|
|
132
111
|
transport,
|
|
133
|
-
configured,
|
|
112
|
+
configured: isSignalAccountConfigured(merged),
|
|
134
113
|
config: merged
|
|
135
114
|
};
|
|
136
115
|
}
|
|
@@ -148,15 +127,7 @@ function resolveSignalReplyToMode(params) {
|
|
|
148
127
|
const signalConfig = params.cfg.channels?.signal;
|
|
149
128
|
const accountConfig = resolveSignalAccountEntry(signalConfig?.accounts, accountId);
|
|
150
129
|
const chatType = params.chatType === "direct" || params.chatType === "group" ? params.chatType : void 0;
|
|
151
|
-
|
|
152
|
-
const accountScoped = normalizeSignalReplyToMode(accountConfig?.replyToModeByChatType?.[chatType]);
|
|
153
|
-
if (accountScoped) return accountScoped;
|
|
154
|
-
const accountDefault = normalizeSignalReplyToMode(accountConfig?.replyToMode);
|
|
155
|
-
if (accountDefault) return accountDefault;
|
|
156
|
-
const channelScoped = normalizeSignalReplyToMode(signalConfig?.replyToModeByChatType?.[chatType]);
|
|
157
|
-
if (channelScoped) return channelScoped;
|
|
158
|
-
}
|
|
159
|
-
return normalizeSignalReplyToMode(accountConfig?.replyToMode) ?? normalizeSignalReplyToMode(signalConfig?.replyToMode) ?? "all";
|
|
130
|
+
return normalizeSignalReplyToMode(chatType && accountConfig?.replyToModeByChatType?.[chatType]) ?? normalizeSignalReplyToMode(accountConfig?.replyToMode) ?? normalizeSignalReplyToMode(chatType && signalConfig?.replyToModeByChatType?.[chatType]) ?? normalizeSignalReplyToMode(signalConfig?.replyToMode) ?? "all";
|
|
160
131
|
}
|
|
161
132
|
//#endregion
|
|
162
133
|
export { resolveSignalAccountConfig as a, resolveSignalAccount as i, listSignalAccountIds as n, resolveSignalReplyToMode as o, resolveDefaultSignalAccountId as r, resolveSignalTransport as s, listEnabledSignalAccounts as t };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "./accounts-DMtj2E-4.mjs";
|
|
2
|
+
import "./normalize-l_b99hap.mjs";
|
|
3
|
+
import "./identity-B3JyPqGO.mjs";
|
|
4
|
+
import { l as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-DrUxv5cf.mjs";
|
|
5
|
+
import "./reaction-runtime-api-DDi5x2wC.mjs";
|
|
6
|
+
import "./install-signal-cli-ChvjzM6X.mjs";
|
|
7
|
+
import "./monitor-BfwQr78f.mjs";
|
|
8
|
+
import "./send-DEjrbpIC.mjs";
|
|
9
|
+
import "./probe-BYLzra6D.mjs";
|
|
10
|
+
//#region extensions/signal/src/channel.setup.ts
|
|
11
|
+
const signalSetupPlugin = { ...createSignalPluginBase({
|
|
12
|
+
setupWizard: signalSetupWizard,
|
|
13
|
+
setupContract: signalSetupContract
|
|
14
|
+
}) };
|
|
15
|
+
//#endregion
|
|
16
|
+
export { signalSetupPlugin as t };
|
|
@@ -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-DMtj2E-4.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-l_b99hap.mjs";
|
|
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-
|
|
4
|
-
import {
|
|
5
|
-
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-
|
|
6
|
-
import {
|
|
7
|
-
import { t as signalSetupPlugin } from "./api-
|
|
8
|
-
import { r as installSignalCli } from "./install-signal-cli-
|
|
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-
|
|
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-DrUxv5cf.mjs";
|
|
5
|
+
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-DDi5x2wC.mjs";
|
|
6
|
+
import { t as detectSignalTransport } from "./transport-detection-BVUDE42e.mjs";
|
|
7
|
+
import { t as signalSetupPlugin } from "./api-DEB0Obj8.mjs";
|
|
8
|
+
import { r as installSignalCli } from "./install-signal-cli-ChvjzM6X.mjs";
|
|
9
|
+
import { t as monitorSignalProvider } from "./monitor-BfwQr78f.mjs";
|
|
10
|
+
import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-DEjrbpIC.mjs";
|
|
11
|
+
import { t as probeSignal } from "./probe-BYLzra6D.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,15 +1,12 @@
|
|
|
1
|
-
import { i as resolveSignalAccount } from "./accounts-
|
|
1
|
+
import { i as resolveSignalAccount } from "./accounts-DMtj2E-4.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-l_b99hap.mjs";
|
|
3
|
-
import { l as looksLikeUuid } from "./identity-
|
|
3
|
+
import { l as looksLikeUuid } from "./identity-B3JyPqGO.mjs";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { createChannelApprovalAuth } from "openclaw/plugin-sdk/approval-auth-runtime";
|
|
6
6
|
import { normalizeE164 } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
7
7
|
//#region extensions/signal/src/aliases.ts
|
|
8
8
|
function normalizeAliasKey(raw) {
|
|
9
|
-
|
|
10
|
-
if (!trimmed) return;
|
|
11
|
-
const withoutSignal = /^signal:/i.test(trimmed) ? trimmed.slice(7).trim() : trimmed;
|
|
12
|
-
return normalizeLowercaseStringOrEmpty(withoutSignal) || void 0;
|
|
9
|
+
return normalizeLowercaseStringOrEmpty(raw.trim().replace(/^signal:/i, "")) || void 0;
|
|
13
10
|
}
|
|
14
11
|
function resolveAliasMap(params) {
|
|
15
12
|
const account = resolveSignalAccount({
|
|
@@ -58,19 +55,16 @@ function resolveSignalAliasTargetFromMap(params) {
|
|
|
58
55
|
throw new Error(`Signal alias "${initialAlias}" must point to an E.164 number, uuid:<id>, username:<name>, or group:<id>.`);
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
|
-
function resolveSignalAliasTarget(params) {
|
|
62
|
-
return resolveSignalAliasTargetFromMap({
|
|
63
|
-
aliases: resolveAliasMap(params),
|
|
64
|
-
input: params.input
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
58
|
function resolveSignalTarget(params) {
|
|
68
59
|
const rawTarget = resolveRawSignalTarget(params.input);
|
|
69
60
|
if (rawTarget) return {
|
|
70
61
|
...rawTarget,
|
|
71
62
|
source: "raw"
|
|
72
63
|
};
|
|
73
|
-
const aliasTarget =
|
|
64
|
+
const aliasTarget = resolveSignalAliasTargetFromMap({
|
|
65
|
+
aliases: resolveAliasMap(params),
|
|
66
|
+
input: params.input
|
|
67
|
+
});
|
|
74
68
|
if (aliasTarget) return {
|
|
75
69
|
...aliasTarget,
|
|
76
70
|
source: "alias"
|
package/dist/.setup/{approval-handler.runtime-C3vN5OWd.mjs → approval-handler.runtime-D9ofZcZW.mjs}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as resolveDefaultSignalAccountId } from "./accounts-
|
|
1
|
+
import { r as resolveDefaultSignalAccountId } from "./accounts-DMtj2E-4.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget } from "./normalize-l_b99hap.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-CszS7gwf.mjs";
|
|
4
|
+
import { a as registerSignalApprovalReactionTarget, c as resolveSignalApprovalTargetAuthorKeys, l as unregisterSignalApprovalReactionTarget, r as hasSignalApprovalReactionApprovers, s as resolveSignalApprovalConversationKey } from "./approval-reactions-BKkjIAoi.mjs";
|
|
5
|
+
import { r as sendTypingSignal, t as sendMessageSignal } from "./send-DEjrbpIC.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";
|
|
@@ -14,14 +14,11 @@ const log = createSubsystemLogger("signal/approvals");
|
|
|
14
14
|
function readSignalApprovalRuntimeContext(context) {
|
|
15
15
|
const value = context;
|
|
16
16
|
return {
|
|
17
|
-
baseUrl:
|
|
18
|
-
account:
|
|
19
|
-
accountUuid:
|
|
17
|
+
baseUrl: normalizeOptionalString(value?.baseUrl),
|
|
18
|
+
account: normalizeOptionalString(value?.account),
|
|
19
|
+
accountUuid: normalizeOptionalString(value?.accountUuid)
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
function buildPendingPayload(params) {
|
|
23
|
-
return buildApprovalReactionPendingContent(params);
|
|
24
|
-
}
|
|
25
22
|
const signalApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
26
23
|
eventKinds: [
|
|
27
24
|
"exec",
|
|
@@ -33,11 +30,7 @@ const signalApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
33
30
|
shouldHandle: ({ context }) => Boolean(context)
|
|
34
31
|
},
|
|
35
32
|
presentation: {
|
|
36
|
-
buildPendingPayload:
|
|
37
|
-
request,
|
|
38
|
-
nowMs,
|
|
39
|
-
view
|
|
40
|
-
}),
|
|
33
|
+
buildPendingPayload: buildApprovalReactionPendingContent,
|
|
41
34
|
buildResolvedResult: ({ request, resolved, view }) => ({
|
|
42
35
|
kind: "update",
|
|
43
36
|
payload: { text: buildChannelApprovalResolvedText({
|
|
@@ -159,20 +152,8 @@ const signalApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
159
152
|
ttlMs: Math.max(1, view.expiresAtMs - Date.now())
|
|
160
153
|
}) ? true : null;
|
|
161
154
|
},
|
|
162
|
-
unbindPending:
|
|
163
|
-
|
|
164
|
-
accountId: entry.accountId,
|
|
165
|
-
conversationKey: entry.conversationKey,
|
|
166
|
-
messageId: entry.messageId
|
|
167
|
-
});
|
|
168
|
-
},
|
|
169
|
-
cancelDelivered: async ({ entry }) => {
|
|
170
|
-
await unregisterSignalApprovalReactionTarget({
|
|
171
|
-
accountId: entry.accountId,
|
|
172
|
-
conversationKey: entry.conversationKey,
|
|
173
|
-
messageId: entry.messageId
|
|
174
|
-
});
|
|
175
|
-
}
|
|
155
|
+
unbindPending: ({ entry }) => unregisterSignalApprovalReactionTarget(entry),
|
|
156
|
+
cancelDelivered: ({ entry }) => unregisterSignalApprovalReactionTarget(entry)
|
|
176
157
|
},
|
|
177
158
|
observe: { onDeliveryError: ({ error, request }) => {
|
|
178
159
|
log.error(`signal approvals: failed to send request ${request.id}: ${String(error)}`);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { o as __exportAll } from "./doctor-contract-api-Db9V9gsY.mjs";
|
|
2
2
|
import { n as normalizeSignalMessagingTarget } from "./normalize-l_b99hap.mjs";
|
|
3
|
-
import { a as resolveSignalTarget, i as resolveSignalDeliveredConversationKey, n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-
|
|
4
|
-
import { l as looksLikeUuid } from "./identity-
|
|
5
|
-
import {
|
|
3
|
+
import { a as resolveSignalTarget, i as resolveSignalDeliveredConversationKey, n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-CszS7gwf.mjs";
|
|
4
|
+
import { l as looksLikeUuid } from "./identity-B3JyPqGO.mjs";
|
|
5
|
+
import { t as getOptionalSignalRuntime } from "./runtime-8sxUF217.mjs";
|
|
6
6
|
import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
|
|
7
7
|
import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
|
|
8
8
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -15,15 +15,6 @@ import { matchesApprovalRequestFilters } from "openclaw/plugin-sdk/approval-clie
|
|
|
15
15
|
function resolveApprovalForwardingConfig(params) {
|
|
16
16
|
return params.approvalKind === "plugin" ? params.cfg.approvals?.plugin : params.cfg.approvals?.exec;
|
|
17
17
|
}
|
|
18
|
-
function normalizeApprovalForwardingMode(mode) {
|
|
19
|
-
return mode ?? "session";
|
|
20
|
-
}
|
|
21
|
-
function approvalModeIncludesSession(mode) {
|
|
22
|
-
return mode === "session" || mode === "both";
|
|
23
|
-
}
|
|
24
|
-
function approvalModeIncludesTargets(mode) {
|
|
25
|
-
return mode === "targets" || mode === "both";
|
|
26
|
-
}
|
|
27
18
|
function matchesSignalApprovalReactionFilters(params) {
|
|
28
19
|
return matchesApprovalRequestFilters({
|
|
29
20
|
request: {
|
|
@@ -73,8 +64,8 @@ function isSignalApprovalReactionRouteStillEnabled(params) {
|
|
|
73
64
|
approvalKind: params.target.approvalKind
|
|
74
65
|
});
|
|
75
66
|
if (!config?.enabled) return false;
|
|
76
|
-
const mode =
|
|
77
|
-
if (params.target.route.deliveryMode === "target") return
|
|
67
|
+
const mode = config.mode ?? "session";
|
|
68
|
+
if (params.target.route.deliveryMode === "target") return (mode === "targets" || mode === "both") && matchesSignalApprovalReactionFilters({
|
|
78
69
|
config,
|
|
79
70
|
route: params.target.route
|
|
80
71
|
}) && hasMatchingSignalApprovalReactionTarget({
|
|
@@ -82,8 +73,7 @@ function isSignalApprovalReactionRouteStillEnabled(params) {
|
|
|
82
73
|
config,
|
|
83
74
|
route: params.target.route
|
|
84
75
|
});
|
|
85
|
-
|
|
86
|
-
return matchesSignalApprovalReactionFilters({
|
|
76
|
+
return (mode === "session" || mode === "both") && matchesSignalApprovalReactionFilters({
|
|
87
77
|
config,
|
|
88
78
|
route: params.target.route
|
|
89
79
|
});
|
|
@@ -169,14 +159,12 @@ function readPersistedTarget(target) {
|
|
|
169
159
|
if (!record || !value?.route || value.route.deliveryMode !== "session" && value.route.deliveryMode !== "target" || !Array.isArray(value.targetAuthorKeys)) return null;
|
|
170
160
|
const targetRouteTo = value.route.deliveryMode === "target" && typeof value.route.to === "string" ? normalizeSignalMessagingTarget(value.route.to) : null;
|
|
171
161
|
if (value.route.deliveryMode === "target" && !targetRouteTo) return null;
|
|
172
|
-
const route =
|
|
173
|
-
deliveryMode
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
} : {
|
|
179
|
-
deliveryMode: "session",
|
|
162
|
+
const route = {
|
|
163
|
+
...value.route.deliveryMode === "target" ? {
|
|
164
|
+
deliveryMode: "target",
|
|
165
|
+
to: targetRouteTo,
|
|
166
|
+
...typeof value.route.accountId === "string" ? { accountId: value.route.accountId } : {}
|
|
167
|
+
} : { deliveryMode: "session" },
|
|
180
168
|
...typeof value.route.agentId === "string" ? { agentId: value.route.agentId } : {},
|
|
181
169
|
...typeof value.route.sessionKey === "string" ? { sessionKey: value.route.sessionKey } : {}
|
|
182
170
|
};
|
|
@@ -194,18 +182,19 @@ async function registerSignalApprovalReactionTarget(params) {
|
|
|
194
182
|
const approvalId = params.approvalId.trim();
|
|
195
183
|
const targetAuthorKeys = Array.from(new Set(params.targetAuthorKeys.map((entry) => normalizeSignalApprovalTargetAuthorKey(entry)).filter((entry) => Boolean(entry))));
|
|
196
184
|
const allowedDecisions = listApprovalReactionBindings({ allowedDecisions: params.allowedDecisions }).map((binding) => binding.decision);
|
|
197
|
-
if (!params.routeAllowed || params.approvalKind !== "exec" && params.approvalKind !== "plugin" || !key || !approvalId || allowedDecisions.length === 0) return null;
|
|
185
|
+
if (!params.routeAllowed || params.approvalKind !== "exec" && params.approvalKind !== "plugin" && params.approvalKind !== "system-agent" || !key || !approvalId || allowedDecisions.length === 0) return null;
|
|
198
186
|
if (targetAuthorKeys.length === 0) return null;
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
...
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
...
|
|
187
|
+
const agentId = normalizeOptionalString(params.route.agentId);
|
|
188
|
+
const sessionKey = normalizeOptionalString(params.route.sessionKey);
|
|
189
|
+
const accountId = params.route.deliveryMode === "target" ? normalizeOptionalString(params.route.accountId) : void 0;
|
|
190
|
+
const route = {
|
|
191
|
+
...params.route.deliveryMode === "target" ? {
|
|
192
|
+
deliveryMode: "target",
|
|
193
|
+
to: params.route.to,
|
|
194
|
+
...accountId ? { accountId } : {}
|
|
195
|
+
} : { deliveryMode: "session" },
|
|
196
|
+
...agentId ? { agentId } : {},
|
|
197
|
+
...sessionKey ? { sessionKey } : {}
|
|
209
198
|
};
|
|
210
199
|
const target = {
|
|
211
200
|
approvalId,
|