managed-deepagents 0.9.6-dev.2 → 0.9.6-dev.20

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 (356) hide show
  1. package/README.md +1075 -37
  2. package/dist/agent-auth.d.ts +1 -1
  3. package/dist/agent-auth.d.ts.map +1 -1
  4. package/dist/agent-auth.js +36 -12
  5. package/dist/agent-auth.js.map +1 -1
  6. package/dist/browser.d.ts +37 -0
  7. package/dist/browser.d.ts.map +1 -0
  8. package/dist/browser.js +31 -0
  9. package/dist/browser.js.map +1 -0
  10. package/dist/channels/actor.d.ts +57 -0
  11. package/dist/channels/actor.d.ts.map +1 -0
  12. package/dist/channels/actor.js +24 -0
  13. package/dist/channels/actor.js.map +1 -0
  14. package/dist/channels/assistant-text.d.ts +29 -0
  15. package/dist/channels/assistant-text.d.ts.map +1 -1
  16. package/dist/channels/assistant-text.js +72 -1
  17. package/dist/channels/assistant-text.js.map +1 -1
  18. package/dist/channels/binding.d.ts +20 -1
  19. package/dist/channels/binding.d.ts.map +1 -1
  20. package/dist/channels/binding.js +44 -11
  21. package/dist/channels/binding.js.map +1 -1
  22. package/dist/channels/delivery.d.ts +51 -0
  23. package/dist/channels/delivery.d.ts.map +1 -0
  24. package/dist/channels/delivery.js +424 -0
  25. package/dist/channels/delivery.js.map +1 -0
  26. package/dist/channels/github/app-setup.d.ts +32 -0
  27. package/dist/channels/github/app-setup.d.ts.map +1 -0
  28. package/dist/channels/github/app-setup.js +146 -0
  29. package/dist/channels/github/app-setup.js.map +1 -0
  30. package/dist/channels/github/connections.d.ts +11 -0
  31. package/dist/channels/github/connections.d.ts.map +1 -0
  32. package/dist/channels/github/connections.js +14 -0
  33. package/dist/channels/github/connections.js.map +1 -0
  34. package/dist/channels/github/index.d.ts +12 -0
  35. package/dist/channels/github/index.d.ts.map +1 -0
  36. package/dist/channels/github/index.js +266 -0
  37. package/dist/channels/github/index.js.map +1 -0
  38. package/dist/channels/github/mentions.d.ts +12 -0
  39. package/dist/channels/github/mentions.d.ts.map +1 -0
  40. package/dist/channels/github/mentions.js +185 -0
  41. package/dist/channels/github/mentions.js.map +1 -0
  42. package/dist/channels/github/schema.d.ts +4165 -0
  43. package/dist/channels/github/schema.d.ts.map +1 -0
  44. package/dist/channels/github/schema.js +221 -0
  45. package/dist/channels/github/schema.js.map +1 -0
  46. package/dist/channels/github/types.d.ts +170 -0
  47. package/dist/channels/github/types.d.ts.map +1 -0
  48. package/dist/channels/github/types.js +2 -0
  49. package/dist/channels/github/types.js.map +1 -0
  50. package/dist/channels/http/endpoint.d.ts +137 -0
  51. package/dist/channels/http/endpoint.d.ts.map +1 -0
  52. package/dist/channels/http/endpoint.js +286 -0
  53. package/dist/channels/http/endpoint.js.map +1 -0
  54. package/dist/channels/http/http.d.ts.map +1 -1
  55. package/dist/channels/http/http.js +439 -65
  56. package/dist/channels/http/http.js.map +1 -1
  57. package/dist/channels/http/index.d.ts +8 -1
  58. package/dist/channels/http/index.d.ts.map +1 -1
  59. package/dist/channels/http/index.js +35 -16
  60. package/dist/channels/http/index.js.map +1 -1
  61. package/dist/channels/http/ingress.d.ts +67 -5
  62. package/dist/channels/http/ingress.d.ts.map +1 -1
  63. package/dist/channels/http/ingress.js +155 -43
  64. package/dist/channels/http/ingress.js.map +1 -1
  65. package/dist/channels/http/provider.d.ts +125 -0
  66. package/dist/channels/http/provider.d.ts.map +1 -0
  67. package/dist/channels/http/provider.js +227 -0
  68. package/dist/channels/http/provider.js.map +1 -0
  69. package/dist/channels/http/studio.d.ts +24 -0
  70. package/dist/channels/http/studio.d.ts.map +1 -0
  71. package/dist/channels/http/studio.js +95 -0
  72. package/dist/channels/http/studio.js.map +1 -0
  73. package/dist/channels/http/threads.d.ts +7 -0
  74. package/dist/channels/http/threads.d.ts.map +1 -0
  75. package/dist/channels/http/threads.js +10 -0
  76. package/dist/channels/http/threads.js.map +1 -0
  77. package/dist/channels/http/types.d.ts +166 -2
  78. package/dist/channels/http/types.d.ts.map +1 -1
  79. package/dist/channels/linear/app-setup.d.ts +29 -0
  80. package/dist/channels/linear/app-setup.d.ts.map +1 -0
  81. package/dist/channels/linear/app-setup.js +102 -0
  82. package/dist/channels/linear/app-setup.js.map +1 -0
  83. package/dist/channels/linear/connections.d.ts +11 -0
  84. package/dist/channels/linear/connections.d.ts.map +1 -0
  85. package/dist/channels/linear/connections.js +14 -0
  86. package/dist/channels/linear/connections.js.map +1 -0
  87. package/dist/channels/linear/graphql.d.ts +57 -0
  88. package/dist/channels/linear/graphql.d.ts.map +1 -0
  89. package/dist/channels/linear/graphql.js +167 -0
  90. package/dist/channels/linear/graphql.js.map +1 -0
  91. package/dist/channels/linear/index.d.ts +13 -0
  92. package/dist/channels/linear/index.d.ts.map +1 -0
  93. package/dist/channels/linear/index.js +457 -0
  94. package/dist/channels/linear/index.js.map +1 -0
  95. package/dist/channels/linear/schema.d.ts +1050 -0
  96. package/dist/channels/linear/schema.d.ts.map +1 -0
  97. package/dist/channels/linear/schema.js +255 -0
  98. package/dist/channels/linear/schema.js.map +1 -0
  99. package/dist/channels/linear/types.d.ts +169 -0
  100. package/dist/channels/linear/types.d.ts.map +1 -0
  101. package/dist/channels/linear/types.js +2 -0
  102. package/dist/channels/linear/types.js.map +1 -0
  103. package/dist/channels/message-schema.d.ts +2 -0
  104. package/dist/channels/message-schema.d.ts.map +1 -1
  105. package/dist/channels/message-schema.js +4 -0
  106. package/dist/channels/message-schema.js.map +1 -1
  107. package/dist/channels/messaging-registry.d.ts +16 -0
  108. package/dist/channels/messaging-registry.d.ts.map +1 -1
  109. package/dist/channels/messaging-registry.js +29 -0
  110. package/dist/channels/messaging-registry.js.map +1 -1
  111. package/dist/channels/reserved-connections.d.ts +12 -0
  112. package/dist/channels/reserved-connections.d.ts.map +1 -0
  113. package/dist/channels/reserved-connections.js +55 -0
  114. package/dist/channels/reserved-connections.js.map +1 -0
  115. package/dist/channels/resolve-user-endpoint.d.ts +34 -0
  116. package/dist/channels/resolve-user-endpoint.d.ts.map +1 -0
  117. package/dist/channels/resolve-user-endpoint.js +51 -0
  118. package/dist/channels/resolve-user-endpoint.js.map +1 -0
  119. package/dist/channels/resolve-user.d.ts +95 -0
  120. package/dist/channels/resolve-user.d.ts.map +1 -0
  121. package/dist/channels/resolve-user.js +143 -0
  122. package/dist/channels/resolve-user.js.map +1 -0
  123. package/dist/channels/run-input.d.ts +88 -0
  124. package/dist/channels/run-input.d.ts.map +1 -0
  125. package/dist/channels/run-input.js +177 -0
  126. package/dist/channels/run-input.js.map +1 -0
  127. package/dist/channels/runtime.d.ts +5 -2
  128. package/dist/channels/runtime.d.ts.map +1 -1
  129. package/dist/channels/runtime.js +19 -10
  130. package/dist/channels/runtime.js.map +1 -1
  131. package/dist/channels/schedule-delivery.d.ts +2 -13
  132. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  133. package/dist/channels/schedule-delivery.js +6 -73
  134. package/dist/channels/schedule-delivery.js.map +1 -1
  135. package/dist/channels/slack/api.d.ts +2 -0
  136. package/dist/channels/slack/api.d.ts.map +1 -1
  137. package/dist/channels/slack/api.js +6 -0
  138. package/dist/channels/slack/api.js.map +1 -1
  139. package/dist/channels/slack/connections.d.ts +6 -0
  140. package/dist/channels/slack/connections.d.ts.map +1 -0
  141. package/dist/channels/slack/connections.js +6 -0
  142. package/dist/channels/slack/connections.js.map +1 -0
  143. package/dist/channels/slack/events.d.ts +278 -0
  144. package/dist/channels/slack/events.d.ts.map +1 -0
  145. package/dist/channels/slack/events.js +235 -0
  146. package/dist/channels/slack/events.js.map +1 -0
  147. package/dist/channels/slack/files.d.ts.map +1 -1
  148. package/dist/channels/slack/files.js +2 -3
  149. package/dist/channels/slack/files.js.map +1 -1
  150. package/dist/channels/slack/index.d.ts +90 -2
  151. package/dist/channels/slack/index.d.ts.map +1 -1
  152. package/dist/channels/slack/index.js +188 -6
  153. package/dist/channels/slack/index.js.map +1 -1
  154. package/dist/channels/slack/message-content.d.ts.map +1 -1
  155. package/dist/channels/slack/message-content.js +23 -28
  156. package/dist/channels/slack/message-content.js.map +1 -1
  157. package/dist/channels/slack/status.d.ts +76 -0
  158. package/dist/channels/slack/status.d.ts.map +1 -0
  159. package/dist/channels/slack/status.js +427 -0
  160. package/dist/channels/slack/status.js.map +1 -0
  161. package/dist/channels/source-providers.js +1 -1
  162. package/dist/channels/source-providers.js.map +1 -1
  163. package/dist/channels/trigger/client.d.ts.map +1 -1
  164. package/dist/channels/trigger/client.js +9 -15
  165. package/dist/channels/trigger/client.js.map +1 -1
  166. package/dist/channels/trigger/conversation.d.ts +11 -0
  167. package/dist/channels/trigger/conversation.d.ts.map +1 -0
  168. package/dist/channels/trigger/conversation.js +72 -0
  169. package/dist/channels/trigger/conversation.js.map +1 -0
  170. package/dist/channels/trigger/http.d.ts +130 -4
  171. package/dist/channels/trigger/http.d.ts.map +1 -1
  172. package/dist/channels/trigger/http.js +408 -78
  173. package/dist/channels/trigger/http.js.map +1 -1
  174. package/dist/channels/trigger/identity-context.d.ts.map +1 -1
  175. package/dist/channels/trigger/identity-context.js +2 -5
  176. package/dist/channels/trigger/identity-context.js.map +1 -1
  177. package/dist/channels/trigger/ingress.d.ts +70 -1
  178. package/dist/channels/trigger/ingress.d.ts.map +1 -1
  179. package/dist/channels/trigger/ingress.js +135 -21
  180. package/dist/channels/trigger/ingress.js.map +1 -1
  181. package/dist/channels/trigger/transport.d.ts +10 -0
  182. package/dist/channels/trigger/transport.d.ts.map +1 -1
  183. package/dist/channels/trigger/transport.js +25 -9
  184. package/dist/channels/trigger/transport.js.map +1 -1
  185. package/dist/channels/trigger/types.d.ts +92 -3
  186. package/dist/channels/trigger/types.d.ts.map +1 -1
  187. package/dist/channels/trigger/types.js +37 -0
  188. package/dist/channels/trigger/types.js.map +1 -1
  189. package/dist/channels/types.d.ts +53 -4
  190. package/dist/channels/types.d.ts.map +1 -1
  191. package/dist/channels/types.js +2 -0
  192. package/dist/channels/types.js.map +1 -1
  193. package/dist/connections.d.ts +36 -12
  194. package/dist/connections.d.ts.map +1 -1
  195. package/dist/connections.js +125 -30
  196. package/dist/connections.js.map +1 -1
  197. package/dist/credential-gate.d.ts +2 -0
  198. package/dist/credential-gate.d.ts.map +1 -1
  199. package/dist/credential-gate.js +37 -3
  200. package/dist/credential-gate.js.map +1 -1
  201. package/dist/define-deep-agent.d.ts +2 -2
  202. package/dist/define-deep-agent.d.ts.map +1 -1
  203. package/dist/define-deep-agent.js +53 -2
  204. package/dist/define-deep-agent.js.map +1 -1
  205. package/dist/identity/index.d.ts.map +1 -1
  206. package/dist/identity/index.js +3 -1
  207. package/dist/identity/index.js.map +1 -1
  208. package/dist/identity/loopback.d.ts +1 -1
  209. package/dist/identity/loopback.d.ts.map +1 -1
  210. package/dist/identity/loopback.js +3 -2
  211. package/dist/identity/loopback.js.map +1 -1
  212. package/dist/identity/options.d.ts +9 -0
  213. package/dist/identity/options.d.ts.map +1 -1
  214. package/dist/identity/options.js +1 -1
  215. package/dist/identity/options.js.map +1 -1
  216. package/dist/identity/slack/links.js +3 -2
  217. package/dist/identity/slack/links.js.map +1 -1
  218. package/dist/identity/types.d.ts +3 -0
  219. package/dist/identity/types.d.ts.map +1 -1
  220. package/dist/index.d.ts +19 -5
  221. package/dist/index.d.ts.map +1 -1
  222. package/dist/index.js +3 -1
  223. package/dist/index.js.map +1 -1
  224. package/dist/ingress/loopback.d.ts +1 -0
  225. package/dist/ingress/loopback.d.ts.map +1 -1
  226. package/dist/ingress/loopback.js +7 -3
  227. package/dist/ingress/loopback.js.map +1 -1
  228. package/dist/ingress/runs.d.ts +74 -1
  229. package/dist/ingress/runs.d.ts.map +1 -1
  230. package/dist/ingress/runs.js +184 -9
  231. package/dist/ingress/runs.js.map +1 -1
  232. package/dist/managed-composition.d.ts +3 -0
  233. package/dist/managed-composition.d.ts.map +1 -1
  234. package/dist/managed-composition.js +29 -13
  235. package/dist/managed-composition.js.map +1 -1
  236. package/dist/namespaces.d.ts +25 -21
  237. package/dist/namespaces.d.ts.map +1 -1
  238. package/dist/namespaces.js +4 -29
  239. package/dist/namespaces.js.map +1 -1
  240. package/dist/runtime/async-subagents.d.ts +27 -0
  241. package/dist/runtime/async-subagents.d.ts.map +1 -0
  242. package/dist/runtime/async-subagents.js +139 -0
  243. package/dist/runtime/async-subagents.js.map +1 -0
  244. package/dist/runtime/auth.d.ts.map +1 -1
  245. package/dist/runtime/auth.js +177 -8
  246. package/dist/runtime/auth.js.map +1 -1
  247. package/dist/runtime/backend.d.ts +7 -0
  248. package/dist/runtime/backend.d.ts.map +1 -1
  249. package/dist/runtime/backend.js +32 -7
  250. package/dist/runtime/backend.js.map +1 -1
  251. package/dist/runtime/browser-facade.d.ts +10 -0
  252. package/dist/runtime/browser-facade.d.ts.map +1 -0
  253. package/dist/runtime/browser-facade.js +23 -0
  254. package/dist/runtime/browser-facade.js.map +1 -0
  255. package/dist/runtime/browser-langsmith.d.ts +143 -0
  256. package/dist/runtime/browser-langsmith.d.ts.map +1 -0
  257. package/dist/runtime/browser-langsmith.js +508 -0
  258. package/dist/runtime/browser-langsmith.js.map +1 -0
  259. package/dist/runtime/browser-recorder.py +831 -0
  260. package/dist/runtime/browser-selection.d.ts +10 -0
  261. package/dist/runtime/browser-selection.d.ts.map +1 -0
  262. package/dist/runtime/browser-selection.js +21 -0
  263. package/dist/runtime/browser-selection.js.map +1 -0
  264. package/dist/runtime/browser.d.ts +128 -0
  265. package/dist/runtime/browser.d.ts.map +1 -0
  266. package/dist/runtime/browser.js +795 -0
  267. package/dist/runtime/browser.js.map +1 -0
  268. package/dist/runtime/channel-icon.d.ts +22 -0
  269. package/dist/runtime/channel-icon.d.ts.map +1 -0
  270. package/dist/runtime/channel-icon.js +81 -0
  271. package/dist/runtime/channel-icon.js.map +1 -0
  272. package/dist/runtime/channel.d.ts +11 -0
  273. package/dist/runtime/channel.d.ts.map +1 -1
  274. package/dist/runtime/channel.js.map +1 -1
  275. package/dist/runtime/graph-build-timing.d.ts +30 -0
  276. package/dist/runtime/graph-build-timing.d.ts.map +1 -0
  277. package/dist/runtime/graph-build-timing.js +50 -0
  278. package/dist/runtime/graph-build-timing.js.map +1 -0
  279. package/dist/runtime/identity-http.d.ts +2 -0
  280. package/dist/runtime/identity-http.d.ts.map +1 -1
  281. package/dist/runtime/identity-http.js +38 -2
  282. package/dist/runtime/identity-http.js.map +1 -1
  283. package/dist/runtime/identity-runtime.d.ts +10 -0
  284. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  285. package/dist/runtime/identity-runtime.js +22 -0
  286. package/dist/runtime/identity-runtime.js.map +1 -1
  287. package/dist/runtime/index.d.ts +38 -1
  288. package/dist/runtime/index.d.ts.map +1 -1
  289. package/dist/runtime/index.js +97 -43
  290. package/dist/runtime/index.js.map +1 -1
  291. package/dist/runtime/langsmith-env.d.ts +19 -0
  292. package/dist/runtime/langsmith-env.d.ts.map +1 -0
  293. package/dist/runtime/langsmith-env.js +38 -0
  294. package/dist/runtime/langsmith-env.js.map +1 -0
  295. package/dist/runtime/managed-thread.d.ts +61 -0
  296. package/dist/runtime/managed-thread.d.ts.map +1 -0
  297. package/dist/runtime/managed-thread.js +76 -0
  298. package/dist/runtime/managed-thread.js.map +1 -0
  299. package/dist/runtime/managed-tools.d.ts +10 -2
  300. package/dist/runtime/managed-tools.d.ts.map +1 -1
  301. package/dist/runtime/managed-tools.js +10 -8
  302. package/dist/runtime/managed-tools.js.map +1 -1
  303. package/dist/runtime/memory/policy.d.ts.map +1 -1
  304. package/dist/runtime/memory/policy.js +1 -3
  305. package/dist/runtime/memory/policy.js.map +1 -1
  306. package/dist/runtime/parent-run.d.ts +33 -0
  307. package/dist/runtime/parent-run.d.ts.map +1 -0
  308. package/dist/runtime/parent-run.js +114 -0
  309. package/dist/runtime/parent-run.js.map +1 -0
  310. package/dist/runtime/run-input.d.ts +14 -1
  311. package/dist/runtime/run-input.d.ts.map +1 -1
  312. package/dist/runtime/run-input.js +100 -7
  313. package/dist/runtime/run-input.js.map +1 -1
  314. package/dist/runtime/sandbox-manager.d.ts +15 -2
  315. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  316. package/dist/runtime/sandbox-manager.js +40 -18
  317. package/dist/runtime/sandbox-manager.js.map +1 -1
  318. package/dist/runtime/schedule-auth.d.ts +79 -0
  319. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  320. package/dist/runtime/schedule-auth.js +165 -7
  321. package/dist/runtime/schedule-auth.js.map +1 -1
  322. package/dist/runtime/static-entry.d.ts.map +1 -1
  323. package/dist/runtime/static-entry.js +1 -0
  324. package/dist/runtime/static-entry.js.map +1 -1
  325. package/dist/runtime/thread-record.d.ts +88 -0
  326. package/dist/runtime/thread-record.d.ts.map +1 -0
  327. package/dist/runtime/thread-record.js +213 -0
  328. package/dist/runtime/thread-record.js.map +1 -0
  329. package/dist/runtime/types.d.ts +12 -1
  330. package/dist/runtime/types.d.ts.map +1 -1
  331. package/dist/runtime-schedules.d.ts +15 -0
  332. package/dist/runtime-schedules.d.ts.map +1 -1
  333. package/dist/runtime-schedules.js +83 -20
  334. package/dist/runtime-schedules.js.map +1 -1
  335. package/dist/sandbox.d.ts +0 -6
  336. package/dist/sandbox.d.ts.map +1 -1
  337. package/dist/sandbox.js +3 -7
  338. package/dist/sandbox.js.map +1 -1
  339. package/dist/schedule-channel.d.ts +5 -2
  340. package/dist/schedule-channel.d.ts.map +1 -1
  341. package/dist/schedule-channel.js +13 -12
  342. package/dist/schedule-channel.js.map +1 -1
  343. package/dist/telemetry/metadata.d.ts.map +1 -1
  344. package/dist/telemetry/metadata.js +4 -4
  345. package/dist/telemetry/metadata.js.map +1 -1
  346. package/dist/telemetry/otel/exporter.d.ts.map +1 -1
  347. package/dist/telemetry/otel/exporter.js +3 -3
  348. package/dist/telemetry/otel/exporter.js.map +1 -1
  349. package/dist/types.d.ts +19 -2
  350. package/dist/types.d.ts.map +1 -1
  351. package/dist/types.js.map +1 -1
  352. package/dist/values.d.ts +15 -0
  353. package/dist/values.d.ts.map +1 -0
  354. package/dist/values.js +31 -0
  355. package/dist/values.js.map +1 -0
  356. package/package.json +26 -12
