managed-deepagents 0.10.0-dev.17 → 0.10.0-dev.19

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 (257) hide show
  1. package/README.md +530 -83
  2. package/dist/browser.d.ts +37 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +31 -0
  5. package/dist/browser.js.map +1 -0
  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 +29 -0
  11. package/dist/channels/assistant-text.d.ts.map +1 -1
  12. package/dist/channels/assistant-text.js +72 -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 +44 -11
  17. package/dist/channels/binding.js.map +1 -1
  18. package/dist/channels/delivery.d.ts +36 -0
  19. package/dist/channels/delivery.d.ts.map +1 -0
  20. package/dist/channels/delivery.js +359 -0
  21. package/dist/channels/delivery.js.map +1 -0
  22. package/dist/channels/github/app-setup.d.ts +32 -0
  23. package/dist/channels/github/app-setup.d.ts.map +1 -0
  24. package/dist/channels/github/app-setup.js +146 -0
  25. package/dist/channels/github/app-setup.js.map +1 -0
  26. package/dist/channels/github/index.d.ts.map +1 -1
  27. package/dist/channels/github/index.js +21 -33
  28. package/dist/channels/github/index.js.map +1 -1
  29. package/dist/channels/github/schema.d.ts +50 -1
  30. package/dist/channels/github/schema.d.ts.map +1 -1
  31. package/dist/channels/github/schema.js +12 -0
  32. package/dist/channels/github/schema.js.map +1 -1
  33. package/dist/channels/http/endpoint.d.ts +6 -4
  34. package/dist/channels/http/endpoint.d.ts.map +1 -1
  35. package/dist/channels/http/endpoint.js.map +1 -1
  36. package/dist/channels/http/http.d.ts.map +1 -1
  37. package/dist/channels/http/http.js +4 -10
  38. package/dist/channels/http/http.js.map +1 -1
  39. package/dist/channels/http/index.d.ts +6 -0
  40. package/dist/channels/http/index.d.ts.map +1 -1
  41. package/dist/channels/http/index.js +32 -23
  42. package/dist/channels/http/index.js.map +1 -1
  43. package/dist/channels/http/ingress.d.ts +2 -2
  44. package/dist/channels/http/ingress.d.ts.map +1 -1
  45. package/dist/channels/http/ingress.js +9 -21
  46. package/dist/channels/http/ingress.js.map +1 -1
  47. package/dist/channels/http/provider.d.ts +10 -5
  48. package/dist/channels/http/provider.d.ts.map +1 -1
  49. package/dist/channels/http/provider.js +17 -10
  50. package/dist/channels/http/provider.js.map +1 -1
  51. package/dist/channels/http/studio.d.ts +5 -5
  52. package/dist/channels/http/studio.d.ts.map +1 -1
  53. package/dist/channels/http/studio.js +4 -6
  54. package/dist/channels/http/studio.js.map +1 -1
  55. package/dist/channels/http/types.d.ts +7 -1
  56. package/dist/channels/http/types.d.ts.map +1 -1
  57. package/dist/channels/linear/app-setup.d.ts +29 -0
  58. package/dist/channels/linear/app-setup.d.ts.map +1 -0
  59. package/dist/channels/linear/app-setup.js +102 -0
  60. package/dist/channels/linear/app-setup.js.map +1 -0
  61. package/dist/channels/linear/index.d.ts.map +1 -1
  62. package/dist/channels/linear/index.js +26 -65
  63. package/dist/channels/linear/index.js.map +1 -1
  64. package/dist/channels/linear/schema.d.ts +11 -25
  65. package/dist/channels/linear/schema.d.ts.map +1 -1
  66. package/dist/channels/linear/schema.js +6 -0
  67. package/dist/channels/linear/schema.js.map +1 -1
  68. package/dist/channels/linear/types.d.ts +9 -2
  69. package/dist/channels/linear/types.d.ts.map +1 -1
  70. package/dist/channels/messaging-registry.d.ts +16 -0
  71. package/dist/channels/messaging-registry.d.ts.map +1 -1
  72. package/dist/channels/messaging-registry.js +29 -0
  73. package/dist/channels/messaging-registry.js.map +1 -1
  74. package/dist/channels/reserved-connections.d.ts.map +1 -1
  75. package/dist/channels/reserved-connections.js +10 -0
  76. package/dist/channels/reserved-connections.js.map +1 -1
  77. package/dist/channels/run-input.d.ts +11 -0
  78. package/dist/channels/run-input.d.ts.map +1 -1
  79. package/dist/channels/run-input.js +18 -8
  80. package/dist/channels/run-input.js.map +1 -1
  81. package/dist/channels/runtime.d.ts +5 -2
  82. package/dist/channels/runtime.d.ts.map +1 -1
  83. package/dist/channels/runtime.js +19 -10
  84. package/dist/channels/runtime.js.map +1 -1
  85. package/dist/channels/schedule-delivery.d.ts +2 -13
  86. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  87. package/dist/channels/schedule-delivery.js +6 -73
  88. package/dist/channels/schedule-delivery.js.map +1 -1
  89. package/dist/channels/slack/api.d.ts +2 -0
  90. package/dist/channels/slack/api.d.ts.map +1 -1
  91. package/dist/channels/slack/api.js +6 -0
  92. package/dist/channels/slack/api.js.map +1 -1
  93. package/dist/channels/slack/connections.d.ts +6 -0
  94. package/dist/channels/slack/connections.d.ts.map +1 -0
  95. package/dist/channels/slack/connections.js +6 -0
  96. package/dist/channels/slack/connections.js.map +1 -0
  97. package/dist/channels/slack/events.d.ts +272 -0
  98. package/dist/channels/slack/events.d.ts.map +1 -0
  99. package/dist/channels/slack/events.js +235 -0
  100. package/dist/channels/slack/events.js.map +1 -0
  101. package/dist/channels/slack/files.d.ts.map +1 -1
  102. package/dist/channels/slack/files.js +2 -3
  103. package/dist/channels/slack/files.js.map +1 -1
  104. package/dist/channels/slack/index.d.ts +44 -2
  105. package/dist/channels/slack/index.d.ts.map +1 -1
  106. package/dist/channels/slack/index.js +127 -3
  107. package/dist/channels/slack/index.js.map +1 -1
  108. package/dist/channels/slack/message-content.d.ts.map +1 -1
  109. package/dist/channels/slack/message-content.js +23 -28
  110. package/dist/channels/slack/message-content.js.map +1 -1
  111. package/dist/channels/slack/status.d.ts +76 -0
  112. package/dist/channels/slack/status.d.ts.map +1 -0
  113. package/dist/channels/slack/status.js +427 -0
  114. package/dist/channels/slack/status.js.map +1 -0
  115. package/dist/channels/trigger/client.d.ts.map +1 -1
  116. package/dist/channels/trigger/client.js +6 -9
  117. package/dist/channels/trigger/client.js.map +1 -1
  118. package/dist/channels/trigger/conversation.d.ts +11 -0
  119. package/dist/channels/trigger/conversation.d.ts.map +1 -0
  120. package/dist/channels/trigger/conversation.js +72 -0
  121. package/dist/channels/trigger/conversation.js.map +1 -0
  122. package/dist/channels/trigger/http.d.ts +123 -4
  123. package/dist/channels/trigger/http.d.ts.map +1 -1
  124. package/dist/channels/trigger/http.js +331 -76
  125. package/dist/channels/trigger/http.js.map +1 -1
  126. package/dist/channels/trigger/ingress.d.ts +70 -1
  127. package/dist/channels/trigger/ingress.d.ts.map +1 -1
  128. package/dist/channels/trigger/ingress.js +136 -7
  129. package/dist/channels/trigger/ingress.js.map +1 -1
  130. package/dist/channels/trigger/transport.d.ts +10 -0
  131. package/dist/channels/trigger/transport.d.ts.map +1 -1
  132. package/dist/channels/trigger/transport.js +25 -9
  133. package/dist/channels/trigger/transport.js.map +1 -1
  134. package/dist/channels/trigger/types.d.ts +92 -3
  135. package/dist/channels/trigger/types.d.ts.map +1 -1
  136. package/dist/channels/trigger/types.js +36 -0
  137. package/dist/channels/trigger/types.js.map +1 -1
  138. package/dist/channels/types.d.ts +43 -4
  139. package/dist/channels/types.d.ts.map +1 -1
  140. package/dist/channels/types.js +2 -0
  141. package/dist/channels/types.js.map +1 -1
  142. package/dist/define-deep-agent.d.ts +2 -2
  143. package/dist/define-deep-agent.d.ts.map +1 -1
  144. package/dist/define-deep-agent.js +53 -8
  145. package/dist/define-deep-agent.js.map +1 -1
  146. package/dist/index.d.ts +9 -4
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +2 -1
  149. package/dist/index.js.map +1 -1
  150. package/dist/ingress/runs.d.ts +22 -0
  151. package/dist/ingress/runs.d.ts.map +1 -1
  152. package/dist/ingress/runs.js +45 -1
  153. package/dist/ingress/runs.js.map +1 -1
  154. package/dist/managed-composition.d.ts +3 -0
  155. package/dist/managed-composition.d.ts.map +1 -1
  156. package/dist/managed-composition.js +29 -13
  157. package/dist/managed-composition.js.map +1 -1
  158. package/dist/namespaces.d.ts +0 -21
  159. package/dist/namespaces.d.ts.map +1 -1
  160. package/dist/namespaces.js +0 -29
  161. package/dist/namespaces.js.map +1 -1
  162. package/dist/runtime/async-subagents.d.ts +27 -0
  163. package/dist/runtime/async-subagents.d.ts.map +1 -0
  164. package/dist/runtime/async-subagents.js +139 -0
  165. package/dist/runtime/async-subagents.js.map +1 -0
  166. package/dist/runtime/auth.d.ts +1 -2
  167. package/dist/runtime/auth.d.ts.map +1 -1
  168. package/dist/runtime/auth.js +125 -63
  169. package/dist/runtime/auth.js.map +1 -1
  170. package/dist/runtime/backend.d.ts +7 -0
  171. package/dist/runtime/backend.d.ts.map +1 -1
  172. package/dist/runtime/backend.js +32 -7
  173. package/dist/runtime/backend.js.map +1 -1
  174. package/dist/runtime/browser-facade.d.ts +10 -0
  175. package/dist/runtime/browser-facade.d.ts.map +1 -0
  176. package/dist/runtime/browser-facade.js +23 -0
  177. package/dist/runtime/browser-facade.js.map +1 -0
  178. package/dist/runtime/browser-langsmith.d.ts +108 -0
  179. package/dist/runtime/browser-langsmith.d.ts.map +1 -0
  180. package/dist/runtime/browser-langsmith.js +379 -0
  181. package/dist/runtime/browser-langsmith.js.map +1 -0
  182. package/dist/runtime/browser-selection.d.ts +10 -0
  183. package/dist/runtime/browser-selection.d.ts.map +1 -0
  184. package/dist/runtime/browser-selection.js +21 -0
  185. package/dist/runtime/browser-selection.js.map +1 -0
  186. package/dist/runtime/browser.d.ts +125 -0
  187. package/dist/runtime/browser.d.ts.map +1 -0
  188. package/dist/runtime/browser.js +606 -0
  189. package/dist/runtime/browser.js.map +1 -0
  190. package/dist/runtime/identity-runtime.d.ts +4 -9
  191. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  192. package/dist/runtime/identity-runtime.js +12 -25
  193. package/dist/runtime/identity-runtime.js.map +1 -1
  194. package/dist/runtime/index.d.ts +38 -1
  195. package/dist/runtime/index.d.ts.map +1 -1
  196. package/dist/runtime/index.js +74 -34
  197. package/dist/runtime/index.js.map +1 -1
  198. package/dist/runtime/managed-thread.d.ts +61 -0
  199. package/dist/runtime/managed-thread.d.ts.map +1 -0
  200. package/dist/runtime/managed-thread.js +76 -0
  201. package/dist/runtime/managed-thread.js.map +1 -0
  202. package/dist/runtime/managed-tools.d.ts +10 -2
  203. package/dist/runtime/managed-tools.d.ts.map +1 -1
  204. package/dist/runtime/managed-tools.js +10 -8
  205. package/dist/runtime/managed-tools.js.map +1 -1
  206. package/dist/runtime/memory/policy.d.ts.map +1 -1
  207. package/dist/runtime/memory/policy.js +1 -3
  208. package/dist/runtime/memory/policy.js.map +1 -1
  209. package/dist/runtime/parent-run.d.ts +33 -0
  210. package/dist/runtime/parent-run.d.ts.map +1 -0
  211. package/dist/runtime/parent-run.js +114 -0
  212. package/dist/runtime/parent-run.js.map +1 -0
  213. package/dist/runtime/run-input.d.ts +14 -1
  214. package/dist/runtime/run-input.d.ts.map +1 -1
  215. package/dist/runtime/run-input.js +75 -6
  216. package/dist/runtime/run-input.js.map +1 -1
  217. package/dist/runtime/sandbox-manager.d.ts +14 -1
  218. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  219. package/dist/runtime/sandbox-manager.js +34 -9
  220. package/dist/runtime/sandbox-manager.js.map +1 -1
  221. package/dist/runtime/schedule-auth.d.ts +79 -0
  222. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  223. package/dist/runtime/schedule-auth.js +163 -6
  224. package/dist/runtime/schedule-auth.js.map +1 -1
  225. package/dist/runtime/static-entry.d.ts.map +1 -1
  226. package/dist/runtime/static-entry.js +1 -0
  227. package/dist/runtime/static-entry.js.map +1 -1
  228. package/dist/runtime/thread-record.d.ts +88 -0
  229. package/dist/runtime/thread-record.d.ts.map +1 -0
  230. package/dist/runtime/thread-record.js +213 -0
  231. package/dist/runtime/thread-record.js.map +1 -0
  232. package/dist/runtime/types.d.ts +12 -1
  233. package/dist/runtime/types.d.ts.map +1 -1
  234. package/dist/runtime-schedules.d.ts +13 -0
  235. package/dist/runtime-schedules.d.ts.map +1 -1
  236. package/dist/runtime-schedules.js +83 -20
  237. package/dist/runtime-schedules.js.map +1 -1
  238. package/dist/sandbox.d.ts +0 -6
  239. package/dist/sandbox.d.ts.map +1 -1
  240. package/dist/sandbox.js +3 -7
  241. package/dist/sandbox.js.map +1 -1
  242. package/dist/schedule-channel.d.ts +5 -2
  243. package/dist/schedule-channel.d.ts.map +1 -1
  244. package/dist/schedule-channel.js +13 -12
  245. package/dist/schedule-channel.js.map +1 -1
  246. package/dist/types.d.ts +19 -2
  247. package/dist/types.d.ts.map +1 -1
  248. package/dist/types.js.map +1 -1
  249. package/dist/values.d.ts +15 -0
  250. package/dist/values.d.ts.map +1 -0
  251. package/dist/values.js +31 -0
  252. package/dist/values.js.map +1 -0
  253. package/package.json +22 -8
  254. package/dist/channels/http/reply.d.ts +0 -20
  255. package/dist/channels/http/reply.d.ts.map +0 -1
  256. package/dist/channels/http/reply.js +0 -116
  257. package/dist/channels/http/reply.js.map +0 -1
