@openclaw/slack 2026.11.3 → 2026.11.5-beta.2

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.
Files changed (220) hide show
  1. package/dist/.setup/{account-inspect-CmkKiSb9.mjs → account-inspect-BLVha-ov.mjs} +11 -8
  2. package/dist/.setup/{accounts-msihSF3-.mjs → accounts-CGJScKtk.mjs} +10 -1
  3. package/dist/.setup/{action-runtime-ChRfnnBu.mjs → action-runtime-D01wBhx5.mjs} +38 -45
  4. package/dist/.setup/action-runtime.runtime-VQGaR6g8.mjs +1 -0
  5. package/dist/.setup/{actions-By7tvpvv.mjs → actions-D5S6D_BU.mjs} +89 -76
  6. package/dist/.setup/{approval-handler.runtime-D8ArtDQt.mjs → approval-handler.runtime-Buw5jh2Y.mjs} +26 -30
  7. package/dist/.setup/{approval-message-updates-DT7XBPbV.mjs → approval-message-updates-pmXcve5E.mjs} +1 -1
  8. package/dist/.setup/{channel-DLFiMJm2.mjs → channel-C_R98Nbv.mjs} +569 -339
  9. package/dist/.setup/{channel-type-BEFP2ORi.mjs → channel-type-B5P3w9eA.mjs} +4 -8
  10. package/dist/.setup/{channel.setup-CzFw73mU.mjs → channel.setup-Lq2OxKkF.mjs} +13 -13
  11. package/dist/.setup/{config-schema-DNnh6bWU.mjs → config-schema-BWAaa5au.mjs} +3 -7
  12. package/dist/.setup/cursor-pages-CATAzbTT.mjs +313 -0
  13. package/dist/.setup/{directory-config-Cjj0N8R0.mjs → directory-config-D-hf9KGQ.mjs} +3 -3
  14. package/dist/.setup/{directory-live-BIKD-5B_.mjs → directory-live-onKAFI1E.mjs} +4 -4
  15. package/dist/.setup/{doctor-contract-Cd4-VzIM.mjs → doctor-contract-9-QJRCXk.mjs} +37 -45
  16. package/dist/.setup/{message-tool-api-BS5ekEA_.mjs → message-tool-api-LGIgVXJf.mjs} +4 -3
  17. package/dist/.setup/{monitor-CV6Z6FKP.mjs → monitor-Cm1TuqxN.mjs} +3424 -3703
  18. package/dist/.setup/{outbound-adapter-9dbnYtL1.mjs → outbound-adapter-C-95EWl2.mjs} +30 -36
  19. package/dist/.setup/paths-B1u59oLK.mjs +8 -0
  20. package/dist/.setup/{pipeline.runtime-DLIQf1Bo.mjs → pipeline.runtime-DGnV6akc.mjs} +416 -534
  21. package/dist/.setup/{policy-yhn48xf5.mjs → policy-DxhGRvc2.mjs} +1 -2
  22. package/dist/.setup/{session-status-Dv8wNBEt.mjs → probe-DANukR3O.mjs} +1206 -839
  23. package/dist/.setup/question-delivery-CWC7sRhH.mjs +39 -0
  24. package/dist/.setup/{relay-source-CxDcrn16.mjs → relay-source-DoyOlTbK.mjs} +5 -3
  25. package/dist/.setup/{replies-MRkrg3rC.mjs → replies-BcmUKord.mjs} +34 -19
  26. package/dist/.setup/{reply-blocks-Ca-raz2z.mjs → reply-blocks-BzsXUUUL.mjs} +201 -206
  27. package/dist/.setup/{resolve-channels-DRRhElwz.mjs → resolve-channels-XDPgnesf.mjs} +4 -7
  28. package/dist/.setup/{resolve-users-Cz8e17ky.mjs → resolve-users-aDAv24U2.mjs} +8 -16
  29. package/dist/.setup/runtime-setter-api-Cx_PV-xu.mjs +2 -0
  30. package/dist/.setup/{scopes-DfQVi8Jw.mjs → scopes-BocHwImV.mjs} +2 -1
  31. package/dist/.setup/secret-contract-api-BlLz88mj.mjs +2 -0
  32. package/dist/.setup/{secret-contract-vVRMoE1D.mjs → secret-contract-uiQtoNlu.mjs} +2 -2
  33. package/dist/.setup/{send-results-eeOu_HYm.mjs → send-results-BGxlroJ-.mjs} +3 -4
  34. package/dist/.setup/{send-C-8wY0lK.mjs → send-yK6_-px6.mjs} +297 -334
  35. package/dist/.setup/setup-plugin-api-Cfz58xoh.mjs +2 -0
  36. package/dist/.setup/{setup-surface--n8VsDvV.mjs → setup-surface-C0KRtyqa.mjs} +5 -6
  37. package/dist/.setup/{slash-dispatch.runtime-D3Wq45ER.mjs → slash-dispatch.runtime-CyVC3bYx.mjs} +2 -2
  38. package/dist/.setup/{target-parsing-FFE26kOV.mjs → target-parsing-Bx2UZniD.mjs} +1 -2
  39. package/dist/.setup/{targets-C6LZQL1Q.mjs → targets-D-ASeWHy.mjs} +1 -1
  40. package/dist/.source-module-urls/c5ffd0957b234c7c12090e7de4eca2482ef339b8561e078da55b734211b0ba58.json +1 -0
  41. package/dist/account-inspect-api.js +1 -1
  42. package/dist/api.js +16 -17
  43. package/dist/channel-config-api.js +1 -2
  44. package/dist/channel-plugin-api.js +1 -2
  45. package/dist/directory-contract-api.js +1 -2
  46. package/dist/doctor-contract-api.js +1 -2
  47. package/dist/index.js +0 -6
  48. package/dist/message-tool-api.js +1 -2
  49. package/dist/runtime-api.js +10 -12
  50. package/dist/runtime-setter-api.js +1 -2
  51. package/dist/secret-contract-api.js +1 -2
  52. package/dist/security-contract-api.js +1 -2
  53. package/dist/setup-entry.js +3 -3
  54. package/dist/setup-plugin-api.js +1 -2
  55. package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
  56. package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
  57. package/node_modules/@slack/bolt/node_modules/@types/node/util.d.ts +6 -3
  58. package/node_modules/@slack/bolt/node_modules/content-disposition/README.md +105 -35
  59. package/node_modules/@slack/bolt/node_modules/content-disposition/dist/index.d.ts +72 -0
  60. package/node_modules/@slack/bolt/node_modules/content-disposition/dist/index.js +388 -0
  61. package/node_modules/@slack/bolt/node_modules/content-disposition/dist/index.js.map +1 -0
  62. package/node_modules/@slack/bolt/node_modules/content-disposition/package.json +31 -19
  63. package/node_modules/@slack/bolt/node_modules/content-type/README.md +34 -57
  64. package/node_modules/@slack/bolt/node_modules/content-type/package.json +35 -25
  65. package/node_modules/@slack/bolt/node_modules/express/Readme.md +15 -9
  66. package/node_modules/@slack/bolt/node_modules/express/lib/application.js +2 -2
  67. package/node_modules/@slack/bolt/node_modules/express/lib/request.js +32 -19
  68. package/node_modules/@slack/bolt/node_modules/express/lib/response.js +27 -30
  69. package/node_modules/@slack/bolt/node_modules/express/package.json +10 -10
  70. package/node_modules/@slack/bolt/node_modules/qs/.github/THREAT_MODEL.md +4 -2
  71. package/node_modules/@slack/bolt/node_modules/qs/CHANGELOG.md +38 -14
  72. package/node_modules/@slack/bolt/node_modules/qs/README.md +31 -3
  73. package/node_modules/@slack/bolt/node_modules/qs/dist/qs.js +20 -20
  74. package/node_modules/@slack/bolt/node_modules/qs/lib/parse.js +94 -4
  75. package/node_modules/@slack/bolt/node_modules/qs/lib/stringify.js +4 -4
  76. package/node_modules/@slack/bolt/node_modules/qs/lib/utils.js +130 -6
  77. package/node_modules/@slack/bolt/node_modules/qs/package.json +4 -4
  78. package/node_modules/@slack/bolt/node_modules/qs/test/parse.js +174 -0
  79. package/node_modules/@slack/bolt/node_modules/qs/test/stringify.js +263 -33
  80. package/node_modules/@slack/bolt/node_modules/qs/test/utils.js +184 -0
  81. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  82. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  83. package/node_modules/@slack/web-api/node_modules/@types/node/util.d.ts +6 -3
  84. package/node_modules/typebox/build/format/duration.d.mts +2 -2
  85. package/node_modules/typebox/build/format/duration.mjs +2 -2
  86. package/node_modules/typebox/build/format/idn_email.d.mts +1 -0
  87. package/node_modules/typebox/build/format/idn_email.mjs +1 -0
  88. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -1
  89. package/node_modules/typebox/build/format/idn_hostname.mjs +1 -1
  90. package/node_modules/typebox/build/format/ipv4.d.mts +2 -2
  91. package/node_modules/typebox/build/format/ipv4.mjs +2 -2
  92. package/node_modules/typebox/build/format/ipv6.d.mts +1 -1
  93. package/node_modules/typebox/build/format/ipv6.mjs +1 -1
  94. package/node_modules/typebox/build/format/relative_json_pointer.d.mts +2 -2
  95. package/node_modules/typebox/build/format/relative_json_pointer.mjs +2 -2
  96. package/node_modules/typebox/build/schema/build.mjs +1 -0
  97. package/node_modules/typebox/build/schema/engine/_unique.d.mts +4 -2
  98. package/node_modules/typebox/build/schema/engine/_unique.mjs +7 -3
  99. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +3 -3
  100. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +0 -3
  101. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +15 -17
  102. package/node_modules/typebox/build/schema/engine/contains.mjs +3 -3
  103. package/node_modules/typebox/build/schema/engine/index.d.mts +1 -0
  104. package/node_modules/typebox/build/schema/engine/index.mjs +1 -0
  105. package/node_modules/typebox/build/schema/engine/items.mjs +7 -4
  106. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -2
  107. package/node_modules/typebox/build/schema/engine/minContains.mjs +3 -3
  108. package/node_modules/typebox/build/schema/engine/oneOf.mjs +2 -2
  109. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +2 -2
  110. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -2
  111. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +2 -2
  112. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +2 -2
  113. package/node_modules/typebox/build/system/hashing/hash.mjs +63 -34
  114. package/node_modules/typebox/build/system/locale/en_US.mjs +2 -1
  115. package/node_modules/typebox/build/system/memory/assign.d.mts +2 -8
  116. package/node_modules/typebox/build/system/memory/assign.mjs +13 -6
  117. package/node_modules/typebox/build/system/memory/clone.d.mts +4 -5
  118. package/node_modules/typebox/build/system/memory/clone.mjs +8 -96
  119. package/node_modules/typebox/build/system/memory/create.d.mts +1 -5
  120. package/node_modules/typebox/build/system/memory/create.mjs +18 -13
  121. package/node_modules/typebox/build/system/memory/deep.d.mts +2 -0
  122. package/node_modules/typebox/build/system/memory/deep.mjs +108 -0
  123. package/node_modules/typebox/build/system/memory/discard.d.mts +1 -1
  124. package/node_modules/typebox/build/system/memory/discard.mjs +9 -8
  125. package/node_modules/typebox/build/system/memory/finalize.d.mts +4 -0
  126. package/node_modules/typebox/build/system/memory/finalize.mjs +30 -0
  127. package/node_modules/typebox/build/system/memory/keys.d.mts +2 -0
  128. package/node_modules/typebox/build/system/memory/keys.mjs +8 -0
  129. package/node_modules/typebox/build/system/memory/update.d.mts +1 -4
  130. package/node_modules/typebox/build/system/memory/update.mjs +43 -16
  131. package/node_modules/typebox/build/type/engine/call/index.d.mts +1 -0
  132. package/node_modules/typebox/build/type/engine/call/index.mjs +1 -0
  133. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +2 -24
  134. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +2 -29
  135. package/node_modules/typebox/build/type/engine/evaluate/index.d.mts +1 -0
  136. package/node_modules/typebox/build/type/engine/evaluate/index.mjs +1 -0
  137. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -1
  138. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +6 -1
  139. package/node_modules/typebox/build/type/engine/evaluate/property.d.mts +30 -0
  140. package/node_modules/typebox/build/type/engine/evaluate/property.mjs +29 -0
  141. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +1 -3
  142. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +1 -4
  143. package/node_modules/typebox/build/type/engine/object/from_intersect.d.mts +2 -2
  144. package/node_modules/typebox/build/type/engine/object/from_intersect.mjs +2 -2
  145. package/node_modules/typebox/build/type/engine/object/from_union.d.mts +2 -2
  146. package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
  147. package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +1 -3
  148. package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +1 -4
  149. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +1 -3
  150. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +1 -4
  151. package/node_modules/typebox/build/type/engine/this/index.d.mts +1 -0
  152. package/node_modules/typebox/build/type/engine/this/index.mjs +1 -0
  153. package/node_modules/typebox/build/value/clone/clone.d.mts +4 -3
  154. package/node_modules/typebox/build/value/clone/clone.mjs +5 -7
  155. package/node_modules/typebox/build/value/repair/from_cyclic.d.mts +2 -0
  156. package/node_modules/typebox/build/value/repair/from_cyclic.mjs +6 -0
  157. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +25 -14
  158. package/node_modules/typebox/package.json +1 -1
  159. package/node_modules/typebox/readme.md +1 -1
  160. package/node_modules/undici/docs/docs/api/Interceptors.md +15 -2
  161. package/node_modules/undici/lib/dispatcher/client-h2.js +78 -3
  162. package/node_modules/undici/lib/dispatcher/pool-base.js +20 -3
  163. package/node_modules/undici/package.json +3 -3
  164. package/node_modules/undici/types/api.d.ts +1 -1
  165. package/node_modules/undici/types/utility.d.ts +4 -4
  166. package/node_modules/zod/package.json +1 -1
  167. package/node_modules/zod/src/v4/classic/tests/array.test.ts +27 -0
  168. package/node_modules/zod/src/v4/classic/tests/map.test.ts +7 -0
  169. package/node_modules/zod/src/v4/classic/tests/set.test.ts +6 -0
  170. package/node_modules/zod/src/v4/core/compile.ts +9 -0
  171. package/node_modules/zod/src/v4/core/schemas.ts +35 -1
  172. package/node_modules/zod/src/v4/core/util.ts +13 -0
  173. package/node_modules/zod/src/v4/core/versions.ts +1 -1
  174. package/node_modules/zod/v4/core/compile.cjs +8 -0
  175. package/node_modules/zod/v4/core/compile.js +8 -0
  176. package/node_modules/zod/v4/core/schemas.cjs +30 -0
  177. package/node_modules/zod/v4/core/schemas.d.cts +3 -1
  178. package/node_modules/zod/v4/core/schemas.d.ts +3 -1
  179. package/node_modules/zod/v4/core/schemas.js +30 -0
  180. package/node_modules/zod/v4/core/util.cjs +15 -0
  181. package/node_modules/zod/v4/core/util.d.cts +2 -0
  182. package/node_modules/zod/v4/core/util.d.ts +2 -0
  183. package/node_modules/zod/v4/core/util.js +14 -0
  184. package/node_modules/zod/v4/core/versions.cjs +1 -1
  185. package/node_modules/zod/v4/core/versions.js +1 -1
  186. package/openclaw.plugin.json +6 -30
  187. package/package.json +7 -7
  188. package/dist/.setup/action-runtime.runtime-vLxx_7s2.mjs +0 -2
  189. package/dist/.setup/http-C9sM-FXe.mjs +0 -2
  190. package/dist/.setup/plugin-routes-D4qozHVn.mjs +0 -22
  191. package/dist/.setup/probe-IiHogLQN.mjs +0 -694
  192. package/dist/.setup/registry-DizWcnNp.mjs +0 -36
  193. package/dist/.setup/runtime-setter-api-CMFvhrAr.mjs +0 -3
  194. package/dist/.setup/secret-contract-api-DK9gZldc.mjs +0 -3
  195. package/dist/.setup/setup-plugin-api-BGD1TYnK.mjs +0 -3
  196. package/dist/.setup/shared-BhJHIZs1.mjs +0 -259
  197. package/dist/http-routes-api.js +0 -2
  198. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/LICENSE +0 -22
  199. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/README.md +0 -71
  200. package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/package.json +0 -52
  201. package/node_modules/@slack/bolt/node_modules/content-disposition/index.js +0 -536
  202. package/node_modules/@slack/bolt/node_modules/content-type/HISTORY.md +0 -29
  203. package/node_modules/@slack/bolt/node_modules/content-type/index.js +0 -225
  204. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/LICENSE +0 -22
  205. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/README.md +0 -71
  206. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +0 -46
  207. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/dist/index.js +0 -176
  208. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/dist/index.js.map +0 -1
  209. package/node_modules/@slack/bolt/node_modules/negotiator/node_modules/content-type/package.json +0 -52
  210. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/LICENSE +0 -22
  211. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/README.md +0 -71
  212. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.d.ts +0 -46
  213. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js +0 -176
  214. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js.map +0 -1
  215. package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/package.json +0 -52
  216. package/node_modules/typebox/build/system/memory/freeze.d.mts +0 -4
  217. package/node_modules/typebox/build/system/memory/freeze.mjs +0 -6
  218. /package/node_modules/@slack/bolt/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.d.ts +0 -0
  219. /package/node_modules/@slack/bolt/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js +0 -0
  220. /package/node_modules/@slack/bolt/node_modules/{body-parser/node_modules/content-type → content-type}/dist/index.js.map +0 -0