@@ -1,9 +1,32 @@
1
1
  /** Trigger Server-backed Slack channel authoring surface. */
2
2
  import type { ChannelManifest } from "../manifest.js";
3
3
  import { type ReactionChoice } from "../reactions.js";
4
+ import { type EventEndpoint } from "../http/endpoint.js";
5
+ import { type SlackStatusChoice } from "./status.js";
6
+ import { type SlackEventOptions } from "./events.js";
4
7
  import { type Channel } from "../../runtime/channel.js";
8
+ import type { SlackActor } from "../actor.js";
9
+ import { type ResolveUser } from "../resolve-user.js";
10
+ import { type ChannelReply } from "../types.js";
5
11
  export type { ChannelManifest } from "../manifest.js";
6
- export interface SlackChannelConfig {
12
+ export type { SlackStatusChoice, SlackStatusChooser, SlackStatusContext, SlackStatusState, SlackStatusStep, SlackStatusStepStatus, SlackStatusValue, } from "./status.js";
13
+ export type { SlackActor, SlackChannelThread, SlackEndpointRequest, SlackEvent, SlackEventCallback, SlackEventKey, SlackEventResult, SlackFile, SlackInteractionEvent, SlackMessageEvent, SlackMessageKey, } from "./events.js";
14
+ declare const SLACK_TRIGGER_MODES: readonly ["mention", "thread", "all"];
15
+ /**
16
+ * Which channel messages start a run. DMs never need a mention.
17
+ * - `"mention"`: only messages that @-mention your agent, including replies in
18
+ * a thread it already answered.
19
+ * - `"thread"`: a message that @-mentions your agent, and every later reply in
20
+ * that thread, so people only mention it once. A thread whose mention your
21
+ * `onEvent` handler declined stays declined: its replies start nothing.
22
+ * - `"all"`: every message in the channels your agent is in, mentioned or not.
23
+ */
24
+ export type SlackTriggerMode = (typeof SLACK_TRIGGER_MODES)[number];
25
+ /** @internal */
26
+ export declare const SLACK_UNREACHABLE_MESSAGE_HANDLER = "channels.slack({ onEvent: { message } }) is never called with triggerMode \"mention\", which only delivers mentions and direct messages; use triggerMode \"thread\" or \"all\".";
27
+ /** @internal */
28
+ export declare const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = "channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: \"all\").";
29
+ export interface SlackChannelConfig extends SlackEventOptions {
7
30
  /** Your agent's name, used in mentions like `@support-agent`. */
8
31
  name?: string;
9
32
  /** A short description of what your agent does. */
@@ -11,7 +34,23 @@ export interface SlackChannelConfig {
11
34
  icon?: string;
12
35
  /** The Slack app background as a `#RRGGBB` hex color. */
13
36
  backgroundColor?: string;
37
+ /**
38
+ * Which channel messages start a run; see {@link SlackTriggerMode}. New Slack
39
+ * apps use `"mention"`; set `"thread"` to keep replying in a thread after one
40
+ * mention. When unset, a deployed agent keeps its current mode, except that an
41
+ * all-messages agent that drops `"all"` moves to `"mention"`. Redeploying with
42
+ * a new mode updates the existing Slack app.
43
+ */
44
+ triggerMode?: SlackTriggerMode;
45
+ /**
46
+ * @deprecated Use `triggerMode` instead; `true` is `triggerMode: "all"`.
47
+ * When both are set they must agree.
48
+ */
14
49
  triggerOnAllMessages?: boolean;
50
+ /**
51
+ * Let messages from other bots start runs. In every trigger mode, a bot must
52
+ * still @-mention your agent explicitly in the message.
53
+ */
15
54
  allowBotTriggers?: boolean;
16
55
  /**
17
56
  * Emoji to react with when a message starts a run; `eyes` by default, and
@@ -19,6 +58,49 @@ export interface SlackChannelConfig {
19
58
  * function that picks one per message. Return `null` to skip a reaction.
20
59
  */
21
60
  reactions?: ReactionChoice;
61
+ /**
62
+ * What Slack shows while a run works, in place of its working phrases
63
+ * ("is thinking it through...", ...): a line, or a list of steps, each a
64
+ * title or `{ title, status }` (`pending` by default, `in_progress`,
65
+ * `complete` or `error`). Pass one to show it for the whole run, or a
66
+ * function of the agent's state, called as the run starts, before and after
67
+ * each model call, and every 4 s while a model or tool call runs. Return
68
+ * `null` to leave what's shown.
69
+ *
70
+ * Apps with Slack's agent view show it as a plan above the reply: the line
71
+ * is its title, and each step one of its tasks. Other apps show the line,
72
+ * or the first step not yet done, as the thread's status. A function that
73
+ * throws, takes longer than 1 s, or returns something else leaves the
74
+ * status as it is.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * status: ({ state }) =>
79
+ * state.todos?.map((todo) => ({
80
+ * title: todo.content,
81
+ * status: todo.status === "completed" ? "complete" : todo.status,
82
+ * })) ?? "is reading the thread",
83
+ * ```
84
+ *
85
+ * @experimental This may change in a minor release.
86
+ */
87
+ status?: SlackStatusChoice;
88
+ /**
89
+ * Whether the channel posts the run's final answer in the thread: `auto`
90
+ * (the default) or `none`, to leave replying to the agent, through
91
+ * `runtime.channel.post` or its own tools. The status, reactions and
92
+ * `onFinish` stay as they are. `none` needs an `mda` CLI that deploys it.
93
+ *
94
+ * @experimental This may change in a minor release.
95
+ */
96
+ reply?: ChannelReply;
97
+ /**
98
+ * Map the Slack user to one of your users, with a function or an endpoint MDA
99
+ * asks; overrides the identity's.
100
+ *
101
+ * @experimental This may change in a minor release.
102
+ */
103
+ resolveUser?: ResolveUser<SlackActor> | EventEndpoint;
22
104
  }
23
105
  export interface TriggerSlackAppConfig {
24
106
  name?: string;
@@ -28,12 +110,18 @@ export interface TriggerSlackAppConfig {
28
110
  }
29
111
  export interface RequiredTriggerSlackChannelConfig {
30
112
  app: TriggerSlackAppConfig;
31
- triggerOnAllMessages: boolean;
113
+ triggerMode?: SlackTriggerMode;
114
+ /** @deprecated Use `triggerMode` instead. */
115
+ triggerOnAllMessages?: boolean;
32
116
  allowBotTriggers: boolean;
33
117
  reactions?: ReactionChoice;
118
+ status?: SlackStatusChoice;
119
+ reply?: ChannelReply;
34
120
  }
35
121
  /** Branded Trigger-backed Slack declaration. */
36
122
  export type SlackChannel = Channel & RequiredTriggerSlackChannelConfig & {
123
+ /** @deprecated Read `triggerMode` instead. */
124
+ triggerOnAllMessages: boolean;
37
125
  kind: "slack";
38
126
  transport: "trigger_server";
39
127
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,EAAE,qBAAqB,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,OAAO,GAChC,iCAAiC,GAAG;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AA2DJ,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,MAAM,GAAE,kBAAuB,GAAG,YAAY,CAqC1E;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,iCAAiC,GAAG,YAAY,GAC3D,eAAe,CA2BjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,47 @@
1
1
  /** Trigger Server-backed Slack channel authoring surface. */
2
2
  import { z } from "zod";
3
3
  import { DEFAULT_REACTION_EMOJI, isEmojiName, } from "../reactions.js";
4
- import { handleTriggerChannelEventRequest } from "../trigger/http.js";
4
+ import { handleTriggerChannelEventRequest, } from "../trigger/http.js";
5
+ import { InvalidRunInput, normalizeRunInput } from "../run-input.js";
6
+ import { checkEventKeys, finishEvents, resolveEndpoints, runEventHandler, } from "../http/provider.js";
7
+ import { isEndpointCallback } from "../http/endpoint.js";
8
+ import { MULTITASK_STRATEGIES } from "../../ingress/runs.js";
9
+ import { logger } from "../../runtime/log.js";
10
+ import { SLACK_BOT_TOKEN_SLUG } from "./connections.js";
5
11
  import { withSlackRichContent } from "./message-content.js";
12
+ import { isSlackStatusValue, startedStatus, } from "./status.js";
13
+ import { DecidedSlackEvents, SLACK_ENDPOINT_EVENT_FIELDS, SLACK_EVENT_KEYS, finishedDelivery, isPlainSlackMessage, readSlackEvent, slackThread, } from "./events.js";
6
14
  import { CHANNEL_BRAND, } from "../../runtime/channel.js";
15
+ import { isRecord } from "../../values.js";
16
+ import { withResolveUser } from "../resolve-user.js";
17
+ import { CHANNEL_REPLIES } from "../types.js";
18
+ const SLACK_TRIGGER_MODES = ["mention", "thread", "all"];
19
+ /** @internal */
20
+ export const SLACK_UNREACHABLE_MESSAGE_HANDLER = 'channels.slack({ onEvent: { message } }) is never called with triggerMode "mention", which only delivers mentions and direct messages; use triggerMode "thread" or "all".';
21
+ /** @internal */
22
+ export const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = 'channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: "all").';
23
+ function emitUnreachableMessageHandler() {
24
+ if (typeof process !== "undefined" &&
25
+ typeof process.emitWarning === "function") {
26
+ process.emitWarning(SLACK_UNREACHABLE_MESSAGE_HANDLER, {
27
+ code: "MDA_SLACK_UNREACHABLE_MESSAGE_HANDLER",
28
+ });
29
+ return;
30
+ }
31
+ console.warn(SLACK_UNREACHABLE_MESSAGE_HANDLER);
32
+ }
33
+ function emitTriggerOnAllMessagesDeprecation() {
34
+ if (typeof process !== "undefined" &&
35
+ typeof process.emitWarning === "function") {
36
+ process.emitWarning(SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION, {
37
+ type: "DeprecationWarning",
38
+ code: "MDA_SLACK_TRIGGER_ON_ALL_MESSAGES",
39
+ });
40
+ return;
41
+ }
42
+ console.warn(SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION);
43
+ }
44
+ const EVENT_KEYS = new Set(SLACK_EVENT_KEYS);
7
45
  const slackChannelConfig = z
8
46
  .object({
9
47
  name: z
@@ -34,7 +72,8 @@ const slackChannelConfig = z
34
72
  })
35
73
  .transform((value) => value.toLowerCase())
36
74
  .optional(),
37
- triggerOnAllMessages: z.boolean().default(false),
75
+ triggerMode: z.enum(SLACK_TRIGGER_MODES).optional(),
76
+ triggerOnAllMessages: z.boolean().optional(),
38
77
  allowBotTriggers: z.boolean().default(false),
39
78
  reactions: z
40
79
  .custom((value) => typeof value === "boolean" ||
@@ -44,8 +83,43 @@ const slackChannelConfig = z
44
83
  })
45
84
  .transform((value) => (value === true ? DEFAULT_REACTION_EMOJI : value))
46
85
  .default(DEFAULT_REACTION_EMOJI),
86
+ status: z
87
+ .custom((value) => typeof value === "function" || isSlackStatusValue(value), {
88
+ message: "Must be a status line, a list of steps (titles or { title, status }), or a function returning one",
89
+ })
90
+ .optional(),
91
+ // Keys and handlers are checked as the GitHub and Linear channels check
92
+ // theirs.
93
+ onEvent: z
94
+ .custom(isRecord, {
95
+ message: "Must be an object of handlers",
96
+ })
97
+ .optional(),
98
+ multitaskStrategy: z.enum(MULTITASK_STRATEGIES).optional(),
99
+ reply: z.enum(CHANNEL_REPLIES).optional(),
100
+ // Checked by `withResolveUser`, as the GitHub and Linear channels check theirs.
101
+ resolveUser: z.unknown().optional(),
102
+ onFinish: z
103
+ .custom((value) => typeof value === "function", { message: "Must be a function" })
104
+ .optional(),
47
105
  })
48
- .strict();
106
+ .strict()
107
+ .superRefine((value, ctx) => {
108
+ if (value.triggerMode !== undefined &&
109
+ value.triggerOnAllMessages !== undefined &&
110
+ value.triggerOnAllMessages !== (value.triggerMode === "all")) {
111
+ ctx.addIssue({
112
+ code: "custom",
113
+ path: ["triggerOnAllMessages"],
114
+ message: "Conflicts with triggerMode; set only triggerMode",
115
+ });
116
+ }
117
+ });
118
+ /** The explicitly selected mode; unset leaves the default to Trigger Server. */
119
+ function resolveTriggerMode(definition) {
120
+ return (definition.triggerMode ??
121
+ (definition.triggerOnAllMessages ? "all" : undefined));
122
+ }
49
123
  function hide(target, key, value) {
50
124
  Object.defineProperty(target, key, { value, enumerable: false });
51
125
  }
@@ -61,7 +135,26 @@ export function slackChannel(config = {}) {
61
135
  .join("; ");
62
136
  throw new Error(`channels.slack(...) ${message}`);
63
137
  }
64
- const { name, description, icon, backgroundColor, ...options } = result.data;
138
+ const { name, description, icon, backgroundColor, triggerMode, triggerOnAllMessages, onEvent, multitaskStrategy, onFinish, resolveUser, ...options } = result.data;
139
+ if (triggerOnAllMessages !== undefined) {
140
+ emitTriggerOnAllMessagesDeprecation();
141
+ }
142
+ // The events handlers got, kept for `onFinish`, so both see the same kind.
143
+ const decided = onFinish ? new DecidedSlackEvents() : undefined;
144
+ // Each endpoint stands for the handler that asks it; a bad one throws here.
145
+ const handlers = onEvent &&
146
+ resolveEndpoints("Slack",
147
+ // By key; the channel calls each only with its own key's events.
148
+ onEvent, SLACK_ENDPOINT_EVENT_FIELDS);
149
+ if (handlers)
150
+ checkEventKeys("Slack", handlers, EVENT_KEYS);
151
+ const resolvedTriggerMode = resolveTriggerMode({
152
+ triggerMode,
153
+ triggerOnAllMessages,
154
+ });
155
+ if (resolvedTriggerMode === "mention" && handlers?.message) {
156
+ emitUnreachableMessageHandler();
157
+ }
65
158
  const self = {
66
159
  kind: "slack",
67
160
  transport: "trigger_server",
@@ -71,28 +164,110 @@ export function slackChannel(config = {}) {
71
164
  ...(icon === undefined ? {} : { icon }),
72
165
  ...(backgroundColor === undefined ? {} : { backgroundColor }),
73
166
  },
167
+ ...(resolvedTriggerMode === undefined
168
+ ? {}
169
+ : { triggerMode: resolvedTriggerMode }),
170
+ triggerOnAllMessages: resolvedTriggerMode === "all",
74
171
  ...options,
75
172
  };
76
173
  hide(self, CHANNEL_BRAND, true);
174
+ withResolveUser(self, resolveUser, "channels.slack");
77
175
  hide(self, "events", (ctx) => handleTriggerChannelEventRequest(ctx.request, {
78
176
  rawBody: ctx.rawBody,
79
177
  sourceProvider: "slack",
80
178
  channelName: ctx.name,
179
+ ...(ctx.resolveUser && { resolveUser: ctx.resolveUser }),
81
180
  reactions: self.reactions,
181
+ ...(self.status !== undefined && {
182
+ startedStatus: startedStatus(self.status),
183
+ }),
82
184
  messageInput: (event) => withSlackRichContent(event.input.messages, event.raw_event),
185
+ ...(handlers && {
186
+ decideMessage: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
187
+ }),
188
+ ...(handlers?.interaction && {
189
+ decideInteraction: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
190
+ }),
191
+ // A mention handler can decline a thread's mention, and Trigger Server
192
+ // follows the thread anyway: its unmentioned replies only continue a
193
+ // thread the agent already ran on.
194
+ ...(handlers?.mention &&
195
+ resolvedTriggerMode === "thread" && {
196
+ onlyContinuesThread: async (event) => isRecord(event.raw_event) &&
197
+ (await isPlainSlackMessage(event.raw_event)),
198
+ }),
199
+ ...(multitaskStrategy && { multitaskStrategy }),
200
+ ...(onFinish && {
201
+ // As GitHub's and Linear's: the event and thread a handler gets.
202
+ onFinish: finishEvents(noNotice, onFinish, (rawEvent) => decided.finished(rawEvent), (delivery) => slackThread({
203
+ id: delivery.threadId,
204
+ sourceThreadKey: finishedDelivery(delivery.rawEvent)?.source_thread_key ?? "",
205
+ }, ctx.name)),
206
+ }),
83
207
  }));
84
208
  hide(self, "requirements", (name) => toSlackRequirements(name, self));
85
209
  return self;
86
210
  }
