managed-deepagents 0.9.6-dev.13 → 0.9.6-dev.15

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 (332) hide show
  1. package/README.md +953 -57
  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/channels/actor.d.ts +43 -0
  7. package/dist/channels/actor.d.ts.map +1 -0
  8. package/dist/channels/actor.js +2 -0
  9. package/dist/channels/actor.js.map +1 -0
  10. package/dist/channels/assistant-text.d.ts +24 -0
  11. package/dist/channels/assistant-text.d.ts.map +1 -1
  12. package/dist/channels/assistant-text.js +65 -1
  13. package/dist/channels/assistant-text.js.map +1 -1
  14. package/dist/channels/binding.d.ts +20 -1
  15. package/dist/channels/binding.d.ts.map +1 -1
  16. package/dist/channels/binding.js +39 -10
  17. package/dist/channels/binding.js.map +1 -1
  18. package/dist/channels/delivery.d.ts +21 -0
  19. package/dist/channels/delivery.d.ts.map +1 -0
  20. package/dist/channels/delivery.js +196 -0
  21. package/dist/channels/delivery.js.map +1 -0
  22. package/dist/channels/github/connections.d.ts +11 -0
  23. package/dist/channels/github/connections.d.ts.map +1 -0
  24. package/dist/channels/github/connections.js +14 -0
  25. package/dist/channels/github/connections.js.map +1 -0
  26. package/dist/channels/github/index.d.ts +8 -0
  27. package/dist/channels/github/index.d.ts.map +1 -0
  28. package/dist/channels/github/index.js +274 -0
  29. package/dist/channels/github/index.js.map +1 -0
  30. package/dist/channels/github/mentions.d.ts +12 -0
  31. package/dist/channels/github/mentions.d.ts.map +1 -0
  32. package/dist/channels/github/mentions.js +185 -0
  33. package/dist/channels/github/mentions.js.map +1 -0
  34. package/dist/channels/github/schema.d.ts +4165 -0
  35. package/dist/channels/github/schema.d.ts.map +1 -0
  36. package/dist/channels/github/schema.js +221 -0
  37. package/dist/channels/github/schema.js.map +1 -0
  38. package/dist/channels/github/types.d.ts +163 -0
  39. package/dist/channels/github/types.d.ts.map +1 -0
  40. package/dist/channels/github/types.js +2 -0
  41. package/dist/channels/github/types.js.map +1 -0
  42. package/dist/channels/http/endpoint.d.ts +95 -0
  43. package/dist/channels/http/endpoint.d.ts.map +1 -0
  44. package/dist/channels/http/endpoint.js +276 -0
  45. package/dist/channels/http/endpoint.js.map +1 -0
  46. package/dist/channels/http/http.d.ts.map +1 -1
  47. package/dist/channels/http/http.js +386 -65
  48. package/dist/channels/http/http.js.map +1 -1
  49. package/dist/channels/http/index.d.ts +2 -1
  50. package/dist/channels/http/index.d.ts.map +1 -1
  51. package/dist/channels/http/index.js +14 -10
  52. package/dist/channels/http/index.js.map +1 -1
  53. package/dist/channels/http/ingress.d.ts +65 -5
  54. package/dist/channels/http/ingress.d.ts.map +1 -1
  55. package/dist/channels/http/ingress.js +149 -33
  56. package/dist/channels/http/ingress.js.map +1 -1
  57. package/dist/channels/http/provider.d.ts +119 -0
  58. package/dist/channels/http/provider.d.ts.map +1 -0
  59. package/dist/channels/http/provider.js +227 -0
  60. package/dist/channels/http/provider.js.map +1 -0
  61. package/dist/channels/http/studio.d.ts +24 -0
  62. package/dist/channels/http/studio.d.ts.map +1 -0
  63. package/dist/channels/http/studio.js +95 -0
  64. package/dist/channels/http/studio.js.map +1 -0
  65. package/dist/channels/http/threads.d.ts +7 -0
  66. package/dist/channels/http/threads.d.ts.map +1 -0
  67. package/dist/channels/http/threads.js +10 -0
  68. package/dist/channels/http/threads.js.map +1 -0
  69. package/dist/channels/http/types.d.ts +143 -2
  70. package/dist/channels/http/types.d.ts.map +1 -1
  71. package/dist/channels/linear/connections.d.ts +11 -0
  72. package/dist/channels/linear/connections.d.ts.map +1 -0
  73. package/dist/channels/linear/connections.js +14 -0
  74. package/dist/channels/linear/connections.js.map +1 -0
  75. package/dist/channels/linear/graphql.d.ts +57 -0
  76. package/dist/channels/linear/graphql.d.ts.map +1 -0
  77. package/dist/channels/linear/graphql.js +167 -0
  78. package/dist/channels/linear/graphql.js.map +1 -0
  79. package/dist/channels/linear/index.d.ts +9 -0
  80. package/dist/channels/linear/index.d.ts.map +1 -0
  81. package/dist/channels/linear/index.js +489 -0
  82. package/dist/channels/linear/index.js.map +1 -0
  83. package/dist/channels/linear/schema.d.ts +1050 -0
  84. package/dist/channels/linear/schema.d.ts.map +1 -0
  85. package/dist/channels/linear/schema.js +255 -0
  86. package/dist/channels/linear/schema.js.map +1 -0
  87. package/dist/channels/linear/types.d.ts +162 -0
  88. package/dist/channels/linear/types.d.ts.map +1 -0
  89. package/dist/channels/linear/types.js +2 -0
  90. package/dist/channels/linear/types.js.map +1 -0
  91. package/dist/channels/message-schema.d.ts +2 -0
  92. package/dist/channels/message-schema.d.ts.map +1 -1
  93. package/dist/channels/message-schema.js +4 -0
  94. package/dist/channels/message-schema.js.map +1 -1
  95. package/dist/channels/messaging-registry.d.ts +16 -0
  96. package/dist/channels/messaging-registry.d.ts.map +1 -1
  97. package/dist/channels/messaging-registry.js +29 -0
  98. package/dist/channels/messaging-registry.js.map +1 -1
  99. package/dist/channels/reserved-connections.d.ts +12 -0
  100. package/dist/channels/reserved-connections.d.ts.map +1 -0
  101. package/dist/channels/reserved-connections.js +55 -0
  102. package/dist/channels/reserved-connections.js.map +1 -0
  103. package/dist/channels/run-input.d.ts +71 -0
  104. package/dist/channels/run-input.d.ts.map +1 -0
  105. package/dist/channels/run-input.js +155 -0
  106. package/dist/channels/run-input.js.map +1 -0
  107. package/dist/channels/runtime.d.ts +1 -1
  108. package/dist/channels/runtime.d.ts.map +1 -1
  109. package/dist/channels/runtime.js +1 -1
  110. package/dist/channels/runtime.js.map +1 -1
  111. package/dist/channels/schedule-delivery.d.ts +1 -1
  112. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  113. package/dist/channels/schedule-delivery.js +12 -23
  114. package/dist/channels/schedule-delivery.js.map +1 -1
  115. package/dist/channels/slack/api.d.ts +2 -0
  116. package/dist/channels/slack/api.d.ts.map +1 -1
  117. package/dist/channels/slack/api.js +6 -0
  118. package/dist/channels/slack/api.js.map +1 -1
  119. package/dist/channels/slack/connections.d.ts +6 -0
  120. package/dist/channels/slack/connections.d.ts.map +1 -0
  121. package/dist/channels/slack/connections.js +6 -0
  122. package/dist/channels/slack/connections.js.map +1 -0
  123. package/dist/channels/slack/events.d.ts +272 -0
  124. package/dist/channels/slack/events.d.ts.map +1 -0
  125. package/dist/channels/slack/events.js +235 -0
  126. package/dist/channels/slack/events.js.map +1 -0
  127. package/dist/channels/slack/files.d.ts.map +1 -1
  128. package/dist/channels/slack/files.js +2 -3
  129. package/dist/channels/slack/files.js.map +1 -1
  130. package/dist/channels/slack/index.d.ts +76 -2
  131. package/dist/channels/slack/index.d.ts.map +1 -1
  132. package/dist/channels/slack/index.js +177 -6
  133. package/dist/channels/slack/index.js.map +1 -1
  134. package/dist/channels/slack/message-content.d.ts.map +1 -1
  135. package/dist/channels/slack/message-content.js +23 -28
  136. package/dist/channels/slack/message-content.js.map +1 -1
  137. package/dist/channels/slack/status.d.ts +76 -0
  138. package/dist/channels/slack/status.d.ts.map +1 -0
  139. package/dist/channels/slack/status.js +427 -0
  140. package/dist/channels/slack/status.js.map +1 -0
  141. package/dist/channels/source-providers.js +1 -1
  142. package/dist/channels/source-providers.js.map +1 -1
  143. package/dist/channels/trigger/client.d.ts.map +1 -1
  144. package/dist/channels/trigger/client.js +6 -15
  145. package/dist/channels/trigger/client.js.map +1 -1
  146. package/dist/channels/trigger/http.d.ts +114 -3
  147. package/dist/channels/trigger/http.d.ts.map +1 -1
  148. package/dist/channels/trigger/http.js +314 -82
  149. package/dist/channels/trigger/http.js.map +1 -1
  150. package/dist/channels/trigger/identity-context.d.ts +1 -1
  151. package/dist/channels/trigger/identity-context.d.ts.map +1 -1
  152. package/dist/channels/trigger/identity-context.js +2 -3
  153. package/dist/channels/trigger/identity-context.js.map +1 -1
  154. package/dist/channels/trigger/ingress.d.ts +38 -1
  155. package/dist/channels/trigger/ingress.d.ts.map +1 -1
  156. package/dist/channels/trigger/ingress.js +47 -19
  157. package/dist/channels/trigger/ingress.js.map +1 -1
  158. package/dist/channels/trigger/types.d.ts +82 -3
  159. package/dist/channels/trigger/types.d.ts.map +1 -1
  160. package/dist/channels/trigger/types.js +36 -0
  161. package/dist/channels/trigger/types.js.map +1 -1
  162. package/dist/channels/types.d.ts +19 -3
  163. package/dist/channels/types.d.ts.map +1 -1
  164. package/dist/channels/types.js +2 -0
  165. package/dist/channels/types.js.map +1 -1
  166. package/dist/connections.d.ts +31 -0
  167. package/dist/connections.d.ts.map +1 -1
  168. package/dist/connections.js +108 -11
  169. package/dist/connections.js.map +1 -1
  170. package/dist/credential-gate.d.ts +2 -0
  171. package/dist/credential-gate.d.ts.map +1 -1
  172. package/dist/credential-gate.js +37 -3
  173. package/dist/credential-gate.js.map +1 -1
  174. package/dist/define-deep-agent.d.ts.map +1 -1
  175. package/dist/define-deep-agent.js +6 -0
  176. package/dist/define-deep-agent.js.map +1 -1
  177. package/dist/identity/loopback.d.ts +1 -6
  178. package/dist/identity/loopback.d.ts.map +1 -1
  179. package/dist/identity/loopback.js +2 -12
  180. package/dist/identity/loopback.js.map +1 -1
  181. package/dist/index.d.ts +15 -4
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +2 -1
  184. package/dist/index.js.map +1 -1
  185. package/dist/ingress/index.d.ts +0 -8
  186. package/dist/ingress/index.d.ts.map +1 -1
  187. package/dist/ingress/index.js +2 -32
  188. package/dist/ingress/index.js.map +1 -1
  189. package/dist/ingress/runs.d.ts +74 -1
  190. package/dist/ingress/runs.d.ts.map +1 -1
  191. package/dist/ingress/runs.js +176 -16
  192. package/dist/ingress/runs.js.map +1 -1
  193. package/dist/managed-composition.d.ts.map +1 -1
  194. package/dist/managed-composition.js +8 -13
  195. package/dist/managed-composition.js.map +1 -1
  196. package/dist/memory/instructions-middleware.d.ts.map +1 -1
  197. package/dist/memory/instructions-middleware.js +5 -6
  198. package/dist/memory/instructions-middleware.js.map +1 -1
  199. package/dist/namespaces.d.ts +21 -21
  200. package/dist/namespaces.d.ts.map +1 -1
  201. package/dist/namespaces.js +4 -29
  202. package/dist/namespaces.js.map +1 -1
  203. package/dist/runtime/auth.d.ts.map +1 -1
  204. package/dist/runtime/auth.js +151 -21
  205. package/dist/runtime/auth.js.map +1 -1
  206. package/dist/runtime/channel-icon.d.ts +22 -0
  207. package/dist/runtime/channel-icon.d.ts.map +1 -0
  208. package/dist/runtime/channel-icon.js +70 -0
  209. package/dist/runtime/channel-icon.js.map +1 -0
  210. package/dist/runtime/channel.d.ts +6 -0
  211. package/dist/runtime/channel.d.ts.map +1 -1
  212. package/dist/runtime/channel.js.map +1 -1
  213. package/dist/runtime/http.d.ts +0 -15
  214. package/dist/runtime/http.d.ts.map +1 -1
  215. package/dist/runtime/http.js +0 -37
  216. package/dist/runtime/http.js.map +1 -1
  217. package/dist/runtime/identity-http.d.ts +2 -0
  218. package/dist/runtime/identity-http.d.ts.map +1 -1
  219. package/dist/runtime/identity-http.js +40 -16
  220. package/dist/runtime/identity-http.js.map +1 -1
  221. package/dist/runtime/identity-runtime.d.ts +10 -0
  222. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  223. package/dist/runtime/identity-runtime.js +22 -0
  224. package/dist/runtime/identity-runtime.js.map +1 -1
  225. package/dist/runtime/index.d.ts.map +1 -1
  226. package/dist/runtime/index.js +46 -47
  227. package/dist/runtime/index.js.map +1 -1
  228. package/dist/runtime/log.d.ts +14 -8
  229. package/dist/runtime/log.d.ts.map +1 -1
  230. package/dist/runtime/log.js +7 -16
  231. package/dist/runtime/log.js.map +1 -1
  232. package/dist/runtime/managed-middleware.d.ts.map +1 -1
  233. package/dist/runtime/managed-middleware.js +14 -1
  234. package/dist/runtime/managed-middleware.js.map +1 -1
  235. package/dist/runtime/managed-thread.d.ts +60 -0
  236. package/dist/runtime/managed-thread.d.ts.map +1 -0
  237. package/dist/runtime/managed-thread.js +76 -0
  238. package/dist/runtime/managed-thread.js.map +1 -0
  239. package/dist/runtime/managed-tools.d.ts +10 -10
  240. package/dist/runtime/managed-tools.d.ts.map +1 -1
  241. package/dist/runtime/managed-tools.js +24 -24
  242. package/dist/runtime/managed-tools.js.map +1 -1
  243. package/dist/runtime/memory/mounts.d.ts +11 -82
  244. package/dist/runtime/memory/mounts.d.ts.map +1 -1
  245. package/dist/runtime/memory/mounts.js +34 -173
  246. package/dist/runtime/memory/mounts.js.map +1 -1
  247. package/dist/runtime/memory/policy.d.ts.map +1 -1
  248. package/dist/runtime/memory/policy.js +1 -3
  249. package/dist/runtime/memory/policy.js.map +1 -1
  250. package/dist/runtime/run-input.d.ts +10 -0
  251. package/dist/runtime/run-input.d.ts.map +1 -1
  252. package/dist/runtime/run-input.js +47 -19
  253. package/dist/runtime/run-input.js.map +1 -1
  254. package/dist/runtime/sandbox-manager.d.ts +1 -1
  255. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  256. package/dist/runtime/sandbox-manager.js +9 -7
  257. package/dist/runtime/sandbox-manager.js.map +1 -1
  258. package/dist/runtime/schedule-auth.d.ts +17 -0
  259. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  260. package/dist/runtime/schedule-auth.js +39 -1
  261. package/dist/runtime/schedule-auth.js.map +1 -1
  262. package/dist/runtime/selected-skills-backend.d.ts +3 -3
  263. package/dist/runtime/selected-skills-backend.d.ts.map +1 -1
  264. package/dist/runtime/selected-skills-backend.js +5 -5
  265. package/dist/runtime/selected-skills-backend.js.map +1 -1
  266. package/dist/runtime/thread-record.d.ts +81 -0
  267. package/dist/runtime/thread-record.d.ts.map +1 -0
  268. package/dist/runtime/thread-record.js +205 -0
  269. package/dist/runtime/thread-record.js.map +1 -0
  270. package/dist/runtime/types.d.ts +5 -1
  271. package/dist/runtime/types.d.ts.map +1 -1
  272. package/dist/runtime-schedules.d.ts +13 -0
  273. package/dist/runtime-schedules.d.ts.map +1 -1
  274. package/dist/runtime-schedules.js +86 -22
  275. package/dist/runtime-schedules.js.map +1 -1
  276. package/dist/sandbox.d.ts +0 -6
  277. package/dist/sandbox.d.ts.map +1 -1
  278. package/dist/sandbox.js +3 -7
  279. package/dist/sandbox.js.map +1 -1
  280. package/dist/schedule-channel.d.ts +5 -2
  281. package/dist/schedule-channel.d.ts.map +1 -1
  282. package/dist/schedule-channel.js +13 -12
  283. package/dist/schedule-channel.js.map +1 -1
  284. package/dist/telemetry/run-listener.d.ts +1 -1
  285. package/dist/telemetry/run-listener.d.ts.map +1 -1
  286. package/dist/telemetry/run-listener.js +2 -32
  287. package/dist/telemetry/run-listener.js.map +1 -1
  288. package/dist/telemetry/transport/posthog.d.ts +1 -13
  289. package/dist/telemetry/transport/posthog.d.ts.map +1 -1
  290. package/dist/telemetry/transport/posthog.js +30 -68
  291. package/dist/telemetry/transport/posthog.js.map +1 -1
  292. package/dist/values.d.ts +15 -0
  293. package/dist/values.d.ts.map +1 -0
  294. package/dist/values.js +31 -0
  295. package/dist/values.js.map +1 -0
  296. package/package.json +11 -11
  297. package/dist/concurrency/batch-processor.d.ts +0 -51
  298. package/dist/concurrency/batch-processor.d.ts.map +0 -1
  299. package/dist/concurrency/batch-processor.js +0 -99
  300. package/dist/concurrency/batch-processor.js.map +0 -1
  301. package/dist/resilience/retry.d.ts +0 -21
  302. package/dist/resilience/retry.d.ts.map +0 -1
  303. package/dist/resilience/retry.js +0 -40
  304. package/dist/resilience/retry.js.map +0 -1
  305. package/dist/runtime/graph-build-timing.d.ts +0 -30
  306. package/dist/runtime/graph-build-timing.d.ts.map +0 -1
  307. package/dist/runtime/graph-build-timing.js +0 -50
  308. package/dist/runtime/graph-build-timing.js.map +0 -1
  309. package/dist/telemetry/lifecycle.d.ts +0 -26
  310. package/dist/telemetry/lifecycle.d.ts.map +0 -1
  311. package/dist/telemetry/lifecycle.js +0 -49
  312. package/dist/telemetry/lifecycle.js.map +0 -1
  313. package/dist/telemetry/otel/context.d.ts +0 -57
  314. package/dist/telemetry/otel/context.d.ts.map +0 -1
  315. package/dist/telemetry/otel/context.js +0 -122
  316. package/dist/telemetry/otel/context.js.map +0 -1
  317. package/dist/telemetry/otel/exporter.d.ts +0 -53
  318. package/dist/telemetry/otel/exporter.d.ts.map +0 -1
  319. package/dist/telemetry/otel/exporter.js +0 -190
  320. package/dist/telemetry/otel/exporter.js.map +0 -1
  321. package/dist/telemetry/otel/index.d.ts +0 -6
  322. package/dist/telemetry/otel/index.d.ts.map +0 -1
  323. package/dist/telemetry/otel/index.js +0 -3
  324. package/dist/telemetry/otel/index.js.map +0 -1
  325. package/dist/telemetry/otel/otlp.d.ts +0 -44
  326. package/dist/telemetry/otel/otlp.d.ts.map +0 -1
  327. package/dist/telemetry/otel/otlp.js +0 -7
  328. package/dist/telemetry/otel/otlp.js.map +0 -1
  329. package/dist/telemetry/otel/truncate.d.ts +0 -10
  330. package/dist/telemetry/otel/truncate.d.ts.map +0 -1
  331. package/dist/telemetry/otel/truncate.js +0 -39
  332. package/dist/telemetry/otel/truncate.js.map +0 -1