@@ -1,18 +1,19 @@
1
1
  import { INTERRUPT } from "@langchain/langgraph";
2
- import { createTriggerTransport } from "./transport.js";
2
+ import { bindingWithMessages } from "../binding.js";
3
3
  import { randomUUID } from "node:crypto";
4
- import { v5 as uuidv5 } from "uuid";
5
4
  import { missingWorkspaceConnectionSlug } from "../../agent-auth.js";
6
- import { extractAssistantText } from "../assistant-text.js";
7
5
  import { DEFAULT_REACTION_EMOJI, resolveReactionEmoji, } from "../reactions.js";
8
6
  import { logger } from "../../runtime/log.js";
9
7
  import { INTERRUPT_CORRELATION_KEY } from "../../run-context.js";
10
- import { ingressThreadInterrupts, observeIngressAgent, resumeIngressAgent, startIngressAgent, } from "./ingress.js";
8
+ import { cancelIngressThreadRuns, conversationThreadId, ingressThreadExists, ingressResumeTarget, ingressThreadInterrupts, newerIngressRun, observeIngressAgent, resumeIngressAgent, startIngressAgent, } from "./ingress.js";
11
9
  import { scheduleIngressWork } from "../../ingress/index.js";
10
+ import { lookupStatus, rejectedAsBusy, } from "../../ingress/runs.js";
11
+ import { runStartOptions } from "../run-input.js";
12
12
  import { createTriggerClient, LANGSMITH_MDA_TRIGGER_SERVER_URL_ENV, TriggerClientError, } from "./client.js";