211
+ /**
212
+ * What a message or interaction starts, as its key's handler decides;
213
+ * `undefined`, so what it starts without one. An endpoint is asked after
214
+ * Trigger Server has its answer. A Slack message's blocks and attachments
215
+ * are added to the handler's messages, as to a message's own.
216
+ */
217
+ async function decideEvent(handlers, delivery, thread, channelName, actor, decided) {
218
+ const event = await readSlackEvent(delivery, actor);
219
+ const handler = event && handlers[event.key];
220
+ if (!event || !handler)
221
+ return undefined;
222
+ decided?.remember(delivery.delivery_id, event);
223
+ const decide = () => runHandler(event, () => handler(event, slackThread(thread, channelName)));
224
+ return isEndpointCallback(handler)
225
+ ? { type: "background", decide }
226
+ : decide();
227
+ }
228
+ /** Run a handler and normalize what it returned into run input. */
229
+ async function runHandler(event, call) {
230
+ const outcome = await runEventHandler("Slack", event, call);
231
+ if (outcome.type !== "input")
232
+ return outcome;
233
+ let input;
234
+ try {
235
+ input = normalizeRunInput(outcome.input);
236
+ }
237
+ catch (error) {
238
+ // MDA's own reason, bounded, unlike a thrown error's message.
239
+ logger.error(error instanceof InvalidRunInput
240
+ ? `slack handler returned invalid run input: ${error.reason}`
241
+ : `slack handler returned invalid run input (${logger.safeErrorLabel(error)})`);
242
+ return { type: "failed" };
243
+ }
244
+ if (!input)
245
+ return { type: "skipped" };
246
+ return {
247
+ type: "input",
248
+ input: event.key !== "interaction" && input.messages.length
249
+ ? {
250
+ ...input,
251
+ messages: withSlackRichContent(input.messages, event.payload),
252
+ }
253
+ : input,
254
+ };
255
+ }
256
+ /** Trigger Server tells Slack how a run ended, so the channel adds no notice. */
257
+ async function noNotice() { }
87
258
  /** Build deploy/runtime requirements for a file-derived channel instance. */
