@openclaw/signal 2026.7.2-beta.3 → 2026.7.2-beta.5
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/accounts-DrStJjiK.js +147 -0
- package/dist/api.js +10 -10
- package/dist/{approval-handler.runtime-p8gabljn.js → approval-handler.runtime-C-XYgcxE.js} +6 -6
- package/dist/{approval-reactions-DcpZRS5-.js → approval-reactions-DtL47gSK.js} +3 -3
- package/dist/{channel-ChLRPIuC.js → channel-CBIljGCH.js} +383 -52
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/channel.runtime-B8GXmuol.js +92 -0
- package/dist/{client-adapter-DZD8DCai.js → client-BazXTH7O.js} +109 -212
- package/dist/client-adapter-mXGeEHQJ.js +56 -0
- package/dist/config-schema-DLvpQPN5.js +221 -0
- package/dist/contract-api.js +1 -1
- package/dist/doctor-contract-api-DbUCknbC.js +492 -0
- package/dist/doctor-contract-api.js +1 -15
- package/dist/{install-signal-cli-l35FqIbP.js → install-signal-cli-qJF7iC4h.js} +30 -9
- package/dist/{monitor-D2nTNhM2.js → monitor-CHBkf7lk.js} +125 -256
- package/dist/probe-Br9abaGp.js +65 -0
- package/dist/{question-reactions-BFFJNQsu.js → question-reactions-Ds48FtEu.js} +2 -2
- package/dist/{reaction-runtime-api-tPkUVRoL.js → reaction-runtime-api-BjeDyKcz.js} +5 -7
- package/dist/reaction-runtime-api.js +1 -1
- package/dist/{rpc-context-DsHWh2hc.js → rpc-context-CZUoE0-A.js} +1 -1
- package/dist/{runtime-B900w6lc.js → runtime-JPrGlV7h.js} +1 -1
- package/dist/runtime-api.js +10 -9
- package/dist/{send-f6JLstd2.js → send-B_Ks4MZr.js} +33 -19
- package/dist/{send.runtime-B_UYsXWd.js → send.runtime-CbuXycZT.js} +1 -1
- package/dist/{reply-authors-DcNqGpX-.js → transport-detection-Da06-LOL.js} +123 -210
- package/dist/transport-detection.runtime-D_190UUL.js +2 -0
- package/dist/transport-policy-DxvSMHp9.js +99 -0
- package/dist/transport-probes.runtime-CV6Qs0Og.js +2 -0
- package/node_modules/ws/lib/receiver.js +15 -32
- package/node_modules/ws/lib/websocket-server.js +4 -4
- package/node_modules/ws/lib/websocket.js +4 -4
- package/node_modules/ws/package.json +5 -1
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +191 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +7 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +7 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +52 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1823 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +153 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +455 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +190 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
- package/node_modules/zod/src/v4/core/util.ts +983 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/el.ts +121 -0
- package/node_modules/zod/src/v4/locales/en.ts +123 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +132 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hr.ts +131 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +52 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ro.ts +129 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +117 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +41 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +7 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +16 -0
- package/node_modules/zod/v4/classic/external.d.ts +16 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +7 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
- package/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/node_modules/zod/v4/core/api.cjs +1227 -0
- package/node_modules/zod/v4/core/api.d.cts +325 -0
- package/node_modules/zod/v4/core/api.d.ts +325 -0
- package/node_modules/zod/v4/core/api.js +1087 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +85 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +78 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +216 -0
- package/node_modules/zod/v4/core/errors.d.cts +221 -0
- package/node_modules/zod/v4/core/errors.d.ts +221 -0
- package/node_modules/zod/v4/core/errors.js +185 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +7 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +172 -0
- package/node_modules/zod/v4/core/regexes.d.cts +85 -0
- package/node_modules/zod/v4/core/regexes.d.ts +85 -0
- package/node_modules/zod/v4/core/regexes.js +139 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2270 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
- package/node_modules/zod/v4/core/schemas.js +2239 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +448 -0
- package/node_modules/zod/v4/core/util.cjs +734 -0
- package/node_modules/zod/v4/core/util.d.cts +200 -0
- package/node_modules/zod/v4/core/util.d.ts +200 -0
- package/node_modules/zod/v4/core/util.js +674 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/el.cjs +136 -0
- package/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/node_modules/zod/v4/locales/el.js +109 -0
- package/node_modules/zod/v4/locales/en.cjs +140 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +113 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +152 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +125 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hr.cjs +149 -0
- package/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/node_modules/zod/v4/locales/hr.js +122 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +111 -0
- package/node_modules/zod/v4/locales/index.d.cts +52 -0
- package/node_modules/zod/v4/locales/index.d.ts +52 -0
- package/node_modules/zod/v4/locales/index.js +52 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +7 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ro.cjs +146 -0
- package/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/node_modules/zod/v4/locales/ro.js +119 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +137 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +110 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +13 -0
- package/node_modules/zod/v4/mini/external.d.ts +13 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +7 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
- package/node_modules/zod/v4/mini/schemas.js +961 -0
- package/node_modules/zod/v4/package.json +7 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +7 -0
- package/openclaw.plugin.json +518 -384
- package/package.json +70 -21
- package/dist/accounts-Bz4HtP0g.js +0 -59
- package/dist/channel.runtime-ts_U4_q4.js +0 -66
- package/dist/config-api-DIg1lInT.js +0 -3
- package/dist/config-schema-CfVNH0DB.js +0 -25
- package/dist/probe-sSH6ggyy.js +0 -48
- package/npm-shrinkwrap.json +0 -36
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
|
-
import {
|
|
2
|
+
import { i as resolveSignalAccount, o as resolveSignalReplyToMode } from "./accounts-DrStJjiK.js";
|
|
3
3
|
import { a as normalizeSignalAllowRecipient, c as resolveSignalSender, d as normalizeSignalMessagingTarget, i as isSignalSenderAllowed, l as looksLikeUuid, n as formatSignalSenderDisplay, o as resolveSignalPeerId, r as formatSignalSenderId, s as resolveSignalRecipient, t as formatSignalPairingIdLine } from "./identity-BQ4OzXXk.js";
|
|
4
|
-
import { t as getOptionalSignalRuntime } from "./runtime-
|
|
5
|
-
import {
|
|
6
|
-
import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-adapter-
|
|
7
|
-
import { n as sendReactionSignal
|
|
8
|
-
import { a as maybeResolveSignalApprovalReaction, l as resolveSignalApprovalConversationKey, s as registerSignalApprovalReactionTargetForDeliveredPayload, t as addSignalApprovalReactionHintToStructuredPayload } from "./approval-reactions-
|
|
9
|
-
import { r as registerSignalQuestionReactionTargetForDeliveredPayload, t as maybeResolveSignalQuestionReaction } from "./question-reactions-
|
|
10
|
-
import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-
|
|
11
|
-
import {
|
|
4
|
+
import { t as getOptionalSignalRuntime } from "./runtime-JPrGlV7h.js";
|
|
5
|
+
import { i as materializeSignalPresentationFallback, n as registerSignalReplyContext, o as resolveSignalReactionLevel, s as formatSignalMediaText, u as isSignalNativeApprovalHandlerConfigured } from "./transport-detection-Da06-LOL.js";
|
|
6
|
+
import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-adapter-mXGeEHQJ.js";
|
|
7
|
+
import { n as sendReactionSignal } from "./reaction-runtime-api-BjeDyKcz.js";
|
|
8
|
+
import { a as maybeResolveSignalApprovalReaction, l as resolveSignalApprovalConversationKey, s as registerSignalApprovalReactionTargetForDeliveredPayload, t as addSignalApprovalReactionHintToStructuredPayload } from "./approval-reactions-DtL47gSK.js";
|
|
9
|
+
import { r as registerSignalQuestionReactionTargetForDeliveredPayload, t as maybeResolveSignalQuestionReaction } from "./question-reactions-Ds48FtEu.js";
|
|
10
|
+
import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-B_Ks4MZr.js";
|
|
11
|
+
import { bindIngressLifecycleToReplyOptions, createChannelIngressMonitor, createChannelMessageReplyPipeline, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
|
|
12
12
|
import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
|
|
13
13
|
import { detectMime, estimateBase64DecodedBytes, kindFromMime, saveMediaBuffer } from "openclaw/plugin-sdk/media-runtime";
|
|
14
14
|
import { resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
|
|
15
15
|
import { normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
16
16
|
import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
|
|
17
17
|
import { normalizeE164, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
18
|
+
import { buildChannelInboundEventContext, buildMentionRegexes, createChannelInboundDebouncer, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundFromLabel, formatInboundMediaUnavailableText, hasVisibleInboundReplyDispatch, logInboundDrop, matchesMentionPatterns, resolveEnvelopeFormatOptions, resolveInboundMentionDecision, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, shouldDebounceTextInbound, toHistoryMediaEntries, toInboundMediaFacts } from "openclaw/plugin-sdk/channel-inbound";
|
|
18
19
|
import nodePath from "node:path";
|
|
19
|
-
import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
|
|
20
20
|
import { collectErrorGraphCandidates, formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
21
|
+
import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
|
|
21
22
|
import { resolveChannelGroupPolicy, resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
|
|
22
23
|
import { registerChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runtime-context";
|
|
23
24
|
import { DEFAULT_GROUP_HISTORY_LIMIT, createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
|
|
24
25
|
import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
25
26
|
import { chunkTextWithMode, createReplyReferencePlanner, resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-runtime";
|
|
26
27
|
import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot";
|
|
27
|
-
import { computeBackoff, createNonExitingRuntime, danger, logVerbose, shouldLogVerbose,
|
|
28
|
+
import { computeBackoff, createNonExitingRuntime, danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
|
|
28
29
|
import { resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
29
30
|
import { waitForTransportReady } from "openclaw/plugin-sdk/transport-ready-runtime";
|
|
30
31
|
import { spawn } from "node:child_process";
|
|
@@ -33,13 +34,12 @@ import { createInterface } from "node:readline";
|
|
|
33
34
|
import { setTimeout as setTimeout$1 } from "node:timers/promises";
|
|
34
35
|
import { resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
|
|
35
36
|
import { DEFAULT_EMOJIS, DEFAULT_TIMING, createStatusReactionController, logAckFailure, logTypingFailure, resolveAckReaction, shouldAckReaction } from "openclaw/plugin-sdk/channel-feedback";
|
|
36
|
-
import {
|
|
37
|
+
import { createChannelIngressResolver, defineStableChannelIngressIdentity, fanInChannelIngressLifecycles } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
37
38
|
import { isControlCommandMessage } from "openclaw/plugin-sdk/command-detection";
|
|
38
39
|
import { createInternalHookEvent, fireAndForgetHook, toInternalMessageReceivedContext, triggerInternalHook } from "openclaw/plugin-sdk/hook-runtime";
|
|
39
40
|
import { resolveBatchedReplyThreadingPolicy } from "openclaw/plugin-sdk/reply-reference";
|
|
40
41
|
import { readSessionUpdatedAt, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
|
|
41
42
|
import { enqueueSystemEvent } from "openclaw/plugin-sdk/system-event-runtime";
|
|
42
|
-
import { createChannelIngressResolver, defineStableChannelIngressIdentity } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
43
43
|
import { upsertChannelPairingRequest } from "openclaw/plugin-sdk/conversation-runtime";
|
|
44
44
|
import { listChatCommands, maybeResolveTextAlias, normalizeCommandBody } from "openclaw/plugin-sdk/command-auth-native";
|
|
45
45
|
import { isAbortRequestText } from "openclaw/plugin-sdk/command-primitives-runtime";
|
|
@@ -514,18 +514,6 @@ const RETRYABLE_FLUSH_RETRY_DELAYS_MS = [
|
|
|
514
514
|
function isSignalReplySessionInitConflictError(error) {
|
|
515
515
|
return collectErrorGraphCandidates(error, (current) => [current.cause, current.error]).some((candidate) => REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE.test(formatErrorMessage(candidate)));
|
|
516
516
|
}
|
|
517
|
-
function formatAttachmentKindCount(kind, count) {
|
|
518
|
-
if (kind === "attachment") return `${count} file${count > 1 ? "s" : ""}`;
|
|
519
|
-
return `${count} ${kind}${count > 1 ? "s" : ""}`;
|
|
520
|
-
}
|
|
521
|
-
function formatAttachmentSummaryPlaceholder(contentTypes) {
|
|
522
|
-
const kindCounts = /* @__PURE__ */ new Map();
|
|
523
|
-
for (const contentType of contentTypes) {
|
|
524
|
-
const kind = kindFromMime(contentType) ?? "attachment";
|
|
525
|
-
kindCounts.set(kind, (kindCounts.get(kind) ?? 0) + 1);
|
|
526
|
-
}
|
|
527
|
-
return `[${[...kindCounts.entries()].map(([kind, count]) => formatAttachmentKindCount(kind, count)).join(" + ")} attached]`;
|
|
528
|
-
}
|
|
529
517
|
function resolveSignalInboundRoute(params) {
|
|
530
518
|
return resolveAgentRoute({
|
|
531
519
|
cfg: params.cfg,
|
|
@@ -554,26 +542,12 @@ function resolveSignalStatusReactionEmojis(emojis) {
|
|
|
554
542
|
};
|
|
555
543
|
}
|
|
556
544
|
async function finalizeSignalStatusReaction(params) {
|
|
557
|
-
if (params.outcome === "done")
|
|
558
|
-
|
|
559
|
-
if (params.removeAckAfterReply) {
|
|
560
|
-
await sleep(params.timing.doneHoldMs);
|
|
561
|
-
await params.controller.clear();
|
|
562
|
-
} else await params.controller.restoreInitial();
|
|
563
|
-
return;
|
|
564
|
-
}
|
|
565
|
-
await params.controller.setError();
|
|
566
|
-
if (params.hasFinalResponse) {
|
|
567
|
-
if (params.removeAckAfterReply) {
|
|
568
|
-
await sleep(params.timing.errorHoldMs);
|
|
569
|
-
await params.controller.clear();
|
|
570
|
-
} else await params.controller.restoreInitial();
|
|
571
|
-
return;
|
|
572
|
-
}
|
|
573
|
-
if (params.removeAckAfterReply) await sleep(params.timing.errorHoldMs);
|
|
545
|
+
if (params.outcome === "done") await params.controller.setDone();
|
|
546
|
+
else await params.controller.setError();
|
|
574
547
|
await params.controller.restoreInitial();
|
|
575
548
|
}
|
|
576
549
|
function createSignalEventHandler(deps) {
|
|
550
|
+
const statusReactionTiming = deps.statusReactionTiming ?? DEFAULT_TIMING;
|
|
577
551
|
const activeEnqueueEntries = /* @__PURE__ */ new WeakSet();
|
|
578
552
|
async function handleSignalInboundMessage(entry) {
|
|
579
553
|
const fromLabel = formatInboundFromLabel({
|
|
@@ -620,7 +594,7 @@ function createSignalEventHandler(deps) {
|
|
|
620
594
|
channel: "Signal",
|
|
621
595
|
from: fromLabel,
|
|
622
596
|
timestamp: historyEntry.timestamp,
|
|
623
|
-
body: `${historyEntry.body}${historyEntry.messageId ? ` [id:${historyEntry.messageId}]` : ""}`,
|
|
597
|
+
body: `${[historyEntry.body, formatSignalMediaText(historyEntry.media ?? [])].filter(Boolean).join("\n")}${historyEntry.messageId ? ` [id:${historyEntry.messageId}]` : ""}`,
|
|
624
598
|
chatType: "group",
|
|
625
599
|
senderLabel: historyEntry.sender,
|
|
626
600
|
envelope: envelopeOptions
|
|
@@ -638,15 +612,7 @@ function createSignalEventHandler(deps) {
|
|
|
638
612
|
chatType: entry.isGroup ? "group" : "direct"
|
|
639
613
|
});
|
|
640
614
|
const replyThreading = resolveBatchedReplyThreadingPolicy(replyToMode, entry.isBatched === true);
|
|
641
|
-
const media = entry.
|
|
642
|
-
path,
|
|
643
|
-
url: path,
|
|
644
|
-
contentType: entry.mediaTypes?.[index]
|
|
645
|
-
})) : entry.mediaPath ? [{
|
|
646
|
-
path: entry.mediaPath,
|
|
647
|
-
url: entry.mediaPath,
|
|
648
|
-
contentType: entry.mediaType
|
|
649
|
-
}] : void 0;
|
|
615
|
+
const media = toInboundMediaFacts(entry.media);
|
|
650
616
|
const ctxPayload = buildChannelInboundEventContext({
|
|
651
617
|
channel: "signal",
|
|
652
618
|
supplemental: { quote: entry.replyToBody ? {
|
|
@@ -683,6 +649,7 @@ function createSignalEventHandler(deps) {
|
|
|
683
649
|
rawBody: entry.commandBody,
|
|
684
650
|
commandBody: entry.commandBody
|
|
685
651
|
},
|
|
652
|
+
sessionTranscript: { historyLimit: entry.isGroup ? deps.historyLimit : 0 },
|
|
686
653
|
access: {
|
|
687
654
|
...entry.isGroup ? { mentions: {
|
|
688
655
|
canDetectMention: true,
|
|
@@ -731,23 +698,14 @@ function createSignalEventHandler(deps) {
|
|
|
731
698
|
} : {}
|
|
732
699
|
};
|
|
733
700
|
const statusReactionRecipient = entry.isGroup ? "" : entry.senderRecipient;
|
|
734
|
-
let currentStatusReactionEmoji = ackReaction;
|
|
735
701
|
const statusReactionController = statusReactionsConfig?.enabled === true && signalReactionLevel.level !== "off" && shouldSendStatusReaction && statusReactionTimestamp ? createStatusReactionController({
|
|
736
702
|
enabled: true,
|
|
737
|
-
adapter: {
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
currentStatusReactionEmoji = emoji;
|
|
741
|
-
},
|
|
742
|
-
clearReaction: async () => {
|
|
743
|
-
if (!currentStatusReactionEmoji) return;
|
|
744
|
-
await removeReactionSignal(statusReactionRecipient, statusReactionTimestamp, currentStatusReactionEmoji, signalReactionOpts);
|
|
745
|
-
currentStatusReactionEmoji = "";
|
|
746
|
-
}
|
|
747
|
-
},
|
|
703
|
+
adapter: { setReaction: async (emoji) => {
|
|
704
|
+
await sendReactionSignal(statusReactionRecipient, statusReactionTimestamp, emoji, signalReactionOpts);
|
|
705
|
+
} },
|
|
748
706
|
initialEmoji: ackReaction,
|
|
749
|
-
emojis: resolveSignalStatusReactionEmojis(
|
|
750
|
-
timing:
|
|
707
|
+
emojis: resolveSignalStatusReactionEmojis(void 0),
|
|
708
|
+
timing: statusReactionTiming,
|
|
751
709
|
onError: (err) => {
|
|
752
710
|
logAckFailure({
|
|
753
711
|
log: logVerbose,
|
|
@@ -757,10 +715,6 @@ function createSignalEventHandler(deps) {
|
|
|
757
715
|
});
|
|
758
716
|
}
|
|
759
717
|
}) : null;
|
|
760
|
-
const statusReactionTiming = {
|
|
761
|
-
...DEFAULT_TIMING,
|
|
762
|
-
...statusReactionsConfig?.timing
|
|
763
|
-
};
|
|
764
718
|
if (statusReactionController) statusReactionController.setQueued();
|
|
765
719
|
const { onModelSelected, typingCallbacks, ...replyPipeline } = createChannelMessageReplyPipeline({
|
|
766
720
|
cfg: deps.cfg,
|
|
@@ -910,10 +864,7 @@ function createSignalEventHandler(deps) {
|
|
|
910
864
|
const hasDeliveryFailure = result.dispatched && hasSignalStatusReplyDeliveryFailure(result.dispatchResult);
|
|
911
865
|
finalizeSignalStatusReaction({
|
|
912
866
|
controller: statusReactionController,
|
|
913
|
-
outcome: hasFinalResponse && !hasDeliveryFailure ? "done" : "error"
|
|
914
|
-
hasFinalResponse,
|
|
915
|
-
removeAckAfterReply: deps.cfg.messages?.removeAckAfterReply ?? false,
|
|
916
|
-
timing: statusReactionTiming
|
|
867
|
+
outcome: hasFinalResponse && !hasDeliveryFailure ? "done" : "error"
|
|
917
868
|
}).catch((err) => {
|
|
918
869
|
logVerbose(`signal: status reaction finalize failed: ${String(err)}`);
|
|
919
870
|
});
|
|
@@ -921,45 +872,10 @@ function createSignalEventHandler(deps) {
|
|
|
921
872
|
}
|
|
922
873
|
});
|
|
923
874
|
}
|
|
924
|
-
function buildFlushIngressLifecycle(entries) {
|
|
925
|
-
const lifecycles = entries.map((entry) => entry.turnAdoptionLifecycle).filter((lifecycle) => lifecycle !== void 0);
|
|
926
|
-
const [firstLifecycle] = lifecycles;
|
|
927
|
-
if (!firstLifecycle) return {
|
|
928
|
-
lifecycle: void 0,
|
|
929
|
-
settle: async () => {}
|
|
930
|
-
};
|
|
931
|
-
let handedOff = false;
|
|
932
|
-
const adoptAll = async () => {
|
|
933
|
-
for (const lifecycle of lifecycles) await lifecycle.onAdopted();
|
|
934
|
-
};
|
|
935
|
-
return {
|
|
936
|
-
lifecycle: {
|
|
937
|
-
abortSignal: lifecycles.length === 1 ? firstLifecycle.abortSignal : AbortSignal.any(lifecycles.map((lifecycle) => lifecycle.abortSignal)),
|
|
938
|
-
onAdopted: async () => {
|
|
939
|
-
handedOff = true;
|
|
940
|
-
await adoptAll();
|
|
941
|
-
},
|
|
942
|
-
onDeferred: () => {
|
|
943
|
-
handedOff = true;
|
|
944
|
-
for (const lifecycle of lifecycles) lifecycle.onDeferred();
|
|
945
|
-
},
|
|
946
|
-
onAdoptionFinalizing: () => {
|
|
947
|
-
for (const lifecycle of lifecycles) lifecycle.onAdoptionFinalizing();
|
|
948
|
-
},
|
|
949
|
-
onAbandoned: async () => {
|
|
950
|
-
handedOff = true;
|
|
951
|
-
await Promise.all(lifecycles.map((lifecycle) => Promise.resolve(lifecycle.onAbandoned())));
|
|
952
|
-
}
|
|
953
|
-
},
|
|
954
|
-
settle: async () => {
|
|
955
|
-
if (!handedOff) await adoptAll();
|
|
956
|
-
}
|
|
957
|
-
};
|
|
958
|
-
}
|
|
959
875
|
async function flushSignalInboundEntries(entries) {
|
|
960
876
|
const last = entries.at(-1);
|
|
961
877
|
if (!last) return;
|
|
962
|
-
const { lifecycle, settle } =
|
|
878
|
+
const { lifecycle, settle } = fanInChannelIngressLifecycles(entries.map((entry) => entry.turnAdoptionLifecycle));
|
|
963
879
|
if (entries.length === 1) {
|
|
964
880
|
await handleSignalInboundMessage(lifecycle ? {
|
|
965
881
|
...last,
|
|
@@ -981,10 +897,7 @@ function createSignalEventHandler(deps) {
|
|
|
981
897
|
...lifecycle ? { turnAdoptionLifecycle: lifecycle } : {},
|
|
982
898
|
isBatched: true,
|
|
983
899
|
nativeReplyBody: last.nativeReplyBody ?? last.bodyText,
|
|
984
|
-
|
|
985
|
-
mediaType: void 0,
|
|
986
|
-
mediaPaths: void 0,
|
|
987
|
-
mediaTypes: void 0
|
|
900
|
+
media: entries.flatMap((entry) => entry.media ?? [])
|
|
988
901
|
});
|
|
989
902
|
await settle();
|
|
990
903
|
}
|
|
@@ -1041,7 +954,7 @@ function createSignalEventHandler(deps) {
|
|
|
1041
954
|
shouldDebounce: (entry) => shouldDebounceTextInbound({
|
|
1042
955
|
text: entry.commandBody,
|
|
1043
956
|
cfg: deps.cfg,
|
|
1044
|
-
hasMedia:
|
|
957
|
+
hasMedia: entry.media?.some((media) => Boolean(media.path || media.url)) === true
|
|
1045
958
|
}),
|
|
1046
959
|
onFlush: flushNormalSignalInboundEntries,
|
|
1047
960
|
onError: reportSignalInboundFlushError,
|
|
@@ -1282,23 +1195,23 @@ function createSignalEventHandler(deps) {
|
|
|
1282
1195
|
reason: "no mention",
|
|
1283
1196
|
target: senderDisplay
|
|
1284
1197
|
});
|
|
1285
|
-
const
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
const pendingBodyText = messageText || pendingPlaceholder || visibleQuoteText;
|
|
1198
|
+
const pendingMedia = (dataMessage.attachments ?? []).map((attachment) => {
|
|
1199
|
+
const contentType = attachment?.contentType ?? void 0;
|
|
1200
|
+
return {
|
|
1201
|
+
contentType,
|
|
1202
|
+
kind: kindFromMime(contentType) ?? "unknown"
|
|
1203
|
+
};
|
|
1204
|
+
});
|
|
1205
|
+
const pendingMediaText = formatSignalMediaText(pendingMedia);
|
|
1206
|
+
const pendingBodyText = messageText || pendingMediaText || visibleQuoteText;
|
|
1295
1207
|
const historyKey = groupId ?? "unknown";
|
|
1296
1208
|
createChannelHistoryWindow({ historyMap: deps.groupHistories }).record({
|
|
1297
1209
|
historyKey,
|
|
1298
1210
|
limit: deps.historyLimit,
|
|
1299
1211
|
entry: {
|
|
1300
1212
|
sender: envelope.sourceName ?? senderDisplay,
|
|
1301
|
-
body:
|
|
1213
|
+
body: messageText || visibleQuoteText,
|
|
1214
|
+
media: toHistoryMediaEntries(pendingMedia),
|
|
1302
1215
|
timestamp: envelope.timestamp ?? void 0,
|
|
1303
1216
|
messageId: typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0
|
|
1304
1217
|
}
|
|
@@ -1308,7 +1221,8 @@ function createSignalEventHandler(deps) {
|
|
|
1308
1221
|
to: signalTo,
|
|
1309
1222
|
replyToId,
|
|
1310
1223
|
author: senderRecipient,
|
|
1311
|
-
body:
|
|
1224
|
+
body: messageText || visibleQuoteText,
|
|
1225
|
+
media: pendingMedia,
|
|
1312
1226
|
sourceTimestamp: inboundTimestamp
|
|
1313
1227
|
});
|
|
1314
1228
|
const signalGroupPolicy = resolveChannelGroupPolicy({
|
|
@@ -1340,14 +1254,16 @@ function createSignalEventHandler(deps) {
|
|
|
1340
1254
|
}
|
|
1341
1255
|
return;
|
|
1342
1256
|
}
|
|
1343
|
-
let mediaPath;
|
|
1344
|
-
let mediaType;
|
|
1345
|
-
const mediaPaths = [];
|
|
1346
|
-
const mediaTypes = [];
|
|
1347
|
-
let placeholder = "";
|
|
1348
1257
|
const attachments = dataMessage.attachments ?? [];
|
|
1258
|
+
const mediaFacts = attachments.map((attachment) => {
|
|
1259
|
+
const contentType = attachment?.contentType ?? void 0;
|
|
1260
|
+
return {
|
|
1261
|
+
contentType,
|
|
1262
|
+
kind: kindFromMime(contentType) ?? "unknown"
|
|
1263
|
+
};
|
|
1264
|
+
});
|
|
1349
1265
|
let unavailableAttachmentCount = deps.ignoreAttachments ? attachments.length : 0;
|
|
1350
|
-
if (!deps.ignoreAttachments) for (const attachment of attachments) {
|
|
1266
|
+
if (!deps.ignoreAttachments) for (const [index, attachment] of attachments.entries()) {
|
|
1351
1267
|
if (!attachment?.id) {
|
|
1352
1268
|
unavailableAttachmentCount += 1;
|
|
1353
1269
|
continue;
|
|
@@ -1362,25 +1278,20 @@ function createSignalEventHandler(deps) {
|
|
|
1362
1278
|
maxBytes: deps.mediaMaxBytes
|
|
1363
1279
|
});
|
|
1364
1280
|
if (fetched) {
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1281
|
+
const contentType = fetched.contentType ?? attachment.contentType ?? "application/octet-stream";
|
|
1282
|
+
mediaFacts[index] = {
|
|
1283
|
+
path: fetched.path,
|
|
1284
|
+
url: fetched.path,
|
|
1285
|
+
contentType,
|
|
1286
|
+
kind: kindFromMime(contentType) ?? "unknown"
|
|
1287
|
+
};
|
|
1371
1288
|
} else unavailableAttachmentCount += 1;
|
|
1372
1289
|
} catch (err) {
|
|
1373
1290
|
unavailableAttachmentCount += 1;
|
|
1374
1291
|
deps.runtime.error?.(danger(`attachment fetch failed: ${String(err)}`));
|
|
1375
1292
|
}
|
|
1376
1293
|
}
|
|
1377
|
-
|
|
1378
|
-
else {
|
|
1379
|
-
const kind = kindFromMime(mediaType ?? void 0);
|
|
1380
|
-
if (kind) placeholder = `<media:${kind}>`;
|
|
1381
|
-
else if (mediaPaths.length > 0) placeholder = "<media:attachment>";
|
|
1382
|
-
}
|
|
1383
|
-
let bodyText = messageText || placeholder || visibleQuoteText || "";
|
|
1294
|
+
let bodyText = messageText;
|
|
1384
1295
|
if (unavailableAttachmentCount > 0) {
|
|
1385
1296
|
const attachmentLabel = unavailableAttachmentCount === 1 ? "attachment" : "attachments";
|
|
1386
1297
|
bodyText = formatInboundMediaUnavailableText({
|
|
@@ -1388,7 +1299,7 @@ function createSignalEventHandler(deps) {
|
|
|
1388
1299
|
notice: `[signal ${unavailableAttachmentCount > 1 ? `${unavailableAttachmentCount} ` : ""}${attachmentLabel} unavailable]`
|
|
1389
1300
|
});
|
|
1390
1301
|
}
|
|
1391
|
-
if (!bodyText) return;
|
|
1302
|
+
if (!bodyText && mediaFacts.length === 0 && !visibleQuoteText) return;
|
|
1392
1303
|
if (deps.sendReadReceipts && !deps.readReceiptsViaDaemon && !isGroup && inboundTimestamp) try {
|
|
1393
1304
|
await sendReadReceiptSignal(`signal:${senderRecipient}`, inboundTimestamp, {
|
|
1394
1305
|
cfg: deps.cfg,
|
|
@@ -1406,7 +1317,8 @@ function createSignalEventHandler(deps) {
|
|
|
1406
1317
|
to: signalTo,
|
|
1407
1318
|
replyToId,
|
|
1408
1319
|
author: senderRecipient,
|
|
1409
|
-
body:
|
|
1320
|
+
body: messageText,
|
|
1321
|
+
media: mediaFacts,
|
|
1410
1322
|
sourceTimestamp: inboundTimestamp
|
|
1411
1323
|
});
|
|
1412
1324
|
const entry = {
|
|
@@ -1418,14 +1330,12 @@ function createSignalEventHandler(deps) {
|
|
|
1418
1330
|
groupName,
|
|
1419
1331
|
isGroup,
|
|
1420
1332
|
bodyText,
|
|
1333
|
+
nativeReplyBody: [messageText, formatSignalMediaText(mediaFacts)].filter(Boolean).join("\n"),
|
|
1421
1334
|
commandBody: messageText,
|
|
1422
1335
|
timestamp: inboundTimestamp,
|
|
1423
1336
|
messageId,
|
|
1424
1337
|
replyToId,
|
|
1425
|
-
|
|
1426
|
-
mediaType,
|
|
1427
|
-
mediaPaths: mediaPaths.length > 0 ? mediaPaths : void 0,
|
|
1428
|
-
mediaTypes: mediaTypes.length > 0 ? mediaTypes : void 0,
|
|
1338
|
+
media: mediaFacts,
|
|
1429
1339
|
commandAuthorized,
|
|
1430
1340
|
canDetectMention,
|
|
1431
1341
|
requireMention,
|
|
@@ -1467,7 +1377,7 @@ var SignalIngressPermanentError = class extends Error {
|
|
|
1467
1377
|
this.name = "SignalIngressPermanentError";
|
|
1468
1378
|
}
|
|
1469
1379
|
};
|
|
1470
|
-
function isRecord(value) {
|
|
1380
|
+
function isRecord$1(value) {
|
|
1471
1381
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1472
1382
|
}
|
|
1473
1383
|
function normalizeRawString(value) {
|
|
@@ -1484,18 +1394,18 @@ function parseReceiveEnvelope(event) {
|
|
|
1484
1394
|
} catch (error) {
|
|
1485
1395
|
throw new SignalIngressPermanentError("parse-error", "Signal receive event contains invalid JSON", { cause: error });
|
|
1486
1396
|
}
|
|
1487
|
-
if (!isRecord(parsed)) throw new SignalIngressPermanentError("parse-error", "Signal receive event must contain a JSON object");
|
|
1488
|
-
return isRecord(parsed.envelope) ? parsed.envelope : null;
|
|
1397
|
+
if (!isRecord$1(parsed)) throw new SignalIngressPermanentError("parse-error", "Signal receive event must contain a JSON object");
|
|
1398
|
+
return isRecord$1(parsed.envelope) ? parsed.envelope : null;
|
|
1489
1399
|
}
|
|
1490
1400
|
function resolveDataMessage(envelope) {
|
|
1491
|
-
if (isRecord(envelope.dataMessage)) return envelope.dataMessage;
|
|
1492
|
-
return isRecord(envelope.editMessage?.dataMessage) ? envelope.editMessage.dataMessage : null;
|
|
1401
|
+
if (isRecord$1(envelope.dataMessage)) return envelope.dataMessage;
|
|
1402
|
+
return isRecord$1(envelope.editMessage?.dataMessage) ? envelope.editMessage.dataMessage : null;
|
|
1493
1403
|
}
|
|
1494
1404
|
function inspectSignalIngressEvent(event) {
|
|
1495
1405
|
const envelope = parseReceiveEnvelope(event);
|
|
1496
1406
|
if (!envelope || "syncMessage" in envelope) return null;
|
|
1497
1407
|
const dataMessage = resolveDataMessage(envelope);
|
|
1498
|
-
const reactionMessage = isRecord(envelope.reactionMessage) ? envelope.reactionMessage : null;
|
|
1408
|
+
const reactionMessage = isRecord$1(envelope.reactionMessage) ? envelope.reactionMessage : null;
|
|
1499
1409
|
if (!dataMessage && !reactionMessage) return null;
|
|
1500
1410
|
const senderUuid = normalizeRawString(envelope.sourceUuid);
|
|
1501
1411
|
const senderNumber = normalizeRawString(envelope.sourceNumber);
|
|
@@ -1503,57 +1413,20 @@ function inspectSignalIngressEvent(event) {
|
|
|
1503
1413
|
if (!senderKey) throw new SignalIngressPermanentError("missing-sender", "Signal dispatchable envelope is missing sourceUuid/sourceNumber");
|
|
1504
1414
|
const timestamp = normalizeTimestamp(envelope.timestamp) ?? normalizeTimestamp(dataMessage?.timestamp);
|
|
1505
1415
|
if (timestamp === null) throw new SignalIngressPermanentError("missing-timestamp", "Signal dispatchable envelope is missing a stable timestamp");
|
|
1506
|
-
const dataGroup = isRecord(dataMessage?.groupInfo) ? dataMessage.groupInfo : null;
|
|
1507
|
-
const reactionGroup = isRecord(reactionMessage?.groupInfo) ? reactionMessage.groupInfo : null;
|
|
1416
|
+
const dataGroup = isRecord$1(dataMessage?.groupInfo) ? dataMessage.groupInfo : null;
|
|
1417
|
+
const reactionGroup = isRecord$1(reactionMessage?.groupInfo) ? reactionMessage.groupInfo : null;
|
|
1508
1418
|
const groupId = normalizeRawString(dataGroup?.groupId) ?? normalizeRawString(reactionGroup?.groupId);
|
|
1509
1419
|
return {
|
|
1510
1420
|
eventId: JSON.stringify([senderKey, timestamp]),
|
|
1511
1421
|
laneKey: groupId ? `group:${groupId}` : `direct:${senderKey}`
|
|
1512
1422
|
};
|
|
1513
1423
|
}
|
|
1514
|
-
/** Durable receive chokepoint. Metadata comes from raw fields; payload stays byte-equivalent JSON. */
|
|
1515
|
-
async function enqueueSignalIngressEvent(params) {
|
|
1516
|
-
const facts = inspectSignalIngressEvent(params.event);
|
|
1517
|
-
if (!facts) return { kind: "ignored" };
|
|
1518
|
-
const receivedAt = params.now ?? Date.now();
|
|
1519
|
-
await params.queue.prune({
|
|
1520
|
-
completedTtlMs: SIGNAL_INGRESS_COMPLETED_TTL_MS,
|
|
1521
|
-
completedMaxEntries: SIGNAL_INGRESS_COMPLETED_MAX_ENTRIES,
|
|
1522
|
-
failedTtlMs: SIGNAL_INGRESS_FAILED_TTL_MS,
|
|
1523
|
-
failedMaxEntries: SIGNAL_INGRESS_FAILED_MAX_ENTRIES,
|
|
1524
|
-
...params.now === void 0 ? {} : { now: params.now }
|
|
1525
|
-
});
|
|
1526
|
-
return await params.queue.enqueue(facts.eventId, {
|
|
1527
|
-
version: 1,
|
|
1528
|
-
receivedAt,
|
|
1529
|
-
event: params.event
|
|
1530
|
-
}, {
|
|
1531
|
-
receivedAt,
|
|
1532
|
-
laneKey: facts.laneKey
|
|
1533
|
-
});
|
|
1534
|
-
}
|
|
1535
1424
|
function resolveSignalIngressNonRetryableFailure(error) {
|
|
1536
1425
|
return error instanceof SignalIngressPermanentError ? {
|
|
1537
1426
|
reason: error.reason,
|
|
1538
1427
|
message: error.message
|
|
1539
1428
|
} : null;
|
|
1540
1429
|
}
|
|
1541
|
-
function createSignalIngressDrain(params) {
|
|
1542
|
-
return createChannelIngressDrain({
|
|
1543
|
-
queue: params.queue,
|
|
1544
|
-
retryPolicy: {
|
|
1545
|
-
maxAttempts: DEFAULT_INGRESS_RETRY_MAX_ATTEMPTS,
|
|
1546
|
-
deadLetterMinAgeMs: DEFAULT_INGRESS_RETRY_DEAD_LETTER_MIN_AGE_MS
|
|
1547
|
-
},
|
|
1548
|
-
resolveNonRetryableFailure: resolveSignalIngressNonRetryableFailure,
|
|
1549
|
-
...params.abortSignal ? { abortSignal: params.abortSignal } : {},
|
|
1550
|
-
...params.onLog ? { onLog: params.onLog } : {},
|
|
1551
|
-
dispatchClaimedEvent: async (record, lifecycle) => {
|
|
1552
|
-
if (!inspectSignalIngressEvent(record.payload.event)) throw new SignalIngressPermanentError("unsupported-event", "Signal ingress row no longer contains a dispatchable envelope");
|
|
1553
|
-
return await params.dispatch(record.payload.event, lifecycle);
|
|
1554
|
-
}
|
|
1555
|
-
});
|
|
1556
|
-
}
|
|
1557
1430
|
/** Open the account queue, recover it, and keep newly appended rows draining. */
|
|
1558
1431
|
async function startSignalIngressMonitor(params) {
|
|
1559
1432
|
let queue = params.queue;
|
|
@@ -1562,51 +1435,50 @@ async function startSignalIngressMonitor(params) {
|
|
|
1562
1435
|
if (!pluginRuntime) throw new Error("Signal runtime not initialized for durable ingress");
|
|
1563
1436
|
queue = pluginRuntime.state.openChannelIngressQueue({ accountId: params.accountId });
|
|
1564
1437
|
}
|
|
1565
|
-
const
|
|
1438
|
+
const monitor = createChannelIngressMonitor({
|
|
1566
1439
|
queue,
|
|
1567
|
-
|
|
1568
|
-
|
|
1440
|
+
inspect: (event) => inspectSignalIngressEvent(event),
|
|
1441
|
+
payload: {
|
|
1442
|
+
version: 1,
|
|
1443
|
+
serialize: (event, { receivedAt }) => ({
|
|
1444
|
+
receivedAt,
|
|
1445
|
+
event
|
|
1446
|
+
}),
|
|
1447
|
+
deserialize: (body) => body.event,
|
|
1448
|
+
encode: ({ body }) => ({
|
|
1449
|
+
version: 1,
|
|
1450
|
+
...body
|
|
1451
|
+
}),
|
|
1452
|
+
decode: (payload) => ({
|
|
1453
|
+
version: payload.version,
|
|
1454
|
+
body: payload
|
|
1455
|
+
}),
|
|
1456
|
+
createClaimError: (_kind, claim) => new SignalIngressPermanentError("unsupported-event", `Signal ingress row ${claim.id} has an invalid payload`)
|
|
1457
|
+
},
|
|
1458
|
+
deliver: (event, lifecycle) => params.dispatch(event, lifecycle),
|
|
1459
|
+
pollIntervalMs: SIGNAL_INGRESS_DRAIN_INTERVAL_MS,
|
|
1460
|
+
retention: {
|
|
1461
|
+
pruneIntervalMs: 0,
|
|
1462
|
+
completedTtlMs: SIGNAL_INGRESS_COMPLETED_TTL_MS,
|
|
1463
|
+
completedMaxEntries: SIGNAL_INGRESS_COMPLETED_MAX_ENTRIES,
|
|
1464
|
+
failedTtlMs: SIGNAL_INGRESS_FAILED_TTL_MS,
|
|
1465
|
+
failedMaxEntries: SIGNAL_INGRESS_FAILED_MAX_ENTRIES
|
|
1466
|
+
},
|
|
1467
|
+
appendRetryDelaysMs: [0],
|
|
1468
|
+
drain: {
|
|
1469
|
+
resolveNonRetryableFailure: resolveSignalIngressNonRetryableFailure,
|
|
1470
|
+
onLog: (message) => params.runtime.log?.(`signal ${message}`)
|
|
1471
|
+
},
|
|
1472
|
+
onError: (error) => params.runtime.error?.(`signal ingress drain failed: ${String(error)}`)
|
|
1569
1473
|
});
|
|
1570
|
-
|
|
1571
|
-
let drainRequested = false;
|
|
1572
|
-
const requestDrain = () => {
|
|
1573
|
-
drainRequested = true;
|
|
1574
|
-
if (!drainPass) drainPass = (async () => {
|
|
1575
|
-
while (drainRequested) {
|
|
1576
|
-
drainRequested = false;
|
|
1577
|
-
if ((await drain.drainOnce()).started > 0) params.runTrackedTask(async () => {
|
|
1578
|
-
await drain.waitForIdle();
|
|
1579
|
-
await requestDrain();
|
|
1580
|
-
});
|
|
1581
|
-
}
|
|
1582
|
-
})().finally(() => {
|
|
1583
|
-
drainPass = void 0;
|
|
1584
|
-
if (drainRequested) requestDrain().catch((error) => {
|
|
1585
|
-
params.runtime.error?.(`signal ingress drain failed: ${String(error)}`);
|
|
1586
|
-
});
|
|
1587
|
-
});
|
|
1588
|
-
return drainPass;
|
|
1589
|
-
};
|
|
1590
|
-
await requestDrain();
|
|
1591
|
-
const timer = setInterval(() => {
|
|
1592
|
-
requestDrain().catch((error) => {
|
|
1593
|
-
params.runtime.error?.(`signal ingress drain failed: ${String(error)}`);
|
|
1594
|
-
});
|
|
1595
|
-
}, SIGNAL_INGRESS_DRAIN_INTERVAL_MS);
|
|
1596
|
-
timer.unref?.();
|
|
1474
|
+
monitor.start();
|
|
1597
1475
|
return {
|
|
1598
1476
|
receive: async (event) => {
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
event
|
|
1602
|
-
})).kind !== "ignored") await requestDrain();
|
|
1477
|
+
await monitor.admit(event);
|
|
1478
|
+
await monitor.waitForPumpIdle();
|
|
1603
1479
|
},
|
|
1604
|
-
stop:
|
|
1605
|
-
|
|
1606
|
-
await drainPass?.catch(() => void 0);
|
|
1607
|
-
await drain.waitForIdle();
|
|
1608
|
-
drain.dispose();
|
|
1609
|
-
}
|
|
1480
|
+
stop: monitor.stop,
|
|
1481
|
+
waitForIdle: monitor.waitForIdle
|
|
1610
1482
|
};
|
|
1611
1483
|
}
|
|
1612
1484
|
//#endregion
|
|
@@ -1617,7 +1489,7 @@ const DEFAULT_RECONNECT_POLICY = {
|
|
|
1617
1489
|
factor: 2,
|
|
1618
1490
|
jitter: .2
|
|
1619
1491
|
};
|
|
1620
|
-
async function runSignalSseLoop({ baseUrl, account, abortSignal, runtime, onEvent, timeoutMs,
|
|
1492
|
+
async function runSignalSseLoop({ baseUrl, account, abortSignal, runtime, onEvent, timeoutMs, transportKind, policy }) {
|
|
1621
1493
|
const reconnectPolicy = {
|
|
1622
1494
|
...DEFAULT_RECONNECT_POLICY,
|
|
1623
1495
|
...policy
|
|
@@ -1635,7 +1507,7 @@ async function runSignalSseLoop({ baseUrl, account, abortSignal, runtime, onEven
|
|
|
1635
1507
|
account,
|
|
1636
1508
|
abortSignal,
|
|
1637
1509
|
timeoutMs,
|
|
1638
|
-
|
|
1510
|
+
transportKind,
|
|
1639
1511
|
onEvent: async (event) => {
|
|
1640
1512
|
reconnectAttempts = 0;
|
|
1641
1513
|
await onEvent(event);
|
|
@@ -1804,7 +1676,7 @@ async function fetchAttachment(params) {
|
|
|
1804
1676
|
const result = await signalRpcRequest("getAttachment", rpcParams, {
|
|
1805
1677
|
baseUrl: params.baseUrl,
|
|
1806
1678
|
maxResponseBytes: deriveSignalAttachmentRpcMaxResponseBytes(params.maxBytes),
|
|
1807
|
-
|
|
1679
|
+
transportKind: params.transportKind
|
|
1808
1680
|
});
|
|
1809
1681
|
if (!result?.data) return null;
|
|
1810
1682
|
if (estimateBase64DecodedBytes(result.data) > params.maxBytes) throw new Error(`Signal attachment ${attachment.id} exceeds ${(params.maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
|
|
@@ -1966,32 +1838,32 @@ async function monitorSignalProvider(opts = {}) {
|
|
|
1966
1838
|
const reactionMode = accountInfo.config.reactionNotifications ?? "own";
|
|
1967
1839
|
const reactionAllowlist = normalizeStringEntries(accountInfo.config.reactionAllowlist);
|
|
1968
1840
|
const mediaMaxBytes = (opts.mediaMaxMb ?? accountInfo.config.mediaMaxMb ?? 8) * 1024 * 1024;
|
|
1841
|
+
const transportKind = accountInfo.transport.kind;
|
|
1842
|
+
const managedTransport = accountInfo.transport.kind === "managed-native" ? accountInfo.transport : void 0;
|
|
1969
1843
|
const ignoreAttachments = opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments ?? false;
|
|
1970
1844
|
const sendReadReceipts = Boolean(opts.sendReadReceipts ?? accountInfo.config.sendReadReceipts);
|
|
1971
1845
|
const waitForTransportReadyFn = opts.waitForTransportReady ?? waitForTransportReady;
|
|
1972
|
-
const autoStart =
|
|
1973
|
-
const
|
|
1974
|
-
const startupTimeoutMs = Math.min(12e4, Math.max(1e3, opts.startupTimeoutMs ?? accountInfo.config.startupTimeoutMs ?? 3e4));
|
|
1846
|
+
const autoStart = Boolean(managedTransport) && (opts.autoStart ?? true);
|
|
1847
|
+
const startupTimeoutMs = Math.min(12e4, Math.max(1e3, opts.startupTimeoutMs ?? managedTransport?.startupTimeoutMs ?? 3e4));
|
|
1975
1848
|
const readReceiptsViaDaemon = autoStart && sendReadReceipts;
|
|
1976
1849
|
const daemonLifecycle = createSignalDaemonLifecycle({ abortSignal: opts.abortSignal });
|
|
1977
1850
|
const monitorTaskRunner = createSignalMonitorTaskRunner(runtime);
|
|
1978
1851
|
let daemonHandle = null;
|
|
1979
1852
|
let ingressMonitor;
|
|
1980
|
-
if (autoStart && configuredApiMode === "container") throw new Error("channels.signal.autoStart=true is incompatible with channels.signal.apiMode=container");
|
|
1981
1853
|
if (autoStart) {
|
|
1982
|
-
const cliPath = opts.cliPath ??
|
|
1983
|
-
const configPath = normalizeOptionalString(opts.configPath) ?? normalizeOptionalString(
|
|
1984
|
-
const httpHost = opts.httpHost ??
|
|
1985
|
-
const httpPort = opts.httpPort ??
|
|
1854
|
+
const cliPath = opts.cliPath ?? managedTransport?.cliPath ?? "signal-cli";
|
|
1855
|
+
const configPath = normalizeOptionalString(opts.configPath) ?? normalizeOptionalString(managedTransport?.configPath);
|
|
1856
|
+
const httpHost = opts.httpHost ?? managedTransport?.httpHost ?? "127.0.0.1";
|
|
1857
|
+
const httpPort = opts.httpPort ?? managedTransport?.httpPort ?? 8080;
|
|
1986
1858
|
daemonHandle = spawnSignalDaemon({
|
|
1987
1859
|
cliPath,
|
|
1988
1860
|
...configPath ? { configPath } : {},
|
|
1989
1861
|
account,
|
|
1990
1862
|
httpHost,
|
|
1991
1863
|
httpPort,
|
|
1992
|
-
receiveMode: opts.receiveMode ??
|
|
1864
|
+
receiveMode: opts.receiveMode ?? managedTransport?.receiveMode,
|
|
1993
1865
|
ignoreAttachments: opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments,
|
|
1994
|
-
ignoreStories: opts.ignoreStories ??
|
|
1866
|
+
ignoreStories: opts.ignoreStories ?? managedTransport?.ignoreStories,
|
|
1995
1867
|
sendReadReceipts,
|
|
1996
1868
|
runtime
|
|
1997
1869
|
});
|
|
@@ -2056,7 +1928,7 @@ async function monitorSignalProvider(opts = {}) {
|
|
|
2056
1928
|
readReceiptsViaDaemon,
|
|
2057
1929
|
fetchAttachment: (params) => fetchAttachment({
|
|
2058
1930
|
...params,
|
|
2059
|
-
|
|
1931
|
+
transportKind
|
|
2060
1932
|
}),
|
|
2061
1933
|
deliverReplies: (params) => deliverReplies({
|
|
2062
1934
|
...params,
|
|
@@ -2071,10 +1943,7 @@ async function monitorSignalProvider(opts = {}) {
|
|
|
2071
1943
|
ingressMonitor = await startSignalIngressMonitor({
|
|
2072
1944
|
accountId: accountInfo.accountId,
|
|
2073
1945
|
dispatch: handleEvent,
|
|
2074
|
-
runtime
|
|
2075
|
-
runTrackedTask: (task) => {
|
|
2076
|
-
monitorTaskRunner.runTask(task);
|
|
2077
|
-
}
|
|
1946
|
+
runtime
|
|
2078
1947
|
});
|
|
2079
1948
|
await runSignalSseLoop({
|
|
2080
1949
|
baseUrl,
|
|
@@ -2082,7 +1951,7 @@ async function monitorSignalProvider(opts = {}) {
|
|
|
2082
1951
|
abortSignal: daemonLifecycle.abortSignal,
|
|
2083
1952
|
runtime,
|
|
2084
1953
|
timeoutMs: 0,
|
|
2085
|
-
|
|
1954
|
+
transportKind,
|
|
2086
1955
|
policy: opts.reconnectPolicy,
|
|
2087
1956
|
onEvent: (event) => monitorTaskRunner.runTask(async () => await ingressMonitor?.receive(event))
|
|
2088
1957
|
});
|