@openclaw/line 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/.setup/api-D_06cuHl.mjs +11 -0
- package/dist/.setup/api-RdEuQgW-.mjs +3 -0
- package/dist/{card-command-pwvE48Wb.js → .setup/card-command-710u8FBH.mjs} +2 -2
- package/dist/{channel-C2D8vUmv.js → .setup/channel-kc3VRglA.mjs} +286 -91
- package/dist/.setup/channel.runtime-BtkeDELb.mjs +4 -0
- package/dist/{markdown-to-line-DR3sFH6H.js → .setup/markdown-to-line-CRfEHFs0.mjs} +58 -25
- package/dist/{monitor-2lOtBpg-.js → .setup/monitor-morJPcPd.mjs} +398 -141
- package/dist/.setup/monitor.runtime-BGhxYDKG.mjs +2 -0
- package/dist/{outbound.runtime-Cpp7NAmT.js → .setup/outbound.runtime-QGvZy8Em.mjs} +2 -2
- package/dist/.setup/probe.runtime-CMf8b-jB.mjs +2 -0
- package/dist/{rich-messages-HS8pNeOa.js → .setup/rich-messages-d8CmBVJj.mjs} +158 -18
- package/dist/{send-CQQxpxPp.js → .setup/send-BmsHY4WC.mjs} +27 -10
- package/dist/{send-retry-ChpfJ-LM.js → .setup/send-retry-DbfiHBPd.mjs} +105 -4
- package/dist/{setup-surface-DiXO4x5f.js → .setup/setup-surface-CcfKJKtr.mjs} +2 -2
- package/dist/api.js +2 -10
- 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/index.js +1 -1
- package/dist/runtime-api.js +9 -9
- package/dist/setup-api.js +1 -1
- package/dist/setup-entry.js +2 -1
- package/node_modules/@line/bot-sdk/node_modules/@types/node/README.md +1 -1
- package/node_modules/@line/bot-sdk/node_modules/@types/node/package.json +2 -2
- package/node_modules/@line/bot-sdk/node_modules/@types/node/stream/web.d.ts +4 -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 +120 -42
- package/package.json +16 -7
- package/dist/channel.runtime-CYHw3gcp.js +0 -4
- package/dist/monitor.runtime-BJ0XI3qK.js +0 -2
- package/dist/probe.runtime-CbtMgU4s.js +0 -2
- package/node_modules/zod/src/v4/core/config.ts +0 -15
- /package/dist/{account-helpers-BSUyZwLm.js → .setup/account-helpers-BSUyZwLm.mjs} +0 -0
- /package/dist/{accounts-BBEFMYbY.js → .setup/accounts-BBEFMYbY.mjs} +0 -0
- /package/dist/{webhook-spool-contract-1rY8OJw8.js → .setup/webhook-spool-contract-1rY8OJw8.mjs} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
2
|
+
<!--
|
|
3
|
+
Source: simple-icons@16.31.0, icons/line.svg
|
|
4
|
+
https://www.npmjs.com/package/simple-icons/v/16.31.0
|
|
5
|
+
https://github.com/simple-icons/simple-icons
|
|
6
|
+
|
|
7
|
+
# CC0 1.0 Universal
|
|
8
|
+
|
|
9
|
+
## Statement of Purpose
|
|
10
|
+
|
|
11
|
+
The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).
|
|
12
|
+
|
|
13
|
+
Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
|
|
14
|
+
|
|
15
|
+
For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
|
|
16
|
+
|
|
17
|
+
1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:
|
|
18
|
+
1. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
|
|
19
|
+
2. moral rights retained by the original author(s) and/or performer(s);
|
|
20
|
+
3. publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work;
|
|
21
|
+
4. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(i), below;
|
|
22
|
+
5. rights protecting the extraction, dissemination, use and reuse of data in a Work;
|
|
23
|
+
6. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
|
|
24
|
+
7. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
|
|
25
|
+
|
|
26
|
+
2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.
|
|
27
|
+
|
|
28
|
+
3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.
|
|
29
|
+
|
|
30
|
+
4. Limitations and Disclaimers.
|
|
31
|
+
1. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
|
|
32
|
+
2. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
|
|
33
|
+
3. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
|
|
34
|
+
4. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
|
|
35
|
+
|
|
36
|
+
For more information, please see <https://creativecommons.org/publicdomain/zero/1.0>.
|
|
37
|
+
Names and marks remain the property of their respective owners.
|
|
38
|
+
-->
|
|
39
|
+
<path fill="currentColor" stroke="none" d="M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314" />
|
|
40
|
+
</svg>
|
package/assets/icon.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { n as lineChannelPluginCommon } from "./channel-kc3VRglA.mjs";
|
|
2
|
+
import { r as lineSetupContract, t as lineSetupWizard } from "./setup-surface-CcfKJKtr.mjs";
|
|
3
|
+
//#region extensions/line/src/channel.setup.ts
|
|
4
|
+
const lineSetupPlugin = {
|
|
5
|
+
id: "line",
|
|
6
|
+
...lineChannelPluginCommon,
|
|
7
|
+
setupWizard: lineSetupWizard,
|
|
8
|
+
setupContract: lineSetupContract
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { lineSetupPlugin as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as createActionCard, f as createImageCard, m as createListCard, p as createInfoCard, u as createReceiptCard } from "./send-retry-
|
|
2
|
-
import { t as createFlexMessage } from "./send-
|
|
1
|
+
import { d as createActionCard, f as createImageCard, m as createListCard, p as createInfoCard, u as createReceiptCard } from "./send-retry-DbfiHBPd.mjs";
|
|
2
|
+
import { t as createFlexMessage } from "./send-BmsHY4WC.mjs";
|
|
3
3
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
5
5
|
//#region extensions/line/src/card-command.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as resolveLineAccount, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-BBEFMYbY.
|
|
2
|
-
import { t as hasLineCredentials } from "./account-helpers-BSUyZwLm.
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { r as lineSetupContract, t as lineSetupWizard } from "./setup-surface-
|
|
1
|
+
import { i as resolveLineAccount, r as resolveDefaultLineAccountId, t as listLineAccountIds } from "./accounts-BBEFMYbY.mjs";
|
|
2
|
+
import { t as hasLineCredentials } from "./account-helpers-BSUyZwLm.mjs";
|
|
3
|
+
import { S as LineChannelConfigSchema, _ as resolveLineGroupLookupIds, a as renderLineCard, b as normalizeAllowFrom, f as buildLineQuickReplyFallbackText, g as resolveLineGroupConfigEntry, h as resolveExactLineGroupConfigKey, n as createLineQuickReply, o as renderLinePresentation, p as getLineRuntime, r as lineMessageActions, t as LINE_PRESENTATION_CAPABILITIES } from "./rich-messages-d8CmBVJj.mjs";
|
|
4
|
+
import { F as inferLineTargetChatType, I as normalizeLineMessagingTarget, O as reportLineQuoteCarrierMissing, T as canCarryLineQuoteToken, j as buildLineMediaMessage, k as resolveLineQuoteToken, s as createLineSendReceipt, t as explainLineRefusal } from "./send-retry-DbfiHBPd.mjs";
|
|
5
|
+
import { r as lineSetupContract, t as lineSetupWizard } from "./setup-surface-CcfKJKtr.mjs";
|
|
6
6
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
7
7
|
import { buildDmGroupAccountAllowlistAdapter, createFlatAllowlistOverrideResolver } from "openclaw/plugin-sdk/allowlist-config-edit";
|
|
8
8
|
import { buildChannelOutboundSessionRoute, createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
@@ -12,14 +12,16 @@ import { createChannelDirectoryAdapter, createResolvedDirectoryEntriesLister } f
|
|
|
12
12
|
import { describeWebhookAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
13
13
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
14
14
|
import { clearAccountFieldsFromConfigSection, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
15
|
-
import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
15
|
+
import { isRecord, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
16
|
+
import { parseAccessGroupAllowFromEntry } from "openclaw/plugin-sdk/access-groups";
|
|
17
|
+
import { firstDefined } from "openclaw/plugin-sdk/allow-from";
|
|
16
18
|
import { createAccountStatusSink, defineChannelMessageAdapter, listMessageReceiptPlatformIds } from "openclaw/plugin-sdk/channel-outbound";
|
|
19
|
+
import { buildTokenChannelStatusSummary, collectIssuesForEnabledAccounts, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState, createDependentCredentialStatusIssueCollector } from "openclaw/plugin-sdk/status-helpers";
|
|
17
20
|
import { createChannelPartialDeliveryError, isChannelPartialDeliveryError } from "openclaw/plugin-sdk/channel-inbound";
|
|
18
21
|
import { createAttachedChannelResultAdapter, createEmptyChannelResult } from "openclaw/plugin-sdk/channel-send-result";
|
|
19
22
|
import { PlatformMessageNotDispatchedError } from "openclaw/plugin-sdk/error-runtime";
|
|
20
23
|
import { resolveOutboundMediaUrls } from "openclaw/plugin-sdk/reply-payload";
|
|
21
24
|
import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
22
|
-
import { buildTokenChannelStatusSummary, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState, createDependentCredentialStatusIssueCollector } from "openclaw/plugin-sdk/status-helpers";
|
|
23
25
|
//#region extensions/line/src/bindings.ts
|
|
24
26
|
function normalizeLineConversationId(raw) {
|
|
25
27
|
const trimmed = raw?.trim() ?? "";
|
|
@@ -118,9 +120,188 @@ const lineChannelPluginCommon = {
|
|
|
118
120
|
}
|
|
119
121
|
};
|
|
120
122
|
//#endregion
|
|
123
|
+
//#region extensions/line/src/doctor.ts
|
|
124
|
+
const GROUP_DEFAULTS_KEY = "*";
|
|
125
|
+
function classifyAllowFrom(values) {
|
|
126
|
+
const entries = Array.isArray(values) ? normalizeAllowFrom(values).entries : [];
|
|
127
|
+
return {
|
|
128
|
+
covered: entries.some((entry) => parseAccessGroupAllowFromEntry(entry) === null),
|
|
129
|
+
referenced: entries.some((entry) => parseAccessGroupAllowFromEntry(entry) !== null)
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Read the group map one scope at a time, the way account resolution does.
|
|
134
|
+
*
|
|
135
|
+
* `mergeAccountConfig` spreads account keys over channel keys and LINE declares no
|
|
136
|
+
* nested object keys, so an account that authors `groups` replaces the channel-level
|
|
137
|
+
* map outright instead of merging entry by entry. Reading both scopes together would
|
|
138
|
+
* credit an account with groups its runtime never sees.
|
|
139
|
+
*/
|
|
140
|
+
function readGroupEntries(account, parent) {
|
|
141
|
+
const groups = isRecord(account?.groups) ? account.groups : parent?.groups;
|
|
142
|
+
if (!isRecord(groups)) return [];
|
|
143
|
+
return Object.entries(groups).filter((entry) => isRecord(entry[1]));
|
|
144
|
+
}
|
|
145
|
+
function inspectLineGroupCoverage(params) {
|
|
146
|
+
const empty = {
|
|
147
|
+
group: [],
|
|
148
|
+
defaults: [],
|
|
149
|
+
channel: []
|
|
150
|
+
};
|
|
151
|
+
const entries = readGroupEntries(params.account, params.parent);
|
|
152
|
+
const groups = Object.fromEntries(entries);
|
|
153
|
+
const defaults = groups[GROUP_DEFAULTS_KEY];
|
|
154
|
+
const defaultCoverage = classifyAllowFrom(firstDefined(defaults?.allowFrom, params.groupAllowFrom));
|
|
155
|
+
let covered = defaults?.enabled !== false && defaultCoverage.covered;
|
|
156
|
+
const referenceBacked = defaults?.enabled !== false && defaultCoverage.referenced ? [GROUP_DEFAULTS_KEY] : [];
|
|
157
|
+
const uncovered = [];
|
|
158
|
+
for (const [id, group] of entries) {
|
|
159
|
+
if (id === GROUP_DEFAULTS_KEY) continue;
|
|
160
|
+
const groupId = resolveLineGroupLookupIds(id)[0];
|
|
161
|
+
if (resolveExactLineGroupConfigKey({
|
|
162
|
+
groups,
|
|
163
|
+
groupId
|
|
164
|
+
}) !== id) continue;
|
|
165
|
+
const effectiveGroup = resolveLineGroupConfigEntry(groups, { groupId });
|
|
166
|
+
if (effectiveGroup?.enabled === false) continue;
|
|
167
|
+
const allowlist = classifyAllowFrom(firstDefined(effectiveGroup?.allowFrom, params.groupAllowFrom));
|
|
168
|
+
if (allowlist.referenced) referenceBacked.push(id);
|
|
169
|
+
if (allowlist.covered) covered = true;
|
|
170
|
+
else if (allowlist.referenced) continue;
|
|
171
|
+
else if (group.allowFrom !== void 0) empty.group.push(id);
|
|
172
|
+
else if (defaults?.allowFrom !== void 0) empty.defaults.push(id);
|
|
173
|
+
else if (params.groupAllowFrom !== void 0) empty.channel.push(id);
|
|
174
|
+
else uncovered.push(id);
|
|
175
|
+
}
|
|
176
|
+
return {
|
|
177
|
+
covered,
|
|
178
|
+
referenceBacked,
|
|
179
|
+
uncovered,
|
|
180
|
+
empty
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
function readLineGroupCoverage(params) {
|
|
184
|
+
const { account, parent } = params;
|
|
185
|
+
return inspectLineGroupCoverage({
|
|
186
|
+
account,
|
|
187
|
+
...parent ? { parent } : {},
|
|
188
|
+
groupAllowFrom: firstDefined(account.groupAllowFrom, parent?.groupAllowFrom)
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
function readGroupPolicy(value) {
|
|
192
|
+
return typeof value === "string" ? value : void 0;
|
|
193
|
+
}
|
|
194
|
+
function isLineGroupAllowlistScope(params) {
|
|
195
|
+
return params.channelName === "line" && (readGroupPolicy(params.account.groupPolicy) ?? readGroupPolicy(params.parent?.groupPolicy)) === "allowlist";
|
|
196
|
+
}
|
|
197
|
+
function formatGroupIds(ids) {
|
|
198
|
+
return ids.map((id) => `"${id}"`).join(", ");
|
|
199
|
+
}
|
|
200
|
+
/** Name blocked groups when a working per-group allowlist makes the shared warning untrue. */
|
|
201
|
+
function collectLineEmptyAllowlistExtraWarnings(params) {
|
|
202
|
+
if (!isLineGroupAllowlistScope(params)) return [];
|
|
203
|
+
const { covered, referenceBacked, uncovered, empty } = readLineGroupCoverage(params);
|
|
204
|
+
const warnings = [];
|
|
205
|
+
if (referenceBacked.length > 0) {
|
|
206
|
+
const single = referenceBacked.length === 1;
|
|
207
|
+
warnings.push(`- ${params.prefix}.groups: ${single ? "group" : "groups"} ${formatGroupIds(referenceBacked)} ${single ? "uses" : "use"} access-group references. Doctor cannot verify their LINE sender membership here. Check the referenced access groups before relying on group access.`);
|
|
208
|
+
}
|
|
209
|
+
const dropped = (ids) => `- ${params.prefix}.groups: ${ids.length === 1 ? "group" : "groups"} ${formatGroupIds(ids)} ${ids.length === 1 ? "resolves" : "resolve"} to an empty sender allowlist — messages there are silently dropped.`;
|
|
210
|
+
if (empty.group.length > 0) warnings.push(`${dropped(empty.group)} The empty list is authored on ${empty.group.length === 1 ? "that entry" : "those entries"} and overrides every wider list, so add sender IDs there, or remove the allowFrom key to inherit.`);
|
|
211
|
+
if (empty.defaults.length > 0) warnings.push(`${dropped(empty.defaults)} The empty list comes from ${params.prefix}.groups."*".allowFrom, so add sender IDs to that entry, or give ${empty.defaults.length === 1 ? "the group" : "each group"} its own allowFrom.`);
|
|
212
|
+
if (empty.channel.length > 0) warnings.push(`${dropped(empty.channel)} The empty list comes from ${params.prefix}.groupAllowFrom, so add sender IDs there, or give ${empty.channel.length === 1 ? "the group" : "each group"} its own allowFrom.`);
|
|
213
|
+
if ((covered || referenceBacked.length > 0) && uncovered.length > 0) {
|
|
214
|
+
const single = uncovered.length === 1;
|
|
215
|
+
const otherGroups = referenceBacked.length > 0 ? "" : " while your other groups keep working";
|
|
216
|
+
warnings.push(`- ${params.prefix}.groups: ${single ? "group" : "groups"} ${formatGroupIds(uncovered)} ${single ? "has" : "have"} no sender allowlist — messages there are silently dropped${otherGroups}. Add sender IDs under ${params.prefix}.groups.<id>.allowFrom, or under ${params.prefix}.groups."*".allowFrom to cover every group, or to ${params.prefix}.groupAllowFrom.`);
|
|
217
|
+
}
|
|
218
|
+
return warnings;
|
|
219
|
+
}
|
|
220
|
+
const lineDoctor = {
|
|
221
|
+
collectEmptyAllowlistExtraWarnings: collectLineEmptyAllowlistExtraWarnings,
|
|
222
|
+
shouldSkipDefaultEmptyGroupAllowlistWarning: (params) => {
|
|
223
|
+
if (!isLineGroupAllowlistScope(params)) return false;
|
|
224
|
+
const { covered, referenceBacked } = readLineGroupCoverage(params);
|
|
225
|
+
return covered || referenceBacked.length > 0;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
//#endregion
|
|
229
|
+
//#region extensions/line/src/status.ts
|
|
230
|
+
const loadLineProbeRuntime$1 = createLazyRuntimeModule(() => import("./probe.runtime-CMf8b-jB.mjs"));
|
|
231
|
+
const collectLineCredentialIssues = createDependentCredentialStatusIssueCollector({
|
|
232
|
+
channel: "line",
|
|
233
|
+
dependencySourceKey: "tokenSource",
|
|
234
|
+
missingPrimaryMessage: "LINE channel access token not configured",
|
|
235
|
+
missingDependentMessage: "LINE channel secret not configured"
|
|
236
|
+
});
|
|
237
|
+
function readProbeWebhookState(probe) {
|
|
238
|
+
if (!isRecord(probe) || !isRecord(probe.webhook)) return;
|
|
239
|
+
const { status } = probe.webhook;
|
|
240
|
+
return status === "active" || status === "disabled" || status === "unset" ? { status } : void 0;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* What to tell an operator about a webhook LINE will not deliver to, or nothing when
|
|
244
|
+
* it will. Startup and status both report this, and share one wording so the account
|
|
245
|
+
* that logged the warning cannot describe itself differently when asked again.
|
|
246
|
+
*
|
|
247
|
+
* Each state names the action it needs, and only the action: a registered-but-off
|
|
248
|
+
* webhook needs the console switch, an unregistered one needs the route this account
|
|
249
|
+
* serves. Both name where to look rather than what is there — a registered URL, and an
|
|
250
|
+
* opaque configured route, are strings an operator may be using as a shared secret, and
|
|
251
|
+
* neither is needed to act: the console holds the first, and the operator's own config
|
|
252
|
+
* holds the second.
|
|
253
|
+
*/
|
|
254
|
+
function describeLineWebhookDelivery(params) {
|
|
255
|
+
const { webhook } = params;
|
|
256
|
+
if (!webhook || webhook.status === "active") return;
|
|
257
|
+
const consoleTab = "the channel's Messaging API tab in the LINE Developers Console";
|
|
258
|
+
return webhook.status === "disabled" ? {
|
|
259
|
+
message: "LINE is not delivering webhook events: this channel's webhook URL is registered but switched off.",
|
|
260
|
+
fix: `turn Use webhook on in ${consoleTab}`
|
|
261
|
+
} : {
|
|
262
|
+
message: "LINE is not delivering webhook events: this channel has no webhook URL registered.",
|
|
263
|
+
fix: `register your gateway's public HTTPS URL for the route in channels.line.webhookPath (default /line/webhook) in ${consoleTab}, then turn Use webhook on`
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
function collectLineWebhookIssues(accounts) {
|
|
267
|
+
return collectIssuesForEnabledAccounts({
|
|
268
|
+
accounts,
|
|
269
|
+
readAccount: (account) => account.configured === false ? null : account,
|
|
270
|
+
collectIssues: ({ account, accountId, issues }) => {
|
|
271
|
+
const delivery = describeLineWebhookDelivery({ webhook: readProbeWebhookState(account.probe) });
|
|
272
|
+
if (delivery) issues.push({
|
|
273
|
+
channel: "line",
|
|
274
|
+
accountId,
|
|
275
|
+
kind: "config",
|
|
276
|
+
...delivery
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
const lineStatusAdapter = createComputedAccountStatusAdapter({
|
|
282
|
+
defaultRuntime: createDefaultChannelRuntimeState(DEFAULT_ACCOUNT_ID),
|
|
283
|
+
collectStatusIssues: (accounts) => [...collectLineCredentialIssues(accounts), ...collectLineWebhookIssues(accounts)],
|
|
284
|
+
buildChannelSummary: ({ snapshot }) => buildTokenChannelStatusSummary(snapshot),
|
|
285
|
+
probeAccount: async ({ account, timeoutMs }) => await (await loadLineProbeRuntime$1()).probeLineBot(account.channelAccessToken, timeoutMs),
|
|
286
|
+
resolveAccountSnapshot: ({ account, probe }) => ({
|
|
287
|
+
accountId: account.accountId,
|
|
288
|
+
name: account.name,
|
|
289
|
+
enabled: account.enabled,
|
|
290
|
+
configured: hasLineCredentials(account),
|
|
291
|
+
extra: {
|
|
292
|
+
tokenSource: account.tokenSource,
|
|
293
|
+
signingSecretSource: account.signingSecretSource,
|
|
294
|
+
tokenStatus: account.tokenStatus,
|
|
295
|
+
signingSecretStatus: account.signingSecretStatus,
|
|
296
|
+
mode: "webhook",
|
|
297
|
+
...probe?.quota ? { quota: probe.quota } : {}
|
|
298
|
+
}
|
|
299
|
+
})
|
|
300
|
+
});
|
|
301
|
+
//#endregion
|
|
121
302
|
//#region extensions/line/src/gateway.ts
|
|
122
|
-
const loadLineProbeRuntime
|
|
123
|
-
const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-
|
|
303
|
+
const loadLineProbeRuntime = createLazyRuntimeModule(() => import("./probe.runtime-CMf8b-jB.mjs"));
|
|
304
|
+
const loadLineMonitorRuntime = createLazyRuntimeModule(() => import("./monitor.runtime-BGhxYDKG.mjs"));
|
|
124
305
|
const lineGatewayAdapter = {
|
|
125
306
|
startAccount: async (ctx) => {
|
|
126
307
|
const account = ctx.account;
|
|
@@ -135,9 +316,11 @@ const lineGatewayAdapter = {
|
|
|
135
316
|
statusSink({ lifecycle: "starting" });
|
|
136
317
|
let lineBotLabel = "";
|
|
137
318
|
try {
|
|
138
|
-
const probe = await (await loadLineProbeRuntime
|
|
319
|
+
const probe = await (await loadLineProbeRuntime()).probeLineBot(token, 2500);
|
|
139
320
|
const displayName = probe.ok ? probe.bot?.displayName?.trim() : null;
|
|
140
321
|
if (displayName) lineBotLabel = ` (${displayName})`;
|
|
322
|
+
const delivery = describeLineWebhookDelivery({ webhook: probe.ok ? probe.webhook : void 0 });
|
|
323
|
+
if (delivery) ctx.log?.warn(`[${account.accountId}] ${delivery.message} Fix: ${delivery.fix}.`);
|
|
141
324
|
} catch (err) {
|
|
142
325
|
if (getLineRuntime().logging.shouldLogVerbose()) ctx.log?.debug?.(`[${account.accountId}] bot probe failed: ${String(err)}`);
|
|
143
326
|
}
|
|
@@ -197,29 +380,19 @@ function resolveLineGroupRequireMention(params) {
|
|
|
197
380
|
});
|
|
198
381
|
}
|
|
199
382
|
//#endregion
|
|
200
|
-
//#region extensions/line/src/messaging-target.ts
|
|
201
|
-
function normalizeLineMessagingTarget(target) {
|
|
202
|
-
const trimmed = target.trim();
|
|
203
|
-
if (!trimmed) return;
|
|
204
|
-
return trimmed.replace(/^line:(group|room|user):/i, "").replace(/^line:/i, "");
|
|
205
|
-
}
|
|
206
|
-
function inferLineTargetChatType(target) {
|
|
207
|
-
const normalized = normalizeLineMessagingTarget(target);
|
|
208
|
-
if (!normalized) return;
|
|
209
|
-
if (/^U[a-f0-9]{32}$/i.test(normalized)) return "direct";
|
|
210
|
-
return /^[CR][a-f0-9]{32}$/i.test(normalized) ? "group" : void 0;
|
|
211
|
-
}
|
|
212
|
-
//#endregion
|
|
213
383
|
//#region extensions/line/src/outbound.ts
|
|
214
|
-
const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-
|
|
384
|
+
const loadLineOutboundRuntime = createLazyRuntimeModule(() => import("./outbound.runtime-QGvZy8Em.mjs"));
|
|
385
|
+
function quotedOption(quoteToken) {
|
|
386
|
+
return quoteToken ? { quoteToken } : {};
|
|
387
|
+
}
|
|
215
388
|
const lineOutboundAdapter = {
|
|
216
389
|
deliveryMode: "direct",
|
|
217
390
|
chunker: (text, limit) => getLineRuntime().channel.text.chunkMarkdownText(text, limit),
|
|
218
391
|
textChunkLimit: 5e3,
|
|
219
392
|
sanitizeText: ({ text }) => sanitizeAssistantVisibleText(text),
|
|
220
393
|
presentationCapabilities: LINE_PRESENTATION_CAPABILITIES,
|
|
221
|
-
renderPresentation: ({ payload, presentation }) => renderLinePresentation(payload, presentation),
|
|
222
|
-
sendPayload: async ({ to, payload, accountId, cfg, onDeliveryResult }) => {
|
|
394
|
+
renderPresentation: ({ payload, presentation, sourcePresentation, ctx }) => renderLinePresentation(payload, presentation, ctx.to, sourcePresentation),
|
|
395
|
+
sendPayload: async ({ to, payload, accountId, cfg, replyToId, onDeliveryResult, assertDirectAdapterHandoff }) => {
|
|
223
396
|
const runtime = getLineRuntime();
|
|
224
397
|
const outboundRuntime = await loadLineOutboundRuntime();
|
|
225
398
|
const rawLineData = payload.channelData?.line ?? {};
|
|
@@ -240,7 +413,11 @@ const lineOutboundAdapter = {
|
|
|
240
413
|
const sendOptions = {
|
|
241
414
|
verbose: false,
|
|
242
415
|
cfg,
|
|
243
|
-
accountId: accountId ?? void 0
|
|
416
|
+
accountId: accountId ?? void 0,
|
|
417
|
+
authorize: assertDirectAdapterHandoff ? () => {
|
|
418
|
+
assertDirectAdapterHandoff();
|
|
419
|
+
return true;
|
|
420
|
+
} : void 0
|
|
244
421
|
};
|
|
245
422
|
let lastResult = null;
|
|
246
423
|
const recordResult = async (resultPromise) => {
|
|
@@ -282,16 +459,26 @@ const lineOutboundAdapter = {
|
|
|
282
459
|
await recordResult(sendBatch(to, batch, sendOptions));
|
|
283
460
|
}
|
|
284
461
|
};
|
|
285
|
-
|
|
462
|
+
let replyQuoteToken = resolveLineQuoteToken({
|
|
463
|
+
cfg,
|
|
464
|
+
accountId,
|
|
465
|
+
chatId: to,
|
|
466
|
+
messageId: replyToId
|
|
467
|
+
});
|
|
468
|
+
const sendTextWithQuickReply = async (text, quoteToken) => {
|
|
286
469
|
if (quickReplyItems.length > 0 && quickReply) {
|
|
287
470
|
await sendMessageBatch([{
|
|
288
471
|
type: "text",
|
|
289
472
|
text,
|
|
290
|
-
quickReply
|
|
473
|
+
quickReply,
|
|
474
|
+
...quotedOption(quoteToken)
|
|
291
475
|
}]);
|
|
292
476
|
return;
|
|
293
477
|
}
|
|
294
|
-
await recordResult(sendQuickReplies(to, text, quickReplies,
|
|
478
|
+
await recordResult(sendQuickReplies(to, text, quickReplies, {
|
|
479
|
+
...sendOptions,
|
|
480
|
+
...quotedOption(quoteToken)
|
|
481
|
+
}));
|
|
295
482
|
};
|
|
296
483
|
const processed = payload.text ? outboundRuntime.processLineMessage(payload.text) : {
|
|
297
484
|
text: "",
|
|
@@ -329,32 +516,56 @@ const lineOutboundAdapter = {
|
|
|
329
516
|
}
|
|
330
517
|
if (lineData.templateMessage) {
|
|
331
518
|
const template = buildTemplate(lineData.templateMessage);
|
|
332
|
-
if (template) await recordResult(sendTemplate(to, template, sendOptions));
|
|
519
|
+
if (template?.type === "template") await recordResult(sendTemplate(to, template, sendOptions));
|
|
520
|
+
else if (template) {
|
|
521
|
+
await recordResult(sendText(to, template.text, {
|
|
522
|
+
...sendOptions,
|
|
523
|
+
...quotedOption(replyQuoteToken)
|
|
524
|
+
}));
|
|
525
|
+
replyQuoteToken = void 0;
|
|
526
|
+
}
|
|
333
527
|
}
|
|
334
528
|
if (location) await recordResult(sendLocation(to, location, sendOptions));
|
|
335
529
|
if (!orderedMessages) for (const flexMsg of processed.flexMessages) await recordResult(sendFlex(to, flexMsg.altText, flexMsg.contents, sendOptions));
|
|
336
530
|
}
|
|
337
531
|
const sendMediaAfterText = !(hasQuickReplies && chunks.length > 0);
|
|
338
532
|
if (mediaUrls.length > 0 && !shouldSendQuickRepliesInline && !sendMediaAfterText) await sendMediaMessages();
|
|
339
|
-
if (orderedMessages && !shouldSendQuickRepliesInline)
|
|
340
|
-
const
|
|
341
|
-
if (
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
533
|
+
if (orderedMessages && !shouldSendQuickRepliesInline) {
|
|
534
|
+
const quotedIndex = orderedMessages.findIndex(canCarryLineQuoteToken);
|
|
535
|
+
if (replyQuoteToken && quotedIndex < 0) reportLineQuoteCarrierMissing(to);
|
|
536
|
+
for (const [index, message] of orderedMessages.entries()) {
|
|
537
|
+
const isLast = index === orderedMessages.length - 1;
|
|
538
|
+
const quoteToken = index === quotedIndex ? replyQuoteToken : void 0;
|
|
539
|
+
if (message.type === "flex") {
|
|
540
|
+
if (isLast && quickReply) await sendMessageBatch([{
|
|
541
|
+
...message,
|
|
542
|
+
quickReply
|
|
543
|
+
}]);
|
|
544
|
+
else await recordResult(sendFlex(to, message.altText, message.contents, sendOptions));
|
|
545
|
+
} else if (isLast && hasQuickReplies) await sendTextWithQuickReply(message.text, quoteToken);
|
|
546
|
+
else await recordResult(sendText(to, message.text, {
|
|
547
|
+
...sendOptions,
|
|
548
|
+
...quotedOption(quoteToken)
|
|
549
|
+
}));
|
|
550
|
+
}
|
|
551
|
+
} else if (chunks.length > 0) for (const [i, chunk] of chunks.entries()) {
|
|
552
|
+
const isLast = i === chunks.length - 1;
|
|
553
|
+
const quoteToken = i === 0 ? replyQuoteToken : void 0;
|
|
554
|
+
if (isLast && hasQuickReplies) await sendTextWithQuickReply(chunk, quoteToken);
|
|
555
|
+
else await recordResult(sendText(to, chunk, {
|
|
556
|
+
...sendOptions,
|
|
557
|
+
...quotedOption(quoteToken)
|
|
558
|
+
}));
|
|
349
559
|
}
|
|
350
|
-
else if (chunks.length > 0) for (const [i, chunk] of chunks.entries()) if (i === chunks.length - 1 && hasQuickReplies) await sendTextWithQuickReply(chunk);
|
|
351
|
-
else await recordResult(sendText(to, chunk, sendOptions));
|
|
352
560
|
else if (shouldSendQuickRepliesInline) {
|
|
353
561
|
const quickReplyMessages = [];
|
|
354
562
|
if (lineData.flexMessage) quickReplyMessages.push(outboundRuntime.createFlexMessage(lineData.flexMessage.altText, lineData.flexMessage.contents));
|
|
355
563
|
if (lineData.templateMessage) {
|
|
356
564
|
const template = buildTemplate(lineData.templateMessage);
|
|
357
|
-
if (template) quickReplyMessages.push(template
|
|
565
|
+
if (template) quickReplyMessages.push(template.type === "text" ? {
|
|
566
|
+
...template,
|
|
567
|
+
...quotedOption(replyQuoteToken)
|
|
568
|
+
} : template);
|
|
358
569
|
}
|
|
359
570
|
if (locationMessage) quickReplyMessages.push(locationMessage);
|
|
360
571
|
for (const flexMsg of processed.flexMessages) quickReplyMessages.push(outboundRuntime.createFlexMessage(flexMsg.altText, flexMsg.contents));
|
|
@@ -370,7 +581,7 @@ const lineOutboundAdapter = {
|
|
|
370
581
|
quickReply
|
|
371
582
|
};
|
|
372
583
|
await sendMessageBatch(quickReplyMessages);
|
|
373
|
-
} else if (quickReply) await sendTextWithQuickReply(buildLineQuickReplyFallbackText(quickReplyLabels));
|
|
584
|
+
} else if (quickReply) await sendTextWithQuickReply(buildLineQuickReplyFallbackText(quickReplyLabels), replyQuoteToken);
|
|
374
585
|
}
|
|
375
586
|
if (mediaUrls.length > 0 && !shouldSendQuickRepliesInline && sendMediaAfterText) await sendMediaMessages();
|
|
376
587
|
const completedResult = lastResult;
|
|
@@ -383,11 +594,21 @@ const lineOutboundAdapter = {
|
|
|
383
594
|
...ctx,
|
|
384
595
|
payload: { text: ctx.text }
|
|
385
596
|
}),
|
|
386
|
-
sendMedia: async ({ cfg, to, text, mediaUrl, accountId }) => await (await loadLineOutboundRuntime()).sendMessageLine(to, text, {
|
|
597
|
+
sendMedia: async ({ cfg, to, text, mediaUrl, accountId, replyToId, assertDirectAdapterHandoff }) => await (await loadLineOutboundRuntime()).sendMessageLine(to, text, {
|
|
387
598
|
verbose: false,
|
|
388
599
|
mediaUrl,
|
|
389
600
|
cfg,
|
|
390
|
-
accountId: accountId ?? void 0
|
|
601
|
+
accountId: accountId ?? void 0,
|
|
602
|
+
authorize: assertDirectAdapterHandoff ? () => {
|
|
603
|
+
assertDirectAdapterHandoff();
|
|
604
|
+
return true;
|
|
605
|
+
} : void 0,
|
|
606
|
+
quoteToken: resolveLineQuoteToken({
|
|
607
|
+
cfg,
|
|
608
|
+
accountId,
|
|
609
|
+
chatId: to,
|
|
610
|
+
messageId: replyToId
|
|
611
|
+
})
|
|
391
612
|
})
|
|
392
613
|
})
|
|
393
614
|
};
|
|
@@ -409,31 +630,25 @@ const lineMessageAdapter = defineChannelMessageAdapter({
|
|
|
409
630
|
durableFinal: { capabilities: {
|
|
410
631
|
text: true,
|
|
411
632
|
media: true,
|
|
633
|
+
replyTo: true,
|
|
412
634
|
messageSendingHooks: true
|
|
413
635
|
} },
|
|
414
636
|
send: {
|
|
415
|
-
text: async ({
|
|
637
|
+
text: async ({ onDeliveryResult, ...ctx }) => {
|
|
416
638
|
return toLineMessageSendResult(await lineOutboundAdapter.sendPayload({
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
text,
|
|
420
|
-
accountId,
|
|
421
|
-
payload: { text },
|
|
639
|
+
...ctx,
|
|
640
|
+
payload: { text: ctx.text },
|
|
422
641
|
onDeliveryResult: async (deliveryResult) => {
|
|
423
642
|
await onDeliveryResult?.(toLineMessageSendResult(deliveryResult, "text"));
|
|
424
643
|
}
|
|
425
644
|
}), "text");
|
|
426
645
|
},
|
|
427
|
-
media: async ({
|
|
646
|
+
media: async ({ onDeliveryResult, ...ctx }) => {
|
|
428
647
|
return toLineMessageSendResult(await lineOutboundAdapter.sendPayload({
|
|
429
|
-
|
|
430
|
-
to,
|
|
431
|
-
text,
|
|
432
|
-
mediaUrl,
|
|
433
|
-
accountId,
|
|
648
|
+
...ctx,
|
|
434
649
|
payload: {
|
|
435
|
-
text,
|
|
436
|
-
mediaUrl
|
|
650
|
+
text: ctx.text,
|
|
651
|
+
mediaUrl: ctx.mediaUrl
|
|
437
652
|
},
|
|
438
653
|
onDeliveryResult: async (deliveryResult) => {
|
|
439
654
|
await onDeliveryResult?.(toLineMessageSendResult(deliveryResult, "media"));
|
|
@@ -447,37 +662,8 @@ const lineMessageAdapter = defineChannelMessageAdapter({
|
|
|
447
662
|
}
|
|
448
663
|
});
|
|
449
664
|
//#endregion
|
|
450
|
-
//#region extensions/line/src/status.ts
|
|
451
|
-
const loadLineProbeRuntime = createLazyRuntimeModule(() => import("./probe.runtime-CbtMgU4s.js"));
|
|
452
|
-
const collectLineStatusIssues = createDependentCredentialStatusIssueCollector({
|
|
453
|
-
channel: "line",
|
|
454
|
-
dependencySourceKey: "tokenSource",
|
|
455
|
-
missingPrimaryMessage: "LINE channel access token not configured",
|
|
456
|
-
missingDependentMessage: "LINE channel secret not configured"
|
|
457
|
-
});
|
|
458
|
-
const lineStatusAdapter = createComputedAccountStatusAdapter({
|
|
459
|
-
defaultRuntime: createDefaultChannelRuntimeState(DEFAULT_ACCOUNT_ID),
|
|
460
|
-
collectStatusIssues: collectLineStatusIssues,
|
|
461
|
-
buildChannelSummary: ({ snapshot }) => buildTokenChannelStatusSummary(snapshot),
|
|
462
|
-
probeAccount: async ({ account, timeoutMs }) => await (await loadLineProbeRuntime()).probeLineBot(account.channelAccessToken, timeoutMs),
|
|
463
|
-
resolveAccountSnapshot: ({ account, probe }) => ({
|
|
464
|
-
accountId: account.accountId,
|
|
465
|
-
name: account.name,
|
|
466
|
-
enabled: account.enabled,
|
|
467
|
-
configured: hasLineCredentials(account),
|
|
468
|
-
extra: {
|
|
469
|
-
tokenSource: account.tokenSource,
|
|
470
|
-
signingSecretSource: account.signingSecretSource,
|
|
471
|
-
tokenStatus: account.tokenStatus,
|
|
472
|
-
signingSecretStatus: account.signingSecretStatus,
|
|
473
|
-
mode: "webhook",
|
|
474
|
-
...probe?.quota ? { quota: probe.quota } : {}
|
|
475
|
-
}
|
|
476
|
-
})
|
|
477
|
-
});
|
|
478
|
-
//#endregion
|
|
479
665
|
//#region extensions/line/src/channel.ts
|
|
480
|
-
const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-
|
|
666
|
+
const loadLineChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-BtkeDELb.mjs"));
|
|
481
667
|
const lineSecurityAdapter = createRestrictSendersChannelSecurity({
|
|
482
668
|
channelKey: "line",
|
|
483
669
|
resolveDmPolicy: (account) => account.config.dmPolicy,
|
|
@@ -584,6 +770,7 @@ const linePlugin = createChatChannelPlugin({
|
|
|
584
770
|
}),
|
|
585
771
|
setupContract: lineSetupContract,
|
|
586
772
|
status: lineStatusAdapter,
|
|
773
|
+
doctor: lineDoctor,
|
|
587
774
|
gateway: lineGatewayAdapter,
|
|
588
775
|
heartbeat: { sendTyping: async ({ cfg, to, accountId }) => {
|
|
589
776
|
const chatId = normalizeLineMessagingTarget(to);
|
|
@@ -627,6 +814,14 @@ const linePlugin = createChatChannelPlugin({
|
|
|
627
814
|
}
|
|
628
815
|
} },
|
|
629
816
|
security: lineSecurityAdapter,
|
|
817
|
+
threading: { scopedAccountReplyToMode: {
|
|
818
|
+
resolveAccount: (cfg, accountId) => resolveLineAccount({
|
|
819
|
+
cfg,
|
|
820
|
+
accountId: accountId ?? void 0
|
|
821
|
+
}),
|
|
822
|
+
resolveReplyToMode: (account) => account.config.replyToMode,
|
|
823
|
+
fallback: "off"
|
|
824
|
+
} },
|
|
630
825
|
outbound: lineOutboundAdapter
|
|
631
826
|
});
|
|
632
827
|
//#endregion
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { a as probeLineBot } from "./send-retry-DbfiHBPd.mjs";
|
|
2
|
+
import { t as monitorLineProvider } from "./monitor-morJPcPd.mjs";
|
|
3
|
+
import { _ as showLoadingAnimation, d as pushMessageLine } from "./send-BmsHY4WC.mjs";
|
|
4
|
+
export { monitorLineProvider, probeLineBot, pushMessageLine, showLoadingAnimation };
|