@@ -0,0 +1,2 @@
1
+ export { t as slackSetupPlugin } from "./channel.setup-Lq2OxKkF.mjs";
2
+ import "../setup-plugin-api.js";
@@ -1,9 +1,8 @@
1
- import { c as resolveSlackAccountAllowFrom, o as resolveDefaultSlackAccountId } from "./accounts-msihSF3-.mjs";
2
- import { t as inspectSlackAccount } from "./account-inspect-CmkKiSb9.mjs";
3
- import "./shared-BhJHIZs1.mjs";
4
- import { a as buildSlackAllowFromPrompt, i as SLACK_CHANNEL, n as createSlackSetupWizardBase } from "./channel.setup-CzFw73mU.mjs";
5
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-DRRhElwz.mjs";
6
- import { t as resolveSlackUserAllowlist } from "./resolve-users-Cz8e17ky.mjs";
1
+ import { c as resolveSlackAccountAllowFrom, o as resolveDefaultSlackAccountId } from "./accounts-CGJScKtk.mjs";
2
+ import { t as inspectSlackAccount } from "./account-inspect-BLVha-ov.mjs";
3
+ import { a as buildSlackAllowFromPrompt, i as SLACK_CHANNEL, n as createSlackSetupWizardBase } from "./channel.setup-Lq2OxKkF.mjs";
4
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-XDPgnesf.mjs";
5
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-aDAv24U2.mjs";
7
6
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
8
7
  import { resolveBasicAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
9
8
  import { createSetupTranslator, noteChannelLookupFailure, noteChannelLookupSummary, patchChannelConfigForAccount, promptResolvedAllowFrom, resolveEntriesWithOptionalToken, resolveSetupAccountId, splitSetupEntries } from "openclaw/plugin-sdk/setup-runtime";
@@ -1,6 +1,6 @@
1
- import { i as sanitizeSlackMonitorReplyPayload, r as deliverSlackSlashReplies } from "./replies-MRkrg3rC.mjs";
2
- import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
1
+ import { i as sanitizeSlackMonitorReplyPayload, r as deliverSlackSlashReplies } from "./replies-BcmUKord.mjs";
3
2
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
3
+ import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
4
4
  import { resolveConversationLabel } from "openclaw/plugin-sdk/conversation-runtime";
5
5
  import { dispatchChannelInboundTurn, isChannelPartialDeliveryError } from "openclaw/plugin-sdk/channel-inbound";
6
6
  import { finalizeInboundContext, resolveChunkMode } from "openclaw/plugin-sdk/reply-runtime";
@@ -55,8 +55,7 @@ function resolveWorkspaceQualifiedSlackTarget(input, kind) {
55
55
  return;
56
56
  }
57
57
  }