88
259
  export function toSlackRequirements(name, definition) {
260
+ const triggerMode = resolveTriggerMode(definition);
89
261
  return {
90
262
  name,
91
263
  provider: "slack",
92
264
  transport: "trigger_server",
93
- autoReply: true,
265
+ // Deploy reads it; `reply` lives in no provider config older CLIs reject.
266
+ autoReply: definition.reply !== "none",
94
267
  requiredPermissions: [],
95
268
  requiredEnv: [],
269
+ // Deploy provides the app's bot token at this name.
270
+ agentConnections: [SLACK_BOT_TOKEN_SLUG],
96
271
  providerConfig: {
97
272
  app: {
98
273
  ...(definition.app.name === undefined
@@ -108,7 +283,14 @@ export function toSlackRequirements(name, definition) {
108
283
  ? {}
109
284
  : { backgroundColor: definition.app.backgroundColor }),
110
285
  },
111
- triggerOnAllMessages: definition.triggerOnAllMessages,
286
+ // Older CLIs require triggerOnAllMessages and reject unknown fields, so
287
+ // "all" is sent as that flag and triggerMode only for mention/thread.
288
+ // Unset lets Trigger Server keep an existing app's mode or default a new
289
+ // one to "mention".
290
+ triggerOnAllMessages: triggerMode === "all",
291
+ ...(triggerMode === "mention" || triggerMode === "thread"
292
+ ? { triggerMode }
293
+ : {}),
112
294
  allowBotTriggers: definition.allowBotTriggers,
113
295
  },
114
296
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,sBAAsB,EACtB,WAAW,GAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gCAAgC,GAIjC,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,eAAe,GAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAsB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,WAAW,GAIZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC;AA0BjE,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAalE,gBAAgB;AAChB,MAAM,CAAC,MAAM,iCAAiC,GAC5C,2KAA2K,CAAC;AAE9K,gBAAgB;AAChB,MAAM,CAAC,MAAM,yCAAyC,GACpD,qIAAqI,CAAC;AAExI,SAAS,6BAA6B;IACpC,IACE,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EACzC,CAAC;QACD,OAAO,CAAC,WAAW,CAAC,iCAAiC,EAAE;YACrD,IAAI,EAAE,uCAAuC;SAC9C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mCAAmC;IAC1C,IACE,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EACzC,CAAC;QACD,OAAO,CAAC,WAAW,CAAC,yCAAyC,EAAE;YAC7D,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,mCAAmC;SAC1C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;AAC1D,CAAC;AAkHD,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAElE,MAAM,kBAAkB,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;QAC1C,OAAO,EAAE,oCAAoC;KAC9C,CAAC;SACD,KAAK,CAAC,qBAAqB,EAAE;QAC5B,OAAO,EACL,8EAA8E;KACjF,CAAC;SACD,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EACtB,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAC1D;SACA,QAAQ,EAAE;IACb,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,EAAE;QAC3C,OAAO,EAAE,qCAAqC;KAC/C,CAAC;SACD,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,EAAE;QAC1B,OAAO,EAAE,6BAA6B;KACvC,CAAC;SACD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACzC,QAAQ,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IACnD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,SAAS,EAAE,CAAC;SACT,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,UAAU;QAC3B,WAAW,CAAC,KAAK,CAAC,EACpB;QACE,OAAO,EACL,0EAA0E;KAC7E,CACF;SACA,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACvE,OAAO,CAAC,sBAAsB,CAAC;IAClC,MAAM,EAAE,CAAC;SACN,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,IAAI,kBAAkB,CAAC,KAAK,CAAC,EACnE;QACE,OAAO,EACL,mGAAmG;KACtG,CACF;SACA,QAAQ,EAAE;IACb,wEAAwE;IACxE,UAAU;IACV,OAAO,EAAE,CAAC;SACP,MAAM,CAA+B,QAAQ,EAAE;QAC9C,OAAO,EAAE,+BAA+B;KACzC,CAAC;SACD,QAAQ,EAAE;IACb,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IAC1D,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IACzC,gFAAgF;IAChF,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC;SACR,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,EACtC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAClC;SACA,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,IACE,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,oBAAoB,KAAK,SAAS;QACxC,KAAK,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,EAC5D,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,sBAAsB,CAAC;YAC9B,OAAO,EAAE,kDAAkD;SAC5D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAChF,SAAS,kBAAkB,CAAC,UAG3B;IACC,OAAO,CACL,UAAU,CAAC,WAAW;QACtB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,MAAc,EAAE,GAAoB,EAAE,KAAc;IAChE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,YAAY,CAAC,MAAM,GAAuB,EAAE;IAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5D,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,GAAG,OAAO,EACX,GAAG,MAAM,CAAC,IAAI,CAAC;IAChB,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,mCAAmC,EAAE,CAAC;IACxC,CAAC;IACD,2EAA2E;IAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,4EAA4E;IAC5E,MAAM,QAAQ,GACZ,OAAO;QACP,gBAAgB,CACd,OAAO;QACP,iEAAiE;QACjE,OAEC,EACD,2BAA2B,CAC5B,CAAC;IACJ,IAAI,QAAQ;QAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;QAC7C,WAAW;QACX,oBAAoB;KACrB,CAAC,CAAC;IACH,IAAI,mBAAmB,KAAK,SAAS,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC3D,6BAA6B,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,OAAgB;QACtB,SAAS,EAAE,gBAAyB;QACpC,GAAG,EAAE;YACH,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;SAC9D;QACD,GAAG,CAAC,mBAAmB,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACzC,oBAAoB,EAAE,mBAAmB,KAAK,KAAK;QACnD,GAAG,OAAO;KACK,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAChC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAyB,EAAE,EAAE,CACjD,gCAAgC,CAAC,GAAG,CAAC,OAAO,EAAE;QAC5C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;QACxD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI;YAC/B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;SAC1C,CAAC;QACF,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;QAC7D,GAAG,CAAC,QAAQ,IAAI;YACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CACtC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;SACjE,CAAC;QACF,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI;YAC3B,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAC1C,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;SACjE,CAAC;QACF,uEAAuE;QACvE,qEAAqE;QACrE,mCAAmC;QACnC,GAAG,CAAC,QAAQ,EAAE,OAAO;YACnB,mBAAmB,KAAK,QAAQ,IAAI;YAClC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACnC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBACzB,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC/C,CAAC;QACJ,GAAG,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAC/C,GAAG,CAAC,QAAQ,IAAI;YACd,iEAAiE;YACjE,QAAQ,EAAE,YAAY,CACpB,QAAQ,EACR,QAAQ,EACR,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACzC,CAAC,QAAQ,EAAE,EAAE,CACX,WAAW,CACT;gBACE,EAAE,EAAE,QAAQ,CAAC,QAAQ;gBACrB,eAAe,EACb,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,IAAI,EAAE;aAC/D,EACD,GAAG,CAAC,IAAI,CACT,CACJ;SACF,CAAC;KACH,CAAC,CACH,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,WAAW,CACxB,QAAkB,EAClB,QAA4E,EAC5E,MAA4B,EAC5B,WAAmB,EACnB,KAA+B,EAC/B,OAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,kBAAkB,CAAC,OAAO,CAAC;QAChC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE;QAChC,CAAC,CAAC,MAAM,EAAE,CAAC;AACf,CAAC;AAED,mEAAmE;AACnE,KAAK,UAAU,UAAU,CACvB,KAAiB,EACjB,IAA2C;IAE3C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC7C,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8DAA8D;QAC9D,MAAM,CAAC,KAAK,CACV,KAAK,YAAY,eAAe;YAC9B,CAAC,CAAC,6CAA6C,KAAK,CAAC,MAAM,EAAE;YAC7D,CAAC,CAAC,6CAA6C,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CACjF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACvC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EACH,KAAK,CAAC,GAAG,KAAK,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM;YAClD,CAAC,CAAC;gBACE,GAAG,KAAK;gBACR,QAAQ,EAAE,oBAAoB,CAC5B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,CACW;aAC3B;YACH,CAAC,CAAC,KAAK;KACZ,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,QAAQ,KAAmB,CAAC;AAE3C,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,UAA4D;IAE5D,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,gBAAgB;QAC3B,0EAA0E;QAC1E,SAAS,EAAE,UAAU,CAAC,KAAK,KAAK,MAAM;QACtC,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,oDAAoD;QACpD,gBAAgB,EAAE,CAAC,oBAAoB,CAAC;QACxC,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;oBAC1C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS;oBAC9C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;aACzD;YACD,wEAAwE;YACxE,sEAAsE;YACtE,yEAAyE;YACzE,oBAAoB;YACpB,oBAAoB,EAAE,WAAW,KAAK,KAAK;YAC3C,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ;gBACvD,CAAC,CAAC,EAAE,WAAW,EAAE;gBACjB,CAAC,CAAC,EAAE,CAAC;YACP,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;SAC9C;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-content.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAsK7C;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CA+BpB;AAsBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACnC,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAkB3B"}
1
+ {"version":3,"file":"message-content.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AA8J7C;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CA+BpB;AAsBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACnC,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAkB3B"}
@@ -1,3 +1,4 @@
1
+ import { isRecord, trimmedString } from "../../values.js";
1
2
  /**
2
3
  * Render the Slack attachments and blocks the Trigger Server leaves out of the
3
4
  * prompt.
@@ -21,31 +22,25 @@ const LABEL = "Blocks and attachments of this Slack message (third-party content
21
22
  const OPEN_TAG = "<slack_message_content>";
22
23
  const CLOSE_TAG = "</slack_message_content>";
23
24
  const MENTION = /<@[A-Z0-9]+(?:\|[^>]*)?>/g;
24
- function isObject(value) {
25
- return typeof value === "object" && value !== null && !Array.isArray(value);
26
- }
27
25
  function list(value, max = MAX_ITEMS) {
28
26
  return Array.isArray(value) ? value.slice(0, max) : [];
29
27
  }
30
- function nonblank(value) {
31
- return typeof value === "string" && value.trim() ? value.trim() : undefined;
32
- }
33
28
  /** A Slack text object (`{ type, text }`) or a plain string. */
34
29
  function textOf(value) {
35
- return isObject(value) ? nonblank(value.text) : nonblank(value);
30
+ return isRecord(value) ? trimmedString(value.text) : trimmedString(value);
36
31
  }
37
32
  function linked(label, url) {
38
- const href = nonblank(url);
33
+ const href = trimmedString(url);
39
34
  if (label && href)
40
35
  return `${label} (${href})`;
41
36
  return label ?? href;
42
37
  }
43
38
  function elementLine(element) {
44
- if (!isObject(element))
39
+ if (!isRecord(element))
45
40
  return undefined;
46
41
  switch (element.type) {
47
42
  case "image":
48
- return nonblank(element.alt_text);
43
+ return trimmedString(element.alt_text);
49
44
  case "button":
50
45
  return linked(textOf(element.text), element.url);
51
46
  default:
@@ -53,13 +48,13 @@ function elementLine(element) {
53
48
  }
54
49
  }
55
50
  function richTextLeaf(element) {
56
- if (!isObject(element))
51
+ if (!isRecord(element))
57
52
  return "";
58
53
  switch (element.type) {
59
54
  case "text":
60
55
  return typeof element.text === "string" ? element.text : "";
61
56
  case "link":
62
- return linked(nonblank(element.text), element.url) ?? "";
57
+ return linked(trimmedString(element.text), element.url) ?? "";
63
58
  case "emoji":
64
59
  return typeof element.name === "string" ? `:${element.name}:` : "";
65
60
  case "user":
@@ -74,7 +69,7 @@ function richTextLeaf(element) {
74
69
  }
75
70
  /** One rich_text section, list, quote or preformatted block as text. */
76
71
  function richTextElement(element) {
77
- if (!isObject(element))
72
+ if (!isRecord(element))
78
73
  return "";
79
74
  if (element.type === "rich_text_list") {
80
75
  return list(element.elements, MAX_RICH_TEXT_ELEMENTS)
@@ -90,7 +85,7 @@ function richTextElement(element) {
90
85
  * `text`, but bots can send a short `text` and the details in rich_text.
91
86
  */
92
87
  function blockLines(block, richText) {
93
- if (!isObject(block))
88
+ if (!isRecord(block))
94
89
  return [];
95
90
  switch (block.type) {
96
91
  case "header":
@@ -107,7 +102,7 @@ function blockLines(block, richText) {
107
102
  return list(block.elements).map(elementLine).filter(present);
108
103
  case "image":
109
104
  return [
110
- linked(textOf(block.title) ?? nonblank(block.alt_text), block.image_url),
105
+ linked(textOf(block.title) ?? trimmedString(block.alt_text), block.image_url),
111
106
  ].filter(present);
112
107
  case "video":
113
108
  return [linked(textOf(block.title), block.title_url)].filter(present);
@@ -120,27 +115,27 @@ function blockLines(block, richText) {
120
115
  }
121
116
  }
122
117
  function attachmentLines(attachment, richText) {
123
- if (!isObject(attachment))
118
+ if (!isRecord(attachment))
124
119
  return [];
125
120
  const lines = [
126
- nonblank(attachment.pretext),
127
- nonblank(attachment.author_name),
128
- linked(nonblank(attachment.title), attachment.title_link),
129
- nonblank(attachment.text),
121
+ trimmedString(attachment.pretext),
122
+ trimmedString(attachment.author_name),
123
+ linked(trimmedString(attachment.title), attachment.title_link),
124
+ trimmedString(attachment.text),
130
125
  ...list(attachment.fields).map((field) => {
131
- if (!isObject(field))
126
+ if (!isRecord(field))
132
127
  return undefined;
133
- const title = nonblank(field.title);
134
- const value = nonblank(field.value);
128
+ const title = trimmedString(field.title);
129
+ const value = trimmedString(field.value);
135
130
  return title && value ? `${title}: ${value}` : (value ?? title);
136
131
  }),
137
132
  ...list(attachment.blocks).flatMap((block) => blockLines(block, richText)),
138
- nonblank(attachment.image_url),
139
- nonblank(attachment.footer),
133
+ trimmedString(attachment.image_url),
134
+ trimmedString(attachment.footer),
140
135
  ].filter(present);
141
136
  if (lines.length)
142
137
  return lines;
143
- const fallback = nonblank(attachment.fallback);
138
+ const fallback = trimmedString(attachment.fallback);
144
139
  return fallback ? [fallback] : [];
145
140
  }
146
141
  /**
@@ -170,7 +165,7 @@ function lineKeys(text) {
170
165
  * add nothing beyond `text` and `shown` (the text the agent already gets).
171
166
  */
172
167
  export function renderSlackRichContent(rawEvent, shown) {
173
- if (!isObject(rawEvent))
168
+ if (!isRecord(rawEvent))
174
169
  return undefined;
175
170
  const richText = rawEvent.bot_id != null || rawEvent.subtype === "bot_message";
176
171
  // Only lines the agent already has are dropped: repeats between attachments
@@ -209,7 +204,7 @@ function contentText(content) {
209
204
  if (typeof content === "string")
210
205
  return content;
211
206
  return list(content, MAX_RICH_TEXT_ELEMENTS)
212
- .map((part) => isObject(part) && part.type === "text" && typeof part.text === "string"
207
+ .map((part) => isRecord(part) && part.type === "text" && typeof part.text === "string"
213
208
  ? part.text
214
209
  : "")
215
210
  .join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"message-content.js","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-content.js","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"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"}