@@ -1,9 +1,29 @@
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 SlackStatusChoice } from "./status.js";
5
+ import { type SlackEventOptions } from "./events.js";
4
6
  import { type Channel } from "../../runtime/channel.js";
7
+ import { type ChannelReply } from "../types.js";
5
8
  export type { ChannelManifest } from "../manifest.js";
6
- export interface SlackChannelConfig {
9
+ export type { SlackStatusChoice, SlackStatusChooser, SlackStatusContext, SlackStatusState, SlackStatusStep, SlackStatusStepStatus, SlackStatusValue, } from "./status.js";
10
+ export type { SlackActor, SlackChannelThread, SlackEndpointRequest, SlackEvent, SlackEventCallback, SlackEventKey, SlackEventResult, SlackFile, SlackInteractionEvent, SlackMessageEvent, SlackMessageKey, } from "./events.js";
11
+ declare const SLACK_TRIGGER_MODES: readonly ["mention", "thread", "all"];
12
+ /**
13
+ * Which channel messages start a run. DMs never need a mention.
14
+ * - `"mention"`: only messages that @-mention your agent, including replies in
15
+ * a thread it already answered.
16
+ * - `"thread"`: a message that @-mentions your agent, and every later reply in
17
+ * that thread, so people only mention it once. A thread whose mention your
18
+ * `onEvent` handler declined stays declined: its replies start nothing.
19
+ * - `"all"`: every message in the channels your agent is in, mentioned or not.
20
+ */
21
+ export type SlackTriggerMode = (typeof SLACK_TRIGGER_MODES)[number];
22
+ /** @internal */
23
+ 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\".";
24
+ /** @internal */
25
+ export declare const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = "channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: \"all\").";
26
+ export interface SlackChannelConfig extends SlackEventOptions {
7
27
  /** Your agent's name, used in mentions like `@support-agent`. */
8
28
  name?: string;
9
29
  /** A short description of what your agent does. */
@@ -11,7 +31,23 @@ export interface SlackChannelConfig {
11
31
  icon?: string;
12
32
  /** The Slack app background as a `#RRGGBB` hex color. */
13
33
  backgroundColor?: string;
34
+ /**
35
+ * Which channel messages start a run; see {@link SlackTriggerMode}. New Slack
36
+ * apps use `"mention"`; set `"thread"` to keep replying in a thread after one
37
+ * mention. When unset, a deployed agent keeps its current mode, except that an
38
+ * all-messages agent that drops `"all"` moves to `"mention"`. Redeploying with
39
+ * a new mode updates the existing Slack app.
40
+ */
41
+ triggerMode?: SlackTriggerMode;
42
+ /**
43
+ * @deprecated Use `triggerMode` instead; `true` is `triggerMode: "all"`.
44
+ * When both are set they must agree.
45
+ */
14
46
  triggerOnAllMessages?: boolean;
47
+ /**
48
+ * Let messages from other bots start runs. In every trigger mode, a bot must
49
+ * still @-mention your agent explicitly in the message.
50
+ */
15
51
  allowBotTriggers?: boolean;
16
52
  /**
17
53
  * Emoji to react with when a message starts a run; `eyes` by default, and
@@ -19,6 +55,38 @@ export interface SlackChannelConfig {
19
55
  * function that picks one per message. Return `null` to skip a reaction.
20
56
  */
21
57
  reactions?: ReactionChoice;
58
+ /**
59
+ * What Slack shows while a run works, in place of its working phrases
60
+ * ("is thinking it through...", ...): a line, or a list of steps, each a
61
+ * title or `{ title, status }` (`pending` by default, `in_progress`,
62
+ * `complete` or `error`). Pass one to show it for the whole run, or a
63
+ * function of the agent's state, called as the run starts, before and after
64
+ * each model call, and every 4 s while a model or tool call runs. Return
65
+ * `null` to leave what's shown.
66
+ *
67
+ * Apps with Slack's agent view show it as a plan above the reply: the line
68
+ * is its title, and each step one of its tasks. Other apps show the line,
69
+ * or the first step not yet done, as the thread's status. A function that
70
+ * throws, takes longer than 1 s, or returns something else leaves the
71
+ * status as it is.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * status: ({ state }) =>
76
+ * state.todos?.map((todo) => ({
77
+ * title: todo.content,
78
+ * status: todo.status === "completed" ? "complete" : todo.status,
79
+ * })) ?? "is reading the thread",
80
+ * ```
81
+ */
82
+ status?: SlackStatusChoice;
83
+ /**
84
+ * Whether the channel posts the run's final answer in the thread: `auto`
85
+ * (the default) or `none`, to leave replying to the agent, through
86
+ * `runtime.channel.post` or its own tools. The status, reactions and
87
+ * `onFinish` stay as they are. `none` needs an `mda` CLI that deploys it.
88
+ */
89
+ reply?: ChannelReply;
22
90
  }
23
91
  export interface TriggerSlackAppConfig {
24
92
  name?: string;
@@ -28,12 +96,18 @@ export interface TriggerSlackAppConfig {
28
96
  }
29
97
  export interface RequiredTriggerSlackChannelConfig {
30
98
  app: TriggerSlackAppConfig;
31
- triggerOnAllMessages: boolean;
99
+ triggerMode?: SlackTriggerMode;
100
+ /** @deprecated Use `triggerMode` instead. */
101
+ triggerOnAllMessages?: boolean;
32
102
  allowBotTriggers: boolean;
33
103
  reactions?: ReactionChoice;
104
+ status?: SlackStatusChoice;
105
+ reply?: ChannelReply;
34
106
  }
35
107
  /** Branded Trigger-backed Slack declaration. */
36
108
  export type SlackChannel = Channel & RequiredTriggerSlackChannelConfig & {
109
+ /** @deprecated Read `triggerMode` instead. */
110
+ triggerOnAllMessages: boolean;
37
111
  kind: "slack";
38
112
  transport: "trigger_server";
39
113
  };
@@ -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,45 @@
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 { 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";
5
10
  import { withSlackRichContent } from "./message-content.js";
11
+ import { isSlackStatusValue, startedStatus, } from "./status.js";
12
+ import { DecidedSlackEvents, SLACK_ENDPOINT_EVENT_FIELDS, SLACK_EVENT_KEYS, finishedDelivery, isPlainSlackMessage, readSlackEvent, slackThread, } from "./events.js";
6
13
  import { CHANNEL_BRAND, } from "../../runtime/channel.js";
14
+ import { isRecord } from "../../values.js";
15
+ import { CHANNEL_REPLIES } from "../types.js";
16
+ const SLACK_TRIGGER_MODES = ["mention", "thread", "all"];
17
+ /** @internal */
18
+ 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".';
19
+ /** @internal */
20
+ export const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = 'channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: "all").';
21
+ function emitUnreachableMessageHandler() {
22
+ if (typeof process !== "undefined" &&
23
+ typeof process.emitWarning === "function") {
24
+ process.emitWarning(SLACK_UNREACHABLE_MESSAGE_HANDLER, {
25
+ code: "MDA_SLACK_UNREACHABLE_MESSAGE_HANDLER",
26
+ });
27
+ return;
28
+ }
29
+ console.warn(SLACK_UNREACHABLE_MESSAGE_HANDLER);
30
+ }
31
+ function emitTriggerOnAllMessagesDeprecation() {
32
+ if (typeof process !== "undefined" &&
33
+ typeof process.emitWarning === "function") {
34
+ process.emitWarning(SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION, {
35
+ type: "DeprecationWarning",
36
+ code: "MDA_SLACK_TRIGGER_ON_ALL_MESSAGES",
37
+ });
38
+ return;
39
+ }
40
+ console.warn(SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION);
41
+ }
42
+ const EVENT_KEYS = new Set(SLACK_EVENT_KEYS);
7
43
  const slackChannelConfig = z
8
44
  .object({
9
45
  name: z
@@ -34,7 +70,8 @@ const slackChannelConfig = z
34
70
  })
35
71
  .transform((value) => value.toLowerCase())
36
72
  .optional(),
37
- triggerOnAllMessages: z.boolean().default(false),
73
+ triggerMode: z.enum(SLACK_TRIGGER_MODES).optional(),
74
+ triggerOnAllMessages: z.boolean().optional(),
38
75
  allowBotTriggers: z.boolean().default(false),
39
76
  reactions: z
40
77
  .custom((value) => typeof value === "boolean" ||
@@ -44,8 +81,41 @@ const slackChannelConfig = z
44
81
  })
45
82
  .transform((value) => (value === true ? DEFAULT_REACTION_EMOJI : value))
46
83
  .default(DEFAULT_REACTION_EMOJI),
84
+ status: z
85
+ .custom((value) => typeof value === "function" || isSlackStatusValue(value), {
86
+ message: "Must be a status line, a list of steps (titles or { title, status }), or a function returning one",
87
+ })
88
+ .optional(),
89
+ // Keys and handlers are checked as the GitHub and Linear channels check
90
+ // theirs.
91
+ onEvent: z
92
+ .custom(isRecord, {
93
+ message: "Must be an object of handlers",
94
+ })
95
+ .optional(),
96
+ multitaskStrategy: z.enum(MULTITASK_STRATEGIES).optional(),
97
+ reply: z.enum(CHANNEL_REPLIES).optional(),
98
+ onFinish: z
99
+ .custom((value) => typeof value === "function", { message: "Must be a function" })
100
+ .optional(),
47
101
  })
48
- .strict();
102
+ .strict()
103
+ .superRefine((value, ctx) => {
104
+ if (value.triggerMode !== undefined &&
105
+ value.triggerOnAllMessages !== undefined &&
106
+ value.triggerOnAllMessages !== (value.triggerMode === "all")) {
107
+ ctx.addIssue({
108
+ code: "custom",
109
+ path: ["triggerOnAllMessages"],
110
+ message: "Conflicts with triggerMode; set only triggerMode",
111
+ });
112
+ }
113
+ });
114
+ /** The explicitly selected mode; unset leaves the default to Trigger Server. */
115
+ function resolveTriggerMode(definition) {
116
+ return (definition.triggerMode ??
117
+ (definition.triggerOnAllMessages ? "all" : undefined));
118
+ }
49
119
  function hide(target, key, value) {
50
120
  Object.defineProperty(target, key, { value, enumerable: false });
51
121
  }
@@ -61,7 +131,26 @@ export function slackChannel(config = {}) {
61
131
  .join("; ");
62
132
  throw new Error(`channels.slack(...) ${message}`);
63
133
  }
64
- const { name, description, icon, backgroundColor, ...options } = result.data;
134
+ const { name, description, icon, backgroundColor, triggerMode, triggerOnAllMessages, onEvent, multitaskStrategy, onFinish, ...options } = result.data;
135
+ if (triggerOnAllMessages !== undefined) {
136
+ emitTriggerOnAllMessagesDeprecation();
137
+ }
138
+ // The events handlers got, kept for `onFinish`, so both see the same kind.
139
+ const decided = onFinish ? new DecidedSlackEvents() : undefined;
140
+ // Each endpoint stands for the handler that asks it; a bad one throws here.
141
+ const handlers = onEvent &&
142
+ resolveEndpoints("Slack",
143
+ // By key; the channel calls each only with its own key's events.
144
+ onEvent, SLACK_ENDPOINT_EVENT_FIELDS);
145
+ if (handlers)
146
+ checkEventKeys("Slack", handlers, EVENT_KEYS);
147
+ const resolvedTriggerMode = resolveTriggerMode({
148
+ triggerMode,
149
+ triggerOnAllMessages,
150
+ });
151
+ if (resolvedTriggerMode === "mention" && handlers?.message) {
152
+ emitUnreachableMessageHandler();
153
+ }
65
154
  const self = {
66
155
  kind: "slack",
67
156
  transport: "trigger_server",
@@ -71,6 +160,10 @@ export function slackChannel(config = {}) {
71
160
  ...(icon === undefined ? {} : { icon }),
72
161
  ...(backgroundColor === undefined ? {} : { backgroundColor }),
73
162
  },
163
+ ...(resolvedTriggerMode === undefined
164
+ ? {}
165
+ : { triggerMode: resolvedTriggerMode }),
166
+ triggerOnAllMessages: resolvedTriggerMode === "all",
74
167
  ...options,
75
168
  };
76
169
  hide(self, CHANNEL_BRAND, true);
@@ -79,18 +172,89 @@ export function slackChannel(config = {}) {
79
172
  sourceProvider: "slack",
80
173
  channelName: ctx.name,
81
174
  reactions: self.reactions,
175
+ ...(self.status !== undefined && {
176
+ startedStatus: startedStatus(self.status),
177
+ }),
82
178
  messageInput: (event) => withSlackRichContent(event.input.messages, event.raw_event),
179
+ ...(handlers && {
180
+ decideMessage: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
181
+ }),
182
+ ...(handlers?.interaction && {
183
+ decideInteraction: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
184
+ }),
185
+ // A mention handler can decline a thread's mention, and Trigger Server
186
+ // follows the thread anyway: its unmentioned replies only continue a
187
+ // thread the agent already ran on.
188
+ ...(handlers?.mention &&
189
+ resolvedTriggerMode === "thread" && {
190
+ onlyContinuesThread: async (event) => isRecord(event.raw_event) &&
191
+ (await isPlainSlackMessage(event.raw_event)),
192
+ }),
193
+ ...(multitaskStrategy && { multitaskStrategy }),
194
+ ...(onFinish && {
195
+ // As GitHub's and Linear's: the event and thread a handler gets.
196
+ onFinish: finishEvents(noNotice, onFinish, (rawEvent) => decided.finished(rawEvent), (delivery) => slackThread({
197
+ id: delivery.threadId,
198
+ sourceThreadKey: finishedDelivery(delivery.rawEvent)?.source_thread_key ?? "",
199
+ }, ctx.name)),
200
+ }),
83
201
  }));
