@openclaw/imessage 2026.9.4 → 2026.9.6
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/activity.svg +40 -0
- package/assets/icon.png +0 -0
- package/dist/{accounts-CCirBEIm.js → .setup/accounts-CUxZrTcY.mjs} +3 -3
- package/dist/{actions.runtime-CzvR20qT.js → .setup/actions.runtime-D0zG_96v.mjs} +106 -176
- package/dist/.setup/api-RZv6yXul.mjs +14 -0
- package/dist/.setup/api-VLVcFh7r.mjs +10 -0
- package/dist/{approval-handler.runtime-B6JGnxQf.js → .setup/approval-handler.runtime-Bv5_XgNr.mjs} +28 -28
- package/dist/{approval-reactions-BM_AwHPq.js → .setup/approval-reactions-D6RFg6lU.mjs} +32 -32
- package/dist/{channel-BwKxE8Ge.js → .setup/channel-BLTaKdSK.mjs} +38 -17
- package/dist/{channel.runtime-BGwNkU9Z.js → .setup/channel.runtime---s2k4YN.mjs} +7 -5
- package/dist/{group-policy-Duro87b4.js → .setup/group-policy-Cjztkquv.mjs} +52 -76
- package/dist/{media-contract-pns3TSS5.js → .setup/media-contract-DKJK7rh3.mjs} +1 -1
- package/dist/.setup/message-tool-api-pvlcOJPG.mjs +148 -0
- package/dist/{monitor-xaD-9h0b.js → .setup/monitor-BJ3Ozi6I.mjs} +247 -213
- package/dist/{question-reactions-9tBYB1_F.js → .setup/question-reactions-lm8OxWbb.mjs} +2 -2
- package/dist/{remote-file-5n5LznCa.js → .setup/remote-file-Bye99O-C.mjs} +12 -9
- package/dist/{sanitize-outbound-C6UF2cvr.js → .setup/sanitize-outbound-sJPF2DVM.mjs} +83 -47
- package/dist/{send-CIHiLtcY.js → .setup/send-odAfTQ2J.mjs} +178 -175
- package/dist/{state-migrations-D-fyHVcb.js → .setup/state-migrations-DIDzI99d.mjs} +3 -3
- package/dist/{message-tool-api-CUoFESHj.js → .setup/targets-Cc9vthzI.mjs} +53 -155
- package/dist/api.js +9 -14
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +1 -1
- package/dist/doctor-contract-api.js +1 -1
- package/dist/media-contract-api.js +1 -1
- package/dist/message-tool-api.js +1 -1
- package/dist/runtime-api.js +7 -6
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/setup-entry.js +2 -1
- package/dist/src/chat-db.worker.js +40 -0
- package/node_modules/typebox/build/compile/validator.d.mts +1 -1
- package/node_modules/typebox/build/compile/validator.mjs +1 -1
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
- package/node_modules/typebox/build/format/iri.mjs +5 -1
- package/node_modules/typebox/build/guard/emit.mjs +2 -4
- package/node_modules/typebox/build/guard/guard.mjs +6 -18
- package/node_modules/typebox/build/guard/string.mjs +16 -24
- package/node_modules/typebox/build/schema/build.mjs +2 -2
- package/node_modules/typebox/build/schema/check.mjs +1 -1
- package/node_modules/typebox/build/schema/compile.d.mts +3 -2
- package/node_modules/typebox/build/schema/compile.mjs +8 -8
- package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
- package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
- package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
- package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
- package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
- package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
- package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
- package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
- package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
- package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
- package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
- package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
- package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
- package/node_modules/typebox/build/schema/errors.d.mts +2 -2
- package/node_modules/typebox/build/schema/errors.mjs +8 -14
- package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
- package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
- package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
- package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
- package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
- package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
- package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
- package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
- package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
- package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
- package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
- package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
- package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
- package/node_modules/typebox/build/schema/parse.d.mts +1 -0
- package/node_modules/typebox/build/schema/parse.mjs +10 -5
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
- package/node_modules/typebox/build/schema/schema.d.mts +2 -0
- package/node_modules/typebox/build/schema/schema.mjs +2 -0
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
- package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +59 -89
- package/node_modules/zod/README.md +29 -2
- package/node_modules/zod/compile.cjs +96 -0
- package/node_modules/zod/compile.d.cts +1 -0
- package/node_modules/zod/compile.d.ts +1 -0
- package/node_modules/zod/compile.js +52 -0
- package/node_modules/zod/index.cjs +21 -2
- package/node_modules/zod/index.d.cts +1 -2
- package/node_modules/zod/index.d.ts +1 -2
- package/node_modules/zod/index.js +5 -2
- package/node_modules/zod/locales/index.cjs +19 -0
- package/node_modules/zod/mini/index.cjs +19 -0
- package/node_modules/zod/package.json +20 -8
- package/node_modules/zod/src/compile.ts +56 -0
- package/node_modules/zod/src/index.ts +5 -2
- package/node_modules/zod/src/v3/ZodError.ts +22 -12
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
- package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
- package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
- package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
- package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
- package/node_modules/zod/src/v3/types.ts +5 -5
- package/node_modules/zod/src/v4/classic/checks.ts +1 -0
- package/node_modules/zod/src/v4/classic/compat.ts +26 -18
- package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/node_modules/zod/src/v4/classic/errors.ts +59 -44
- package/node_modules/zod/src/v4/classic/external.ts +14 -9
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +363 -78
- package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/node_modules/zod/src/v4/classic/index.ts +2 -2
- package/node_modules/zod/src/v4/classic/iso.ts +2 -72
- package/node_modules/zod/src/v4/classic/parse.ts +10 -4
- package/node_modules/zod/src/v4/classic/schemas.ts +640 -375
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +186 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +3 -3
- package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
- package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
- package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +261 -13
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +582 -10
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +67 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +85 -9
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +301 -12
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
- package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +79 -3
- package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +222 -6
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +44 -3
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1812 -204
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
- package/node_modules/zod/src/v4/core/api.ts +87 -35
- package/node_modules/zod/src/v4/core/checks.ts +119 -146
- package/node_modules/zod/src/v4/core/compile.ts +2313 -0
- package/node_modules/zod/src/v4/core/core.ts +99 -22
- package/node_modules/zod/src/v4/core/doc.ts +17 -9
- package/node_modules/zod/src/v4/core/errors.ts +113 -25
- package/node_modules/zod/src/v4/core/index.ts +3 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +8 -3
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +424 -156
- package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
- package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
- package/node_modules/zod/src/v4/core/parse.ts +164 -50
- package/node_modules/zod/src/v4/core/regexes.ts +42 -15
- package/node_modules/zod/src/v4/core/registries.ts +2 -2
- package/node_modules/zod/src/v4/core/schemas.ts +1000 -538
- package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
- package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
- package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
- package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
- package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
- package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
- package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +283 -48
- package/node_modules/zod/src/v4/core/util.ts +454 -157
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/node_modules/zod/src/v4/index.ts +3 -3
- package/node_modules/zod/src/v4/locales/ar.ts +5 -0
- package/node_modules/zod/src/v4/locales/az.ts +5 -0
- package/node_modules/zod/src/v4/locales/be.ts +12 -0
- package/node_modules/zod/src/v4/locales/bg.ts +5 -0
- package/node_modules/zod/src/v4/locales/bn.ts +123 -0
- package/node_modules/zod/src/v4/locales/ca.ts +5 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
- package/node_modules/zod/src/v4/locales/cs.ts +5 -0
- package/node_modules/zod/src/v4/locales/da.ts +7 -2
- package/node_modules/zod/src/v4/locales/de.ts +5 -0
- package/node_modules/zod/src/v4/locales/el.ts +3 -0
- package/node_modules/zod/src/v4/locales/en.ts +17 -4
- package/node_modules/zod/src/v4/locales/eo.ts +5 -0
- package/node_modules/zod/src/v4/locales/es.ts +4 -0
- package/node_modules/zod/src/v4/locales/fa.ts +5 -0
- package/node_modules/zod/src/v4/locales/fi.ts +5 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +5 -0
- package/node_modules/zod/src/v4/locales/fr.ts +21 -14
- package/node_modules/zod/src/v4/locales/gu.ts +123 -0
- package/node_modules/zod/src/v4/locales/he.ts +8 -1
- package/node_modules/zod/src/v4/locales/hi.ts +126 -0
- package/node_modules/zod/src/v4/locales/hr.ts +4 -0
- package/node_modules/zod/src/v4/locales/hu.ts +5 -0
- package/node_modules/zod/src/v4/locales/hy.ts +11 -0
- package/node_modules/zod/src/v4/locales/id.ts +5 -0
- package/node_modules/zod/src/v4/locales/index.ts +11 -0
- package/node_modules/zod/src/v4/locales/is.ts +5 -0
- package/node_modules/zod/src/v4/locales/it.ts +5 -0
- package/node_modules/zod/src/v4/locales/ja.ts +5 -0
- package/node_modules/zod/src/v4/locales/ka.ts +5 -0
- package/node_modules/zod/src/v4/locales/km.ts +5 -0
- package/node_modules/zod/src/v4/locales/kn.ts +126 -0
- package/node_modules/zod/src/v4/locales/ko.ts +5 -0
- package/node_modules/zod/src/v4/locales/lt.ts +4 -0
- package/node_modules/zod/src/v4/locales/mk.ts +5 -0
- package/node_modules/zod/src/v4/locales/ms.ts +5 -0
- package/node_modules/zod/src/v4/locales/ne.ts +128 -0
- package/node_modules/zod/src/v4/locales/nl.ts +5 -0
- package/node_modules/zod/src/v4/locales/nn.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +7 -2
- package/node_modules/zod/src/v4/locales/ota.ts +5 -0
- package/node_modules/zod/src/v4/locales/pl.ts +5 -0
- package/node_modules/zod/src/v4/locales/ps.ts +5 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
- package/node_modules/zod/src/v4/locales/pt.ts +101 -58
- package/node_modules/zod/src/v4/locales/ro.ts +3 -0
- package/node_modules/zod/src/v4/locales/ru.ts +12 -0
- package/node_modules/zod/src/v4/locales/sk.ts +123 -0
- package/node_modules/zod/src/v4/locales/sl.ts +5 -0
- package/node_modules/zod/src/v4/locales/sv.ts +7 -2
- package/node_modules/zod/src/v4/locales/ta.ts +5 -0
- package/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/node_modules/zod/src/v4/locales/th.ts +5 -0
- package/node_modules/zod/src/v4/locales/tk.ts +113 -0
- package/node_modules/zod/src/v4/locales/tr.ts +5 -0
- package/node_modules/zod/src/v4/locales/uk.ts +5 -0
- package/node_modules/zod/src/v4/locales/ur.ts +5 -0
- package/node_modules/zod/src/v4/locales/uz.ts +3 -0
- package/node_modules/zod/src/v4/locales/vi.ts +5 -0
- package/node_modules/zod/src/v4/locales/yo.ts +5 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +5 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +5 -0
- package/node_modules/zod/src/v4/mini/checks.ts +1 -0
- package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/node_modules/zod/src/v4/mini/external.ts +12 -1
- package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/node_modules/zod/src/v4/mini/parse.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +167 -63
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
- package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
- package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +158 -5
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +44 -0
- package/node_modules/zod/v3/ZodError.cjs +41 -12
- package/node_modules/zod/v3/ZodError.d.cts +1 -1
- package/node_modules/zod/v3/ZodError.d.ts +1 -1
- package/node_modules/zod/v3/ZodError.js +22 -12
- package/node_modules/zod/v3/errors.cjs +19 -0
- package/node_modules/zod/v3/external.cjs +19 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
- package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
- package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
- package/node_modules/zod/v3/helpers/util.cjs +19 -0
- package/node_modules/zod/v3/index.cjs +19 -0
- package/node_modules/zod/v3/standard-schema.cjs +19 -0
- package/node_modules/zod/v3/types.cjs +26 -5
- package/node_modules/zod/v3/types.js +7 -5
- package/node_modules/zod/v4/classic/checks.cjs +21 -1
- package/node_modules/zod/v4/classic/checks.d.cts +1 -1
- package/node_modules/zod/v4/classic/checks.d.ts +1 -1
- package/node_modules/zod/v4/classic/checks.js +1 -1
- package/node_modules/zod/v4/classic/coerce.cjs +19 -0
- package/node_modules/zod/v4/classic/compat.cjs +19 -0
- package/node_modules/zod/v4/classic/compat.d.cts +9 -11
- package/node_modules/zod/v4/classic/compat.d.ts +9 -11
- package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/node_modules/zod/v4/classic/errors.cjs +62 -34
- package/node_modules/zod/v4/classic/errors.d.cts +3 -4
- package/node_modules/zod/v4/classic/errors.d.ts +3 -4
- package/node_modules/zod/v4/classic/errors.js +43 -34
- package/node_modules/zod/v4/classic/external.cjs +51 -27
- package/node_modules/zod/v4/classic/external.d.cts +5 -2
- package/node_modules/zod/v4/classic/external.d.ts +5 -2
- package/node_modules/zod/v4/classic/external.js +5 -8
- package/node_modules/zod/v4/classic/from-json-schema.cjs +376 -75
- package/node_modules/zod/v4/classic/from-json-schema.js +357 -75
- package/node_modules/zod/v4/classic/in-out.cjs +82 -0
- package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/node_modules/zod/v4/classic/in-out.js +36 -0
- package/node_modules/zod/v4/classic/index.cjs +21 -2
- package/node_modules/zod/v4/classic/index.d.cts +1 -2
- package/node_modules/zod/v4/classic/index.d.ts +1 -2
- package/node_modules/zod/v4/classic/index.js +2 -2
- package/node_modules/zod/v4/classic/iso.cjs +30 -22
- package/node_modules/zod/v4/classic/iso.d.cts +2 -17
- package/node_modules/zod/v4/classic/iso.d.ts +2 -17
- package/node_modules/zod/v4/classic/iso.js +2 -17
- package/node_modules/zod/v4/classic/parse.cjs +23 -1
- package/node_modules/zod/v4/classic/parse.d.cts +17 -4
- package/node_modules/zod/v4/classic/parse.d.ts +17 -4
- package/node_modules/zod/v4/classic/parse.js +1 -0
- package/node_modules/zod/v4/classic/schemas.cjs +591 -426
- package/node_modules/zod/v4/classic/schemas.d.cts +68 -19
- package/node_modules/zod/v4/classic/schemas.d.ts +68 -19
- package/node_modules/zod/v4/classic/schemas.js +564 -424
- package/node_modules/zod/v4/core/api.cjs +66 -24
- package/node_modules/zod/v4/core/api.d.cts +22 -12
- package/node_modules/zod/v4/core/api.d.ts +22 -12
- package/node_modules/zod/v4/core/api.js +44 -24
- package/node_modules/zod/v4/core/checks.cjs +88 -128
- package/node_modules/zod/v4/core/checks.d.cts +29 -13
- package/node_modules/zod/v4/core/checks.d.ts +29 -13
- package/node_modules/zod/v4/core/checks.js +68 -127
- package/node_modules/zod/v4/core/compile.cjs +1908 -0
- package/node_modules/zod/v4/core/compile.d.cts +65 -0
- package/node_modules/zod/v4/core/compile.d.ts +65 -0
- package/node_modules/zod/v4/core/compile.js +1858 -0
- package/node_modules/zod/v4/core/core.cjs +101 -19
- package/node_modules/zod/v4/core/core.d.cts +16 -4
- package/node_modules/zod/v4/core/core.d.ts +16 -4
- package/node_modules/zod/v4/core/core.js +83 -20
- package/node_modules/zod/v4/core/doc.cjs +31 -9
- package/node_modules/zod/v4/core/doc.d.cts +3 -1
- package/node_modules/zod/v4/core/doc.d.ts +3 -1
- package/node_modules/zod/v4/core/doc.js +12 -9
- package/node_modules/zod/v4/core/errors.cjs +126 -25
- package/node_modules/zod/v4/core/errors.d.cts +4 -0
- package/node_modules/zod/v4/core/errors.d.ts +4 -0
- package/node_modules/zod/v4/core/errors.js +107 -25
- package/node_modules/zod/v4/core/index.cjs +24 -1
- package/node_modules/zod/v4/core/index.d.cts +3 -0
- package/node_modules/zod/v4/core/index.d.ts +3 -0
- package/node_modules/zod/v4/core/index.js +3 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +24 -1
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.js +6 -2
- package/node_modules/zod/v4/core/json-schema-processors.cjs +441 -156
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +400 -158
- package/node_modules/zod/v4/core/json-schema.cjs +19 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
- package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
- package/node_modules/zod/v4/core/memoizer.cjs +360 -0
- package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/node_modules/zod/v4/core/memoizer.js +311 -0
- package/node_modules/zod/v4/core/parse.cjs +148 -46
- package/node_modules/zod/v4/core/parse.d.cts +14 -11
- package/node_modules/zod/v4/core/parse.d.ts +14 -11
- package/node_modules/zod/v4/core/parse.js +127 -45
- package/node_modules/zod/v4/core/regexes.cjs +54 -17
- package/node_modules/zod/v4/core/regexes.d.cts +5 -0
- package/node_modules/zod/v4/core/regexes.d.ts +5 -0
- package/node_modules/zod/v4/core/regexes.js +32 -15
- package/node_modules/zod/v4/core/registries.cjs +19 -0
- package/node_modules/zod/v4/core/registries.js +2 -2
- package/node_modules/zod/v4/core/schemas.cjs +785 -386
- package/node_modules/zod/v4/core/schemas.d.cts +123 -34
- package/node_modules/zod/v4/core/schemas.d.ts +123 -34
- package/node_modules/zod/v4/core/schemas.js +753 -386
- package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +269 -45
- package/node_modules/zod/v4/core/to-json-schema.d.cts +45 -5
- package/node_modules/zod/v4/core/to-json-schema.d.ts +45 -5
- package/node_modules/zod/v4/core/to-json-schema.js +247 -44
- package/node_modules/zod/v4/core/util.cjs +372 -157
- package/node_modules/zod/v4/core/util.d.cts +79 -1
- package/node_modules/zod/v4/core/util.d.ts +79 -1
- package/node_modules/zod/v4/core/util.js +341 -156
- package/node_modules/zod/v4/core/versions.cjs +21 -2
- package/node_modules/zod/v4/core/versions.d.cts +1 -1
- package/node_modules/zod/v4/core/versions.d.ts +1 -1
- package/node_modules/zod/v4/core/versions.js +2 -2
- package/node_modules/zod/v4/core/visit.cjs +214 -0
- package/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/node_modules/zod/v4/core/visit.js +169 -0
- package/node_modules/zod/v4/index.cjs +34 -5
- package/node_modules/zod/v4/index.d.cts +2 -2
- package/node_modules/zod/v4/index.d.ts +2 -2
- package/node_modules/zod/v4/index.js +3 -2
- package/node_modules/zod/v4/locales/ar.cjs +5 -0
- package/node_modules/zod/v4/locales/ar.js +5 -0
- package/node_modules/zod/v4/locales/az.cjs +5 -0
- package/node_modules/zod/v4/locales/az.js +5 -0
- package/node_modules/zod/v4/locales/be.cjs +12 -0
- package/node_modules/zod/v4/locales/be.js +12 -0
- package/node_modules/zod/v4/locales/bg.cjs +5 -0
- package/node_modules/zod/v4/locales/bg.js +5 -0
- package/node_modules/zod/v4/locales/bn.cjs +140 -0
- package/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/node_modules/zod/v4/locales/bn.js +113 -0
- package/node_modules/zod/v4/locales/ca.cjs +5 -0
- package/node_modules/zod/v4/locales/ca.js +5 -0
- package/node_modules/zod/v4/locales/ckb.cjs +160 -0
- package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/node_modules/zod/v4/locales/ckb.js +133 -0
- package/node_modules/zod/v4/locales/cs.cjs +5 -0
- package/node_modules/zod/v4/locales/cs.js +5 -0
- package/node_modules/zod/v4/locales/da.cjs +7 -2
- package/node_modules/zod/v4/locales/da.js +7 -2
- package/node_modules/zod/v4/locales/de.cjs +5 -0
- package/node_modules/zod/v4/locales/de.js +5 -0
- package/node_modules/zod/v4/locales/el.cjs +3 -0
- package/node_modules/zod/v4/locales/el.js +3 -0
- package/node_modules/zod/v4/locales/en.cjs +16 -4
- package/node_modules/zod/v4/locales/en.js +16 -4
- package/node_modules/zod/v4/locales/eo.cjs +5 -0
- package/node_modules/zod/v4/locales/eo.js +5 -0
- package/node_modules/zod/v4/locales/es.cjs +4 -0
- package/node_modules/zod/v4/locales/es.js +4 -0
- package/node_modules/zod/v4/locales/fa.cjs +5 -0
- package/node_modules/zod/v4/locales/fa.js +5 -0
- package/node_modules/zod/v4/locales/fi.cjs +5 -0
- package/node_modules/zod/v4/locales/fi.js +5 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +5 -0
- package/node_modules/zod/v4/locales/fr-CA.js +5 -0
- package/node_modules/zod/v4/locales/fr.cjs +18 -14
- package/node_modules/zod/v4/locales/fr.js +18 -14
- package/node_modules/zod/v4/locales/gu.cjs +140 -0
- package/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/node_modules/zod/v4/locales/gu.js +113 -0
- package/node_modules/zod/v4/locales/he.cjs +7 -0
- package/node_modules/zod/v4/locales/he.js +7 -0
- package/node_modules/zod/v4/locales/hi.cjs +138 -0
- package/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/node_modules/zod/v4/locales/hi.js +111 -0
- package/node_modules/zod/v4/locales/hr.cjs +4 -0
- package/node_modules/zod/v4/locales/hr.js +4 -0
- package/node_modules/zod/v4/locales/hu.cjs +5 -0
- package/node_modules/zod/v4/locales/hu.js +5 -0
- package/node_modules/zod/v4/locales/hy.cjs +11 -0
- package/node_modules/zod/v4/locales/hy.js +11 -0
- package/node_modules/zod/v4/locales/id.cjs +5 -0
- package/node_modules/zod/v4/locales/id.js +5 -0
- package/node_modules/zod/v4/locales/index.cjs +43 -2
- package/node_modules/zod/v4/locales/index.d.cts +11 -0
- package/node_modules/zod/v4/locales/index.d.ts +11 -0
- package/node_modules/zod/v4/locales/index.js +11 -0
- package/node_modules/zod/v4/locales/is.cjs +5 -0
- package/node_modules/zod/v4/locales/is.js +5 -0
- package/node_modules/zod/v4/locales/it.cjs +5 -0
- package/node_modules/zod/v4/locales/it.js +5 -0
- package/node_modules/zod/v4/locales/ja.cjs +5 -0
- package/node_modules/zod/v4/locales/ja.js +5 -0
- package/node_modules/zod/v4/locales/ka.cjs +5 -0
- package/node_modules/zod/v4/locales/ka.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +5 -0
- package/node_modules/zod/v4/locales/km.js +5 -0
- package/node_modules/zod/v4/locales/kn.cjs +143 -0
- package/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/node_modules/zod/v4/locales/kn.js +116 -0
- package/node_modules/zod/v4/locales/ko.cjs +5 -0
- package/node_modules/zod/v4/locales/ko.js +5 -0
- package/node_modules/zod/v4/locales/lt.cjs +4 -0
- package/node_modules/zod/v4/locales/lt.js +4 -0
- package/node_modules/zod/v4/locales/mk.cjs +5 -0
- package/node_modules/zod/v4/locales/mk.js +5 -0
- package/node_modules/zod/v4/locales/ms.cjs +5 -0
- package/node_modules/zod/v4/locales/ms.js +5 -0
- package/node_modules/zod/v4/locales/ne.cjs +138 -0
- package/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/node_modules/zod/v4/locales/ne.js +111 -0
- package/node_modules/zod/v4/locales/nl.cjs +5 -0
- package/node_modules/zod/v4/locales/nl.js +5 -0
- package/node_modules/zod/v4/locales/nn.cjs +140 -0
- package/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/node_modules/zod/v4/locales/nn.js +113 -0
- package/node_modules/zod/v4/locales/no.cjs +7 -2
- package/node_modules/zod/v4/locales/no.js +7 -2
- package/node_modules/zod/v4/locales/ota.cjs +5 -0
- package/node_modules/zod/v4/locales/ota.js +5 -0
- package/node_modules/zod/v4/locales/pl.cjs +5 -0
- package/node_modules/zod/v4/locales/pl.js +5 -0
- package/node_modules/zod/v4/locales/ps.cjs +5 -0
- package/node_modules/zod/v4/locales/ps.js +5 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
- package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt-BR.js +143 -0
- package/node_modules/zod/v4/locales/pt.cjs +89 -55
- package/node_modules/zod/v4/locales/pt.js +89 -55
- package/node_modules/zod/v4/locales/ro.cjs +3 -0
- package/node_modules/zod/v4/locales/ro.js +3 -0
- package/node_modules/zod/v4/locales/ru.cjs +12 -0
- package/node_modules/zod/v4/locales/ru.js +12 -0
- package/node_modules/zod/v4/locales/sk.cjs +143 -0
- package/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/node_modules/zod/v4/locales/sk.js +116 -0
- package/node_modules/zod/v4/locales/sl.cjs +5 -0
- package/node_modules/zod/v4/locales/sl.js +5 -0
- package/node_modules/zod/v4/locales/sv.cjs +7 -2
- package/node_modules/zod/v4/locales/sv.js +7 -2
- package/node_modules/zod/v4/locales/ta.cjs +5 -0
- package/node_modules/zod/v4/locales/ta.js +5 -0
- package/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/node_modules/zod/v4/locales/tg.js +117 -0
- package/node_modules/zod/v4/locales/th.cjs +5 -0
- package/node_modules/zod/v4/locales/th.js +5 -0
- package/node_modules/zod/v4/locales/tk.cjs +134 -0
- package/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/node_modules/zod/v4/locales/tk.js +107 -0
- package/node_modules/zod/v4/locales/tr.cjs +5 -0
- package/node_modules/zod/v4/locales/tr.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +5 -0
- package/node_modules/zod/v4/locales/uk.js +5 -0
- package/node_modules/zod/v4/locales/ur.cjs +5 -0
- package/node_modules/zod/v4/locales/ur.js +5 -0
- package/node_modules/zod/v4/locales/uz.cjs +3 -0
- package/node_modules/zod/v4/locales/uz.js +3 -0
- package/node_modules/zod/v4/locales/vi.cjs +5 -0
- package/node_modules/zod/v4/locales/vi.js +5 -0
- package/node_modules/zod/v4/locales/yo.cjs +5 -0
- package/node_modules/zod/v4/locales/yo.js +5 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +5 -0
- package/node_modules/zod/v4/locales/zh-CN.js +5 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +5 -0
- package/node_modules/zod/v4/locales/zh-TW.js +5 -0
- package/node_modules/zod/v4/mini/checks.cjs +21 -1
- package/node_modules/zod/v4/mini/checks.d.cts +1 -1
- package/node_modules/zod/v4/mini/checks.d.ts +1 -1
- package/node_modules/zod/v4/mini/checks.js +1 -1
- package/node_modules/zod/v4/mini/coerce.cjs +19 -0
- package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/node_modules/zod/v4/mini/external.cjs +33 -1
- package/node_modules/zod/v4/mini/external.d.cts +5 -2
- package/node_modules/zod/v4/mini/external.d.ts +5 -2
- package/node_modules/zod/v4/mini/external.js +3 -1
- package/node_modules/zod/v4/mini/in-out.cjs +82 -0
- package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/node_modules/zod/v4/mini/in-out.js +36 -0
- package/node_modules/zod/v4/mini/index.cjs +19 -0
- package/node_modules/zod/v4/mini/iso.cjs +19 -0
- package/node_modules/zod/v4/mini/parse.cjs +22 -1
- package/node_modules/zod/v4/mini/parse.d.cts +1 -1
- package/node_modules/zod/v4/mini/parse.d.ts +1 -1
- package/node_modules/zod/v4/mini/parse.js +1 -1
- package/node_modules/zod/v4/mini/schemas.cjs +117 -53
- package/node_modules/zod/v4/mini/schemas.d.cts +49 -14
- package/node_modules/zod/v4/mini/schemas.d.ts +49 -14
- package/node_modules/zod/v4/mini/schemas.js +92 -51
- package/node_modules/zod/v4-mini/index.cjs +19 -0
- package/openclaw.plugin.json +12 -28
- package/package.json +12 -7
- package/node_modules/zod/src/v4/core/config.ts +0 -15
- /package/dist/{config-schema-CCbTcJEV.js → .setup/config-schema-CCbTcJEV.mjs} +0 -0
- /package/dist/{conversation-bindings-GDQ_Laxj.js → .setup/conversation-bindings-GDQ_Laxj.mjs} +0 -0
- /package/dist/{outbound-send-deps-B-QEsLSM.js → .setup/outbound-send-deps-B-QEsLSM.mjs} +0 -0
- /package/dist/{reaction-context-Br-vAJFp.js → .setup/reaction-context-Br-vAJFp.mjs} +0 -0
- /package/dist/{rolldown-runtime-D7D4PA-g.js → .setup/rolldown-runtime-D7D4PA-g.mjs} +0 -0
- /package/dist/{runtime-Cza4CY5T.js → .setup/runtime-Cza4CY5T.mjs} +0 -0
- /package/dist/{state-contract-DvahEY4X.js → .setup/state-contract-DvahEY4X.mjs} +0 -0
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { l as
|
|
3
|
-
import { a as IMessageRpcRequestError,
|
|
4
|
-
import {
|
|
5
|
-
import { n as getOptionalIMessageRuntime, t as getIMessageRuntime } from "./runtime-Cza4CY5T.
|
|
6
|
-
import { c as IMESSAGE_SENT_ECHOES_TTL_MS, d as resolveIMessageEchoMediaKey, p as resolveIMessageSentEchoEntryKey, s as IMESSAGE_SENT_ECHOES_NAMESPACE } from "./state-contract-DvahEY4X.
|
|
7
|
-
import { d as normalizeConversationKey, i as registerIMessageApprovalReactionTarget, l as enumerateApprovalTargetKeys, s as buildIMessageApprovalConversationKeyForInbound, u as enumerateConversationKeyForms } from "./approval-reactions-
|
|
8
|
-
import { n as normalizeIMessageGuid } from "./reaction-context-Br-vAJFp.
|
|
9
|
-
import { r as resolveAuthorizedIMessageReplyReference, t as withIMessageRemoteFile } from "./remote-file-
|
|
1
|
+
import { c as parseIMessageTarget, o as normalizeIMessageHandle, t as formatIMessageChatTarget } from "./targets-Cc9vthzI.mjs";
|
|
2
|
+
import { d as resolveIMessageChatDbLookupPath, l as resolveIMessageRemoteHost, n as hasExclusiveIMessageLocalDatabase, o as resolveIMessageAccount } from "./accounts-CUxZrTcY.mjs";
|
|
3
|
+
import { _ as chatContextFromIMessageTarget, a as IMessageRpcRequestError, b as resolveIMessageDirectChatService, f as rememberIMessageReplyCache, n as sanitizeIMessageFinalOutboundText, o as createIMessageRpcClient, s as runIMessageCliJsonCommand, t as protectIMessageFencedRoleMarkers } from "./sanitize-outbound-sJPF2DVM.mjs";
|
|
4
|
+
import { c as getIMessageApprovalApprovers, l as imessageApprovalAuth } from "./group-policy-Cjztkquv.mjs";
|
|
5
|
+
import { n as getOptionalIMessageRuntime, t as getIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
|
|
6
|
+
import { c as IMESSAGE_SENT_ECHOES_TTL_MS, d as resolveIMessageEchoMediaKey, p as resolveIMessageSentEchoEntryKey, s as IMESSAGE_SENT_ECHOES_NAMESPACE } from "./state-contract-DvahEY4X.mjs";
|
|
7
|
+
import { d as normalizeConversationKey, i as registerIMessageApprovalReactionTarget, l as enumerateApprovalTargetKeys, s as buildIMessageApprovalConversationKeyForInbound, u as enumerateConversationKeyForms } from "./approval-reactions-D6RFg6lU.mjs";
|
|
8
|
+
import { n as normalizeIMessageGuid } from "./reaction-context-Br-vAJFp.mjs";
|
|
9
|
+
import { r as resolveAuthorizedIMessageReplyReference, t as withIMessageRemoteFile } from "./remote-file-Bye99O-C.mjs";
|
|
10
|
+
import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
11
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
11
12
|
import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
|
|
12
13
|
import { accessSync, constants } from "node:fs";
|
|
13
14
|
import { basename } from "node:path";
|
|
14
|
-
import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
15
|
-
import { logVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
16
15
|
import { extractOriginalFilename, kindFromMime, resolveOutboundAttachmentFromUrl } from "openclaw/plugin-sdk/media-runtime";
|
|
16
|
+
import { logVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
17
17
|
import { asDateTimestampMs } from "openclaw/plugin-sdk/number-runtime";
|
|
18
|
+
import { resolveRuntimeWorkerUrl } from "openclaw/plugin-sdk/process-runtime";
|
|
18
19
|
import { PlatformMessageNotDispatchedError, isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
|
|
19
20
|
import { addApprovalReactionHintToText, createApprovalReactionTargetStore, listApprovalReactionBindings } from "openclaw/plugin-sdk/approval-reaction-runtime";
|
|
20
21
|
import { convertMarkdownTables, stripInlineDirectiveTagsForDelivery } from "openclaw/plugin-sdk/text-chunking";
|
|
21
22
|
import { createChannelPartialDeliveryError } from "openclaw/plugin-sdk/channel-inbound";
|
|
22
|
-
import { openNodeSqliteDatabase } from "openclaw/plugin-sdk/sqlite-runtime";
|
|
23
23
|
import { createPluginStateErrorReporter } from "openclaw/plugin-sdk/plugin-state-runtime";
|
|
24
|
+
import { openSqliteWorkerStore } from "openclaw/plugin-sdk/sqlite-runtime";
|
|
24
25
|
import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
|
|
25
26
|
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
26
27
|
import { resolvePreferredOpenClawTmpDir, withTempWorkspace } from "openclaw/plugin-sdk/temp-path";
|
|
@@ -176,7 +177,7 @@ function mapSentPollOptionsToDecisions(params) {
|
|
|
176
177
|
}
|
|
177
178
|
return seenDecisions.size === params.requested.length ? mapped : [];
|
|
178
179
|
}
|
|
179
|
-
function registerIMessageApprovalPollTarget(params) {
|
|
180
|
+
async function registerIMessageApprovalPollTarget(params) {
|
|
180
181
|
const accountId = params.accountId.trim();
|
|
181
182
|
const approvalId = params.approvalId.trim();
|
|
182
183
|
const expiresAtMs = asDateTimestampMs(params.expiresAtMs);
|
|
@@ -194,28 +195,23 @@ function registerIMessageApprovalPollTarget(params) {
|
|
|
194
195
|
approvalKind: params.approvalKind,
|
|
195
196
|
optionDecisions: params.optionDecisions
|
|
196
197
|
};
|
|
197
|
-
|
|
198
|
-
pollTargets.register(key, target, { ttlMs });
|
|
199
|
-
pollTombstones.register(key, { approvalId }, { ttlMs: TOMBSTONE_TTL_MS });
|
|
200
|
-
}
|
|
198
|
+
await Promise.all(keys.flatMap((key) => [pollTargets.register(key, target, { ttlMs }), pollTombstones.register(key, { approvalId }, { ttlMs: TOMBSTONE_TTL_MS })]));
|
|
201
199
|
return true;
|
|
202
200
|
}
|
|
203
|
-
function unregisterIMessageApprovalPollTarget(params) {
|
|
204
|
-
|
|
201
|
+
async function unregisterIMessageApprovalPollTarget(params) {
|
|
202
|
+
const keys = enumeratePollTargetKeys({
|
|
205
203
|
accountId: params.accountId,
|
|
206
204
|
conversation: params.conversation,
|
|
207
205
|
pollGuid: params.pollGuid,
|
|
208
206
|
optionIds: params.optionDecisions?.map(([optionId]) => optionId)
|
|
209
|
-
})
|
|
210
|
-
|
|
211
|
-
pollTombstones.register(key, { approvalId: params.approvalId ?? "" }, { ttlMs: TOMBSTONE_TTL_MS });
|
|
212
|
-
}
|
|
207
|
+
});
|
|
208
|
+
await Promise.all(keys.flatMap((key) => [pollTargets.delete(key), pollTombstones.register(key, { approvalId: params.approvalId ?? "" }, { ttlMs: TOMBSTONE_TTL_MS })]));
|
|
213
209
|
}
|
|
214
210
|
/**
|
|
215
211
|
* Consume votes for a poll that was created but could not be safely bound.
|
|
216
212
|
* Messages has no reliable retract primitive for this balloon.
|
|
217
213
|
*/
|
|
218
|
-
function registerIMessageApprovalPollTombstone(params) {
|
|
214
|
+
async function registerIMessageApprovalPollTombstone(params) {
|
|
219
215
|
const keys = enumeratePollTargetKeys({
|
|
220
216
|
accountId: params.accountId,
|
|
221
217
|
conversation: params.conversation,
|
|
@@ -223,7 +219,7 @@ function registerIMessageApprovalPollTombstone(params) {
|
|
|
223
219
|
optionIds: params.optionIds
|
|
224
220
|
});
|
|
225
221
|
if (keys.length === 0) return false;
|
|
226
|
-
|
|
222
|
+
await Promise.all(keys.map((key) => pollTombstones.register(key, { approvalId: params.approvalId }, { ttlMs: TOMBSTONE_TTL_MS })));
|
|
227
223
|
return true;
|
|
228
224
|
}
|
|
229
225
|
function enumeratePollTargetKeys(params) {
|
|
@@ -413,7 +409,7 @@ async function maybeResolveIMessageApprovalPollVote(params) {
|
|
|
413
409
|
gatewayUrl: params.gatewayUrl,
|
|
414
410
|
...params.gatewayRuntime ? { gatewayRuntime: params.gatewayRuntime } : {}
|
|
415
411
|
});
|
|
416
|
-
unregisterIMessageApprovalPollTarget({
|
|
412
|
+
await unregisterIMessageApprovalPollTarget({
|
|
417
413
|
...lookupKey,
|
|
418
414
|
optionDecisions: target.optionDecisions,
|
|
419
415
|
approvalId: target.approvalId
|
|
@@ -426,7 +422,7 @@ async function maybeResolveIMessageApprovalPollVote(params) {
|
|
|
426
422
|
return true;
|
|
427
423
|
} catch (error) {
|
|
428
424
|
if (isApprovalNotFoundError(error)) {
|
|
429
|
-
unregisterIMessageApprovalPollTarget({
|
|
425
|
+
await unregisterIMessageApprovalPollTarget({
|
|
430
426
|
...lookupKey,
|
|
431
427
|
optionDecisions: target.optionDecisions,
|
|
432
428
|
approvalId: target.approvalId
|
|
@@ -454,6 +450,61 @@ const iMessageApprovalPollTargets = {
|
|
|
454
450
|
clearForTest: clearIMessageApprovalPollTargetsForTest
|
|
455
451
|
};
|
|
456
452
|
//#endregion
|
|
453
|
+
//#region extensions/imessage/src/chat-db.ts
|
|
454
|
+
function openIMessageChatDbReader(databasePath) {
|
|
455
|
+
return openSqliteWorkerStore({
|
|
456
|
+
moduleUrl: resolveRuntimeWorkerUrl({
|
|
457
|
+
currentModuleUrl: import.meta.url,
|
|
458
|
+
sourceWorkerName: "chat-db.worker",
|
|
459
|
+
distWorkerPath: "extensions/imessage/src/chat-db.worker.js",
|
|
460
|
+
package: {
|
|
461
|
+
name: "@openclaw/imessage",
|
|
462
|
+
distWorkerPath: "src/chat-db.worker.js"
|
|
463
|
+
}
|
|
464
|
+
}),
|
|
465
|
+
databasePath,
|
|
466
|
+
existingOnly: true,
|
|
467
|
+
input: void 0
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
async function resolveIMessageStartupRowidWatermark(dbPath) {
|
|
471
|
+
let store;
|
|
472
|
+
try {
|
|
473
|
+
store = await openIMessageChatDbReader(dbPath);
|
|
474
|
+
if (!store) throw new Error("Messages database is unavailable");
|
|
475
|
+
return await store.execute({
|
|
476
|
+
type: "startupWatermark",
|
|
477
|
+
input: void 0
|
|
478
|
+
});
|
|
479
|
+
} catch (err) {
|
|
480
|
+
logVerbose(`imessage: startup rowid watermark unavailable for db=${dbPath}: ${String(err)}`);
|
|
481
|
+
return null;
|
|
482
|
+
} finally {
|
|
483
|
+
await store?.close();
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
async function withIMessageReceiptGuidReader(databasePath, use) {
|
|
487
|
+
let store;
|
|
488
|
+
let closed = false;
|
|
489
|
+
const read = async (command) => {
|
|
490
|
+
if (closed) throw new Error("iMessage receipt lookup is closed");
|
|
491
|
+
try {
|
|
492
|
+
store ??= await openIMessageChatDbReader(databasePath);
|
|
493
|
+
return store ? await store.execute(command) : null;
|
|
494
|
+
} catch {
|
|
495
|
+
return null;
|
|
496
|
+
}
|
|
497
|
+
};
|
|
498
|
+
try {
|
|
499
|
+
return await use(read);
|
|
500
|
+
} finally {
|
|
501
|
+
closed = true;
|
|
502
|
+
try {
|
|
503
|
+
await store?.close();
|
|
504
|
+
} catch {}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
//#endregion
|
|
457
508
|
//#region extensions/imessage/src/monitor/echo-text-corruption.ts
|
|
458
509
|
function isLeadingEchoTextCorruptionMarker(code) {
|
|
459
510
|
return code === 0 || code === 65279 || code === 65533 || code === 65534 || code === 65535;
|
|
@@ -474,7 +525,6 @@ function normalizeMessageId(messageId) {
|
|
|
474
525
|
if (!normalized || normalized === "ok" || normalized === "unknown") return;
|
|
475
526
|
return normalized;
|
|
476
527
|
}
|
|
477
|
-
let mirror = null;
|
|
478
528
|
let persistenceFailureLogged = false;
|
|
479
529
|
function reportFailure(scope, err) {
|
|
480
530
|
if (persistenceFailureLogged) return;
|
|
@@ -491,7 +541,7 @@ function normalizeMedia(media) {
|
|
|
491
541
|
};
|
|
492
542
|
}
|
|
493
543
|
function openPersistedEchoStore() {
|
|
494
|
-
return getIMessageRuntime().state.
|
|
544
|
+
return getIMessageRuntime().state.openKeyedStore({
|
|
495
545
|
namespace: IMESSAGE_SENT_ECHOES_NAMESPACE,
|
|
496
546
|
maxEntries: 256
|
|
497
547
|
});
|
|
@@ -508,31 +558,27 @@ function isLiveEntry(entry, now = Date.now()) {
|
|
|
508
558
|
const cutoff = now - IMESSAGE_SENT_ECHOES_TTL_MS;
|
|
509
559
|
return entry.timestamp >= cutoff && (entry.expiresAt == null || entry.expiresAt > now);
|
|
510
560
|
}
|
|
511
|
-
function
|
|
561
|
+
async function readRecentEntries() {
|
|
512
562
|
try {
|
|
513
|
-
|
|
563
|
+
return (await openPersistedEchoStore().entries()).map(({ value }) => value).filter((entry) => isLiveEntry(entry)).toSorted((a, b) => a.timestamp - b.timestamp).slice(-256);
|
|
514
564
|
} catch (err) {
|
|
515
565
|
reportFailure("read", err);
|
|
516
|
-
|
|
566
|
+
return [];
|
|
517
567
|
}
|
|
518
568
|
}
|
|
519
|
-
function
|
|
520
|
-
loadMirrorFromStore();
|
|
521
|
-
return mirror ?? [];
|
|
522
|
-
}
|
|
523
|
-
function persistEntry(entry, ttlMs) {
|
|
569
|
+
async function persistEntry(entry, ttlMs) {
|
|
524
570
|
const effectiveTtlMs = resolveEntryTtlMs(entry, ttlMs);
|
|
525
571
|
if (!effectiveTtlMs) return;
|
|
526
572
|
const key = resolveIMessageSentEchoEntryKey(entry);
|
|
527
573
|
try {
|
|
528
|
-
openPersistedEchoStore().register(key, entry, { ttlMs: effectiveTtlMs });
|
|
574
|
+
await openPersistedEchoStore().register(key, entry, { ttlMs: effectiveTtlMs });
|
|
529
575
|
} catch (err) {
|
|
530
576
|
reportFailure("write", err);
|
|
531
577
|
return;
|
|
532
578
|
}
|
|
533
579
|
return key;
|
|
534
580
|
}
|
|
535
|
-
function rememberPersistedIMessageEcho(params) {
|
|
581
|
+
async function rememberPersistedIMessageEcho(params) {
|
|
536
582
|
const text = normalizeText(params.text);
|
|
537
583
|
const media = normalizeMedia(params.media);
|
|
538
584
|
const messageId = normalizeMessageId(params.messageId);
|
|
@@ -546,26 +592,22 @@ function rememberPersistedIMessageEcho(params) {
|
|
|
546
592
|
};
|
|
547
593
|
if (typeof params.ttlMs === "number" && Number.isFinite(params.ttlMs) && params.ttlMs > 0) entry.expiresAt = entry.timestamp + params.ttlMs;
|
|
548
594
|
if (!entry.text && !entry.media && !entry.messageId) return;
|
|
549
|
-
|
|
550
|
-
const key = persistEntry(entry, params.ttlMs);
|
|
551
|
-
mirror = [...mirror ?? [], entry].filter((candidate) => isLiveEntry(candidate)).slice(-256);
|
|
552
|
-
return key;
|
|
595
|
+
return await persistEntry(entry, params.ttlMs);
|
|
553
596
|
}
|
|
554
|
-
function forgetPersistedIMessageEchoKey(key) {
|
|
597
|
+
async function forgetPersistedIMessageEchoKey(key) {
|
|
555
598
|
if (!key) return;
|
|
556
599
|
try {
|
|
557
|
-
openPersistedEchoStore().delete(key);
|
|
600
|
+
await openPersistedEchoStore().delete(key);
|
|
558
601
|
} catch (err) {
|
|
559
602
|
reportFailure("delete", err);
|
|
560
603
|
}
|
|
561
|
-
mirror = (mirror ?? []).filter((entry) => resolveIMessageSentEchoEntryKey(entry) !== key);
|
|
562
604
|
}
|
|
563
|
-
function hasPersistedIMessageEcho(params) {
|
|
605
|
+
async function hasPersistedIMessageEcho(params) {
|
|
564
606
|
const text = normalizeText(params.text);
|
|
565
607
|
const mediaKey = resolveIMessageEchoMediaKey(params.media);
|
|
566
608
|
const messageId = normalizeMessageId(params.messageId);
|
|
567
609
|
if (!text && !mediaKey && !messageId) return false;
|
|
568
|
-
for (const entry of readRecentEntries()) {
|
|
610
|
+
for (const entry of await readRecentEntries()) {
|
|
569
611
|
if (entry.scope !== params.scope) continue;
|
|
570
612
|
if (messageId && entry.messageId === messageId) return true;
|
|
571
613
|
const hasConflictingMessageIds = Boolean(messageId && entry.messageId && messageId !== entry.messageId);
|
|
@@ -575,6 +617,23 @@ function hasPersistedIMessageEcho(params) {
|
|
|
575
617
|
return false;
|
|
576
618
|
}
|
|
577
619
|
//#endregion
|
|
620
|
+
//#region extensions/imessage/src/send-transport.ts
|
|
621
|
+
function normalizeIMessageRpcSendError(error) {
|
|
622
|
+
if (!(error instanceof IMessageRpcRequestError)) return error;
|
|
623
|
+
const data = asOptionalRecord(error.data);
|
|
624
|
+
return data?.disposition === "not_started" && data.retry_safe === true ? new PlatformMessageNotDispatchedError(error.message, { cause: error }) : error;
|
|
625
|
+
}
|
|
626
|
+
async function requestIMessageRpcSend(client, method, params, timeoutMs, handoff) {
|
|
627
|
+
handoff.assertDirectAdapterHandoff?.();
|
|
628
|
+
await handoff.onPlatformSendDispatch?.();
|
|
629
|
+
handoff.assertDirectAdapterHandoff?.();
|
|
630
|
+
try {
|
|
631
|
+
return await client.request(method, params, { timeoutMs });
|
|
632
|
+
} catch (error) {
|
|
633
|
+
throw normalizeIMessageRpcSendError(error);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
//#endregion
|
|
578
637
|
//#region extensions/imessage/src/send.ts
|
|
579
638
|
const MIN_PENDING_PERSISTED_ECHO_TTL_MS = 6e4;
|
|
580
639
|
const PENDING_PERSISTED_ECHO_GRACE_MS = 5e3;
|
|
@@ -609,79 +668,14 @@ function normalizeResolvedMessageGuid(value) {
|
|
|
609
668
|
const trimmed = value.trim();
|
|
610
669
|
return isConcreteIMessageMessageId(trimmed) && !isNumericMessageRowId(trimmed) ? trimmed : null;
|
|
611
670
|
}
|
|
612
|
-
function resolveMessageGuidFromChatDb(params) {
|
|
671
|
+
async function resolveMessageGuidFromChatDb(params) {
|
|
613
672
|
const dbPath = params.dbPath?.trim();
|
|
614
673
|
const messageId = params.messageId.trim();
|
|
615
674
|
if (!dbPath || !isNumericMessageRowId(messageId)) return null;
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
} catch {
|
|
621
|
-
return null;
|
|
622
|
-
} finally {
|
|
623
|
-
try {
|
|
624
|
-
db?.close();
|
|
625
|
-
} catch {}
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
|
-
function getStringRowValue(row, key) {
|
|
629
|
-
return normalizeResolvedMessageGuid(row?.[key]);
|
|
630
|
-
}
|
|
631
|
-
function appleMessageDateLowerBoundMs(sentAfterMs) {
|
|
632
|
-
if (!Number.isFinite(sentAfterMs)) return null;
|
|
633
|
-
return Math.max(0, Math.floor((sentAfterMs - 9783072e5 - 5e3) * 1e6));
|
|
634
|
-
}
|
|
635
|
-
function resolveLatestSentMessageGuidFromChatDb(params) {
|
|
636
|
-
const dbPath = params.dbPath?.trim();
|
|
637
|
-
if (!dbPath) return null;
|
|
638
|
-
let db = null;
|
|
639
|
-
try {
|
|
640
|
-
db = openNodeSqliteDatabase(dbPath, { readOnly: true });
|
|
641
|
-
const targetClauses = [];
|
|
642
|
-
const targetParams = [];
|
|
643
|
-
const lowerBound = appleMessageDateLowerBoundMs(params.sentAfterMs);
|
|
644
|
-
if (params.text) {
|
|
645
|
-
targetClauses.push("m.text = ?");
|
|
646
|
-
targetParams.push(params.text);
|
|
647
|
-
}
|
|
648
|
-
if (lowerBound !== null) {
|
|
649
|
-
targetClauses.push("m.date >= ?");
|
|
650
|
-
targetParams.push(lowerBound);
|
|
651
|
-
}
|
|
652
|
-
if (params.target.kind === "chat_id") {
|
|
653
|
-
targetClauses.push("cmj.chat_id = ?");
|
|
654
|
-
targetParams.push(params.target.chatId);
|
|
655
|
-
} else if (params.target.kind === "chat_guid") {
|
|
656
|
-
targetClauses.push("c.guid = ?");
|
|
657
|
-
targetParams.push(params.target.chatGuid);
|
|
658
|
-
} else if (params.target.kind === "chat_identifier") {
|
|
659
|
-
targetClauses.push("c.chat_identifier = ?");
|
|
660
|
-
targetParams.push(params.target.chatIdentifier);
|
|
661
|
-
} else {
|
|
662
|
-
const normalizedHandle = normalizeIMessageHandle(params.target.to);
|
|
663
|
-
targetClauses.push("(h.id = ? OR h.uncanonicalized_id = ?)");
|
|
664
|
-
targetParams.push(normalizedHandle, params.target.to);
|
|
665
|
-
}
|
|
666
|
-
const selectSql = `
|
|
667
|
-
SELECT m.guid
|
|
668
|
-
FROM message m
|
|
669
|
-
LEFT JOIN chat_message_join cmj ON cmj.message_id = m.ROWID
|
|
670
|
-
LEFT JOIN chat c ON c.ROWID = cmj.chat_id
|
|
671
|
-
LEFT JOIN handle h ON h.ROWID = m.handle_id
|
|
672
|
-
WHERE m.is_from_me = 1
|
|
673
|
-
${targetClauses.length ? `AND ${targetClauses.join(" AND ")}` : ""}
|
|
674
|
-
ORDER BY m.date DESC, m.ROWID DESC
|
|
675
|
-
LIMIT 10
|
|
676
|
-
`;
|
|
677
|
-
return getStringRowValue(db.prepare(selectSql).all(...targetParams)[0], "guid");
|
|
678
|
-
} catch {
|
|
679
|
-
return null;
|
|
680
|
-
} finally {
|
|
681
|
-
try {
|
|
682
|
-
db?.close();
|
|
683
|
-
} catch {}
|
|
684
|
-
}
|
|
675
|
+
return normalizeResolvedMessageGuid(await withIMessageReceiptGuidReader(dbPath, (read) => read({
|
|
676
|
+
type: "messageGuid",
|
|
677
|
+
input: { messageId }
|
|
678
|
+
})));
|
|
685
679
|
}
|
|
686
680
|
function canResolveLatestSentMessageGuidFromChatDb(dbPath) {
|
|
687
681
|
const normalizedDbPath = dbPath?.trim();
|
|
@@ -704,21 +698,33 @@ async function resolveApprovalBindingMessageGuid(params) {
|
|
|
704
698
|
}));
|
|
705
699
|
}
|
|
706
700
|
async function resolveFallbackSentMessageGuid(params) {
|
|
707
|
-
const
|
|
708
|
-
if (!params.resolveSentMessageGuidImpl && !canResolveLatestSentMessageGuidFromChatDb(
|
|
701
|
+
const dbPath = params.dbPath?.trim();
|
|
702
|
+
if (!params.resolveSentMessageGuidImpl && !canResolveLatestSentMessageGuidFromChatDb(dbPath)) return null;
|
|
709
703
|
const deadlineMs = Date.now() + 5e3;
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
704
|
+
const poll = async (resolver) => {
|
|
705
|
+
while (Date.now() <= deadlineMs) {
|
|
706
|
+
const resolved = normalizeResolvedMessageGuid(await resolver({
|
|
707
|
+
dbPath: params.dbPath,
|
|
708
|
+
target: params.target,
|
|
709
|
+
text: params.text,
|
|
710
|
+
sentAfterMs: params.sentAfterMs
|
|
711
|
+
}));
|
|
712
|
+
if (resolved) return resolved;
|
|
713
|
+
if (Date.now() >= deadlineMs) return null;
|
|
714
|
+
await sleep(250);
|
|
715
|
+
}
|
|
716
|
+
return null;
|
|
717
|
+
};
|
|
718
|
+
if (params.resolveSentMessageGuidImpl) return await poll(params.resolveSentMessageGuidImpl);
|
|
719
|
+
if (!dbPath) return null;
|
|
720
|
+
return await withIMessageReceiptGuidReader(dbPath, (read) => poll(({ target, text, sentAfterMs }) => read({
|
|
721
|
+
type: "latestSentGuid",
|
|
722
|
+
input: {
|
|
723
|
+
target,
|
|
724
|
+
text,
|
|
725
|
+
sentAfterMs
|
|
726
|
+
}
|
|
727
|
+
})));
|
|
722
728
|
}
|
|
723
729
|
function shouldRecoverApprovalPromptGuid(params) {
|
|
724
730
|
return Boolean(params.approvalPrompt && !params.filePath && !params.replyToId);
|
|
@@ -781,30 +787,10 @@ function resolveIMessageSendFailure(result) {
|
|
|
781
787
|
if (result.success !== false) return null;
|
|
782
788
|
return typeof result.error === "string" && result.error.trim() ? result.error.trim() : "iMessage action failed";
|
|
783
789
|
}
|
|
784
|
-
function normalizeIMessageRpcSendError(error) {
|
|
785
|
-
if (!(error instanceof IMessageRpcRequestError)) return error;
|
|
786
|
-
const data = asOptionalRecord(error.data);
|
|
787
|
-
return data?.disposition === "not_started" && data.retry_safe === true ? new PlatformMessageNotDispatchedError(error.message, { cause: error }) : error;
|
|
788
|
-
}
|
|
789
|
-
async function requestIMessageRpcSend(client, method, params, timeoutMs) {
|
|
790
|
-
try {
|
|
791
|
-
return await client.request(method, params, { timeoutMs });
|
|
792
|
-
} catch (error) {
|
|
793
|
-
throw normalizeIMessageRpcSendError(error);
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
790
|
function isIMessageRpcSendTimeout(error) {
|
|
797
791
|
const message = error instanceof Error ? error.message : String(error);
|
|
798
792
|
return /imsg rpc timeout \(send\)/i.test(message);
|
|
799
793
|
}
|
|
800
|
-
async function runIMessageCliJson(cliPath, dbPath, args, timeoutMs) {
|
|
801
|
-
return await runIMessageCliJsonCommand({
|
|
802
|
-
args,
|
|
803
|
-
cliPath,
|
|
804
|
-
dbPath,
|
|
805
|
-
timeoutMs
|
|
806
|
-
});
|
|
807
|
-
}
|
|
808
794
|
function resultService(value) {
|
|
809
795
|
const normalized = normalizeOptionalString(value)?.toLowerCase();
|
|
810
796
|
return normalized === "imessage" || normalized === "sms" ? normalized : void 0;
|
|
@@ -868,6 +854,7 @@ async function trySendAttachmentForTarget(params) {
|
|
|
868
854
|
if (params.audioAsVoice) throw new Error("iMessage voice messages require an existing chat and bridge transport.");
|
|
869
855
|
return null;
|
|
870
856
|
}
|
|
857
|
+
params.assertDirectAdapterHandoff?.();
|
|
871
858
|
const echoScope = resolveOutboundEchoScope({
|
|
872
859
|
accountId: params.accountId,
|
|
873
860
|
target: params.target
|
|
@@ -875,7 +862,7 @@ async function trySendAttachmentForTarget(params) {
|
|
|
875
862
|
let result;
|
|
876
863
|
let pendingEchoKey;
|
|
877
864
|
try {
|
|
878
|
-
if (echoScope) pendingEchoKey = rememberPersistedIMessageEcho({
|
|
865
|
+
if (echoScope) pendingEchoKey = await rememberPersistedIMessageEcho({
|
|
879
866
|
scope: echoScope,
|
|
880
867
|
text: params.echoText,
|
|
881
868
|
media: params.echoMedia,
|
|
@@ -890,6 +877,7 @@ async function trySendAttachmentForTarget(params) {
|
|
|
890
877
|
remoteHost: params.remoteHost,
|
|
891
878
|
localPath: attachmentPath,
|
|
892
879
|
timeoutMs: params.timeoutMs,
|
|
880
|
+
assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
|
|
893
881
|
use: async (remotePath) => {
|
|
894
882
|
const rpcParams = {
|
|
895
883
|
file: remotePath,
|
|
@@ -903,6 +891,9 @@ async function trySendAttachmentForTarget(params) {
|
|
|
903
891
|
}
|
|
904
892
|
});
|
|
905
893
|
}
|
|
894
|
+
params.assertDirectAdapterHandoff?.();
|
|
895
|
+
await params.onPlatformSendDispatch?.();
|
|
896
|
+
params.assertDirectAdapterHandoff?.();
|
|
906
897
|
return await params.runCliJson([
|
|
907
898
|
"send-attachment",
|
|
908
899
|
"--chat",
|
|
@@ -916,14 +907,14 @@ async function trySendAttachmentForTarget(params) {
|
|
|
916
907
|
]);
|
|
917
908
|
});
|
|
918
909
|
} catch (error) {
|
|
919
|
-
forgetPersistedIMessageEchoKey(pendingEchoKey);
|
|
910
|
+
await forgetPersistedIMessageEchoKey(pendingEchoKey);
|
|
920
911
|
if (!params.audioAsVoice && isAttachmentCommandFallbackError(error)) return null;
|
|
921
912
|
throw error;
|
|
922
913
|
}
|
|
923
914
|
const failure = resolveIMessageSendFailure(result);
|
|
924
915
|
if (failure) {
|
|
925
916
|
const error = new Error(failure);
|
|
926
|
-
forgetPersistedIMessageEchoKey(pendingEchoKey);
|
|
917
|
+
await forgetPersistedIMessageEchoKey(pendingEchoKey);
|
|
927
918
|
if (!params.audioAsVoice && isAttachmentCommandFallbackError(error)) return null;
|
|
928
919
|
throw error;
|
|
929
920
|
}
|
|
@@ -935,13 +926,13 @@ async function trySendAttachmentForTarget(params) {
|
|
|
935
926
|
resolveMessageGuidImpl: params.resolveMessageGuidImpl
|
|
936
927
|
});
|
|
937
928
|
const messageId = resolvedId ?? (result.ok || result.success ? "ok" : "unknown");
|
|
938
|
-
if (echoScope) rememberPersistedIMessageEcho({
|
|
929
|
+
if (echoScope) await rememberPersistedIMessageEcho({
|
|
939
930
|
scope: echoScope,
|
|
940
931
|
text: params.echoText,
|
|
941
932
|
media: params.echoMedia,
|
|
942
933
|
messageId: resolvedId ?? void 0
|
|
943
934
|
});
|
|
944
|
-
if (resolvedId && isConcreteIMessageMessageId(resolvedId)) rememberIMessageReplyCache({
|
|
935
|
+
if (resolvedId && isConcreteIMessageMessageId(resolvedId)) await rememberIMessageReplyCache({
|
|
945
936
|
accountId: params.accountId,
|
|
946
937
|
messageId: resolvedId,
|
|
947
938
|
chatGuid: params.target.kind === "chat_guid" ? params.target.chatGuid : params.target.kind === "chat_id" ? attachmentChatTarget : void 0,
|
|
@@ -966,6 +957,7 @@ async function trySendAttachmentForTarget(params) {
|
|
|
966
957
|
}
|
|
967
958
|
async function sendMessageIMessage(to, text, opts) {
|
|
968
959
|
const cfg = requireRuntimeConfig(opts.config, "iMessage send");
|
|
960
|
+
opts.assertDirectAdapterHandoff?.();
|
|
969
961
|
const account = opts.account ?? resolveIMessageAccount({
|
|
970
962
|
cfg,
|
|
971
963
|
accountId: opts.accountId
|
|
@@ -976,6 +968,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
976
968
|
cliPath,
|
|
977
969
|
remoteHost: account.config.remoteHost
|
|
978
970
|
});
|
|
971
|
+
opts.assertDirectAdapterHandoff?.();
|
|
979
972
|
const chatDbLookupPath = resolveIMessageChatDbLookupPath({
|
|
980
973
|
cliPath,
|
|
981
974
|
dbPath,
|
|
@@ -984,7 +977,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
984
977
|
const target = parseIMessageTarget(opts.chatId ? formatIMessageChatTarget(opts.chatId) : to);
|
|
985
978
|
const service = opts.service ?? resolveTargetService(target) ?? account.config.service;
|
|
986
979
|
const sendTransport = account.config.sendTransport ?? "auto";
|
|
987
|
-
const resolvedReplyToId = resolveAuthorizedIMessageReplyReference({
|
|
980
|
+
const resolvedReplyToId = await resolveAuthorizedIMessageReplyReference({
|
|
988
981
|
account,
|
|
989
982
|
target,
|
|
990
983
|
cliPath,
|
|
@@ -1001,6 +994,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1001
994
|
replyToId: opts.replyToId,
|
|
1002
995
|
conversationReadOrigin: opts.conversationReadOrigin
|
|
1003
996
|
});
|
|
997
|
+
opts.assertDirectAdapterHandoff?.();
|
|
1004
998
|
const timeoutMs = opts.timeoutMs ?? Math.max(account.config.probeTimeoutMs ?? 0, 18e4);
|
|
1005
999
|
const pendingEchoTtlMs = resolvePendingPersistedEchoTtlMs(timeoutMs);
|
|
1006
1000
|
const region = opts.region?.trim() || account.config.region?.trim() || "US";
|
|
@@ -1021,6 +1015,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1021
1015
|
});
|
|
1022
1016
|
filePath = resolved.path;
|
|
1023
1017
|
mediaContentType = resolved.contentType ?? void 0;
|
|
1018
|
+
opts.assertDirectAdapterHandoff?.();
|
|
1024
1019
|
}
|
|
1025
1020
|
if (!message.trim() && !filePath) throw new Error("iMessage send requires text or media");
|
|
1026
1021
|
if (message.trim()) {
|
|
@@ -1046,8 +1041,18 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1046
1041
|
const echoText = resolveOutboundEchoText(message);
|
|
1047
1042
|
const echoMedia = filePath ? resolveOutboundEchoMedia(mediaContentType) : void 0;
|
|
1048
1043
|
let effectiveReplyToId = resolvedReplyToId;
|
|
1049
|
-
const
|
|
1044
|
+
const runCli = opts.runCliJson ?? ((args) => runIMessageCliJsonCommand({
|
|
1045
|
+
args,
|
|
1046
|
+
cliPath,
|
|
1047
|
+
dbPath,
|
|
1048
|
+
timeoutMs
|
|
1049
|
+
}));
|
|
1050
|
+
const runCliJson = async (args) => {
|
|
1051
|
+
opts.assertDirectAdapterHandoff?.();
|
|
1052
|
+
return await runCli(args);
|
|
1053
|
+
};
|
|
1050
1054
|
const requestOwnedRpc = async (method, rpcParams) => {
|
|
1055
|
+
opts.assertDirectAdapterHandoff?.();
|
|
1051
1056
|
const rpcClient = opts.createClient ? await opts.createClient({
|
|
1052
1057
|
cliPath,
|
|
1053
1058
|
dbPath,
|
|
@@ -1058,7 +1063,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1058
1063
|
remoteHost
|
|
1059
1064
|
});
|
|
1060
1065
|
try {
|
|
1061
|
-
return await requestIMessageRpcSend(rpcClient, method, rpcParams, timeoutMs);
|
|
1066
|
+
return await requestIMessageRpcSend(rpcClient, method, rpcParams, timeoutMs, opts);
|
|
1062
1067
|
} finally {
|
|
1063
1068
|
await rpcClient.stop();
|
|
1064
1069
|
}
|
|
@@ -1081,7 +1086,9 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1081
1086
|
runCliJson,
|
|
1082
1087
|
requestRpc: requestOwnedRpc,
|
|
1083
1088
|
withRemoteFile,
|
|
1084
|
-
resolveMessageGuidImpl: opts.resolveMessageGuidImpl
|
|
1089
|
+
resolveMessageGuidImpl: opts.resolveMessageGuidImpl,
|
|
1090
|
+
assertDirectAdapterHandoff: opts.assertDirectAdapterHandoff,
|
|
1091
|
+
onPlatformSendDispatch: opts.onPlatformSendDispatch
|
|
1085
1092
|
});
|
|
1086
1093
|
if (attachmentResult) {
|
|
1087
1094
|
if (!message.trim()) return attachmentResult;
|
|
@@ -1138,6 +1145,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1138
1145
|
accountId: account.accountId,
|
|
1139
1146
|
target
|
|
1140
1147
|
});
|
|
1148
|
+
opts.assertDirectAdapterHandoff?.();
|
|
1141
1149
|
const client = opts.client ?? (opts.createClient ? await opts.createClient({
|
|
1142
1150
|
cliPath,
|
|
1143
1151
|
dbPath,
|
|
@@ -1148,19 +1156,14 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1148
1156
|
remoteHost
|
|
1149
1157
|
}));
|
|
1150
1158
|
const shouldClose = !opts.client;
|
|
1151
|
-
let closedClient = false;
|
|
1152
|
-
const stopOwnedClient = async () => {
|
|
1153
|
-
if (!shouldClose || closedClient) return;
|
|
1154
|
-
closedClient = true;
|
|
1155
|
-
await client.stop();
|
|
1156
|
-
};
|
|
1157
1159
|
const requestSuccessfulSend = async (sendParams) => {
|
|
1158
|
-
const request = async (nativeParams) => await requestIMessageRpcSend(client, "send", nativeParams, timeoutMs);
|
|
1160
|
+
const request = async (nativeParams) => await requestIMessageRpcSend(client, "send", nativeParams, timeoutMs, opts);
|
|
1159
1161
|
const response = filePath ? await withOriginalIMessageAttachmentPath(filePath, async (attachmentPath) => {
|
|
1160
1162
|
if (remoteHost) return await withRemoteFile({
|
|
1161
1163
|
remoteHost,
|
|
1162
1164
|
localPath: attachmentPath,
|
|
1163
1165
|
timeoutMs,
|
|
1166
|
+
assertDirectAdapterHandoff: opts.assertDirectAdapterHandoff,
|
|
1164
1167
|
use: async (remotePath) => request({
|
|
1165
1168
|
...sendParams,
|
|
1166
1169
|
file: remotePath
|
|
@@ -1180,7 +1183,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1180
1183
|
let pendingEchoKey;
|
|
1181
1184
|
try {
|
|
1182
1185
|
try {
|
|
1183
|
-
if (echoScope) pendingEchoKey = rememberPersistedIMessageEcho({
|
|
1186
|
+
if (echoScope) pendingEchoKey = await rememberPersistedIMessageEcho({
|
|
1184
1187
|
scope: echoScope,
|
|
1185
1188
|
text: echoText,
|
|
1186
1189
|
media: echoMedia,
|
|
@@ -1237,7 +1240,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1237
1240
|
sentAfterMs: sendStartedAtMs,
|
|
1238
1241
|
resolveSentMessageGuidImpl: opts.resolveSentMessageGuidImpl
|
|
1239
1242
|
});
|
|
1240
|
-
if (echoScope) rememberPersistedIMessageEcho({
|
|
1243
|
+
if (echoScope) await rememberPersistedIMessageEcho({
|
|
1241
1244
|
scope: echoScope,
|
|
1242
1245
|
text: echoText,
|
|
1243
1246
|
media: echoMedia,
|
|
@@ -1247,7 +1250,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1247
1250
|
const confirmedService = resolveIMessageDirectChatService(resultService(result.service) ?? service, providerChatGuid);
|
|
1248
1251
|
if (resolvedId && isConcreteIMessageMessageId(resolvedId)) {
|
|
1249
1252
|
const chatContext = chatContextFromIMessageTarget(target, confirmedService ?? service);
|
|
1250
|
-
rememberIMessageReplyCache({
|
|
1253
|
+
await rememberIMessageReplyCache({
|
|
1251
1254
|
accountId: account.accountId,
|
|
1252
1255
|
messageId: resolvedId,
|
|
1253
1256
|
...chatContext,
|
|
@@ -1264,7 +1267,7 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1264
1267
|
...target.kind === "chat_id" ? { chatId: target.chatId } : {},
|
|
1265
1268
|
...handleForKey ? { handle: handleForKey } : {}
|
|
1266
1269
|
};
|
|
1267
|
-
registerIMessageApprovalReactionTarget({
|
|
1270
|
+
await registerIMessageApprovalReactionTarget({
|
|
1268
1271
|
accountId: account.accountId,
|
|
1269
1272
|
conversation,
|
|
1270
1273
|
messageId: approvalBindingMessageId,
|
|
@@ -1289,11 +1292,11 @@ async function sendMessageIMessage(to, text, opts) {
|
|
|
1289
1292
|
})
|
|
1290
1293
|
};
|
|
1291
1294
|
} catch (error) {
|
|
1292
|
-
forgetPersistedIMessageEchoKey(pendingEchoKey);
|
|
1295
|
+
await forgetPersistedIMessageEchoKey(pendingEchoKey);
|
|
1293
1296
|
throw error;
|
|
1294
1297
|
} finally {
|
|
1295
|
-
await
|
|
1298
|
+
if (shouldClose) await client.stop();
|
|
1296
1299
|
}
|
|
1297
1300
|
}
|
|
1298
1301
|
//#endregion
|
|
1299
|
-
export {
|
|
1302
|
+
export { buildApprovalPollOptions as a, maybeResolveIMessageApprovalPollVote as c, resolveIMessageStartupRowidWatermark as i, iMessageApprovalControlBindings as l, hasPersistedIMessageEcho as n, iMessageApprovalPollTargets as o, stripLeadingEchoTextCorruptionMarkers as r, mapSentPollOptionsToDecisions as s, sendMessageIMessage as t };
|