13
13
  import { IdentityContextUnavailableError, InvalidIdentityContextError, principalIdFromIdentityContext, } from "./identity-context.js";
14
14
  import { resolveTracerSessionId } from "./tracing-project.js";
15
- import { parseTriggerChannelEvent, triggerChannelBinding, TRIGGER_SERVICE_KEY_HEADER, normalizedUserPromptResponse, } from "./types.js";
15
+ import { parseTriggerChannelEvent, triggerChannelBinding, TRIGGER_SERVICE_KEY_HEADER, normalizedUserPromptResponse, triggerEventActor, } from "./types.js";
16
+ import { isRecord, nonblankString } from "../../values.js";
16
17
  export { TRIGGER_SERVICE_KEY_HEADER } from "./types.js";
17
18
  export const ASSISTANT_ID_ENV = "MDA_ASSISTANT_ID";
18
19
  // Raised when the thread cannot say which interrupt an answer belongs to. An
@@ -67,7 +68,15 @@ export async function handleTriggerChannelEventRequest(request, options) {
67
68
  }
68
69
  throw error;
69
70
  }
71
+ /**
72
+ * Who the delivery came from, as Trigger Server names them; never logged.
73
+ * Only as trusted as the service key, which is checked for presence alone.
74
+ */
75
+ const actor = triggerEventActor(event);
70
76
  logger.info(`Channel incoming event (type=${event.type}, event_id=${logger.logIdentifier(event.event_id)}, delivery_id=${logger.logIdentifier(event.delivery_id)}, channel_id=${logger.logIdentifier(event.channel_id)})`);