84
202
  hide(self, "requirements", (name) => toSlackRequirements(name, self));
85
203
  return self;
86
204
  }
205
+ /**
206
+ * What a message or interaction starts, as its key's handler decides;
207
+ * `undefined`, so what it starts without one. An endpoint is asked after
208
+ * Trigger Server has its answer. A Slack message's blocks and attachments
209
+ * are added to the handler's messages, as to a message's own.
210
+ */
211
+ async function decideEvent(handlers, delivery, thread, channelName, actor, decided) {
212
+ const event = await readSlackEvent(delivery, actor);
213
+ const handler = event && handlers[event.key];
214
+ if (!event || !handler)
215
+ return undefined;
216
+ decided?.remember(delivery.delivery_id, event);
217
+ const decide = () => runHandler(event, () => handler(event, slackThread(thread, channelName)));
218
+ return isEndpointCallback(handler)
219
+ ? { type: "background", decide }
220
+ : decide();
221
+ }
222
+ /** Run a handler and normalize what it returned into run input. */
223
+ async function runHandler(event, call) {
224
+ const outcome = await runEventHandler("Slack", event, call);
225
+ if (outcome.type !== "input")
226
+ return outcome;
227
+ let input;
228
+ try {
229
+ input = normalizeRunInput(outcome.input);
230
+ }
231
+ catch (error) {
232
+ logger.error(`slack handler returned invalid run input (${logger.safeErrorLabel(error)})`);
233
+ return { type: "failed" };
234
+ }
235
+ if (!input)
236
+ return { type: "skipped" };
237
+ return {
238
+ type: "input",
239
+ input: event.key !== "interaction" && input.messages.length
240
+ ? {
241
+ ...input,
242
+ messages: withSlackRichContent(input.messages, event.payload),
243
+ }
244
+ : input,
245
+ };
246
+ }
247
+ /** Trigger Server tells Slack how a run ended, so the channel adds no notice. */
248
+ async function noNotice() { }
87
249
  /** Build deploy/runtime requirements for a file-derived channel instance. */