58
- function isUnambiguousSlackUserId(rawId) {
59
- const id = rawId.trim();
58
+ function isUnambiguousSlackUserId(id) {
60
59
  return /^[UW][A-Z0-9]+$/.test(id) || /^[uw][0-9][a-z0-9]{7,}$/.test(id);
61
60
  }
62
61
  /** Restores API casing for unambiguous normalized Slack conversation IDs. */
@@ -1,4 +1,4 @@
1
- import { a as parseSlackTarget, c as slackTargetsMatch } from "./target-parsing-FFE26kOV.mjs";
1
+ import { a as parseSlackTarget, c as slackTargetsMatch } from "./target-parsing-Bx2UZniD.mjs";
2
2
  //#region extensions/slack/src/targets.ts
3
3
  function matchesResolvedUserTarget(target, currentMessagingTarget) {
4
4
  const resolvedId = target.trim();
@@ -0,0 +1 @@
1
+ {"version":3,"entries":[{"output":"account-inspect-api.js","source":"extensions/slack/account-inspect-api.ts"},{"output":"api.js","source":"extensions/slack/api.ts"},{"output":"channel-config-api.js","source":"extensions/slack/channel-config-api.ts"},{"output":"channel-entry.js","source":"extensions/slack/channel-entry.ts"},{"output":"channel-plugin-api.js","source":"extensions/slack/channel-plugin-api.ts"},{"output":"configured-state.js","source":"extensions/slack/configured-state.ts"},{"output":"contract-api.js","source":"extensions/slack/contract-api.ts"},{"output":"directory-contract-api.js","source":"extensions/slack/directory-contract-api.ts"},{"output":"doctor-contract-api.js","source":"extensions/slack/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/slack/index.ts"},{"output":"message-tool-api.js","source":"extensions/slack/message-tool-api.ts"},{"output":"runtime-api.js","source":"extensions/slack/runtime-api.ts"},{"output":"runtime-setter-api.js","source":"extensions/slack/runtime-setter-api.ts"},{"output":"secret-contract-api.js","source":"extensions/slack/secret-contract-api.ts"},{"output":"security-contract-api.js","source":"extensions/slack/security-contract-api.ts"},{"output":"setup-entry.js","source":"extensions/slack/setup-entry.ts"},{"output":"setup-plugin-api.js","source":"extensions/slack/setup-plugin-api.ts"}],"chunks":[{"output":".setup/account-configured-zcR9TJJN.mjs","sha256":"51dab8a8d80e33310313d3ae5f3244a30c5d343d55da630a1dbbf6da192d25b5","facadeSource":null,"sources":["extensions/slack/src/account-configured.ts"]},{"output":".setup/account-inspect-BLVha-ov.mjs","sha256":"1176adf0d1046f3be8474890dbc3444a1ef69110b1ab6fc7a50149f268cc89d3","facadeSource":null,"sources":["extensions/slack/src/account-inspect.ts"]},{"output":".setup/accounts-CGJScKtk.mjs","sha256":"b70f455d2f4f51e4fed186aa04ca15bdcacc0255f140effd282b1399b4750d7d","facadeSource":null,"sources":["extensions/slack/src/account-reply-mode.ts","extensions/slack/src/account-surface-fields.ts","extensions/slack/src/accounts.ts","extensions/slack/src/token.ts"]},{"output":".setup/action-runtime-D01wBhx5.mjs","sha256":"197c4a4c7370c4c7ded5a650a7c769c9a8ad044893c3c182ee245d785ea1ad40","facadeSource":null,"sources":["extensions/slack/src/action-runtime.ts"]},{"output":".setup/action-runtime.runtime-VQGaR6g8.mjs","sha256":"e7b03cbd3c32892cb657f1c8f67bff525e1a2999877f5c6868291b15cef2cfb4","facadeSource":"extensions/slack/src/action-runtime.runtime.ts","sources":[]},{"output":".setup/actions-D5S6D_BU.mjs","sha256":"d32510b840288eed87a5745b827cd52a5d1c2aa57eda6d71f458b0aabd2962e3","facadeSource":null,"sources":["extensions/slack/src/actions.ts","extensions/slack/src/conversation-open.ts","extensions/slack/src/edit-text.ts","extensions/slack/src/file-reference.ts","extensions/slack/src/monitor/block-text.ts","extensions/slack/src/monitor/media.runtime.ts","extensions/slack/src/monitor/media.ts","extensions/slack/src/monitor/slack-client-kind.ts"]},{"output":".setup/approval-handler.runtime-Buw5jh2Y.mjs","sha256":"a3f3c5d8f906036460313722c27dba1a3d8896c97fb0a9a9eaff869151a739ba","facadeSource":"extensions/slack/src/approval-handler.runtime.ts","sources":["extensions/slack/src/approval-handler.runtime.ts"]},{"output":".setup/approval-message-updates-pmXcve5E.mjs","sha256":"9a1fce312201a59cc22032de741cf1bf4bcb980787437609ffabaf4947bb85d0","facadeSource":null,"sources":["extensions/slack/src/approval-message-updates.ts"]},{"output":".setup/channel-C_R98Nbv.mjs","sha256":"957e3c6a9efe6ceaf2eb721a7acf7cf0154f89f281a2e6f5ab2ea05329f79dbf","facadeSource":null,"sources":["extensions/slack/src/approval-native.ts","extensions/slack/src/channel-actions.ts","extensions/slack/src/channel.ts","extensions/slack/src/conversation-route-owner.ts","extensions/slack/src/doctor.ts","extensions/slack/src/enterprise-user-route.ts","extensions/slack/src/security.ts","extensions/slack/src/shared.ts","extensions/slack/src/threading-tool-context.ts"]},{"output":".setup/channel-meta-C443t-lI.mjs","sha256":"9c2859245e7b4af118b9e83309cfa1199171e136cee1722317d28e0d31a87180","facadeSource":null,"sources":["extensions/slack/src/channel-meta.ts"]},{"output":".setup/channel-type-B5P3w9eA.mjs","sha256":"71a1d52faa4ec00af78674ef684b891596b0da666609c0de9ecd21ab16660ef5","facadeSource":null,"sources":["extensions/slack/src/channel-type.ts"]},{"output":".setup/channel.setup-Lq2OxKkF.mjs","sha256":"7f2fabb40af8e92df3a1bebdeaf63ee6b43efcd86f4a52199c831f25c4203c34","facadeSource":null,"sources":["extensions/slack/src/channel.setup.ts","extensions/slack/src/config-adapter.ts","extensions/slack/src/setup-core.ts","extensions/slack/src/setup-shared.ts"]},{"output":".setup/config-schema-BWAaa5au.mjs","sha256":"10bc25dc38d537d67e7e3fc5a0321fae893bb2dfdd87feb9c290c83bbf6129cc","facadeSource":null,"sources":["extensions/slack/src/config-schema.ts","extensions/slack/src/config-ui-hints.ts"]},{"output":".setup/cursor-pages-CATAzbTT.mjs","sha256":"9f82bfc59445ae8d63d66db6740e222a77ec37c21e879ce6431eeac003378e78","facadeSource":null,"sources":["extensions/slack/src/client-options.ts","extensions/slack/src/client.ts","extensions/slack/src/cursor-pages.ts","extensions/slack/src/monitor/lru-map-cache.ts"]},{"output":".setup/directory-config-D-hf9KGQ.mjs","sha256":"4b11e7ae18661f1e1114543baf38fef0c18d443703a705bb88e387b7a28f8a76","facadeSource":null,"sources":["extensions/slack/src/directory-config.ts"]},{"output":".setup/directory-live-onKAFI1E.mjs","sha256":"2ed21e8a7dd7140080ab927041f8634412fc51545683ad86c3de31ef99c0074b","facadeSource":null,"sources":["extensions/slack/src/directory-live.ts"]},{"output":".setup/doctor-contract-9-QJRCXk.mjs","sha256":"6f357d69aa0e82c0e833e95e97d6d9dddfb99df1aa4b3f06824f795cfc4478fb","facadeSource":null,"sources":["extensions/slack/src/doctor-contract.ts","extensions/slack/src/streaming-compat.ts","packages/normalization-core/src/record-coerce.ts","src/config/channel-config-normalization.ts","src/plugin-sdk/legacy-webhook-listener-migration.ts"]},{"output":".setup/message-tool-api-LGIgVXJf.mjs","sha256":"810eb4cae0880c404733d25cca3e2d6021812f4a9130b9c1270ac92e341b45ef","facadeSource":null,"sources":["extensions/slack/src/message-actions.ts","extensions/slack/src/message-tool-api.ts"]},{"output":".setup/monitor-Cm1TuqxN.mjs","sha256":"21c8d3d09a2bba4b521439974fc7e84fc58877c192c84b959c1183af854e7426","facadeSource":null,"sources":["extensions/slack/src/channel-migration.ts","extensions/slack/src/draft-message-boundaries.ts","extensions/slack/src/interactive-dispatch.ts","extensions/slack/src/modal-metadata.ts","extensions/slack/src/monitor.ts","extensions/slack/src/monitor/approval-runtime-context.ts","extensions/slack/src/monitor/assistant-thread-context.ts","extensions/slack/src/monitor/auth.ts","extensions/slack/src/monitor/channel-type.ts","extensions/slack/src/monitor/commands.ts","extensions/slack/src/monitor/context.ts","extensions/slack/src/monitor/deferred-action-routing.ts","extensions/slack/src/monitor/dm-auth.ts","extensions/slack/src/monitor/enterprise-install.ts","extensions/slack/src/monitor/event-scope.ts","extensions/slack/src/monitor/events.ts","extensions/slack/src/monitor/events/assistant.ts","extensions/slack/src/monitor/events/channels.ts","extensions/slack/src/monitor/events/interaction-event.ts","extensions/slack/src/monitor/events/interactions.approval-sender.ts","extensions/slack/src/monitor/events/interactions.block-actions.context.ts","extensions/slack/src/monitor/events/interactions.block-actions.ts","extensions/slack/src/monitor/events/interactions.modal.ts","extensions/slack/src/monitor/events/interactions.ts","extensions/slack/src/monitor/events/members.ts","extensions/slack/src/monitor/events/message-subtype-handlers.ts","extensions/slack/src/monitor/events/messages.ts","extensions/slack/src/monitor/events/modal-input-summary.ts","extensions/slack/src/monitor/events/system-event-context.ts","extensions/slack/src/monitor/external-arg-menu-store.ts","extensions/slack/src/monitor/http-handler.ts","extensions/slack/src/monitor/ingress.ts","extensions/slack/src/monitor/message-dispatch-dedupe.ts","extensions/slack/src/monitor/message-handler.ts","extensions/slack/src/monitor/message-handler/debounce-key.ts","extensions/slack/src/monitor/message-handler/prepare-routing.ts","extensions/slack/src/monitor/presence-cooldown-store.ts","extensions/slack/src/monitor/presence-monitor.ts","extensions/slack/src/monitor/provider-support.ts","extensions/slack/src/monitor/provider-workspace-client.ts","extensions/slack/src/monitor/provider.ts","extensions/slack/src/monitor/reconnect-policy.ts","extensions/slack/src/monitor/response-url-budget.ts","extensions/slack/src/monitor/room-context.ts","extensions/slack/src/monitor/runtime-policy.ts","extensions/slack/src/monitor/session-run-targets.ts","extensions/slack/src/monitor/slash-menu-model-context.ts","extensions/slack/src/monitor/slash.ts","extensions/slack/src/monitor/suggested-prompts.ts","extensions/slack/src/monitor/system-event-session.ts","extensions/slack/src/monitor/thread-resolution.ts","extensions/slack/src/monitor/transient-api-error.ts","extensions/slack/src/streaming.ts","extensions/slack/src/threading.ts","extensions/slack/src/types.ts"]},{"output":".setup/outbound-adapter-C-95EWl2.mjs","sha256":"0745940f2b745eb9e1df433799219b980b04bfed0b535acf381b33720eae6a50","facadeSource":"extensions/slack/src/outbound-adapter.ts","sources":["extensions/slack/src/outbound-adapter.ts"]},{"output":".setup/paths-B1u59oLK.mjs","sha256":"64c399464c7aaa5764db5cb1ce3c04b361464378cfbb24430490ade6b65ab2e4","facadeSource":null,"sources":["extensions/slack/src/http/paths.ts"]},{"output":".setup/pipeline.runtime-DGnV6akc.mjs","sha256":"c3310c5c5b5b986d26f9c1015ac7ce5b3368d559f783dff201cd8c43069cce06","facadeSource":"extensions/slack/src/monitor/message-handler/pipeline.runtime.ts","sources":["extensions/slack/src/agent-context.ts","extensions/slack/src/draft-stream.ts","extensions/slack/src/monitor/message-handler/dispatch-helpers.ts","extensions/slack/src/monitor/message-handler/dispatch-progress-card.ts","extensions/slack/src/monitor/message-handler/dispatch-progress-native.ts","extensions/slack/src/monitor/message-handler/dispatch-progress-render.ts","extensions/slack/src/monitor/message-handler/dispatch-progress.ts","extensions/slack/src/monitor/message-handler/dispatch-setup.ts","extensions/slack/src/monitor/message-handler/dispatch-streaming.ts","extensions/slack/src/monitor/message-handler/dispatch.ts","extensions/slack/src/monitor/message-handler/failure-notice.ts","extensions/slack/src/monitor/message-handler/preflight-audio.ts","extensions/slack/src/monitor/message-handler/prepare-content.ts","extensions/slack/src/monitor/message-handler/prepare-dm-history.ts","extensions/slack/src/monitor/message-handler/prepare-room-history.ts","extensions/slack/src/monitor/message-handler/prepare-session-presentation.ts","extensions/slack/src/monitor/message-handler/prepare-thread-context-root.ts","extensions/slack/src/monitor/message-handler/prepare-thread-context.ts","extensions/slack/src/monitor/message-handler/prepare-thread-mentions.ts","extensions/slack/src/monitor/message-handler/prepare.ts","extensions/slack/src/monitor/message-handler/preview-finalize.ts","extensions/slack/src/monitor/message-handler/subteam-mentions.ts","extensions/slack/src/monitor/message-handler/timestamp.ts","extensions/slack/src/monitor/thread.ts","extensions/slack/src/progress-blocks.ts","extensions/slack/src/stream-mode.ts","src/channels/mention-gating.ts"]},{"output":".setup/policy-DxhGRvc2.mjs","sha256":"5a1d7ceffd16d78bf6e5cbeed6507ea0ff0070632f7aa649addec0a62832f8c4","facadeSource":null,"sources":["extensions/slack/src/monitor/channel-config.ts","extensions/slack/src/monitor/policy.ts"]},{"output":".setup/probe-DANukR3O.mjs","sha256":"4909f890ed8172e6a1c5d2d797c9729c2f5a6cb88553eb79237c3ced0d1111fa","facadeSource":null,"sources":["extensions/slack/src/action-threading.ts","extensions/slack/src/approval-actions.ts","extensions/slack/src/approval-auth.ts","extensions/slack/src/approval-native-gates.ts","extensions/slack/src/approval-plugin-policy.ts","extensions/slack/src/blocks-fallback.ts","extensions/slack/src/blocks-input.ts","extensions/slack/src/channel-policy-state.ts","extensions/slack/src/conversation-binding-route.ts","extensions/slack/src/data-table.ts","extensions/slack/src/data-visualization.ts","extensions/slack/src/detached-target-admission.ts","extensions/slack/src/errors.ts","extensions/slack/src/exec-approvals.ts","extensions/slack/src/format.ts","extensions/slack/src/group-policy.ts","extensions/slack/src/installation-identity-state.ts","extensions/slack/src/limits.ts","extensions/slack/src/monitor/allow-list.ts","extensions/slack/src/monitor/ingress-identity.ts","extensions/slack/src/monitor/mrkdwn.ts","extensions/slack/src/monitor/workspace-routing.ts","extensions/slack/src/native-data-blocks.ts","extensions/slack/src/presentation-fallback.ts","extensions/slack/src/presentation.ts","extensions/slack/src/probe.ts","extensions/slack/src/question-actions.ts","extensions/slack/src/reply-action-ids.ts","extensions/slack/src/rich-text.ts","extensions/slack/src/session-status.ts","extensions/slack/src/truncate.ts"]},{"output":".setup/question-delivery-CWC7sRhH.mjs","sha256":"88e90a1ce6e711ca88e7b282b9e54cf6ffe3e7967032a5022b49a3d53931395d","facadeSource":null,"sources":["extensions/slack/src/question-delivery.ts"]},{"output":".setup/relay-source-DoyOlTbK.mjs","sha256":"daaba19b63a507145ab7444602e8e48cf73e4ea1a8da042728120b2328199b53","facadeSource":"extensions/slack/src/monitor/relay-source.ts","sources":["extensions/slack/src/monitor/relay-source.ts"]},{"output":".setup/replies-BcmUKord.mjs","sha256":"ddfb3a517ffc35a7b7a17ffd5a1d2277789e8855706e6f7efe1379f0112af7f8","facadeSource":null,"sources":["extensions/slack/src/message-sent-hook.ts","extensions/slack/src/monitor/replies.ts"]},{"output":".setup/reply-blocks-BzsXUUUL.mjs","sha256":"8a6824efcfe48a92779c994de42e8cfdb0e8f6e151182d63d381a9cd5a0b20e1","facadeSource":null,"sources":["extensions/slack/src/authored-text.ts","extensions/slack/src/blocks-render.ts","extensions/slack/src/reply-blocks.ts"]},{"output":".setup/resolve-channels-XDPgnesf.mjs","sha256":"08fd8e8756f25a2e133d2634038d19cbd147ec678b09cd25b46e9dc296fed133","facadeSource":null,"sources":["extensions/slack/src/resolve-channels.ts"]},{"output":".setup/resolve-users-aDAv24U2.mjs","sha256":"bbc1f5ec978a317ae389f37f8c65990ec1be4e8466b12b363b8ac47de511e024","facadeSource":null,"sources":["extensions/slack/src/resolve-users.ts"]},{"output":".setup/rolldown-runtime-B4FMCO8f.mjs","sha256":"fcbee43c448920f8fe98ecc6ec974d3d100a0d6d19a223f5a135bfb261512c97","facadeSource":null,"sources":[]},{"output":".setup/runtime-JSVZSWAj.mjs","sha256":"bdc12ab895b35efc1ea3abeac2b050dbd7223c3accca9aad94baa9aaadb9123a","facadeSource":null,"sources":["extensions/slack/src/runtime.ts"]},{"output":".setup/runtime-setter-api-Cx_PV-xu.mjs","sha256":"459d6d1bc508399dbbfe2e5f654387d549a61897e2758c2f3b7537751aa847d8","facadeSource":"extensions/slack/runtime-setter-api.ts","sources":[]},{"output":".setup/scopes-BocHwImV.mjs","sha256":"9e61895cbb3723a5529461a0ea25ef2e9d492f3a7b340934ff516671d6a6fee5","facadeSource":"extensions/slack/src/scopes.ts","sources":["extensions/slack/src/scopes.ts"]},{"output":".setup/secret-contract-api-BlLz88mj.mjs","sha256":"19da648b38fe2793c12863d2dacaaa67911801c215ea188b3752aa62235a2529","facadeSource":"extensions/slack/secret-contract-api.ts","sources":[]},{"output":".setup/secret-contract-uiQtoNlu.mjs","sha256":"57108dae7f6b6d7ecc4e9c068ec6afea7e26de45254c46073e790cf94dd3a6fd","facadeSource":null,"sources":["extensions/slack/src/secret-contract.ts"]},{"output":".setup/security-audit-DFGiFLqd.mjs","sha256":"a0b01c0f66ae006698facdb66f39b62727487f60160056d72f744ceb661894fc","facadeSource":null,"sources":["extensions/slack/src/security-audit.ts"]},{"output":".setup/send-results-BGxlroJ-.mjs","sha256":"641af83805910c5cc46e41db7b8160fce21b40736d2edd1b88af3dcc70be0a23","facadeSource":null,"sources":["extensions/slack/src/send-results.ts"]},{"output":".setup/send-yK6_-px6.mjs","sha256":"7c5f434fb80469b203d7d1b9927416636287cadcc7d746faf21c9208feaf5d48","facadeSource":null,"sources":["extensions/slack/src/client-delivery.ts","extensions/slack/src/native-data-fallback.ts","extensions/slack/src/post-message-identity.ts","extensions/slack/src/send.ts","extensions/slack/src/sent-thread-cache.ts","extensions/slack/src/slack-dm-channel-cache.ts"]},{"output":".setup/setup-plugin-api-Cfz58xoh.mjs","sha256":"2a7a61636819addcd7f47ce40a9679189014d8aed0152cb0788b15e929bce405","facadeSource":"extensions/slack/setup-plugin-api.ts","sources":[]},{"output":".setup/setup-surface-C0KRtyqa.mjs","sha256":"c5ccef5b4f051901f4db35d083af84e4bd434f8deac02d94e6a2fe5800a48df9","facadeSource":"extensions/slack/src/setup-surface.ts","sources":["extensions/slack/src/setup-surface.ts"]},{"output":".setup/slash-dispatch.runtime-CyVC3bYx.mjs","sha256":"cf5746337d41027a993c1448ed3bac556b960ee97bde26a7e3fbb9bcb65c6cc6","facadeSource":"extensions/slack/src/monitor/slash-dispatch.runtime.ts","sources":[]},{"output":".setup/target-parsing-Bx2UZniD.mjs","sha256":"ceeb65f1e2087ea59d46173c2856fcd04c4cee9237387f00955e4abc261d2581","facadeSource":null,"sources":["extensions/slack/src/target-parsing.ts"]},{"output":".setup/targets-D-ASeWHy.mjs","sha256":"7e45f10feeb0ddade5a32b35f1b8df1e839ce6f303b9daf53efaf59f057bc6aa","facadeSource":null,"sources":["extensions/slack/src/targets.ts"]},{"output":".setup/thread-ts-Cvt7WD6B.mjs","sha256":"00e816eefbf22d06ca8a285a83b40fea4a2bfbb9d0561e3c80a9ef08b161fa41","facadeSource":null,"sources":["extensions/slack/src/thread-ts.ts"]},{"output":"account-inspect-api.js","sha256":"664ee5edd248fce59a698e66089e00347f565f1aa2092dddd14ef7649a09c0b4","facadeSource":"extensions/slack/account-inspect-api.ts","sources":["extensions/slack/account-inspect-api.ts"]},{"output":"api.js","sha256":"66393186ae21f7078ced2f586503e0539fc36539c4ee098d4933a6f4c9126c47","facadeSource":"extensions/slack/api.ts","sources":[]},{"output":"channel-config-api.js","sha256":"4af95571a29d3abf0b84a8f192236fd0daf1a9f35a14382bdc608466012430d6","facadeSource":"extensions/slack/channel-config-api.ts","sources":[]},{"output":"channel-entry.js","sha256":"db4699f8ffe20a62ca6011814b4a20f3fcf49c905f9864c97cb41fabef0e0ba4","facadeSource":"extensions/slack/channel-entry.ts","sources":["extensions/slack/channel-entry.ts"]},{"output":"channel-plugin-api.js","sha256":"a44443c325a37c3a2bf51f95843a641ea51e8fcdd31288ff6ce0f84be114cd3f","facadeSource":"extensions/slack/channel-plugin-api.ts","sources":[]},{"output":"configured-state.js","sha256":"e3269def4c411a8feeb67f01b26a54719792a3feea118a1280ef5a975bcc8e67","facadeSource":"extensions/slack/configured-state.ts","sources":["extensions/slack/configured-state.ts"]},{"output":"contract-api.js","sha256":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","facadeSource":"extensions/slack/contract-api.ts","sources":[]},{"output":"directory-contract-api.js","sha256":"cd380a9187391ec8e86cc7b791d7b1f231881521fcaf39b8b10b640fe6c5c63c","facadeSource":"extensions/slack/directory-contract-api.ts","sources":[]},{"output":"doctor-contract-api.js","sha256":"160684523e8190c141996ff63df35e1114ba5b9d2f33bf25c9d66445a9aeeaa7","facadeSource":"extensions/slack/doctor-contract-api.ts","sources":[]},{"output":"index.js","sha256":"a1fa1234d373c8f8a29b76e4286674cbec04ba5735ad2a768ad41b37d7ea6e1f","facadeSource":"extensions/slack/index.ts","sources":["extensions/slack/index.ts"]},{"output":"message-tool-api.js","sha256":"64a80a56408a860812fdbe7e3f27f84bcc3e37e8334466d0023a50bf64b83b6d","facadeSource":"extensions/slack/message-tool-api.ts","sources":[]},{"output":"runtime-api.js","sha256":"8fbc758ff08c5db007afbbf027162ba160636959081cfd7c8d161bb80dc83334","facadeSource":"extensions/slack/runtime-api.ts","sources":[]},{"output":"runtime-setter-api.js","sha256":"922b8e00df9d5b8ec92d98bda060404d5abd7644b3b5184db64a58077dbe0b5b","facadeSource":"extensions/slack/runtime-setter-api.ts","sources":[]},{"output":"secret-contract-api.js","sha256":"2e5ed792219d79d1dfa7eceaf5aaaddc3360253449bd9fd1090481ba12857230","facadeSource":"extensions/slack/secret-contract-api.ts","sources":[]},{"output":"security-contract-api.js","sha256":"de3eb5bfb0e5a9045e0686dd934f23d053b02a241b4143e39c8b761d8d714fe0","facadeSource":"extensions/slack/security-contract-api.ts","sources":[]},{"output":"setup-entry.js","sha256":"60eedea327a23cd9cda6192d8320d3e6d411009419b00a2080fec13fd458fd18","facadeSource":"extensions/slack/setup-entry.ts","sources":["extensions/slack/setup-entry.ts"]},{"output":"setup-plugin-api.js","sha256":"ee6d2206e3c366a8c32bf487b1ae4c7683fe12f4b2b45dd0fc263da6d5c76310","facadeSource":"extensions/slack/setup-plugin-api.ts","sources":[]}],"unrenderedSources":["extensions/slack/api.ts","extensions/slack/channel-config-api.ts","extensions/slack/channel-plugin-api.ts","extensions/slack/config-doctor-api.ts","extensions/slack/contract-api.ts","extensions/slack/directory-contract-api.ts","extensions/slack/doctor-contract-api.ts","extensions/slack/message-tool-api.ts","extensions/slack/runtime-api.ts","extensions/slack/runtime-setter-api.ts","extensions/slack/secret-contract-api.ts","extensions/slack/security-contract-api.ts","extensions/slack/setup-plugin-api.ts","extensions/slack/src/action-runtime.runtime.ts","extensions/slack/src/monitor/media-types.ts","extensions/slack/src/monitor/message-handler/pipeline.runtime.ts","extensions/slack/src/monitor/slash-dispatch.runtime.ts"]}
@@ -1,4 +1,4 @@
1
- import { t as inspectSlackAccount } from "./.setup/account-inspect-CmkKiSb9.mjs";
1
+ import { t as inspectSlackAccount } from "./.setup/account-inspect-BLVha-ov.mjs";
2
2
  //#region extensions/slack/account-inspect-api.ts
3
3
  function inspectSlackReadOnlyAccount(cfg, accountId) {
4
4
  return inspectSlackAccount({
package/dist/api.js CHANGED
@@ -1,20 +1,19 @@
1
- import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./.setup/registry-DizWcnNp.mjs";
2
- import { a as mergeSlackAccountConfig, f as resolveSlackReplyToMode, i as listSlackAccountIds, o as resolveDefaultSlackAccountId, r as listEnabledSlackAccounts, s as resolveSlackAccount } from "./.setup/accounts-msihSF3-.mjs";
3
- import { t as inspectSlackAccount } from "./.setup/account-inspect-CmkKiSb9.mjs";
4
- import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId } from "./.setup/target-parsing-FFE26kOV.mjs";
5
- import "./.setup/targets-C6LZQL1Q.mjs";
6
- import { Ht as resolveSlackAutoThreadId, a as resolveSlackGroupRequireMention, gt as validateSlackBlocksArray, ht as parseSlackBlocksInput, mt as SLACK_MAX_BLOCKS, o as resolveSlackGroupToolPolicy } from "./.setup/session-status-Dv8wNBEt.mjs";
7
- import { A as resolveSlackAllowListMatch, D as allowListMatches, E as resolveSlackWriteClientOptions, M as resolveSlackUserAllowed, O as normalizeSlackAllowOwnerEntry, S as SLACK_WRITE_RETRY_OPTIONS, T as resolveSlackWebClientOptions, _ as getSlackWriteClient, h as createSlackWriteClient, k as normalizeSlackSlug, m as createSlackWebClient, p as createSlackTokenCacheKey, t as probeSlack, x as SLACK_DEFAULT_RETRY_OPTIONS } from "./.setup/probe-IiHogLQN.mjs";
8
- import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-DLFiMJm2.mjs";
9
- import { d as buildSlackInteractiveBlocks, f as buildSlackPresentationBlocks } from "./.setup/reply-blocks-Ca-raz2z.mjs";
10
- import { n as extractSlackToolSend, r as listSlackMessageActions } from "./.setup/message-tool-api-BS5ekEA_.mjs";
11
- import { n as resolveSlackChannelType } from "./.setup/channel-type-BEFP2ORi.mjs";
12
- import { t as slackSetupPlugin } from "./.setup/channel.setup-CzFw73mU.mjs";
13
- import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g as unpinSlackMessage, h as sendSlackMessage, i as editSlackMessage, l as listSlackReactions, m as removeSlackReaction, n as deleteSlackMessage, o as getSlackMemberInfo, p as removeOwnSlackReactions, r as downloadSlackFile, s as listSlackEmojis, u as pinSlackMessage } from "./.setup/actions-By7tvpvv.mjs";
14
- import { a as clearSlackThreadParticipationCache, s as hasSlackThreadParticipation, u as recordSlackThreadParticipation } from "./.setup/send-C-8wY0lK.mjs";
15
- import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-Cjj0N8R0.mjs";
16
- import "./.setup/http-C9sM-FXe.mjs";
1
+ import { a as mergeSlackAccountConfig, i as listSlackAccountIds, o as resolveDefaultSlackAccountId, p as resolveSlackReplyToMode, r as listEnabledSlackAccounts, s as resolveSlackAccount } from "./.setup/accounts-CGJScKtk.mjs";
2
+ import { t as inspectSlackAccount } from "./.setup/account-inspect-BLVha-ov.mjs";
3
+ import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId } from "./.setup/target-parsing-Bx2UZniD.mjs";
4
+ import "./.setup/targets-D-ASeWHy.mjs";
5
+ import { Bt as allowListMatches, Gt as resolveSlackUserAllowed, Ht as normalizeSlackSlug, Ut as resolveSlackAllowListMatch, Vt as normalizeSlackAllowOwnerEntry, d as resolveSlackGroupRequireMention, f as resolveSlackGroupToolPolicy, nt as parseSlackBlocksInput, rn as resolveSlackAutoThreadId, rt as validateSlackBlocksArray, t as probeSlack, tt as SLACK_MAX_BLOCKS } from "./.setup/probe-DANukR3O.mjs";
6
+ import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-C_R98Nbv.mjs";
7
+ import { n as extractSlackToolSend, r as listSlackMessageActions } from "./.setup/message-tool-api-LGIgVXJf.mjs";
8
+ import { l as buildSlackInteractiveBlocks, u as buildSlackPresentationBlocks } from "./.setup/reply-blocks-BzsXUUUL.mjs";
9
+ import { b as resolveSlackWebClientOptions, c as createSlackWriteClient, g as SLACK_WRITE_RETRY_OPTIONS, h as SLACK_DEFAULT_RETRY_OPTIONS, o as createSlackTokenCacheKey, s as createSlackWebClient, u as getSlackWriteClient, x as resolveSlackWriteClientOptions } from "./.setup/cursor-pages-CATAzbTT.mjs";
10
+ import { n as resolveSlackChannelType } from "./.setup/channel-type-B5P3w9eA.mjs";
11
+ import { t as slackSetupPlugin } from "./.setup/channel.setup-Lq2OxKkF.mjs";
12
+ import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g as unpinSlackMessage, h as sendSlackMessage, i as editSlackMessage, l as listSlackReactions, m as removeSlackReaction, n as deleteSlackMessage, o as getSlackMemberInfo, p as removeOwnSlackReactions, r as downloadSlackFile, s as listSlackEmojis, u as pinSlackMessage } from "./.setup/actions-D5S6D_BU.mjs";
13
+ import { c as hasSlackThreadParticipation, d as recordSlackThreadParticipation, o as clearSlackThreadParticipationCache } from "./.setup/send-yK6_-px6.mjs";
14
+ import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-D-hf9KGQ.mjs";
15
+ import { t as normalizeSlackWebhookPath } from "./.setup/paths-B1u59oLK.mjs";
17
16
  import { t as collectSlackSecurityAuditFindings } from "./.setup/security-audit-DFGiFLqd.mjs";
18
17
  import { normalizeStringEntries as normalizeAllowList, normalizeStringEntriesLower as normalizeAllowListLower } from "openclaw/plugin-sdk/string-normalization-runtime";
19
18
  import { resolveOpenProviderRuntimeGroupPolicy as resolveSlackRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
20
- export { SLACK_DEFAULT_RETRY_OPTIONS, SLACK_MAX_BLOCKS, SLACK_WRITE_RETRY_OPTIONS, allowListMatches, buildSlackInteractiveBlocks, buildSlackPresentationBlocks, buildSlackThreadingToolContext, clearSlackThreadParticipationCache, collectSlackSecurityAuditFindings, createSlackTokenCacheKey, createSlackWebClient, createSlackWriteClient, deleteSlackMessage, downloadSlackFile, editSlackMessage, extractSlackToolSend, getSlackMemberInfo, getSlackWriteClient, handleSlackHttpRequest, hasSlackThreadParticipation, inspectSlackAccount, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig, listSlackEmojis, listSlackMessageActions, listSlackPins, listSlackReactions, looksLikeSlackTargetId, mergeSlackAccountConfig, normalizeAllowList, normalizeAllowListLower, normalizeSlackAllowOwnerEntry, normalizeSlackMessagingTarget, normalizeSlackSlug, normalizeSlackWebhookPath, parseSlackBlocksInput, parseSlackTarget, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, recordSlackThreadParticipation, registerSlackHttpHandler, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAllowListMatch, resolveSlackAutoThreadId, resolveSlackChannelId, resolveSlackChannelType, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackReplyToMode, resolveSlackRuntimeGroupPolicy, resolveSlackUserAllowed, resolveSlackWebClientOptions, resolveSlackWriteClientOptions, sendSlackMessage, slackPlugin, slackSetupPlugin, unpinSlackMessage, validateSlackBlocksArray };
19
+ export { SLACK_DEFAULT_RETRY_OPTIONS, SLACK_MAX_BLOCKS, SLACK_WRITE_RETRY_OPTIONS, allowListMatches, buildSlackInteractiveBlocks, buildSlackPresentationBlocks, buildSlackThreadingToolContext, clearSlackThreadParticipationCache, collectSlackSecurityAuditFindings, createSlackTokenCacheKey, createSlackWebClient, createSlackWriteClient, deleteSlackMessage, downloadSlackFile, editSlackMessage, extractSlackToolSend, getSlackMemberInfo, getSlackWriteClient, hasSlackThreadParticipation, inspectSlackAccount, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig, listSlackEmojis, listSlackMessageActions, listSlackPins, listSlackReactions, looksLikeSlackTargetId, mergeSlackAccountConfig, normalizeAllowList, normalizeAllowListLower, normalizeSlackAllowOwnerEntry, normalizeSlackMessagingTarget, normalizeSlackSlug, normalizeSlackWebhookPath, parseSlackBlocksInput, parseSlackTarget, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, recordSlackThreadParticipation, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAllowListMatch, resolveSlackAutoThreadId, resolveSlackChannelId, resolveSlackChannelType, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackReplyToMode, resolveSlackRuntimeGroupPolicy, resolveSlackUserAllowed, resolveSlackWebClientOptions, resolveSlackWriteClientOptions, sendSlackMessage, slackPlugin, slackSetupPlugin, unpinSlackMessage, validateSlackBlocksArray };
@@ -1,2 +1 @@
1
- import { t as SlackChannelConfigSchema } from "./.setup/config-schema-DNnh6bWU.mjs";
2
- export { SlackChannelConfigSchema };
1
+ export { t as SlackChannelConfigSchema } from "./.setup/config-schema-BWAaa5au.mjs";
@@ -1,2 +1 @@
1
- import { t as slackPlugin } from "./.setup/channel-DLFiMJm2.mjs";
2
- export { slackPlugin };
1
+ export { t as slackPlugin } from "./.setup/channel-C_R98Nbv.mjs";
@@ -1,2 +1 @@
1
- import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-Cjj0N8R0.mjs";
2
- export { listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig };
1
+ export { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-D-hf9KGQ.mjs";
@@ -1,2 +1 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./.setup/doctor-contract-Cd4-VzIM.mjs";
2
- export { legacyConfigRules, normalizeCompatibilityConfig };
1
+ export { t as legacyConfigRules, n as normalizeCompatibilityConfig } from "./.setup/doctor-contract-9-QJRCXk.mjs";
package/dist/index.js CHANGED
@@ -1,5 +1,3 @@
1
- import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-D4qozHVn.mjs";
2
- import "./http-routes-api.js";
3
1
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
4
2
  //#region extensions/slack/index.ts
5
3
  var slack_default = defineBundledChannelEntry({
@@ -22,10 +20,6 @@ var slack_default = defineBundledChannelEntry({
22
20
  accountInspect: {
23
21
  specifier: "./account-inspect-api.js",
24
22
  exportName: "inspectSlackReadOnlyAccount"
25
- },
26
- registerFull: (api) => {
27
- if (api.registrationMode !== "full") return;
28
- registerSlackPluginHttpRoutes(api);
29
23
  }
30
24
  });
31
25
  //#endregion
@@ -1,2 +1 @@
1
- import { t as describeSlackMessageTool } from "./.setup/message-tool-api-BS5ekEA_.mjs";
2
- export { describeSlackMessageTool as describeMessageTool };
1
+ export { t as describeMessageTool } from "./.setup/message-tool-api-LGIgVXJf.mjs";
@@ -1,13 +1,11 @@
1
- import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-D4qozHVn.mjs";
2
- import { h as resolveSlackBotToken, i as listSlackAccountIds, m as resolveSlackAppToken, o as resolveDefaultSlackAccountId, r as listEnabledSlackAccounts, s as resolveSlackAccount } from "./.setup/accounts-msihSF3-.mjs";
3
- import { a as resolveSlackGroupRequireMention, o as resolveSlackGroupToolPolicy } from "./.setup/session-status-Dv8wNBEt.mjs";
4
- import { t as probeSlack } from "./.setup/probe-IiHogLQN.mjs";
1
+ import { g as resolveSlackBotToken, h as resolveSlackAppToken, i as listSlackAccountIds, o as resolveDefaultSlackAccountId, r as listEnabledSlackAccounts, s as resolveSlackAccount } from "./.setup/accounts-CGJScKtk.mjs";
2
+ import { d as resolveSlackGroupRequireMention, f as resolveSlackGroupToolPolicy, t as probeSlack } from "./.setup/probe-DANukR3O.mjs";
3
+ import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g as unpinSlackMessage, h as sendSlackMessage, i as editSlackMessage, l as listSlackReactions, m as removeSlackReaction, n as deleteSlackMessage, o as getSlackMemberInfo, p as removeOwnSlackReactions, s as listSlackEmojis, u as pinSlackMessage } from "./.setup/actions-D5S6D_BU.mjs";
4
+ import { t as sendMessageSlack } from "./.setup/send-yK6_-px6.mjs";
5
5
  import { r as setSlackRuntime } from "./.setup/runtime-JSVZSWAj.mjs";
6
- import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g as unpinSlackMessage, h as sendSlackMessage, i as editSlackMessage, l as listSlackReactions, m as removeSlackReaction, n as deleteSlackMessage, o as getSlackMemberInfo, p as removeOwnSlackReactions, s as listSlackEmojis, u as pinSlackMessage } from "./.setup/actions-By7tvpvv.mjs";
7
- import { t as sendMessageSlack } from "./.setup/send-C-8wY0lK.mjs";
8
- import { n as slackActionRuntime, t as handleSlackAction } from "./.setup/action-runtime-ChRfnnBu.mjs";
9
- import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./.setup/directory-live-BIKD-5B_.mjs";
10
- import { n as monitorSlackProvider } from "./.setup/monitor-CV6Z6FKP.mjs";
11
- import { t as resolveSlackChannelAllowlist } from "./.setup/resolve-channels-DRRhElwz.mjs";
12
- import { t as resolveSlackUserAllowlist } from "./.setup/resolve-users-Cz8e17ky.mjs";
13
- export { deleteSlackMessage, editSlackMessage, getSlackMemberInfo, handleSlackAction, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsLive, listSlackDirectoryPeersLive, listSlackEmojis, listSlackPins, listSlackReactions, monitorSlackProvider, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, registerSlackPluginHttpRoutes, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAppToken, resolveSlackBotToken, resolveSlackChannelAllowlist, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackUserAllowlist, sendMessageSlack, sendSlackMessage, setSlackRuntime, slackActionRuntime, unpinSlackMessage };
6
+ import { n as slackActionRuntime, t as handleSlackAction } from "./.setup/action-runtime-D01wBhx5.mjs";
7
+ import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./.setup/directory-live-onKAFI1E.mjs";
8
+ import { n as monitorSlackProvider } from "./.setup/monitor-Cm1TuqxN.mjs";
9
+ import { t as resolveSlackChannelAllowlist } from "./.setup/resolve-channels-XDPgnesf.mjs";
10
+ import { t as resolveSlackUserAllowlist } from "./.setup/resolve-users-aDAv24U2.mjs";
11
+ export { deleteSlackMessage, editSlackMessage, getSlackMemberInfo, handleSlackAction, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsLive, listSlackDirectoryPeersLive, listSlackEmojis, listSlackPins, listSlackReactions, monitorSlackProvider, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAppToken, resolveSlackBotToken, resolveSlackChannelAllowlist, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackUserAllowlist, sendMessageSlack, sendSlackMessage, setSlackRuntime, slackActionRuntime, unpinSlackMessage };
@@ -1,2 +1 @@
1
- import { r as setSlackRuntime } from "./.setup/runtime-JSVZSWAj.mjs";
2
- export { setSlackRuntime };
1
+ export { r as setSlackRuntime } from "./.setup/runtime-JSVZSWAj.mjs";
@@ -1,2 +1 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./.setup/secret-contract-vVRMoE1D.mjs";
2
- export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
1
+ export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./.setup/secret-contract-uiQtoNlu.mjs";
@@ -1,2 +1 @@
1
- import { t as collectSlackSecurityAuditFindings } from "./.setup/security-audit-DFGiFLqd.mjs";
2
- export { collectSlackSecurityAuditFindings };
1
+ export { t as collectSlackSecurityAuditFindings } from "./.setup/security-audit-DFGiFLqd.mjs";
@@ -4,15 +4,15 @@ import { fileURLToPath } from "node:url";
4
4
  var setup_entry_default = defineBundledChannelSetupEntry({
5
5
  importMetaUrl: import.meta.url,
6
6
  plugin: {
7
- specifier: fileURLToPath(new URL(".setup/setup-plugin-api-BGD1TYnK.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/setup-plugin-api-Cfz58xoh.mjs", import.meta.url).href),
8
8
  exportName: "slackSetupPlugin"
9
9
  },
10
10
  secrets: {
11
- specifier: fileURLToPath(new URL(".setup/secret-contract-api-DK9gZldc.mjs", import.meta.url).href),
11
+ specifier: fileURLToPath(new URL(".setup/secret-contract-api-BlLz88mj.mjs", import.meta.url).href),
12
12
  exportName: "channelSecrets"
13
13
  },
14
14
  runtime: {
15
- specifier: fileURLToPath(new URL(".setup/runtime-setter-api-CMFvhrAr.mjs", import.meta.url).href),
15
+ specifier: fileURLToPath(new URL(".setup/runtime-setter-api-Cx_PV-xu.mjs", import.meta.url).href),
16
16
  exportName: "setSlackRuntime"
17
17
  }
18
18
  });
@@ -1,2 +1 @@
1
- import { t as slackSetupPlugin } from "./.setup/channel.setup-CzFw73mU.mjs";
2
- export { slackSetupPlugin };
1
+ export { t as slackSetupPlugin } from "./.setup/channel.setup-Lq2OxKkF.mjs";
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Thu, 01 Oct 2026 22:35:12 GMT
11
+ * Last updated: Fri, 09 Oct 2026 18:42:20 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "26.6.4",
3
+ "version": "26.6.5",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -135,6 +135,6 @@
135
135
  "undici-types": "~8.9.0"
136
136
  },
137
137
  "peerDependencies": {},
138
- "typesPublisherContentHash": "6c3e6bb0de9116746132571c03cd320ed541b2c7576c42dd3c7fa509e3440b61",
138
+ "typesPublisherContentHash": "3196021f34db9bcb68a729bd29ff60434d3b4c5f49619270db25e7dbd6dc651c",
139
139
  "typeScriptVersion": "5.6"
140
140
  }
@@ -1260,16 +1260,19 @@ declare module "node:util" {
1260
1260
  *
1261
1261
  * // 3-digit hex color (shorthand)
1262
1262
  * console.log(styleText('#f00', 'Red text'));
1263
+ *
1264
+ * // Hex color combined with other modifiers
1265
+ * console.log(styleText(['#00f', 'bold'], 'Bold blue text'));
1263
1266
  * ```
1264
1267
  *
1265
1268
  * The full list of formats can be found in [modifiers](https://nodejs.org/docs/latest-v26.x/api/util.html#modifiers).
1266
- * @param format A text format or an Array of text formats defined in `util.inspect.colors`, or a hex color in `#RGB`
1267
- * or `#RRGGBB` form.
1269
+ * @param format A text format defined in `util.inspect.colors`, a hex color in `#RGB` or `#RRGGBB` form,
1270
+ * or an Array of text formats and/or hex colors.
1268
1271
  * @param text The text to to be formatted.
1269
1272
  * @since v20.12.0
1270
1273
  */
1271
1274
  export function styleText(
1272
- format: InspectColor | readonly InspectColor[] | `#${string}`,
1275
+ format: InspectColor | `#${string}` | readonly (InspectColor | `#${string}`)[],
1273
1276
  text: string,
1274
1277
  options?: StyleTextOptions,
1275
1278
  ): string;
@@ -17,17 +17,17 @@ $ npm install content-disposition
17
17
  ## API
18
18
 
19
19
  ```js
20
- const contentDisposition = require('content-disposition')
20
+ import { create, parse, format } from 'content-disposition';
21
21
  ```
22
22
 
23
- ### contentDisposition(filename, options)
23
+ ### create(filename, options)
24
24
 
25
25
  Create an attachment `Content-Disposition` header value using the given file name,
26
26
  if supplied. The `filename` is optional and if no file name is desired, but you
27
27
  want to specify `options`, set `filename` to `undefined`.
28
28
 
29
29
  ```js
30
- res.setHeader('Content-Disposition', contentDisposition('∫ maths.pdf'))
30
+ res.setHeader('Content-Disposition', create('∫ maths.pdf'));
31
31
  ```
32
32
 
33
33
  **note** HTTP headers are of the ISO-8859-1 character set. If you are writing this
@@ -40,73 +40,139 @@ the `'binary'` encoding in Node.js.
40
40
 
41
41
  ##### fallback
42
42
 
43
- If the `filename` option is outside ISO-8859-1, then the file name is actually
43
+ If the `filename` option is outside US-ASCII, then the file name is actually
44
44
  stored in a supplemental field for clients that support Unicode file names and
45
- a ISO-8859-1 version of the file name is automatically generated.
45
+ a US-ASCII version of the file name is automatically generated.
46
46
 
47
- This specifies the ISO-8859-1 file name to override the automatic generation or
47
+ This specifies the US-ASCII file name to override the automatic generation or
48
48
  disables the generation all together, defaults to `true`.
49
49
 
50
- - A string will specify the ISO-8859-1 file name to use in place of automatic
51
- generation.
52
- - `false` will disable including a ISO-8859-1 file name and only include the
53
- Unicode version (unless the file name is already ISO-8859-1).
54
- - `true` will enable automatic generation if the file name is outside ISO-8859-1.
50
+ - A string will specify the US-ASCII file name to use in place of automatic
51
+ generation.
52
+ - `false` will disable including a US-ASCII file name and only include the
53
+ Unicode version (unless the file name is already US-ASCII).
54
+ - `true` will enable automatic generation if the file name is outside US-ASCII.
55
55
 
56
- If the `filename` option is ISO-8859-1 and this option is specified and has a
56
+ If the `filename` option is US-ASCII and this option is specified and has a
57
57
  different value, then the `filename` option is encoded in the extended field
58
- and this set as the fallback field, even though they are both ISO-8859-1.
58
+ and this set as the fallback field, even though they are both US-ASCII.
59
59
 
60
60
  ##### type
61
61
 
62
62
  Specifies the disposition type, defaults to `"attachment"`. This can also be
63
63
  `"inline"`, or any other value (all values except inline are treated like
64
64
  `attachment`, but can convey additional information if both parties agree to
65
- it). The type is normalized to lower-case.
65
+ it).
66
66
 
67
- ### contentDisposition.parse(string)
67
+ ### parse(string, options)
68
68
 
69
69
  ```js
70
- const disposition = contentDisposition.parse('attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt')
70
+ const disposition = parse(
71
+ 'attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt',
72
+ );
71
73
  ```
72
74
 
73
75
  Parse a `Content-Disposition` header string. This automatically handles extended
74
76
  ("Unicode") parameters by decoding them and providing them under the standard
75
- parameter name. This will return an object with the following properties (examples
76
- are shown for the string `'attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt'`):
77
+ parameter name. This will return an object with the following properties:
77
78
 
78
- - `type`: The disposition type (always lower case). Example: `'attachment'`
79
+ - `type`: The disposition type (always lower case). Example: `'attachment'`
79
80
 
80
- - `parameters`: An object of the parameters in the disposition (name of parameter
81
- always lower case and extended versions replace non-extended versions). Example:
82
- `{filename: "€ rates.txt"}`
81
+ - `parameters`: An object of the parameters in the disposition (name of parameter
82
+ always lower case and extended versions replace non-extended versions). Example:
83
+ `{filename: "€ rates.txt"}`
84
+
85
+ #### Options
86
+
87
+ ##### multipart
88
+
89
+ Parse parameters using browser `multipart/form-data` behavior.
90
+
91
+ ```js
92
+ parse('form-data; name="file"; filename="the %22plans%22.pdf"', {
93
+ multipart: true,
94
+ });
95
+ ```
96
+
97
+ ##### extended
98
+
99
+ Parse RFC 5987 extended header parameters automatically when decoding
100
+ parameters, defaults to `true`.
101
+
102
+ ### format(obj, options)
103
+
104
+ ```js
105
+ const disposition = format({
106
+ type: 'attachment',
107
+ parameters: {
108
+ filename: '€ rates.txt',
109
+ },
110
+ });
111
+ ```
112
+
113
+ Formats an object to a `Content-Disposition` header string. This automatically
114
+ handles extended ("Unicode") parameters and returns a string. Example:
115
+ `'attachment; filename*=UTF-8''%E2%82%AC%20rates.txt'`
116
+
117
+ #### Options
118
+
119
+ ##### multipart
120
+
121
+ Format parameters using browser `multipart/form-data` behavior. This quotes
122
+ parameter values, escapes `"` as `%22`, and writes Unicode values directly
123
+ instead of using extended parameters.
124
+
125
+ ```js
126
+ format(
127
+ {
128
+ type: 'form-data',
129
+ parameters: { name: 'file', filename: '€ rates.txt' },
130
+ },
131
+ { multipart: true },
132
+ );
133
+ ```
134
+
135
+ ##### extended
136
+
137
+ Encode Unicode parameter values using RFC 5987 extended header parameters,
138
+ e.g. `filename*=`, defaults to `true`.
83
139
 
84
140
  ## Examples
85
141
 
86
142
  ### Send a file for download
87
143
 
88
144
  ```js
89
- const contentDisposition = require('content-disposition')
90
- const fs = require('fs')
91
- const http = require('http')
92
- const onFinished = require('on-finished')
145
+ const contentDisposition = require('content-disposition');
146
+ const fs = require('fs');
147
+ const http = require('http');
148
+ const onFinished = require('on-finished');
93
149
 
94
- const filePath = '/path/to/public/plans.pdf'
150
+ const filePath = '/path/to/public/plans.pdf';
95
151
 
96
- http.createServer(function onRequest (req, res) {
152
+ http.createServer(function onRequest(req, res) {
97
153
  // set headers
98
- res.setHeader('Content-Type', 'application/pdf')
99
- res.setHeader('Content-Disposition', contentDisposition(filePath))
154
+ res.setHeader('Content-Type', 'application/pdf');
155
+ res.setHeader('Content-Disposition', contentDisposition(filePath));
100
156
 
101
157
  // send file
102
- const stream = fs.createReadStream(filePath)
103
- stream.pipe(res)
158
+ const stream = fs.createReadStream(filePath);
159
+ stream.pipe(res);
104
160
  onFinished(res, function () {
105
- stream.destroy()
106
- })
107
- })
161
+ stream.destroy();
162
+ });
163
+ });
108
164
  ```
109
165
 
166
+ ## Local demo
167
+
168
+ Run the upload inspector locally:
169
+
170
+ ```sh
171
+ npm run demo
172
+ ```
173
+
174
+ Then open `http://127.0.0.1:3000` in your browser. The demo lets you upload files, inspect the multipart upload part headers sent by the browser, and compare them with the download `Content-Disposition` header generated by this package.
175
+
110
176
  ## Testing
111
177
 
112
178
  ```sh
@@ -118,11 +184,15 @@ $ npm test
118
184
  - [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1][rfc-2616]
119
185
  - [RFC 5987: Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters][rfc-5987]
120
186
  - [RFC 6266: Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)][rfc-6266]
187
+ - [RFC 8187: Indicating Character Encoding and Language for HTTP Header Field Parameters][rfc-8187]
188
+ - [HTML Living Standard: Multipart form data][html-form]
121
189
  - [Test Cases for HTTP Content-Disposition header field (RFC 6266) and the Encodings defined in RFCs 2047, 2231 and 5987][tc-2231]
122
190
 
123
191
  [rfc-2616]: https://datatracker.ietf.org/doc/html/rfc2616
124
192
  [rfc-5987]: https://datatracker.ietf.org/doc/html/rfc5987
125
193
  [rfc-6266]: https://datatracker.ietf.org/doc/html/rfc6266
194
+ [rfc-8187]: https://datatracker.ietf.org/doc/html/rfc8187
195
+ [html-form]: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data
126
196
  [tc-2231]: http://greenbytes.de/tech/tc2231/
127
197
 
128
198
  ## License