77
+ if (event.type === "run_cancel") {
78
+ return await cancelEventRuns(event, userId, options);
79
+ }
71
80
  let client = options.triggerClient;
72
81
  if (!client) {
73
82
  try {
@@ -91,10 +100,69 @@ export async function handleTriggerChannelEventRequest(request, options) {
91
100
  logger.error(`${ASSISTANT_ID_ENV} is not configured`);
92
101
  return Response.json({ error: "channel runtime is not configured" }, { status: 500 });
93
102
  }
103
+ const observe = (started) => observeAcceptedRun({
104
+ event,
105
+ started,
106
+ client,
107
+ observeAgent: options.observeAgent,
108
+ sourceProvider: options.sourceProvider,
109
+ sourceThreadKey: event.source_thread_key,
110
+ userId,
111
+ reactions: options.reactions ?? DEFAULT_REACTION_EMOJI,
112
+ ...(options.startedStatus && { startedStatus: options.startedStatus }),
113
+ multitaskStrategy: options.multitaskStrategy,
114
+ newerRun: options.newerRun,
115
+ });
116
+ let threadId;
117
+ try {
118
+ threadId = await (options.conversationThread ?? conversationThreadId)({
119
+ sourceProvider: options.sourceProvider,
120
+ sourceThreadKey: event.source_thread_key,
121
+ userId,
122
+ });
123
+ }
124
+ catch (error) {
125
+ logger.error(`channel thread could not be found (${logger.safeErrorLabel(error)})`);
126
+ return Response.json({ error: "channel run could not be started" }, { status: 500 });
127
+ }
128
+ const thread = { id: threadId, sourceThreadKey: event.source_thread_key };
129
+ /**
130
+ * Whether the delivery starts a turn of its own, which finishes: a message,
131
+ * or a prompt response that answers no interrupt. Resumes don't.
132
+ */
133
+ let startsTurn = event.type === "message";
134
+ /** Tell the provider a turn is done, once; a failure is logged. */
135
+ const finish = async (finished) => {
136
+ if (!startsTurn || !options.onFinish)
137
+ return;
138
+ const { identity_context: _token, ...message } = event;
139
+ const raw = {
140
+ delivery: message,
141
+ // Strings only, so JSON as the delivery's `rawEvent` is.
142
+ ...(actor && { actor: { ...actor } }),
143
+ };
144
+ try {
145
+ await options.onFinish(triggerTarget(event), {
146
+ threadId: thread.id,
147
+ rawEvent: raw,
148
+ ...finished,
149
+ });
150
+ }
151
+ catch (error) {
152
+ logger.error(`channel finish notice failed (${logger.safeErrorLabel(error)})`);
153
+ }
154
+ };
155
+ const finishLater = (finished) => {
156
+ if (options.onFinish)
157
+ scheduleIngressWork(() => finish(finished), {
158
+ label: "Channel finish notice",
159
+ schedule: options.schedule,
160
+ });
161
+ };
94
162
  let started;
95
163
  try {
96
164
  const common = {
97
- threadId: triggerThreadId(event.source_thread_key),
165
+ threadId: thread.id,
98
166
  assistantId,
99
167
  sourceProvider: options.sourceProvider,
100
168
  sourceThreadKey: event.source_thread_key,
@@ -102,19 +170,100 @@ export async function handleTriggerChannelEventRequest(request, options) {
102
170
  context: {},
103
171
  binding: triggerChannelBinding(event, options.sourceProvider, options.channelName),
104
172
  };
173
+ /**
174
+ * Start the delivery's run as `route` decides: at once, in the
175
+ * background, or not at all. The answer for Trigger Server when it has
176
+ * one already, otherwise the run it started.
177
+ */
178
+ const decideAndStart = async (route, undecided) => {
179
+ /** Start the run; `undefined` when `reject` left the thread to its run. */
180
+ const startRun = async (input) => {
181
+ const strategy = options.multitaskStrategy;
182
+ try {
183
+ return await (options.startAgent ?? startIngressAgent)({
184
+ ...common,
185
+ ...(input
186
+ ? decidedRun(input, common.binding)
187
+ : { messages: undecided() }),
188
+ ...(strategy && { multitaskStrategy: strategy }),
189
+ });
190
+ }
191
+ catch (error) {
192
+ // A run already active on the thread keeps it under `reject`.
193
+ if (rejectedAsBusy(strategy, error)) {
194
+ logger.info(`channel ${event.type} rejected: its thread is busy (delivery_id=${logger.logIdentifier(event.delivery_id)})`);
195
+ return undefined;
196
+ }
197
+ throw error;
198
+ }
199
+ };
200
+ if (route?.type === "background") {
201
+ // Trigger Server only waits briefly, so it hears first; a failure
202
+ // from here on is logged, and nothing redelivers the event.
203
+ scheduleIngressWork(async () => {
204
+ const decided = await route.decide();
205
+ if (decided.type !== "input") {
206
+ logNoRun(event, decided);
207
+ return finish(skipped("ignored"));
208
+ }
209
+ let run;
210
+ try {
211
+ run = await startRun(decided.input);
212
+ }
213
+ catch (error) {
214
+ logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
215
+ return finish({
216
+ type: "failed",
217
+ reason: "start",
218
+ interrupts: [],
219
+ });
220
+ }
221
+ await finish(run ? await observe(run) : skipped("rejected"));
222
+ }, { label: "Channel event decision", schedule: options.schedule });
223
+ return acceptedResponse(event);
224
+ }
225
+ if (route?.type === "skipped") {
226
+ logNoRun(event, route);
227
+ finishLater(skipped("ignored"));
228
+ return acceptedResponse(event);
229
+ }
230
+ // Trigger Server may deliver it again, which finishes on its own.
231
+ if (route?.type === "failed")
232
+ return startFailedResponse();
233
+ const run = await startRun(route?.input);
234
+ if (!run) {
235
+ finishLater(skipped("rejected"));
236
+ return acceptedResponse(event);
237
+ }
238
+ return run;
239
+ };
105
240
  switch (event.type) {
106
- case "message":
107
- started = await (options.startAgent ?? startIngressAgent)({
241
+ case "message": {
242
+ const message = event;
243
+ if (!(await mayStartIn(common, message, options))) {
244
+ logger.info(`channel message started no run: the agent never ran on its thread (delivery_id=${logger.logIdentifier(message.delivery_id)})`);
245
+ finishLater(skipped("ignored"));
246
+ return acceptedResponse(message);
247
+ }
248
+ const outcome = await decideAndStart(await options.decideMessage?.(message, thread, actor), () => options.messageInput?.(message) ?? message.input.messages);
249
+ if (outcome instanceof Response)
250
+ return outcome;
251
+ started = outcome;
252
+ break;
253
+ }
254
+ case "interrupt_resume": {
255
+ // The answer may belong to a paused async subagent.
256
+ const target = await (options.resumeTarget ?? ingressResumeTarget)({
108
257
  ...common,
109
- messages: options.messageInput?.(event) ?? event.input.messages,
258
+ interruptIds: Object.keys(event.interaction.resume),
110
259
  });
111
- break;
112
- case "interrupt_resume":
113
260
  started = await (options.resumeAgent ?? resumeIngressAgent)({
114
261
  ...common,
262
+ ...target,
115
263
  resume: event.interaction.resume,
116
264
  });
117
265
  break;
266
+ }
118
267
  case "user_prompt_response": {
119
268
  const normalized = normalizedUserPromptResponse(event);
120
269
  const interruptId = await interruptAnsweredBy({
@@ -125,16 +274,19 @@ export async function handleTriggerChannelEventRequest(request, options) {
125
274
  correlationId: normalized.correlation_id,
126
275
  threadInterrupts: options.threadInterrupts,
127
276
  });
128
- started =
129
- interruptId === undefined
130
- ? await (options.startAgent ?? startIngressAgent)({
131
- ...common,
132
- messages: [],
133
- })
134
- : await (options.resumeAgent ?? resumeIngressAgent)({
135
- ...common,
136
- resume: { [interruptId]: normalized },
137
- });
277
+ if (interruptId !== undefined) {
278
+ started = await (options.resumeAgent ?? resumeIngressAgent)({
279
+ ...common,
280
+ resume: { [interruptId]: normalized },
281
+ });
282
+ break;
283
+ }
284
+ // A fresh turn, which the provider may decide, and which finishes.
285
+ startsTurn = true;
286
+ const outcome = await decideAndStart(await options.decideInteraction?.(event, thread, actor), () => []);
287
+ if (outcome instanceof Response)
288
+ return outcome;
289
+ started = outcome;
138
290
  break;
139
291
  }
140
292
  default: {
@@ -150,23 +302,86 @@ export async function handleTriggerChannelEventRequest(request, options) {
150
302
  return acceptedResponse(event);
151
303
  }
152
304
  logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
153
- return Response.json({ error: "channel run could not be started" }, { status: 500 });
305
+ return startFailedResponse();
154
306
  }
155
- scheduleIngressWork(() => observeAcceptedRun({
156
- event,
157
- started,
158
- client,
159
- observeAgent: options.observeAgent,
160
- sourceProvider: options.sourceProvider,
161
- sourceThreadKey: event.source_thread_key,
162
- userId,
163
- reactions: options.reactions ?? DEFAULT_REACTION_EMOJI,
164
- }), {
307
+ scheduleIngressWork(async () => finish(await observe(started)), {
165
308
  label: "Channel run observation",
166
309
  schedule: options.schedule,
167
310
  });
168
311
  return acceptedResponse(event);
169
312
  }
313
+ /** Where a delivery's replies go, as the channel binding names it. */
314
+ function triggerTarget(event) {
315
+ return {
316
+ channel_id: event.channel_id,
317
+ address: event.address,
318
+ source_thread_key: event.source_thread_key,
319
+ };
320
+ }
321
+ function skipped(reason) {
322
+ return { type: "skipped", reason, interrupts: [] };
323
+ }
324
+ /** Log an event that started no run; a failed handler logged its own error. */
325
+ function logNoRun(event, decision) {
326
+ logger.info(`channel ${event.type} started no run (${decision.type === "failed" ? "its handler failed, " : ""}delivery_id=${logger.logIdentifier(event.delivery_id)})`);
327
+ }
328
+ /**
329
+ * A decided run's start options. Its messages replace the delivery's in the
330
+ * binding, as the run's own input; its context sits beside the binding.
331
+ */
332
+ function decidedRun(input, binding) {
333
+ return {
334
+ ...runStartOptions(input),
335
+ binding: bindingWithMessages(binding, input.messages),
336
+ context: input.context ?? {},
337
+ };
338
+ }
339
+ function startFailedResponse() {
340
+ return Response.json({ error: "channel run could not be started" }, { status: 500 });
341
+ }
342
+ /**
343
+ * Stop the source thread's runs; each run's observer reports `run.cancelled`.
344
+ *
345
+ * Runs are cancelled as the thread's channel principal, so the managed owner
346
+ * filter confines the cancel to this source conversation.
347
+ */
348
+ async function cancelEventRuns(event, userId, options) {
349
+ let cancelled;
350
+ try {
351
+ cancelled = await (options.cancelRuns ?? cancelIngressThreadRuns)({
352
+ threadId: await (options.conversationThread ?? conversationThreadId)({
353
+ sourceProvider: options.sourceProvider,
354
+ sourceThreadKey: event.source_thread_key,
355
+ userId,
356
+ }),
357
+ sourceProvider: options.sourceProvider,
358
+ sourceThreadKey: event.source_thread_key,
359
+ userId,
360
+ });
361
+ }
362
+ catch (error) {
363
+ logger.error(`channel runs could not be cancelled (${logger.safeErrorLabel(error)})`);
364
+ return Response.json({ error: "channel runs could not be cancelled" }, { status: 500 });
365
+ }
366
+ logger.info(`Channel runs cancelled (count=${cancelled}, delivery_id=${logger.logIdentifier(event.delivery_id)})`);
367
+ return acceptedResponse(event);
368
+ }
369
+ /**
370
+ * Whether a message may start a run on its thread: always, unless it may only
371
+ * continue a thread the agent already ran on and none ran there. A failed
372
+ * lookup is logged and lets it start, as before the check.
373
+ */
374
+ async function mayStartIn(common, event, options) {
375
+ if (!(await options.onlyContinuesThread?.(event)))
376
+ return true;
377
+ try {
378
+ return await (options.threadExists ?? ingressThreadExists)(common);
379
+ }
380
+ catch (error) {
381
+ logger.warn(`channel thread lookup failed; the message starts as before (${logger.safeErrorLabel(error)})`);
382
+ return true;
383
+ }
384
+ }
170
385
  function acceptedResponse(event) {
171
386
  return Response.json({ status: "accepted", delivery_id: event.delivery_id }, { status: 202 });
172
387
  }
@@ -194,27 +409,63 @@ async function interruptAnsweredBy(input) {
194
409
  }
195
410
  return undefined;
196
411
  }
197
- if (pending.length > 1) {
412
+ // A tool-call review is answered from its own prompt (`interrupt_resume`):
413
+ // a click on one of the agent's buttons, such as a rating, is no decision.
414
+ const answerable = pending.filter((candidate) => !isToolCallReview(candidate.value));
415
+ if (answerable.length > 1) {
198
416
  // Interrupt ids carry no ordering, so without a correlation id there is
199
417
  // nothing to choose by.
200
- throw new AmbiguousInterruptError(`${pending.length} interrupts pending`);
418
+ throw new AmbiguousInterruptError(`${answerable.length} interrupts pending`);
419
+ }
420
+ if (answerable.length === 0 && pending.length > 0) {
421
+ // Starting a turn here would abandon the review.
422
+ throw new AmbiguousInterruptError("the thread waits on a tool-call review, which a click doesn't answer");
201
423
  }
202
- return pending[0]?.id;
424
+ return answerable[0]?.id;
425
+ }
426
+ /** Whether an interrupt is a tool-call review, as `humanInTheLoopMiddleware` raises one. */
427
+ function isToolCallReview(value) {
428
+ return isRecord(value) && Array.isArray(value.action_requests);
203
429
  }
204
430
  function interruptCorrelationId(value) {
205
431
  if (!isRecord(value))
206
432
  return undefined;
207
- const id = value[INTERRUPT_CORRELATION_KEY];
208
- return typeof id === "string" && id.trim() ? id : undefined;
433
+ return nonblankString(value[INTERRUPT_CORRELATION_KEY]);
209
434
  }
210
435
  async function observeAcceptedRun(input) {
211
436
  const { event, started, client } = input;
212
- const lifecycle = async (type, interrupts, message) => {
437
+ const run = {
438
+ threadId: started.threadId,
439
+ runId: started.runId,
440
+ sourceProvider: input.sourceProvider,
441
+ sourceThreadKey: input.sourceThreadKey,
442
+ userId: input.userId,
443
+ };
444
+ // Only these strategies let a newer message cancel a run.
445
+ const replaceable = input.multitaskStrategy === "interrupt" ||
446
+ input.multitaskStrategy === "rollback";
447
+ /**
448
+ * A newer message's run took the thread over; it reports to Slack, so this
449
+ * run says nothing that would stop or fail the thread's status. It ended
450
+ * `interrupted`, as the HTTP channel reports a replaced run.
451
+ */
452
+ const replaced = () => {
453
+ logger.info(`channel run was replaced by a newer message (delivery_id=${logger.logIdentifier(event.delivery_id)}, run_id=${logger.logIdentifier(started.runId)})`);
454
+ return {
455
+ type: "run",
456
+ run: { id: started.runId, status: "interrupted" },
457
+ interrupts: [],
458
+ };
459
+ };
460
+ const lifecycle = async (type, message, status) => {
213
461
  logger.info(`Channel outgoing event (type=${type}, delivery_id=${logger.logIdentifier(event.delivery_id)}, channel_id=${logger.logIdentifier(event.channel_id)}, run_id=${logger.logIdentifier(started.runId)})`);
214
- const request = runtimeEvent(type, event, started, interrupts, message, await resolveTracerSessionId());
462
+ const request = {
463
+ ...runtimeEvent(type, event, started, message, await resolveTracerSessionId()),
464
+ ...status,
465
+ };
215
466
  return bestEffort(client.postRuntimeEvent(event.channel_id, request));
216
467
  };
217
- await lifecycle("run.started");
468
+ await lifecycle("run.started", undefined, input.startedStatus);
218
469
  // Not awaited here, so the reaction never delays the reply. The `finally`
219
470
  // settles it so it cannot outlive this work item.
220
471
  const reaction = reactToTriggerMessage({
@@ -226,46 +477,42 @@ async function observeAcceptedRun(input) {
226
477
  try {
227
478
  let observed;
228
479
  try {
229
- observed = await (input.observeAgent ?? observeIngressAgent)({
230
- threadId: started.threadId,
231
- runId: started.runId,
232
- sourceProvider: input.sourceProvider,
233
- sourceThreadKey: input.sourceThreadKey,
234
- userId: input.userId,
235
- });
480
+ observed = await (input.observeAgent ?? observeIngressAgent)(run);
236
481
  }
237
482
  catch (error) {
238
- await lifecycle("run.failed", undefined, missingConnectionFailureMessage(error));
239
- return;
483
+ // `rollback` cancels, then deletes, the run a newer message replaced.
484
+ if (replaceable && lookupStatus(error) === 404)
485
+ return replaced();
486
+ await lifecycle("run.failed", missingConnectionFailureMessage(error));
487
+ return { type: "failed", reason: "observe", interrupts: [] };
488
+ }
489
+ const ended = (interrupts = []) => ({
490
+ type: "run",
491
+ run: { id: started.runId, status: observed.status },
492
+ interrupts: interrupts,
493
+ });
494
+ // Stopped from Slack or Studio: the run ended `interrupted`, with nothing
495
+ // waiting on a decision.
496
+ if (isCancelledRun(observed)) {
497
+ if (replaceable && (await wasReplaced(run, input.newerRun)))
498
+ return replaced();
499
+ await lifecycle("run.cancelled");
500
+ return ended();
240
501
  }
502
+ // The run reports its own pause and posts its own answer (../delivery.ts).
241
503
  if (isInterruptedRun(observed)) {
242
- await lifecycle("run.interrupted", interruptEntries(observed.values).filter((entry) => isRecord(entry) &&
504
+ const interrupts = interruptEntries(observed.values).filter((entry) => isRecord(entry) &&
243
505
  typeof entry.id === "string" &&
244
506
  entry.id.trim().length > 0 &&
245
- "value" in entry));
246
- return;
507
+ "value" in entry);
508
+ return ended(interrupts);
247
509
  }
248
510
  if (observed.status !== "success") {
249
511
  await lifecycle("run.failed");
250
- return;
251
- }
252
- const text = extractAssistantText(isRecord(observed.values) ? observed.values : {});
253
- if (text) {
254
- logger.info(`Channel outgoing action (type=post, delivery_id=${logger.logIdentifier(event.delivery_id)}, channel_id=${logger.logIdentifier(event.channel_id)}, run_id=${logger.logIdentifier(started.runId)})`);
255
- const action = await bestEffort(createTriggerTransport(client, { actionId: event.event_id }).post({
256
- message: { type: "content", content: text },
257
- target: {
258
- channel_id: event.channel_id,
259
- address: event.address,
260
- source_thread_key: event.source_thread_key,
261
- },
262
- }));
263
- if (action === undefined) {
264
- await lifecycle("run.failed");
265
- return;
266
- }
512
+ return ended();
267
513
  }
268
514
  await lifecycle("run.completed");
515
+ return ended();
269
516
  }
270
517
  finally {
271
518
  await reaction;
@@ -303,7 +550,7 @@ async function reactToTriggerMessage(input) {
303
550
  reaction: { emoji, message_id: id },
304
551
  }));
305
552
  }
306
- function runtimeEvent(type, event, started, interrupts, message, tracerSessionId) {
553
+ function runtimeEvent(type, event, started, message, tracerSessionId) {
307
554
  return {
308
555
  id: randomUUID(),
309
556
  type,
@@ -314,7 +561,6 @@ function runtimeEvent(type, event, started, interrupts, message, tracerSessionId
314
561
  run_id: started.runId,
315
562
  ...(tracerSessionId ? { tracer_session_id: tracerSessionId } : {}),
316
563
  ...(message ? { message: { text: message } } : {}),
317
- ...(interrupts?.length ? { interrupts } : {}),
318
564
  };
319
565
  }
320
566
  function missingConnectionFailureMessage(error) {
@@ -324,9 +570,6 @@ function missingConnectionFailureMessage(error) {
324
570
  }
325
571
  return `This agent can't respond because the \`${slug}\` connection isn't configured. An agent developer can configure it with \`mda connections create ${slug} --project <project>\`, then try again.`;
326
572
  }
327
- function triggerThreadId(sourceThreadKey) {
328
- return uuidv5(sourceThreadKey, uuidv5.URL);
329
- }
330
573
  function resolveAssistantId(override) {
331
574
  return override?.trim() || process.env[ASSISTANT_ID_ENV]?.trim() || undefined;
332
575
  }
@@ -350,8 +593,20 @@ async function bestEffort(promise) {
350
593
  return undefined;
351
594
  }
352
595
  }
353
- function isRecord(value) {
354
- return typeof value === "object" && value !== null && !Array.isArray(value);
596
+ /** Whether a newer run replaced a cancelled one; a failed lookup says no. */
597
+ async function wasReplaced(run, newerRun = newerIngressRun) {
598
+ try {
599
+ return await newerRun(run);
600
+ }
601
+ catch (error) {
602
+ logger.warn(`channel run lookup failed; the run counts as stopped (${logger.safeErrorLabel(error)})`);
603
+ return false;
604
+ }
605
+ }
606
+ function isCancelledRun(observed) {
607
+ // A cancelled run ends "interrupted" with nothing parked for a person to
608
+ // answer; reporting it as an interrupt would post an empty approval prompt.
609
+ return observed.status === "interrupted" && !hasInterrupt(observed.values);
355
610
  }
356
611
  function isInterruptedRun(observed) {
357
612
  // Agent Server can report status "success" after join while values still
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/channels/trigger/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/channels/trigger/http.ts"],"names":[],"mappings":"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"}