88
250
  export function toSlackRequirements(name, definition) {
251
+ const triggerMode = resolveTriggerMode(definition);
89
252
  return {
90
253
  name,
91
254
  provider: "slack",
92
255
  transport: "trigger_server",
93
- autoReply: true,
256
+ // Deploy reads it; `reply` lives in no provider config older CLIs reject.
257
+ autoReply: definition.reply !== "none",
94
258
  requiredPermissions: [],
95
259
  requiredEnv: [],
96
260
  providerConfig: {
@@ -108,7 +272,14 @@ export function toSlackRequirements(name, definition) {
108
272
  ? {}
109
273
  : { backgroundColor: definition.app.backgroundColor }),
110
274
  },
111
- triggerOnAllMessages: definition.triggerOnAllMessages,
275
+ // Older CLIs require triggerOnAllMessages and reject unknown fields, so
276
+ // "all" is sent as that flag and triggerMode only for mention/thread.
277
+ // Unset lets Trigger Server keep an existing app's mode or default a new
278
+ // one to "mention".
279
+ triggerOnAllMessages: triggerMode === "all",
280
+ ...(triggerMode === "mention" || triggerMode === "thread"
281
+ ? { triggerMode }
282
+ : {}),
112
283
  allowBotTriggers: definition.allowBotTriggers,
113
284
  },
114
285
  };
