@openclaw/slack 2026.7.1-beta.2 → 2026.7.1-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{account-inspect-DOtQbKkB.js → account-inspect-Di7ditqZ.js} +1 -1
- package/dist/account-inspect-api.js +1 -1
- package/dist/{accounts-BPCiCe8y.js → accounts-BOJJiHSr.js} +14 -1
- package/dist/accounts.runtime-DWvaCb-X.js +2 -0
- package/dist/{action-runtime-E9QZMf0z.js → action-runtime-DoQGk_8D.js} +36 -32
- package/dist/action-runtime.runtime-BABj3aM-.js +2 -0
- package/dist/{actions-CqRHPciJ.js → actions-DMpDmKEA.js} +211 -57
- package/dist/actions.runtime-C103_BPW.js +2 -0
- package/dist/api.js +13 -13
- package/dist/{approval-handler.runtime-BqNO_HC_.js → approval-handler.runtime-CIUbOt5T.js} +2 -2
- package/dist/{channel-jO8Jdkge.js → channel-CG29WLVd.js} +198 -87
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.setup-CDOZ8V3p.js → channel.setup-Dq6syTNU.js} +3 -3
- package/dist/{client-DG9cyk55.js → client-DGxwSL7f.js} +0 -1
- package/dist/{directory-config-DDVHDmrN.js → directory-config-BZuS8141.js} +1 -1
- package/dist/directory-contract-api.js +1 -1
- package/dist/{directory-live-DC-YA5SQ.js → directory-live-BNsxCgqP.js} +2 -2
- package/dist/format-YCNoNkM2.js +107 -0
- package/dist/http-routes-api.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{interactive-replies-D-22gTp3.js → interactive-replies-CXpT-vA_.js} +13 -2
- package/dist/interactive-replies-api.js +1 -1
- package/dist/{message-tool-api--zYyTqrR.js → message-tool-api-BgWKyu2r.js} +11 -4
- package/dist/message-tool-api.js +1 -1
- package/dist/{monitor-BQ7P93ll.js → monitor-D6Km2CFH.js} +3 -3
- package/dist/outbound-adapter-DVoBfBW5.js +272 -0
- package/dist/{pipeline.runtime-cxw6Zihc.js → pipeline.runtime-0wEFX2CS.js} +184 -260
- package/dist/{plugin-routes-B9PvcDQJ.js → plugin-routes-CLp4obpN.js} +1 -1
- package/dist/{policy-DAE6BTN3.js → policy-Dj-puVPb.js} +10 -4
- package/dist/{probe-DFKt9Ute.js → probe-CuwRDE5j.js} +10 -4
- package/dist/{provider-BdoeWKr8.js → provider-Cot8h818.js} +153 -120
- package/dist/{relay-source-OcqQzKfX.js → relay-source-CU1LhyBj.js} +2 -2
- package/dist/{replies-D_G-EPr8.js → replies-Bbx6pG_B.js} +4 -3
- package/dist/{reply-blocks-CfJqf7eq.js → reply-blocks-BGQ6zSqM.js} +184 -36
- package/dist/{resolve-channels-eniB45fy.js → resolve-channels-CstkChBE.js} +1 -1
- package/dist/{resolve-users-DDKzl37a.js → resolve-users-C3NP2c-Q.js} +1 -1
- package/dist/{runtime-api-DHJ8ntLr.js → runtime-api-CEmqYxR-.js} +1 -1
- package/dist/runtime-api.js +12 -12
- package/dist/{scopes-BdVdJxFf.js → scopes-DCWVD5-8.js} +2 -2
- package/dist/{send-Dg6U9K7_.js → send-DKDXoeoV.js} +392 -225
- package/dist/send.runtime-GPRa63l1.js +2 -0
- package/dist/{setup-core-BCGzyZhx.js → setup-core-fGd6Gquy.js} +4 -3
- package/dist/setup-entry.js +1 -1
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-D7xdZLxB.js → setup-surface-Dv2fIJNB.js} +5 -5
- package/dist/{shared-iMaNxOIL.js → shared-CosfcFri.js} +5 -5
- package/dist/{slash-dispatch.runtime-DVhs_fpQ.js → slash-dispatch.runtime-Ccm3quU1.js} +1 -1
- package/node_modules/@slack/web-api/dist/chat-stream.d.ts +6 -0
- package/node_modules/@slack/web-api/dist/chat-stream.d.ts.map +1 -1
- package/node_modules/@slack/web-api/dist/chat-stream.js +8 -0
- package/node_modules/@slack/web-api/dist/chat-stream.js.map +1 -1
- package/node_modules/@slack/web-api/dist/types/request/assistant.d.ts +1 -1
- package/node_modules/@slack/web-api/dist/types/request/assistant.d.ts.map +1 -1
- package/node_modules/@slack/web-api/package.json +1 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/assert/strict.d.ts +10 -1
- package/node_modules/@types/node/assert.d.ts +144 -17
- package/node_modules/@types/node/async_hooks.d.ts +9 -9
- package/node_modules/@types/node/buffer.d.ts +64 -30
- package/node_modules/@types/node/child_process.d.ts +17 -21
- package/node_modules/@types/node/cluster.d.ts +13 -13
- package/node_modules/@types/node/console.d.ts +1 -1
- package/node_modules/@types/node/crypto.d.ts +471 -575
- package/node_modules/@types/node/diagnostics_channel.d.ts +274 -32
- package/node_modules/@types/node/dns.d.ts +15 -15
- package/node_modules/@types/node/events.d.ts +3 -3
- package/node_modules/@types/node/ffi.d.ts +486 -0
- package/node_modules/@types/node/fs/promises.d.ts +7 -4
- package/node_modules/@types/node/fs.d.ts +24 -18
- package/node_modules/@types/node/globals.d.ts +4 -4
- package/node_modules/@types/node/http.d.ts +30 -5
- package/node_modules/@types/node/http2.d.ts +2 -1
- package/node_modules/@types/node/index.d.ts +1 -3
- package/node_modules/@types/node/inspector.d.ts +1 -1
- package/node_modules/@types/node/module.d.ts +16 -45
- package/node_modules/@types/node/net.d.ts +1 -1
- package/node_modules/@types/node/os.d.ts +2 -2
- package/node_modules/@types/node/package.json +4 -4
- package/node_modules/@types/node/perf_hooks.d.ts +1 -9
- package/node_modules/@types/node/process.d.ts +25 -12
- package/node_modules/@types/node/quic.d.ts +92 -11
- package/node_modules/@types/node/readline.d.ts +12 -11
- package/node_modules/@types/node/repl.d.ts +10 -10
- package/node_modules/@types/node/sqlite.d.ts +56 -1
- package/node_modules/@types/node/stream/iter.d.ts +150 -0
- package/node_modules/@types/node/stream/promises.d.ts +2 -2
- package/node_modules/@types/node/stream/web.d.ts +1 -1
- package/node_modules/@types/node/stream.d.ts +37 -5
- package/node_modules/@types/node/test/reporters.d.ts +1 -1
- package/node_modules/@types/node/test.d.ts +120 -10
- package/node_modules/@types/node/tls.d.ts +1 -1
- package/node_modules/@types/node/ts5.6/index.d.ts +2 -4
- package/node_modules/@types/node/ts5.7/index.d.ts +1 -3
- package/node_modules/@types/node/url.d.ts +3 -3
- package/node_modules/@types/node/util/types.d.ts +1 -1
- package/node_modules/@types/node/util.d.ts +22 -22
- package/node_modules/@types/node/v8.d.ts +85 -3
- package/node_modules/@types/node/vm.d.ts +9 -9
- package/node_modules/@types/node/web-globals/domexception.d.ts +15 -0
- package/node_modules/@types/node/worker_threads.d.ts +10 -12
- package/node_modules/@types/node/zlib.d.ts +3 -3
- package/node_modules/body-parser/README.md +16 -1
- package/node_modules/body-parser/index.js +4 -20
- package/node_modules/body-parser/lib/read.js +17 -17
- package/node_modules/body-parser/lib/types/json.js +60 -32
- package/node_modules/body-parser/lib/types/raw.js +3 -3
- package/node_modules/body-parser/lib/types/text.js +3 -3
- package/node_modules/body-parser/lib/types/urlencoded.js +16 -20
- package/node_modules/body-parser/lib/utils.js +18 -16
- package/node_modules/body-parser/node_modules/content-type/LICENSE +22 -0
- package/node_modules/body-parser/node_modules/content-type/README.md +69 -0
- package/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +26 -0
- package/node_modules/body-parser/node_modules/content-type/dist/index.js +170 -0
- package/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/body-parser/node_modules/content-type/package.json +52 -0
- package/node_modules/body-parser/package.json +23 -10
- package/node_modules/range-parser/README.md +13 -12
- package/node_modules/range-parser/index.js +27 -8
- package/node_modules/range-parser/package.json +12 -8
- package/node_modules/semver/classes/range.js +6 -2
- package/node_modules/semver/package.json +1 -1
- package/node_modules/side-channel/CHANGELOG.md +10 -0
- package/node_modules/side-channel/README.md +1 -1
- package/node_modules/side-channel/index.js +5 -2
- package/node_modules/side-channel/package.json +10 -10
- package/node_modules/side-channel/test/index.js +16 -0
- package/node_modules/typebox/build/compile/validator.d.mts +2 -7
- package/node_modules/typebox/build/compile/validator.mjs +6 -36
- package/node_modules/typebox/build/error/errors.d.mts +1 -7
- package/node_modules/typebox/build/format/_idna.mjs +36 -6
- package/node_modules/typebox/build/format/_puny.mjs +4 -1
- package/node_modules/typebox/build/format/uuid.d.mts +2 -2
- package/node_modules/typebox/build/format/uuid.mjs +3 -3
- package/node_modules/typebox/build/guard/emit.d.mts +0 -4
- package/node_modules/typebox/build/guard/emit.mjs +0 -8
- package/node_modules/typebox/build/guard/guard.d.mts +4 -8
- package/node_modules/typebox/build/guard/guard.mjs +5 -13
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
- package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
- package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
- package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/types/index.mjs +0 -1
- package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
- package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
- package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
- package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
- package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
- package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
- package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
- package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
- package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
- package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
- package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
- package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
- package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
- package/node_modules/typebox/build/type/action/index.d.mts +7 -4
- package/node_modules/typebox/build/type/action/index.mjs +7 -4
- package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
- package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
- package/node_modules/typebox/build/type/action/module.d.mts +8 -7
- package/node_modules/typebox/build/type/action/module.mjs +7 -6
- package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
- package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
- package/node_modules/typebox/build/type/action/with.d.mts +11 -0
- package/node_modules/typebox/build/type/action/with.mjs +11 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
- package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
- package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
- package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
- package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
- package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
- package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/index.mjs +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
- package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
- package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
- package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
- package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
- package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
- package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
- package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
- package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
- package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
- package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
- package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
- package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
- package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
- package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
- package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
- package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
- package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
- package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
- package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
- package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
- package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
- package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
- package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
- package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
- package/node_modules/typebox/build/type/extends/object.mjs +25 -3
- package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
- package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
- package/node_modules/typebox/build/type/extends/record.mjs +23 -0
- package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
- package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
- package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
- package/node_modules/typebox/build/type/extends/union.mjs +2 -2
- package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
- package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
- package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
- package/node_modules/typebox/build/type/script/parser.mjs +22 -22
- package/node_modules/typebox/build/type/script/script.d.mts +3 -4
- package/node_modules/typebox/build/type/script/script.mjs +3 -2
- package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
- package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
- package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
- package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
- package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
- package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
- package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
- package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
- package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
- package/node_modules/typebox/build/type/types/call.d.mts +3 -3
- package/node_modules/typebox/build/type/types/call.mjs +3 -2
- package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
- package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
- package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
- package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
- package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
- package/node_modules/typebox/build/type/types/enum.mjs +5 -0
- package/node_modules/typebox/build/type/types/index.d.mts +1 -4
- package/node_modules/typebox/build/type/types/index.mjs +1 -4
- package/node_modules/typebox/build/type/types/number.d.mts +1 -1
- package/node_modules/typebox/build/type/types/number.mjs +1 -1
- package/node_modules/typebox/build/type/types/record.d.mts +13 -7
- package/node_modules/typebox/build/type/types/record.mjs +15 -9
- package/node_modules/typebox/build/type/types/static.d.mts +2 -5
- package/node_modules/typebox/build/typebox.d.mts +4 -8
- package/node_modules/typebox/build/typebox.mjs +4 -8
- package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
- package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
- package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
- package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
- package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
- package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
- package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
- package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
- package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
- package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
- package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
- package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
- package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/index.d.mts +0 -1
- package/node_modules/typebox/build/value/index.mjs +0 -1
- package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
- package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
- package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
- package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
- package/node_modules/typebox/build/value/value.d.mts +0 -1
- package/node_modules/typebox/build/value/value.mjs +0 -1
- package/node_modules/typebox/package.json +25 -25
- package/node_modules/typebox/readme.md +97 -80
- package/node_modules/undici-types/agent.d.ts +0 -2
- package/node_modules/undici-types/client.d.ts +25 -19
- package/node_modules/undici-types/dispatcher.d.ts +7 -33
- package/node_modules/undici-types/dispatcher1-wrapper.d.ts +7 -0
- package/node_modules/undici-types/fetch.d.ts +24 -4
- package/node_modules/undici-types/h2c-client.d.ts +6 -6
- package/node_modules/undici-types/handlers.d.ts +1 -2
- package/node_modules/undici-types/header.d.ts +5 -0
- package/node_modules/undici-types/index.d.ts +3 -1
- package/node_modules/undici-types/interceptors.d.ts +1 -1
- package/node_modules/undici-types/package.json +1 -1
- package/node_modules/undici-types/pool.d.ts +0 -2
- package/node_modules/undici-types/proxy-agent.d.ts +2 -2
- package/node_modules/undici-types/round-robin-pool.d.ts +0 -2
- package/node_modules/undici-types/snapshot-agent.d.ts +4 -0
- package/node_modules/undici-types/socks5-proxy-agent.d.ts +2 -2
- package/node_modules/undici-types/webidl.d.ts +0 -1
- package/npm-shrinkwrap.json +55 -56
- package/openclaw.plugin.json +46 -0
- package/package.json +6 -6
- package/dist/accounts.runtime-CgWgzjLX.js +0 -2
- package/dist/action-runtime.runtime-BQrVgSOq.js +0 -2
- package/dist/actions.runtime-Dl6AfO_g.js +0 -2
- package/dist/errors-CZtmv-h0.js +0 -107
- package/dist/outbound-adapter-BHUtpXz0.js +0 -188
- package/dist/send.runtime-a-O4PP2B.js +0 -2
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/LICENSE +0 -21
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/README.md +0 -15
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/assert/strict.d.ts +0 -59
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/assert.d.ts +0 -950
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/async_hooks.d.ts +0 -711
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/buffer.buffer.d.ts +0 -466
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/buffer.d.ts +0 -1765
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/child_process.d.ts +0 -1366
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/cluster.d.ts +0 -432
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/console.d.ts +0 -93
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/constants.d.ts +0 -14
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/crypto.d.ts +0 -4058
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/dgram.d.ts +0 -537
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/diagnostics_channel.d.ts +0 -552
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/dns/promises.d.ts +0 -497
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/dns.d.ts +0 -876
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/domain.d.ts +0 -150
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/events.d.ts +0 -1008
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/fs/promises.d.ts +0 -1468
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/fs.d.ts +0 -4780
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/globals.d.ts +0 -150
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/globals.typedarray.d.ts +0 -101
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/http.d.ts +0 -2147
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/http2.d.ts +0 -2485
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/https.d.ts +0 -400
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/index.d.ts +0 -117
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/inspector/promises.d.ts +0 -35
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/inspector.d.ts +0 -264
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/inspector.generated.d.ts +0 -4406
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/module.d.ts +0 -755
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/net.d.ts +0 -970
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/os.d.ts +0 -498
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/package.json +0 -155
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/path/posix.d.ts +0 -8
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/path/win32.d.ts +0 -8
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/path.d.ts +0 -178
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/perf_hooks.d.ts +0 -612
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/process.d.ts +0 -2204
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/punycode.d.ts +0 -89
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/querystring.d.ts +0 -139
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/quic.d.ts +0 -897
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/readline/promises.d.ts +0 -158
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/readline.d.ts +0 -507
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/repl.d.ts +0 -420
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/sea.d.ts +0 -47
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/sqlite.d.ts +0 -1068
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/consumers.d.ts +0 -114
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/iter.d.ts +0 -301
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/promises.d.ts +0 -211
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/web.d.ts +0 -300
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream.d.ts +0 -1774
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/string_decoder.d.ts +0 -27
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/test/reporters.d.ts +0 -59
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/test.d.ts +0 -2279
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/timers/promises.d.ts +0 -93
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/timers.d.ts +0 -149
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/tls.d.ts +0 -1193
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/trace_events.d.ts +0 -103
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/index.d.ts +0 -119
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.7/index.d.ts +0 -119
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/tty.d.ts +0 -225
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/url.d.ts +0 -556
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/util/types.d.ts +0 -558
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/util.d.ts +0 -1677
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/v8.d.ts +0 -980
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/vm.d.ts +0 -1136
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/wasi.d.ts +0 -131
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/blob.d.ts +0 -23
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/console.d.ts +0 -9
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/events.d.ts +0 -106
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/performance.d.ts +0 -45
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/storage.d.ts +0 -24
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/streams.d.ts +0 -115
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/timers.d.ts +0 -44
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/url.d.ts +0 -24
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/worker_threads.d.ts +0 -671
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/zlib/iter.d.ts +0 -131
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/zlib.d.ts +0 -589
- package/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
- package/node_modules/@types/ws/node_modules/@types/node/LICENSE +0 -21
- package/node_modules/@types/ws/node_modules/@types/node/README.md +0 -15
- package/node_modules/@types/ws/node_modules/@types/node/assert/strict.d.ts +0 -59
- package/node_modules/@types/ws/node_modules/@types/node/assert.d.ts +0 -950
- package/node_modules/@types/ws/node_modules/@types/node/async_hooks.d.ts +0 -711
- package/node_modules/@types/ws/node_modules/@types/node/buffer.buffer.d.ts +0 -466
- package/node_modules/@types/ws/node_modules/@types/node/buffer.d.ts +0 -1765
- package/node_modules/@types/ws/node_modules/@types/node/child_process.d.ts +0 -1366
- package/node_modules/@types/ws/node_modules/@types/node/cluster.d.ts +0 -432
- package/node_modules/@types/ws/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
- package/node_modules/@types/ws/node_modules/@types/node/console.d.ts +0 -93
- package/node_modules/@types/ws/node_modules/@types/node/constants.d.ts +0 -14
- package/node_modules/@types/ws/node_modules/@types/node/crypto.d.ts +0 -4058
- package/node_modules/@types/ws/node_modules/@types/node/dgram.d.ts +0 -537
- package/node_modules/@types/ws/node_modules/@types/node/diagnostics_channel.d.ts +0 -552
- package/node_modules/@types/ws/node_modules/@types/node/dns/promises.d.ts +0 -497
- package/node_modules/@types/ws/node_modules/@types/node/dns.d.ts +0 -876
- package/node_modules/@types/ws/node_modules/@types/node/domain.d.ts +0 -150
- package/node_modules/@types/ws/node_modules/@types/node/events.d.ts +0 -1008
- package/node_modules/@types/ws/node_modules/@types/node/fs/promises.d.ts +0 -1468
- package/node_modules/@types/ws/node_modules/@types/node/fs.d.ts +0 -4780
- package/node_modules/@types/ws/node_modules/@types/node/globals.d.ts +0 -150
- package/node_modules/@types/ws/node_modules/@types/node/globals.typedarray.d.ts +0 -101
- package/node_modules/@types/ws/node_modules/@types/node/http.d.ts +0 -2147
- package/node_modules/@types/ws/node_modules/@types/node/http2.d.ts +0 -2485
- package/node_modules/@types/ws/node_modules/@types/node/https.d.ts +0 -400
- package/node_modules/@types/ws/node_modules/@types/node/index.d.ts +0 -117
- package/node_modules/@types/ws/node_modules/@types/node/inspector/promises.d.ts +0 -35
- package/node_modules/@types/ws/node_modules/@types/node/inspector.d.ts +0 -264
- package/node_modules/@types/ws/node_modules/@types/node/inspector.generated.d.ts +0 -4406
- package/node_modules/@types/ws/node_modules/@types/node/module.d.ts +0 -755
- package/node_modules/@types/ws/node_modules/@types/node/net.d.ts +0 -970
- package/node_modules/@types/ws/node_modules/@types/node/os.d.ts +0 -498
- package/node_modules/@types/ws/node_modules/@types/node/package.json +0 -155
- package/node_modules/@types/ws/node_modules/@types/node/path/posix.d.ts +0 -8
- package/node_modules/@types/ws/node_modules/@types/node/path/win32.d.ts +0 -8
- package/node_modules/@types/ws/node_modules/@types/node/path.d.ts +0 -178
- package/node_modules/@types/ws/node_modules/@types/node/perf_hooks.d.ts +0 -612
- package/node_modules/@types/ws/node_modules/@types/node/process.d.ts +0 -2204
- package/node_modules/@types/ws/node_modules/@types/node/punycode.d.ts +0 -89
- package/node_modules/@types/ws/node_modules/@types/node/querystring.d.ts +0 -139
- package/node_modules/@types/ws/node_modules/@types/node/quic.d.ts +0 -897
- package/node_modules/@types/ws/node_modules/@types/node/readline/promises.d.ts +0 -158
- package/node_modules/@types/ws/node_modules/@types/node/readline.d.ts +0 -507
- package/node_modules/@types/ws/node_modules/@types/node/repl.d.ts +0 -420
- package/node_modules/@types/ws/node_modules/@types/node/sea.d.ts +0 -47
- package/node_modules/@types/ws/node_modules/@types/node/sqlite.d.ts +0 -1068
- package/node_modules/@types/ws/node_modules/@types/node/stream/consumers.d.ts +0 -114
- package/node_modules/@types/ws/node_modules/@types/node/stream/iter.d.ts +0 -301
- package/node_modules/@types/ws/node_modules/@types/node/stream/promises.d.ts +0 -211
- package/node_modules/@types/ws/node_modules/@types/node/stream/web.d.ts +0 -300
- package/node_modules/@types/ws/node_modules/@types/node/stream.d.ts +0 -1774
- package/node_modules/@types/ws/node_modules/@types/node/string_decoder.d.ts +0 -27
- package/node_modules/@types/ws/node_modules/@types/node/test/reporters.d.ts +0 -59
- package/node_modules/@types/ws/node_modules/@types/node/test.d.ts +0 -2279
- package/node_modules/@types/ws/node_modules/@types/node/timers/promises.d.ts +0 -93
- package/node_modules/@types/ws/node_modules/@types/node/timers.d.ts +0 -149
- package/node_modules/@types/ws/node_modules/@types/node/tls.d.ts +0 -1193
- package/node_modules/@types/ws/node_modules/@types/node/trace_events.d.ts +0 -103
- package/node_modules/@types/ws/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
- package/node_modules/@types/ws/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
- package/node_modules/@types/ws/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
- package/node_modules/@types/ws/node_modules/@types/node/ts5.6/index.d.ts +0 -119
- package/node_modules/@types/ws/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
- package/node_modules/@types/ws/node_modules/@types/node/ts5.7/index.d.ts +0 -119
- package/node_modules/@types/ws/node_modules/@types/node/tty.d.ts +0 -225
- package/node_modules/@types/ws/node_modules/@types/node/url.d.ts +0 -556
- package/node_modules/@types/ws/node_modules/@types/node/util/types.d.ts +0 -558
- package/node_modules/@types/ws/node_modules/@types/node/util.d.ts +0 -1677
- package/node_modules/@types/ws/node_modules/@types/node/v8.d.ts +0 -980
- package/node_modules/@types/ws/node_modules/@types/node/vm.d.ts +0 -1136
- package/node_modules/@types/ws/node_modules/@types/node/wasi.d.ts +0 -131
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/blob.d.ts +0 -23
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/console.d.ts +0 -9
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/events.d.ts +0 -106
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/performance.d.ts +0 -45
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/storage.d.ts +0 -24
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/streams.d.ts +0 -115
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/timers.d.ts +0 -44
- package/node_modules/@types/ws/node_modules/@types/node/web-globals/url.d.ts +0 -24
- package/node_modules/@types/ws/node_modules/@types/node/worker_threads.d.ts +0 -671
- package/node_modules/@types/ws/node_modules/@types/node/zlib/iter.d.ts +0 -131
- package/node_modules/@types/ws/node_modules/@types/node/zlib.d.ts +0 -589
- package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
- package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
- package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
- package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
- package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
- package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
- package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
- package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
- package/node_modules/typebox/build/type/action/options.d.mts +0 -11
- package/node_modules/typebox/build/type/action/options.mjs +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
- package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
- package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
- package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/base.d.mts +0 -50
- package/node_modules/typebox/build/type/types/base.mjs +0 -84
- package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
- package/node_modules/typebox/build/type/types/promise.mjs +0 -29
- package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
- package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
- package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
- package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
- package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
- package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
- package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
- package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
- package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
- package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
- package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
- package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
- package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { u as resolveSlackReplyToMode } from "./accounts-BOJJiHSr.js";
|
|
2
2
|
import { r as parseSlackTarget } from "./target-parsing-3jYH8LfB.js";
|
|
3
3
|
import "./targets-Dll4NJgs.js";
|
|
4
|
-
import { a as SLACK_TEXT_LIMIT,
|
|
5
|
-
import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-
|
|
4
|
+
import { a as SLACK_TEXT_LIMIT, b as truncateSlackText, c as formatSlackError, d as normalizeAllowListLower, f as normalizeSlackAllowOwnerEntry, m as resolveSlackAllowListMatch } from "./reply-blocks-BGQ6zSqM.js";
|
|
5
|
+
import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-CXpT-vA_.js";
|
|
6
6
|
import { n as resolveSlackNativeStreaming, r as resolveSlackStreamingMode, t as mapStreamingModeToSlackLegacyDraftStreamMode } from "./streaming-compat-DjlgH-Be.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { C as stripSlackMentionsForCommandDetection, _ as readSessionUpdatedAt, b as resolveStorePath, c as recordInboundSession, d as resolveSlackCommandIngress, f as resolveSlackEffectiveAllowFrom, g as resolveSlackChatType, h as normalizeSlackChannelType, i as authorizeSlackDirectMessage, l as resolveConversationLabel$1, m as parseSlackAssistantThreadMetadata, p as buildSlackAssistantThreadMetadata, r as resolveSlackRoomContextHints, s as escapeSlackMrkdwn, u as authorizeSlackBotRoomMessage, v as resolveChannelContextVisibilityMode, x as updateLastRoute, y as resolveChannelResetConfig } from "./provider-
|
|
11
|
-
import { n as resolveSlackChannelConfig } from "./policy-
|
|
12
|
-
import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, s as emitSlackMessageSentHooks, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
13
|
-
import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString
|
|
7
|
+
import { c as recordSlackThreadParticipation, r as sendMessageSlack, s as hasSlackThreadParticipationWithPersistence } from "./send-DKDXoeoV.js";
|
|
8
|
+
import { C as buildSlackEditTextPayload, S as formatSlackFileReference, _ as resolveSlackThreadHistory, b as resolveSlackBlocksText, f as removeSlackReaction, l as reactSlackMessage, r as editSlackMessage, t as deleteSlackMessage, v as resolveSlackThreadStarter, y as chooseSlackPrimaryText } from "./actions-DMpDmKEA.js";
|
|
9
|
+
import { n as normalizeSlackOutboundText } from "./format-YCNoNkM2.js";
|
|
10
|
+
import { C as stripSlackMentionsForCommandDetection, _ as readSessionUpdatedAt, b as resolveStorePath, c as recordInboundSession, d as resolveSlackCommandIngress, f as resolveSlackEffectiveAllowFrom, g as resolveSlackChatType, h as normalizeSlackChannelType, i as authorizeSlackDirectMessage, l as resolveConversationLabel$1, m as parseSlackAssistantThreadMetadata, p as buildSlackAssistantThreadMetadata, r as resolveSlackRoomContextHints, s as escapeSlackMrkdwn, u as authorizeSlackBotRoomMessage, v as resolveChannelContextVisibilityMode, x as updateLastRoute, y as resolveChannelResetConfig } from "./provider-Cot8h818.js";
|
|
11
|
+
import { n as resolveSlackChannelConfig } from "./policy-Dj-puVPb.js";
|
|
12
|
+
import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, s as emitSlackMessageSentHooks, t as createSlackReplyDeliveryPlan } from "./replies-Bbx6pG_B.js";
|
|
13
|
+
import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
14
14
|
import { resolveAgentRoute, resolveInboundLastRouteSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
|
|
15
15
|
import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, createChannelMessageReplyPipeline, createChannelProgressDraftGate, createDraftStreamLoop, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, mergeChannelProgressDraftLine, resolveAgentOutboundIdentity, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelProgressDraftConfig, resolveChannelProgressDraftMaxLineChars, resolveChannelProgressDraftMaxLines, resolveChannelProgressDraftRender, resolveChannelStreamingBlockEnabled, resolveChannelStreamingNativeTransport, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-outbound";
|
|
16
16
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
17
|
+
import { danger, logVerbose, shouldLogVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
17
18
|
import { stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
|
|
19
|
+
import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
18
20
|
import { createHash } from "node:crypto";
|
|
19
|
-
import { danger, logVerbose, shouldLogVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
20
21
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
21
22
|
import { asDateTimestampMs, asFiniteNumberInRange, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
|
|
22
23
|
import { buildTtsSupplementMediaPayload, getReplyPayloadTtsSupplement, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
@@ -336,14 +337,22 @@ var SlackStreamNotDeliveredError = class extends Error {
|
|
|
336
337
|
* The first chunk of text can optionally be included via `text`.
|
|
337
338
|
*/
|
|
338
339
|
async function startSlackStream(params) {
|
|
339
|
-
const { client, channel, threadTs, text, chunks, taskDisplayMode, teamId, userId } = params;
|
|
340
|
+
const { client, channel, threadTs, text, chunks, taskDisplayMode, teamId, userId, identity } = params;
|
|
341
|
+
const identityPayload = identity?.iconUrl ? {
|
|
342
|
+
...identity.username ? { username: identity.username } : {},
|
|
343
|
+
icon_url: identity.iconUrl
|
|
344
|
+
} : identity?.iconEmoji ? {
|
|
345
|
+
...identity.username ? { username: identity.username } : {},
|
|
346
|
+
icon_emoji: identity.iconEmoji
|
|
347
|
+
} : identity?.username ? { username: identity.username } : {};
|
|
340
348
|
logVerbose(`slack-stream: starting stream in ${channel} thread=${threadTs}${teamId ? ` team=${teamId}` : ""}${userId ? ` user=${userId}` : ""}`);
|
|
341
349
|
const streamer = client.chatStream({
|
|
342
350
|
channel,
|
|
343
351
|
thread_ts: threadTs,
|
|
344
352
|
...taskDisplayMode ? { task_display_mode: taskDisplayMode } : {},
|
|
345
353
|
...teamId ? { recipient_team_id: teamId } : {},
|
|
346
|
-
...userId ? { recipient_user_id: userId } : {}
|
|
354
|
+
...userId ? { recipient_user_id: userId } : {},
|
|
355
|
+
...identityPayload
|
|
347
356
|
});
|
|
348
357
|
const session = {
|
|
349
358
|
streamer,
|
|
@@ -441,9 +450,10 @@ async function stopSlackStream(params) {
|
|
|
441
450
|
const messageId = stopResponse?.ts ?? stopResponse?.message?.ts;
|
|
442
451
|
return messageId ? { messageId } : {};
|
|
443
452
|
} catch (err) {
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
453
|
+
const code = extractSlackErrorCode(err) ?? "unknown";
|
|
454
|
+
const benignFinalizeError = isBenignSlackFinalizeError(err);
|
|
455
|
+
if (session.pendingText && (benignFinalizeError || code === "missing_scope")) throw new SlackStreamNotDeliveredError(session.pendingText, code);
|
|
456
|
+
if (benignFinalizeError) {
|
|
447
457
|
if (session.delivered) {
|
|
448
458
|
logVerbose(`slack-stream: finalize rejected by Slack (${code}); prior appends delivered, treating stream as stopped`);
|
|
449
459
|
return {};
|
|
@@ -460,7 +470,7 @@ async function stopSlackStream(params) {
|
|
|
460
470
|
* {@link SlackStreamNotDeliveredError}) or, if prior appends already
|
|
461
471
|
* delivered text, the error is logged verbosely and swallowed.
|
|
462
472
|
*/
|
|
463
|
-
const BENIGN_SLACK_FINALIZE_ERROR_CODES = new Set([
|
|
473
|
+
const BENIGN_SLACK_FINALIZE_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
464
474
|
"user_not_found",
|
|
465
475
|
"team_not_found",
|
|
466
476
|
"missing_recipient_user_id",
|
|
@@ -604,33 +614,15 @@ function resolveSlackTimestampMs(ts) {
|
|
|
604
614
|
}
|
|
605
615
|
//#endregion
|
|
606
616
|
//#region extensions/slack/src/monitor/message-handler/dispatch.ts
|
|
607
|
-
const UNICODE_TO_SLACK = {
|
|
608
|
-
"👀": "eyes",
|
|
609
|
-
"🤔": "thinking_face",
|
|
610
|
-
"🔥": "fire",
|
|
611
|
-
"👨💻": "male-technologist",
|
|
612
|
-
"👨💻": "male-technologist",
|
|
613
|
-
"👩💻": "female-technologist",
|
|
614
|
-
"⚡": "zap",
|
|
615
|
-
"🌐": "globe_with_meridians",
|
|
616
|
-
"✅": "white_check_mark",
|
|
617
|
-
"👍": "thumbsup",
|
|
618
|
-
"❌": "x",
|
|
619
|
-
"😱": "scream",
|
|
620
|
-
"🥱": "yawning_face",
|
|
621
|
-
"😨": "fearful",
|
|
622
|
-
"⏳": "hourglass_flowing_sand",
|
|
623
|
-
"⚠️": "warning",
|
|
624
|
-
"✍": "writing_hand",
|
|
625
|
-
"🗜️": "compression",
|
|
626
|
-
"🗜": "compression",
|
|
627
|
-
"🧠": "brain",
|
|
628
|
-
"🛠️": "hammer_and_wrench",
|
|
629
|
-
"💻": "computer"
|
|
630
|
-
};
|
|
631
617
|
const SLACK_REASONING_TAG_RE = /<\s*(\/?)\s*(?:(?:antml:|mm:)?(?:think(?:ing)?|thought)|antthinking)\b[^<>]*>/gi;
|
|
632
618
|
const SLACK_REASONING_LABEL_PREFIX_RE = /^\s*(?:>\s*)?Reasoning:\s*/iu;
|
|
633
619
|
const SLACK_THINKING_LABEL_PREFIX_RE = /^\s*(?:>\s*)?Thinking\.{0,3}(?=\s*(?:\n|_))/iu;
|
|
620
|
+
const SLACK_THREAD_LOADING_MESSAGES = [
|
|
621
|
+
"Reading the thread...",
|
|
622
|
+
"Checking context...",
|
|
623
|
+
"Working through the request...",
|
|
624
|
+
"Putting it all together..."
|
|
625
|
+
];
|
|
634
626
|
function resolveSlackMessageTimestampMs(message) {
|
|
635
627
|
return resolveSlackTimestampMs(message.event_ts ?? message.ts);
|
|
636
628
|
}
|
|
@@ -650,12 +642,6 @@ function resolveSlackBotLoopProtection(prepared) {
|
|
|
650
642
|
nowMs: resolveSlackMessageTimestampMs(prepared.message)
|
|
651
643
|
};
|
|
652
644
|
}
|
|
653
|
-
function toSlackEmojiName(emoji) {
|
|
654
|
-
let trimmed = emoji.trim();
|
|
655
|
-
while (trimmed.startsWith(":")) trimmed = trimmed.slice(1);
|
|
656
|
-
while (trimmed.endsWith(":")) trimmed = trimmed.slice(0, -1);
|
|
657
|
-
return UNICODE_TO_SLACK[trimmed] ?? trimmed;
|
|
658
|
-
}
|
|
659
645
|
function isSlackStreamingEnabled(params) {
|
|
660
646
|
if (params.mode === "partial") return params.nativeStreaming;
|
|
661
647
|
if (params.mode === "progress") return params.nativeStreaming && params.nativeProgressTaskCards === true;
|
|
@@ -869,10 +855,10 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
869
855
|
const messageTs = message.ts ?? message.event_ts;
|
|
870
856
|
const incomingThreadTs = message.thread_ts;
|
|
871
857
|
let didSetStatus = false;
|
|
872
|
-
const statusReactionsEnabled = Boolean(prepared.ackReactionPromise) && Boolean(reactionMessageTs) && cfg.messages?.statusReactions?.enabled
|
|
858
|
+
const statusReactionsEnabled = prepared.ctxPayload.InboundEventKind !== "room_event" && Boolean(prepared.ackReactionPromise) && Boolean(reactionMessageTs) && cfg.messages?.statusReactions?.enabled === true;
|
|
873
859
|
const slackStatusAdapter = {
|
|
874
860
|
setReaction: async (emoji) => {
|
|
875
|
-
await reactSlackMessage(message.channel, reactionMessageTs ?? "",
|
|
861
|
+
await reactSlackMessage(message.channel, reactionMessageTs ?? "", emoji, {
|
|
876
862
|
token: ctx.botToken,
|
|
877
863
|
client: ctx.app.client
|
|
878
864
|
}).catch((err) => {
|
|
@@ -881,7 +867,7 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
881
867
|
});
|
|
882
868
|
},
|
|
883
869
|
removeReaction: async (emoji) => {
|
|
884
|
-
await removeSlackReaction(message.channel, reactionMessageTs ?? "",
|
|
870
|
+
await removeSlackReaction(message.channel, reactionMessageTs ?? "", emoji, {
|
|
885
871
|
token: ctx.botToken,
|
|
886
872
|
client: ctx.app.client
|
|
887
873
|
}).catch((err) => {
|
|
@@ -938,7 +924,8 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
938
924
|
await ctx.setSlackThreadStatus({
|
|
939
925
|
channelId: message.channel,
|
|
940
926
|
threadTs: statusThreadTs,
|
|
941
|
-
status: "is typing..."
|
|
927
|
+
status: "is typing...",
|
|
928
|
+
loadingMessages: SLACK_THREAD_LOADING_MESSAGES
|
|
942
929
|
});
|
|
943
930
|
if (typingReaction && message.ts) await reactSlackMessage(message.channel, message.ts, typingReaction, {
|
|
944
931
|
token: ctx.botToken,
|
|
@@ -989,15 +976,16 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
989
976
|
isThreadReply
|
|
990
977
|
});
|
|
991
978
|
const previewStreamingEnabled = !sourceRepliesAreToolOnly && shouldEnableSlackPreviewStreaming({ mode: slackStreaming.mode });
|
|
979
|
+
const hasSlackCustomIdentity = Boolean(slackIdentity?.username || slackIdentity?.iconUrl || slackIdentity?.iconEmoji);
|
|
992
980
|
const useStreaming = shouldUseStreaming({
|
|
993
|
-
streamingEnabled: !
|
|
981
|
+
streamingEnabled: !sourceRepliesAreToolOnly && isSlackStreamingEnabled({
|
|
994
982
|
mode: slackStreaming.mode,
|
|
995
983
|
nativeStreaming: slackStreaming.nativeStreaming,
|
|
996
984
|
nativeProgressTaskCards: resolveSlackNativeProgressTaskCards(account.config)
|
|
997
985
|
}),
|
|
998
986
|
threadTs: streamThreadHint
|
|
999
987
|
});
|
|
1000
|
-
const shouldUseDraftStream = shouldInitializeSlackDraftStream({
|
|
988
|
+
const shouldUseDraftStream = !hasSlackCustomIdentity && shouldInitializeSlackDraftStream({
|
|
1001
989
|
previewStreamingEnabled,
|
|
1002
990
|
useStreaming
|
|
1003
991
|
});
|
|
@@ -1266,6 +1254,7 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1266
1254
|
channel: message.channel,
|
|
1267
1255
|
threadTs: streamThreadTs,
|
|
1268
1256
|
text,
|
|
1257
|
+
...slackIdentity ? { identity: slackIdentity } : {},
|
|
1269
1258
|
teamId: await resolveSlackStreamRecipientTeamId({
|
|
1270
1259
|
client: ctx.app.client,
|
|
1271
1260
|
token: ctx.botToken,
|
|
@@ -1646,6 +1635,7 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1646
1635
|
threadTs: streamThreadTs,
|
|
1647
1636
|
chunks,
|
|
1648
1637
|
taskDisplayMode: "plan",
|
|
1638
|
+
...slackIdentity ? { identity: slackIdentity } : {},
|
|
1649
1639
|
teamId: await resolveSlackStreamRecipientTeamId({
|
|
1650
1640
|
client: ctx.app.client,
|
|
1651
1641
|
token: ctx.botToken,
|
|
@@ -2031,7 +2021,7 @@ function toLintErrorObject(value, fallbackMessage) {
|
|
|
2031
2021
|
const SLACK_MENTION_RESOLUTION_CONCURRENCY = 4;
|
|
2032
2022
|
const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
|
|
2033
2023
|
const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
|
|
2034
|
-
const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-
|
|
2024
|
+
const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-DMpDmKEA.js").then((n) => n.g));
|
|
2035
2025
|
function collectUniqueSlackMentionIds$1(texts) {
|
|
2036
2026
|
const seen = /* @__PURE__ */ new Set();
|
|
2037
2027
|
const mentionIds = [];
|
|
@@ -2054,121 +2044,6 @@ function renderSlackUserMentions(text, renderedMentions) {
|
|
|
2054
2044
|
return renderedMentions.get(userId) ?? full;
|
|
2055
2045
|
});
|
|
2056
2046
|
}
|
|
2057
|
-
function readTextObject(value) {
|
|
2058
|
-
if (!value || typeof value !== "object") return;
|
|
2059
|
-
return normalizeOptionalString(readStringValue(value.text));
|
|
2060
|
-
}
|
|
2061
|
-
function renderSlackRichTextLeaf(element) {
|
|
2062
|
-
switch (element.type) {
|
|
2063
|
-
case "text": return readStringValue(element.text) ?? "";
|
|
2064
|
-
case "link": return readStringValue(element.text) ?? readStringValue(element.url) ?? "";
|
|
2065
|
-
case "user": {
|
|
2066
|
-
const userId = readStringValue(element.user_id);
|
|
2067
|
-
return userId ? `<@${userId}>` : "";
|
|
2068
|
-
}
|
|
2069
|
-
case "channel": {
|
|
2070
|
-
const channelId = readStringValue(element.channel_id);
|
|
2071
|
-
return channelId ? `<#${channelId}>` : "";
|
|
2072
|
-
}
|
|
2073
|
-
case "usergroup": {
|
|
2074
|
-
const usergroupId = readStringValue(element.usergroup_id);
|
|
2075
|
-
return usergroupId ? `<!subteam^${usergroupId}>` : "";
|
|
2076
|
-
}
|
|
2077
|
-
case "broadcast": {
|
|
2078
|
-
const range = readStringValue(element.range);
|
|
2079
|
-
return range ? `<!${range}>` : "";
|
|
2080
|
-
}
|
|
2081
|
-
case "emoji": {
|
|
2082
|
-
const name = readStringValue(element.name);
|
|
2083
|
-
return name ? `:${name}:` : "";
|
|
2084
|
-
}
|
|
2085
|
-
default: return "";
|
|
2086
|
-
}
|
|
2087
|
-
}
|
|
2088
|
-
function renderSlackRichTextElements(elements) {
|
|
2089
|
-
if (!Array.isArray(elements)) return "";
|
|
2090
|
-
const parts = [];
|
|
2091
|
-
for (const rawElement of elements) {
|
|
2092
|
-
if (!rawElement || typeof rawElement !== "object") continue;
|
|
2093
|
-
const element = rawElement;
|
|
2094
|
-
switch (element.type) {
|
|
2095
|
-
case "rich_text_section":
|
|
2096
|
-
case "rich_text_preformatted":
|
|
2097
|
-
case "rich_text_quote":
|
|
2098
|
-
parts.push(renderSlackRichTextElements(element.elements));
|
|
2099
|
-
break;
|
|
2100
|
-
case "rich_text_list": {
|
|
2101
|
-
const listParts = [];
|
|
2102
|
-
if (Array.isArray(element.elements)) for (const child of element.elements) {
|
|
2103
|
-
if (!child || typeof child !== "object") continue;
|
|
2104
|
-
const rendered = renderSlackRichTextElements(child.elements);
|
|
2105
|
-
if (rendered) listParts.push(rendered);
|
|
2106
|
-
}
|
|
2107
|
-
const listText = listParts.join("\n");
|
|
2108
|
-
parts.push(listText);
|
|
2109
|
-
break;
|
|
2110
|
-
}
|
|
2111
|
-
default:
|
|
2112
|
-
parts.push(renderSlackRichTextLeaf(element));
|
|
2113
|
-
break;
|
|
2114
|
-
}
|
|
2115
|
-
}
|
|
2116
|
-
return parts.join("");
|
|
2117
|
-
}
|
|
2118
|
-
function readSlackBlockText(block) {
|
|
2119
|
-
if (!block || typeof block !== "object") return;
|
|
2120
|
-
const blockLike = block;
|
|
2121
|
-
switch (blockLike.type) {
|
|
2122
|
-
case "rich_text": return normalizeOptionalString(renderSlackRichTextElements(blockLike.elements));
|
|
2123
|
-
case "section": {
|
|
2124
|
-
const text = readTextObject(blockLike.text);
|
|
2125
|
-
if (text) return text;
|
|
2126
|
-
if (Array.isArray(blockLike.fields)) {
|
|
2127
|
-
const fields = [];
|
|
2128
|
-
for (const field of blockLike.fields) {
|
|
2129
|
-
const fieldText = readTextObject(field);
|
|
2130
|
-
if (fieldText) fields.push(fieldText);
|
|
2131
|
-
}
|
|
2132
|
-
return fields.length > 0 ? fields.join("\n") : void 0;
|
|
2133
|
-
}
|
|
2134
|
-
return;
|
|
2135
|
-
}
|
|
2136
|
-
case "header": return readTextObject(blockLike.text);
|
|
2137
|
-
case "context": {
|
|
2138
|
-
if (!Array.isArray(blockLike.elements)) return;
|
|
2139
|
-
const parts = [];
|
|
2140
|
-
for (const element of blockLike.elements) {
|
|
2141
|
-
const text = readTextObject(element);
|
|
2142
|
-
if (text) parts.push(text);
|
|
2143
|
-
}
|
|
2144
|
-
return parts.length > 0 ? parts.join(" ") : void 0;
|
|
2145
|
-
}
|
|
2146
|
-
case "image": return normalizeOptionalString(readStringValue(blockLike.alt_text)) ?? readTextObject(blockLike.title);
|
|
2147
|
-
case "video": return readTextObject(blockLike.title) ?? normalizeOptionalString(readStringValue(blockLike.alt_text));
|
|
2148
|
-
default: return;
|
|
2149
|
-
}
|
|
2150
|
-
}
|
|
2151
|
-
function resolveSlackBlocksText(blocks) {
|
|
2152
|
-
if (!blocks?.length) return;
|
|
2153
|
-
const parts = [];
|
|
2154
|
-
let hasRichText = false;
|
|
2155
|
-
for (const block of blocks) {
|
|
2156
|
-
if (block && typeof block === "object" && block.type === "rich_text") hasRichText = true;
|
|
2157
|
-
const text = readSlackBlockText(block);
|
|
2158
|
-
if (text) parts.push(text);
|
|
2159
|
-
}
|
|
2160
|
-
return parts.length > 0 ? {
|
|
2161
|
-
text: parts.join("\n"),
|
|
2162
|
-
hasRichText
|
|
2163
|
-
} : void 0;
|
|
2164
|
-
}
|
|
2165
|
-
function chooseSlackPrimaryText(params) {
|
|
2166
|
-
const { messageText, blocksText } = params;
|
|
2167
|
-
if (!blocksText) return messageText;
|
|
2168
|
-
if (!messageText) return blocksText.text;
|
|
2169
|
-
if (blocksText.hasRichText && blocksText.text.length > messageText.length) return blocksText.text;
|
|
2170
|
-
return blocksText.text.length > messageText.length && blocksText.text.startsWith(messageText) ? blocksText.text : messageText;
|
|
2171
|
-
}
|
|
2172
2047
|
function filterInheritedParentFiles(params) {
|
|
2173
2048
|
const { files, isThreadReply, threadStarter } = params;
|
|
2174
2049
|
if (!isThreadReply || !files?.length) return files;
|
|
@@ -2407,7 +2282,7 @@ function resolveSlackInitialAgentRoute(params) {
|
|
|
2407
2282
|
});
|
|
2408
2283
|
}
|
|
2409
2284
|
function resolveSlackRoutingContext(params) {
|
|
2410
|
-
const { ctx, account, message, isDirectMessage, isGroupDm, isRoom, isRoomish, seedTopLevelRoomThread, assistantThreadTs } = params;
|
|
2285
|
+
const { ctx, account, message, isDirectMessage, isGroupDm, isRoom, isRoomish, channelConfig, seedTopLevelRoomThread, assistantThreadTs } = params;
|
|
2411
2286
|
let route = resolveSlackInitialAgentRoute({
|
|
2412
2287
|
ctx,
|
|
2413
2288
|
account,
|
|
@@ -2416,7 +2291,7 @@ function resolveSlackRoutingContext(params) {
|
|
|
2416
2291
|
isRoom
|
|
2417
2292
|
});
|
|
2418
2293
|
const chatType = isDirectMessage ? "direct" : isGroupDm ? "group" : "channel";
|
|
2419
|
-
const replyToMode = resolveSlackReplyToMode(account, chatType);
|
|
2294
|
+
const replyToMode = channelConfig?.replyToMode ?? resolveSlackReplyToMode(account, chatType);
|
|
2420
2295
|
const threadContext = resolveSlackThreadContext({
|
|
2421
2296
|
message,
|
|
2422
2297
|
replyToMode,
|
|
@@ -2535,13 +2410,16 @@ function ensureSlackThreadHistoryHasBotRoot(params) {
|
|
|
2535
2410
|
function formatSlackBotStarterThreadLabel(params) {
|
|
2536
2411
|
const base = `Slack thread ${params.roomLabel}`;
|
|
2537
2412
|
if (!params.starterText) return base;
|
|
2538
|
-
const snippet = params.starterText
|
|
2413
|
+
const snippet = formatSlackThreadLabelSnippet(params.starterText).trim();
|
|
2539
2414
|
if (!snippet) return base;
|
|
2540
2415
|
return `${base} (assistant root): ${snippet}`;
|
|
2541
2416
|
}
|
|
2417
|
+
function formatSlackThreadLabelSnippet(text) {
|
|
2418
|
+
return truncateUtf16Safe(text.replace(/\s+/g, " "), 80);
|
|
2419
|
+
}
|
|
2542
2420
|
//#endregion
|
|
2543
2421
|
//#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
|
|
2544
|
-
const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-
|
|
2422
|
+
const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-DMpDmKEA.js").then((n) => n.g));
|
|
2545
2423
|
const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
|
|
2546
2424
|
function resolveSlackThreadSessionFreshness(params) {
|
|
2547
2425
|
return params.ctx.channelRuntime?.session?.resolveEntryResetFreshness?.({
|
|
@@ -2639,9 +2517,9 @@ async function resolveSlackThreadContextData(params) {
|
|
|
2639
2517
|
});
|
|
2640
2518
|
if (starter?.text && includeStarterContext) {
|
|
2641
2519
|
threadStarterBody = starter.text;
|
|
2642
|
-
const snippet = starter.text
|
|
2520
|
+
const snippet = formatSlackThreadLabelSnippet(starter.text);
|
|
2643
2521
|
threadLabel = `Slack thread ${params.roomLabel}${snippet ? `: ${snippet}` : ""}`;
|
|
2644
|
-
if (!params.effectiveDirectMedia && starter.files && starter.files.length > 0) {
|
|
2522
|
+
if (shouldSeedInitialThreadContext && !params.effectiveDirectMedia && starter.files && starter.files.length > 0) {
|
|
2645
2523
|
const { resolveSlackMedia } = await loadSlackMediaModule();
|
|
2646
2524
|
threadStarterMedia = await resolveSlackMedia({
|
|
2647
2525
|
files: starter.files,
|
|
@@ -3141,8 +3019,29 @@ async function prepareSlackMessage(params) {
|
|
|
3141
3019
|
if (!authorization) return null;
|
|
3142
3020
|
const { senderId, allowFromLower } = authorization;
|
|
3143
3021
|
const messageText = message.text ?? "";
|
|
3022
|
+
let resolvedSenderName = normalizeOptionalString(message.username);
|
|
3023
|
+
const resolveSenderName = async () => {
|
|
3024
|
+
if (resolvedSenderName) return resolvedSenderName;
|
|
3025
|
+
if (message.user) {
|
|
3026
|
+
const normalized = normalizeOptionalString((await ctx.resolveUserName(message.user))?.name);
|
|
3027
|
+
if (normalized) {
|
|
3028
|
+
resolvedSenderName = normalized;
|
|
3029
|
+
return resolvedSenderName;
|
|
3030
|
+
}
|
|
3031
|
+
}
|
|
3032
|
+
resolvedSenderName = message.user ?? message.bot_id ?? "unknown";
|
|
3033
|
+
return resolvedSenderName;
|
|
3034
|
+
};
|
|
3144
3035
|
const mentionMetadata = collectSlackMentionMetadata(messageText);
|
|
3145
3036
|
const { mentionedUserIds, mentionedSubteamIds, hasAnyMention } = mentionMetadata;
|
|
3037
|
+
const messageAssistantThreadContext = resolveSlackMessageAssistantThreadContext(message);
|
|
3038
|
+
const assistantContextLookupChannelId = messageAssistantThreadContext?.assistantChannelId ?? message.channel;
|
|
3039
|
+
const assistantContextLookupThreadTs = messageAssistantThreadContext?.threadTs ?? message.thread_ts ?? message.ts;
|
|
3040
|
+
const cachedAssistantThreadContext = isDirectMessage ? ctx.getSlackAssistantThreadContext(assistantContextLookupChannelId, assistantContextLookupThreadTs) : void 0;
|
|
3041
|
+
const restoredAssistantThreadContextPromise = isDirectMessage && !cachedAssistantThreadContext && !hasSlackAssistantThreadMetadata(messageAssistantThreadContext) ? restoreSlackAssistantThreadContextFromMetadata({
|
|
3042
|
+
ctx,
|
|
3043
|
+
message
|
|
3044
|
+
}) : Promise.resolve(void 0);
|
|
3146
3045
|
const { explicitlyMentionedBotUser, explicitlyMentionedBotSubteam, explicitlyMentioned } = await resolveSlackExplicitMentionState({
|
|
3147
3046
|
ctx,
|
|
3148
3047
|
messageText,
|
|
@@ -3152,18 +3051,12 @@ async function prepareSlackMessage(params) {
|
|
|
3152
3051
|
});
|
|
3153
3052
|
const channelRequireMention = channelConfig?.requireMention ?? ctx.defaultRequireMention ?? true;
|
|
3154
3053
|
const channelChatType = isDirectMessage ? "direct" : isGroupDm ? "group" : "channel";
|
|
3155
|
-
const
|
|
3156
|
-
const assistantContextLookupChannelId = messageAssistantThreadContext?.assistantChannelId ?? message.channel;
|
|
3157
|
-
const assistantContextLookupThreadTs = messageAssistantThreadContext?.threadTs ?? message.thread_ts ?? message.ts;
|
|
3158
|
-
const cachedAssistantThreadContext = isDirectMessage ? ctx.getSlackAssistantThreadContext(assistantContextLookupChannelId, assistantContextLookupThreadTs) : void 0;
|
|
3159
|
-
const restoredAssistantThreadContext = isDirectMessage && !cachedAssistantThreadContext && !hasSlackAssistantThreadMetadata(messageAssistantThreadContext) ? await restoreSlackAssistantThreadContextFromMetadata({
|
|
3160
|
-
ctx,
|
|
3161
|
-
message
|
|
3162
|
-
}) : void 0;
|
|
3054
|
+
const restoredAssistantThreadContext = await restoredAssistantThreadContextPromise;
|
|
3163
3055
|
const assistantThreadContext = mergeSlackAssistantThreadContext(messageAssistantThreadContext, cachedAssistantThreadContext ?? restoredAssistantThreadContext);
|
|
3164
3056
|
const assistantThreadContextToCache = messageAssistantThreadContext || restoredAssistantThreadContext ? assistantThreadContext : void 0;
|
|
3165
3057
|
if (assistantThreadContextToCache) ctx.saveSlackAssistantThreadContext(assistantThreadContextToCache);
|
|
3166
|
-
const
|
|
3058
|
+
const channelReplyToMode = channelConfig?.replyToMode ?? resolveSlackReplyToMode(account, channelChatType);
|
|
3059
|
+
const willImplicitlyThreadReply = isRoom && !channelRequireMention && channelReplyToMode !== "off";
|
|
3167
3060
|
const seedTopLevelRoomThreadBySource = opts.source === "app_mention" || opts.wasMentioned === true || explicitlyMentioned || willImplicitlyThreadReply;
|
|
3168
3061
|
let routing = resolveSlackRoutingContext({
|
|
3169
3062
|
ctx,
|
|
@@ -3173,6 +3066,7 @@ async function prepareSlackMessage(params) {
|
|
|
3173
3066
|
isGroupDm,
|
|
3174
3067
|
isRoom,
|
|
3175
3068
|
isRoomish,
|
|
3069
|
+
channelConfig,
|
|
3176
3070
|
seedTopLevelRoomThread: seedTopLevelRoomThreadBySource,
|
|
3177
3071
|
assistantThreadTs: assistantThreadContext?.threadTs
|
|
3178
3072
|
});
|
|
@@ -3202,6 +3096,7 @@ async function prepareSlackMessage(params) {
|
|
|
3202
3096
|
isGroupDm,
|
|
3203
3097
|
isRoom,
|
|
3204
3098
|
isRoomish,
|
|
3099
|
+
channelConfig,
|
|
3205
3100
|
seedTopLevelRoomThread: true,
|
|
3206
3101
|
assistantThreadTs: assistantThreadContext?.threadTs
|
|
3207
3102
|
});
|
|
@@ -3230,6 +3125,16 @@ async function prepareSlackMessage(params) {
|
|
|
3230
3125
|
return null;
|
|
3231
3126
|
}
|
|
3232
3127
|
}
|
|
3128
|
+
const senderNameForAuthPromise = ctx.allowNameMatching ? resolveSenderName().then((name) => ({
|
|
3129
|
+
ok: true,
|
|
3130
|
+
name
|
|
3131
|
+
}), (error) => ({
|
|
3132
|
+
ok: false,
|
|
3133
|
+
error
|
|
3134
|
+
})) : Promise.resolve({
|
|
3135
|
+
ok: true,
|
|
3136
|
+
name: void 0
|
|
3137
|
+
});
|
|
3233
3138
|
const directThreadRoutedToDmSession = !assistantThreadContext && isDirectMessage && isThreadReply && threadTs && runtimeBinding?.conversation.conversationId !== threadTs;
|
|
3234
3139
|
let implicitMentionKinds = [];
|
|
3235
3140
|
if (!isDirectMessage && ctx.botUserId && message.thread_ts && !ctx.threadRequireExplicitMention && !wasMentioned) {
|
|
@@ -3240,20 +3145,59 @@ async function prepareSlackMessage(params) {
|
|
|
3240
3145
|
threadTs: message.thread_ts
|
|
3241
3146
|
}));
|
|
3242
3147
|
}
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3148
|
+
const recordDroppedHistory = async (reason) => {
|
|
3149
|
+
const pendingText = (message.text ?? "").trim();
|
|
3150
|
+
const historyMediaCandidate = buildSlackHistoryMediaCandidateMessage(message);
|
|
3151
|
+
const fallbackFile = message.files?.length ? `[Slack file: ${formatSlackFileReference(message.files[0])}]` : "";
|
|
3152
|
+
const pendingBody = pendingText || fallbackFile || (!fallbackFile && historyMediaCandidate ? "[Slack media attachment]" : "");
|
|
3153
|
+
const skippedThreadStarter = historyMediaCandidate && isThreadReply && threadTs ? await resolveSlackThreadStarter({
|
|
3154
|
+
channelId: message.channel,
|
|
3155
|
+
threadTs,
|
|
3156
|
+
client: ctx.app.client
|
|
3157
|
+
}) : null;
|
|
3158
|
+
const senderName = pendingBody ? await resolveSenderName() : void 0;
|
|
3159
|
+
await recordDroppedChannelInboundHistory({
|
|
3160
|
+
input: {
|
|
3161
|
+
id: message.ts ?? `${message.channel}:${Date.now()}`,
|
|
3162
|
+
timestamp: resolveSlackTimestampMs(message.ts),
|
|
3163
|
+
rawText: pendingBody,
|
|
3164
|
+
textForAgent: pendingBody,
|
|
3165
|
+
raw: message
|
|
3166
|
+
},
|
|
3167
|
+
admission: {
|
|
3168
|
+
kind: "drop",
|
|
3169
|
+
reason,
|
|
3170
|
+
recordHistory: true
|
|
3171
|
+
},
|
|
3172
|
+
preflight: {
|
|
3173
|
+
message: pendingBody ? {
|
|
3174
|
+
rawBody: pendingBody,
|
|
3175
|
+
body: pendingBody,
|
|
3176
|
+
bodyForAgent: pendingBody,
|
|
3177
|
+
senderLabel: senderName,
|
|
3178
|
+
envelopeFrom: senderName
|
|
3179
|
+
} : void 0,
|
|
3180
|
+
history: {
|
|
3181
|
+
key: historyKey,
|
|
3182
|
+
historyMap: ctx.channelHistories,
|
|
3183
|
+
limit: ctx.historyLimit,
|
|
3184
|
+
recordOnDrop: true,
|
|
3185
|
+
mediaLimit: SLACK_HISTORY_MEDIA_MAX_ATTACHMENTS,
|
|
3186
|
+
shouldRecord: opts.shouldRecordDroppedHistory
|
|
3187
|
+
},
|
|
3188
|
+
media: () => resolveSlackHistoryMediaForPendingRecord({
|
|
3189
|
+
ctx,
|
|
3190
|
+
message,
|
|
3191
|
+
isThreadReply,
|
|
3192
|
+
threadStarter: skippedThreadStarter,
|
|
3193
|
+
isBotMessage
|
|
3194
|
+
})
|
|
3251
3195
|
}
|
|
3252
|
-
}
|
|
3253
|
-
resolvedSenderName = message.user ?? message.bot_id ?? "unknown";
|
|
3254
|
-
return resolvedSenderName;
|
|
3196
|
+
});
|
|
3255
3197
|
};
|
|
3256
|
-
const
|
|
3198
|
+
const senderNameForAuthResult = await senderNameForAuthPromise;
|
|
3199
|
+
if (!senderNameForAuthResult.ok) throw senderNameForAuthResult.error;
|
|
3200
|
+
const senderNameForAuth = senderNameForAuthResult.name;
|
|
3257
3201
|
const allowTextCommands = shouldHandleTextCommands({
|
|
3258
3202
|
cfg,
|
|
3259
3203
|
surface: "slack"
|
|
@@ -3339,66 +3283,50 @@ async function prepareSlackMessage(params) {
|
|
|
3339
3283
|
});
|
|
3340
3284
|
return null;
|
|
3341
3285
|
}
|
|
3286
|
+
if (isRoom && shouldRequireMention && !canDetectMention && !effectiveWasMentioned) {
|
|
3287
|
+
ctx.logger.info({
|
|
3288
|
+
channel: message.channel,
|
|
3289
|
+
reason: "mention-detection-unavailable"
|
|
3290
|
+
}, "skipping channel message");
|
|
3291
|
+
await recordDroppedHistory("slack-mention-detection-unavailable");
|
|
3292
|
+
return null;
|
|
3293
|
+
}
|
|
3294
|
+
const ignoreOtherMentions = channelConfig?.ignoreOtherMentions ?? false;
|
|
3295
|
+
if (isRoom && ignoreOtherMentions && Boolean(ctx.botUserId) && hasAnyMention && !wasMentioned) {
|
|
3296
|
+
logInboundDrop({
|
|
3297
|
+
log: logVerbose,
|
|
3298
|
+
channel: "slack",
|
|
3299
|
+
reason: "other-mention",
|
|
3300
|
+
target: senderId
|
|
3301
|
+
});
|
|
3302
|
+
await recordDroppedHistory("slack-other-mention");
|
|
3303
|
+
return null;
|
|
3304
|
+
}
|
|
3342
3305
|
if (isRoom && shouldRequireMention && messageIngress.activationAccess.shouldSkip) {
|
|
3343
3306
|
ctx.logger.info({
|
|
3344
3307
|
channel: message.channel,
|
|
3345
3308
|
reason: "no-mention"
|
|
3346
3309
|
}, "skipping channel message");
|
|
3347
|
-
|
|
3348
|
-
const historyMediaCandidate = buildSlackHistoryMediaCandidateMessage(message);
|
|
3349
|
-
const fallbackFile = message.files?.length ? `[Slack file: ${formatSlackFileReference(message.files[0])}]` : "";
|
|
3350
|
-
const pendingBody = pendingText || fallbackFile || (!fallbackFile && historyMediaCandidate ? "[Slack media attachment]" : "");
|
|
3351
|
-
const skippedThreadStarter = historyMediaCandidate && isThreadReply && threadTs ? await resolveSlackThreadStarter({
|
|
3352
|
-
channelId: message.channel,
|
|
3353
|
-
threadTs,
|
|
3354
|
-
client: ctx.app.client
|
|
3355
|
-
}) : null;
|
|
3356
|
-
const timestamp = resolveSlackTimestampMs(message.ts);
|
|
3357
|
-
const senderName = pendingBody ? await resolveSenderName() : void 0;
|
|
3358
|
-
await recordDroppedChannelInboundHistory({
|
|
3359
|
-
input: {
|
|
3360
|
-
id: message.ts ?? `${message.channel}:${Date.now()}`,
|
|
3361
|
-
timestamp,
|
|
3362
|
-
rawText: pendingBody,
|
|
3363
|
-
textForAgent: pendingBody,
|
|
3364
|
-
raw: message
|
|
3365
|
-
},
|
|
3366
|
-
admission: {
|
|
3367
|
-
kind: "drop",
|
|
3368
|
-
reason: "slack-no-mention",
|
|
3369
|
-
recordHistory: true
|
|
3370
|
-
},
|
|
3371
|
-
preflight: {
|
|
3372
|
-
message: pendingBody ? {
|
|
3373
|
-
rawBody: pendingBody,
|
|
3374
|
-
body: pendingBody,
|
|
3375
|
-
bodyForAgent: pendingBody,
|
|
3376
|
-
senderLabel: senderName,
|
|
3377
|
-
envelopeFrom: senderName
|
|
3378
|
-
} : void 0,
|
|
3379
|
-
history: {
|
|
3380
|
-
key: historyKey,
|
|
3381
|
-
historyMap: ctx.channelHistories,
|
|
3382
|
-
limit: ctx.historyLimit,
|
|
3383
|
-
recordOnDrop: true,
|
|
3384
|
-
mediaLimit: SLACK_HISTORY_MEDIA_MAX_ATTACHMENTS
|
|
3385
|
-
},
|
|
3386
|
-
media: () => resolveSlackHistoryMediaForPendingRecord({
|
|
3387
|
-
ctx,
|
|
3388
|
-
message,
|
|
3389
|
-
isThreadReply,
|
|
3390
|
-
threadStarter: skippedThreadStarter,
|
|
3391
|
-
isBotMessage
|
|
3392
|
-
})
|
|
3393
|
-
}
|
|
3394
|
-
});
|
|
3310
|
+
await recordDroppedHistory("slack-no-mention");
|
|
3395
3311
|
return null;
|
|
3396
3312
|
}
|
|
3397
|
-
const
|
|
3313
|
+
const threadStarterPromise = isThreadReply && threadTs ? resolveSlackThreadStarter({
|
|
3398
3314
|
channelId: message.channel,
|
|
3399
3315
|
threadTs,
|
|
3400
3316
|
client: ctx.app.client
|
|
3401
|
-
}) : null;
|
|
3317
|
+
}) : Promise.resolve(null);
|
|
3318
|
+
const chatType = resolveSlackChatType(conversation.resolvedChannelType);
|
|
3319
|
+
const inboundEventKind = classifyChannelInboundEvent({
|
|
3320
|
+
conversation: { kind: chatType },
|
|
3321
|
+
unmentionedGroupPolicy: resolveUnmentionedGroupInboundPolicy({
|
|
3322
|
+
cfg,
|
|
3323
|
+
agentId: route.agentId
|
|
3324
|
+
}),
|
|
3325
|
+
wasMentioned: effectiveWasMentioned,
|
|
3326
|
+
hasControlCommand: hasControlCommandInMessage,
|
|
3327
|
+
hasAbortRequest
|
|
3328
|
+
});
|
|
3329
|
+
const threadStarter = await threadStarterPromise;
|
|
3402
3330
|
const resolvedMessageContent = await resolveSlackMessageContent({
|
|
3403
3331
|
message,
|
|
3404
3332
|
isThreadReply,
|
|
@@ -3411,17 +3339,6 @@ async function prepareSlackMessage(params) {
|
|
|
3411
3339
|
});
|
|
3412
3340
|
if (!resolvedMessageContent) return null;
|
|
3413
3341
|
const { rawBody, effectiveDirectMedia } = resolvedMessageContent;
|
|
3414
|
-
const chatType = resolveSlackChatType(conversation.resolvedChannelType);
|
|
3415
|
-
const inboundEventKind = classifyChannelInboundEvent({
|
|
3416
|
-
conversation: { kind: chatType },
|
|
3417
|
-
unmentionedGroupPolicy: resolveUnmentionedGroupInboundPolicy({
|
|
3418
|
-
cfg,
|
|
3419
|
-
agentId: route.agentId
|
|
3420
|
-
}),
|
|
3421
|
-
wasMentioned: effectiveWasMentioned,
|
|
3422
|
-
hasControlCommand: hasControlCommandInMessage,
|
|
3423
|
-
hasAbortRequest
|
|
3424
|
-
});
|
|
3425
3342
|
const ackReaction = resolveAckReaction(cfg, route.agentId, {
|
|
3426
3343
|
channel: "slack",
|
|
3427
3344
|
accountId: account.accountId
|
|
@@ -3435,8 +3352,10 @@ async function prepareSlackMessage(params) {
|
|
|
3435
3352
|
}
|
|
3436
3353
|
}) === "message_tool_only";
|
|
3437
3354
|
const statusReactionsExplicitlyEnabled = cfg.messages?.statusReactions?.enabled === true;
|
|
3355
|
+
const isRoomEvent = inboundEventKind === "room_event";
|
|
3438
3356
|
const shouldAckReaction$1 = () => Boolean(ackReaction && shouldAckReaction({
|
|
3439
3357
|
scope: ctx.ackReactionScope,
|
|
3358
|
+
inboundEventKind,
|
|
3440
3359
|
isDirect: isDirectMessage,
|
|
3441
3360
|
isGroup: isRoomish,
|
|
3442
3361
|
isMentionableGroup: isRoom,
|
|
@@ -3447,8 +3366,8 @@ async function prepareSlackMessage(params) {
|
|
|
3447
3366
|
}));
|
|
3448
3367
|
const ackReactionMessageTs = message.ts;
|
|
3449
3368
|
const allowToolOnlyStatusReaction = statusReactionsExplicitlyEnabled && (effectiveWasMentioned || shouldBypassMention);
|
|
3450
|
-
const shouldSendAckReaction = shouldAckReaction$1() && (!sourceRepliesAreToolOnly || allowToolOnlyStatusReaction);
|
|
3451
|
-
const statusReactionsWillHandle = Boolean(ackReactionMessageTs) &&
|
|
3369
|
+
const shouldSendAckReaction = shouldAckReaction$1() && (!sourceRepliesAreToolOnly || allowToolOnlyStatusReaction || isRoomEvent);
|
|
3370
|
+
const statusReactionsWillHandle = Boolean(ackReactionMessageTs) && !isRoomEvent && statusReactionsExplicitlyEnabled && shouldSendAckReaction;
|
|
3452
3371
|
const ackReactionPromise = !statusReactionsWillHandle && shouldSendAckReaction && ackReactionMessageTs && ackReactionValue ? reactSlackMessage(message.channel, ackReactionMessageTs, ackReactionValue, {
|
|
3453
3372
|
token: ctx.botToken,
|
|
3454
3373
|
client: ctx.app.client
|
|
@@ -3479,6 +3398,10 @@ async function prepareSlackMessage(params) {
|
|
|
3479
3398
|
storePath,
|
|
3480
3399
|
sessionKey
|
|
3481
3400
|
});
|
|
3401
|
+
if (opts.source === "app_mention" && !ctx.botUserId && message.ts) {
|
|
3402
|
+
const pendingHistory = ctx.channelHistories.get(historyKey);
|
|
3403
|
+
if (pendingHistory) ctx.channelHistories.set(historyKey, pendingHistory.filter((entry) => entry.messageId !== message.ts));
|
|
3404
|
+
}
|
|
3482
3405
|
const channelHistory = createChannelHistoryWindow({ historyMap: ctx.channelHistories });
|
|
3483
3406
|
const dmHistoryLimit = isDirectMessage ? resolveSlackDmHistoryLimit({
|
|
3484
3407
|
account,
|
|
@@ -3634,6 +3557,7 @@ async function prepareSlackMessage(params) {
|
|
|
3634
3557
|
})
|
|
3635
3558
|
}
|
|
3636
3559
|
});
|
|
3560
|
+
ctxPayload.ReplyToMode = replyToMode;
|
|
3637
3561
|
if (isRoomish && !shouldRequireMention) channelHistory.record({
|
|
3638
3562
|
historyKey,
|
|
3639
3563
|
limit: ctx.historyLimit,
|
|
@@ -3651,7 +3575,7 @@ async function prepareSlackMessage(params) {
|
|
|
3651
3575
|
}) : null;
|
|
3652
3576
|
const replyTarget = isDirectMessage ? `channel:${message.channel}` : ctxPayload.To ?? void 0;
|
|
3653
3577
|
if (!replyTarget) return null;
|
|
3654
|
-
if (shouldLogVerbose()) logVerbose(`slack inbound: channel=${message.channel} from=${slackFrom}
|
|
3578
|
+
if (shouldLogVerbose()) logVerbose(`slack inbound: account=${route.accountId} agent=${route.agentId} channel=${message.channel} message_ts=${message.ts ?? "unknown"} thread_ts=${effectiveMessageThreadId ?? "none"} from=${slackFrom} chat=${chatType} chars=${rawBody.length}`);
|
|
3655
3579
|
const updateLastRouteSessionKey = resolveInboundLastRouteSessionKey({
|
|
3656
3580
|
route,
|
|
3657
3581
|
sessionKey
|