@@ -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":"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"}
@@ -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":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,qEAAqE;AACrE,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,sBAAsB,GAAG,KAAK,CAAC;AACrC,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,KAAK,GACT,+FAA+F,CAAC;AAClG,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAC3C,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAC7C,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAI5C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,IAAI,CAAC,KAAc,EAAE,GAAG,GAAG,SAAS;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,gEAAgE;AAChE,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB,EAAE,GAAY;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC;IAC/C,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnD;YACE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,OAAO;YACV,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,KAAK,SAAS;YACZ,OAAO,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;gBAC3C,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,GAAG;gBAC5B,CAAC,CAAC,EAAE,CAAC;QACT;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;aAClD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;aAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SAClD,GAAG,CAAC,YAAY,CAAC;SACjB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAc,EAAE,QAAiB;IACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gBACjC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;aAC7B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,KAAK,OAAO;YACV,OAAO;gBACL,MAAM,CACJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC/C,KAAK,CAAC,SAAS,CAChB;aACF,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,KAAK,WAAW;YACd,OAAO,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;gBACnE,CAAC,CAAC,EAAE,CAAC;QACT;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,UAAmB,EAAE,QAAiB;IAC7D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG;QACZ,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;QACzD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QACzB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;QAClE,CAAC,CAAC;QACF,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1E,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAC9B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,OAAO,IAAI,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,OAAO,CAAC,KAAyB;IACxC,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAED,8DAA8D;AAC9D,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAwB;IACxC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAiB,EACjB,KAAc;IAEd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,QAAQ,GACZ,QAAQ,CAAC,MAAM,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,aAAa,CAAC;IAChE,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,GAAG,QAAQ,CAAC,KAAK,CAAC;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrE,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC/C,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CACtC;KACF;SACE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,KAAK;SACF,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CACL;SACA,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACzD,IAAI,SAAS,KAAK,SAAS;QAAE,IAAI,GAAG,GAAG,SAAS,KAAK,SAAS,EAAE,CAAC;IACjE,OAAO,GAAG,KAAK,KAAK,QAAQ,KAAK,IAAI,KAAK,SAAS,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,cAAc,CAAC,OAAmB;IACzC,OAAO,CACL,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,CAAC,IAAI,KAAK,MAAM;QACvB,OAAO,CAAC,IAAI,KAAK,MAAM;QACvB,OAAO,CAAC,IAAI,KAAK,OAAO,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;SACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrE,CAAC,CAAC,IAAI,CAAC,IAAI;QACX,CAAC,CAAC,EAAE,CACP;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAmC,EACnC,QAAiB;IAEjB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,sBAAsB,CACjC,QAAQ,EACR,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACnD,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO;YACtC,CAAC,CAAC,GAAG,OAAO,OAAO,IAAI,EAAE;YACzB,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC/B,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CACpD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"message-content.js","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"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"}