managed-deepagents 0.10.0-dev.1 → 0.10.0-dev.10

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 (159) hide show
  1. package/README.md +220 -21
  2. package/dist/agent-auth.d.ts +13 -0
  3. package/dist/agent-auth.d.ts.map +1 -1
  4. package/dist/agent-auth.js +16 -1
  5. package/dist/agent-auth.js.map +1 -1
  6. package/dist/channels/github/connections.d.ts.map +1 -1
  7. package/dist/channels/github/connections.js +2 -2
  8. package/dist/channels/github/connections.js.map +1 -1
  9. package/dist/channels/github/index.d.ts +2 -9
  10. package/dist/channels/github/index.d.ts.map +1 -1
  11. package/dist/channels/github/index.js +72 -140
  12. package/dist/channels/github/index.js.map +1 -1
  13. package/dist/channels/github/schema.d.ts.map +1 -1
  14. package/dist/channels/github/schema.js +1 -3
  15. package/dist/channels/github/schema.js.map +1 -1
  16. package/dist/channels/github/types.d.ts +48 -10
  17. package/dist/channels/github/types.d.ts.map +1 -1
  18. package/dist/channels/http/endpoint.d.ts +41 -0
  19. package/dist/channels/http/endpoint.d.ts.map +1 -0
  20. package/dist/channels/http/endpoint.js +132 -0
  21. package/dist/channels/http/endpoint.js.map +1 -0
  22. package/dist/channels/http/http.d.ts.map +1 -1
  23. package/dist/channels/http/http.js +233 -66
  24. package/dist/channels/http/http.js.map +1 -1
  25. package/dist/channels/http/index.d.ts +1 -1
  26. package/dist/channels/http/index.d.ts.map +1 -1
  27. package/dist/channels/http/index.js.map +1 -1
  28. package/dist/channels/http/ingress.d.ts +34 -3
  29. package/dist/channels/http/ingress.d.ts.map +1 -1
  30. package/dist/channels/http/ingress.js +40 -24
  31. package/dist/channels/http/ingress.js.map +1 -1
  32. package/dist/channels/http/provider.d.ts +99 -0
  33. package/dist/channels/http/provider.d.ts.map +1 -0
  34. package/dist/channels/http/provider.js +188 -0
  35. package/dist/channels/http/provider.js.map +1 -0
  36. package/dist/channels/http/reply.d.ts +20 -0
  37. package/dist/channels/http/reply.d.ts.map +1 -0
  38. package/dist/channels/http/reply.js +116 -0
  39. package/dist/channels/http/reply.js.map +1 -0
  40. package/dist/channels/http/studio.d.ts +17 -0
  41. package/dist/channels/http/studio.d.ts.map +1 -0
  42. package/dist/channels/http/studio.js +82 -0
  43. package/dist/channels/http/studio.js.map +1 -0
  44. package/dist/channels/http/types.d.ts +77 -6
  45. package/dist/channels/http/types.d.ts.map +1 -1
  46. package/dist/channels/linear/connections.d.ts +11 -0
  47. package/dist/channels/linear/connections.d.ts.map +1 -0
  48. package/dist/channels/linear/connections.js +14 -0
  49. package/dist/channels/linear/connections.js.map +1 -0
  50. package/dist/channels/linear/graphql.d.ts +57 -0
  51. package/dist/channels/linear/graphql.d.ts.map +1 -0
  52. package/dist/channels/linear/graphql.js +167 -0
  53. package/dist/channels/linear/graphql.js.map +1 -0
  54. package/dist/channels/linear/index.d.ts +9 -0
  55. package/dist/channels/linear/index.d.ts.map +1 -0
  56. package/dist/channels/linear/index.js +477 -0
  57. package/dist/channels/linear/index.js.map +1 -0
  58. package/dist/channels/linear/schema.d.ts +1064 -0
  59. package/dist/channels/linear/schema.d.ts.map +1 -0
  60. package/dist/channels/linear/schema.js +249 -0
  61. package/dist/channels/linear/schema.js.map +1 -0
  62. package/dist/channels/linear/types.d.ts +150 -0
  63. package/dist/channels/linear/types.d.ts.map +1 -0
  64. package/dist/channels/linear/types.js +2 -0
  65. package/dist/channels/linear/types.js.map +1 -0
  66. package/dist/channels/message-schema.d.ts +2 -0
  67. package/dist/channels/message-schema.d.ts.map +1 -1
  68. package/dist/channels/message-schema.js +4 -0
  69. package/dist/channels/message-schema.js.map +1 -1
  70. package/dist/channels/reserved-connections.d.ts +2 -2
  71. package/dist/channels/reserved-connections.d.ts.map +1 -1
  72. package/dist/channels/reserved-connections.js +26 -9
  73. package/dist/channels/reserved-connections.js.map +1 -1
  74. package/dist/channels/run-input.d.ts +17 -1
  75. package/dist/channels/run-input.d.ts.map +1 -1
  76. package/dist/channels/run-input.js +39 -5
  77. package/dist/channels/run-input.js.map +1 -1
  78. package/dist/channels/slack/index.d.ts.map +1 -1
  79. package/dist/channels/slack/index.js +2 -0
  80. package/dist/channels/slack/index.js.map +1 -1
  81. package/dist/channels/slack/message-content.d.ts +25 -0
  82. package/dist/channels/slack/message-content.d.ts.map +1 -0
  83. package/dist/channels/slack/message-content.js +237 -0
  84. package/dist/channels/slack/message-content.js.map +1 -0
  85. package/dist/channels/source-providers.js +1 -1
  86. package/dist/channels/source-providers.js.map +1 -1
  87. package/dist/channels/trigger/client.js +7 -3
  88. package/dist/channels/trigger/client.js.map +1 -1
  89. package/dist/channels/trigger/http.d.ts +3 -1
  90. package/dist/channels/trigger/http.d.ts.map +1 -1
  91. package/dist/channels/trigger/http.js +7 -4
  92. package/dist/channels/trigger/http.js.map +1 -1
  93. package/dist/channels/trigger/tracing-project.d.ts +16 -0
  94. package/dist/channels/trigger/tracing-project.d.ts.map +1 -0
  95. package/dist/channels/trigger/tracing-project.js +54 -0
  96. package/dist/channels/trigger/tracing-project.js.map +1 -0
  97. package/dist/channels/trigger/types.d.ts +12 -2
  98. package/dist/channels/trigger/types.d.ts.map +1 -1
  99. package/dist/channels/trigger/types.js.map +1 -1
  100. package/dist/connections.d.ts +30 -0
  101. package/dist/connections.d.ts.map +1 -1
  102. package/dist/connections.js +80 -7
  103. package/dist/connections.js.map +1 -1
  104. package/dist/connectors/mcp/index.d.ts.map +1 -1
  105. package/dist/connectors/mcp/index.js +52 -2
  106. package/dist/connectors/mcp/index.js.map +1 -1
  107. package/dist/connectors/mcp/langsmith-url.js +2 -2
  108. package/dist/connectors/mcp/langsmith-url.js.map +1 -1
  109. package/dist/credential-gate.d.ts.map +1 -1
  110. package/dist/credential-gate.js +24 -3
  111. package/dist/credential-gate.js.map +1 -1
  112. package/dist/index.d.ts +5 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +1 -0
  115. package/dist/index.js.map +1 -1
  116. package/dist/ingress/runs.d.ts +7 -0
  117. package/dist/ingress/runs.d.ts.map +1 -1
  118. package/dist/ingress/runs.js +34 -1
  119. package/dist/ingress/runs.js.map +1 -1
  120. package/dist/namespaces.d.ts +15 -0
  121. package/dist/namespaces.d.ts.map +1 -1
  122. package/dist/namespaces.js +2 -0
  123. package/dist/namespaces.js.map +1 -1
  124. package/dist/runtime/auth.d.ts +4 -6
  125. package/dist/runtime/auth.d.ts.map +1 -1
  126. package/dist/runtime/auth.js +165 -31
  127. package/dist/runtime/auth.js.map +1 -1
  128. package/dist/runtime/channel-icon.d.ts +22 -0
  129. package/dist/runtime/channel-icon.d.ts.map +1 -0
  130. package/dist/runtime/channel-icon.js +70 -0
  131. package/dist/runtime/channel-icon.js.map +1 -0
  132. package/dist/runtime/channel.d.ts +6 -0
  133. package/dist/runtime/channel.d.ts.map +1 -1
  134. package/dist/runtime/channel.js.map +1 -1
  135. package/dist/runtime/identity-http.d.ts +2 -0
  136. package/dist/runtime/identity-http.d.ts.map +1 -1
  137. package/dist/runtime/identity-http.js +35 -0
  138. package/dist/runtime/identity-http.js.map +1 -1
  139. package/dist/runtime/identity-runtime.d.ts +15 -0
  140. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  141. package/dist/runtime/identity-runtime.js +35 -0
  142. package/dist/runtime/identity-runtime.js.map +1 -1
  143. package/dist/runtime/index.d.ts.map +1 -1
  144. package/dist/runtime/index.js +9 -4
  145. package/dist/runtime/index.js.map +1 -1
  146. package/dist/runtime/sandbox-manager.d.ts +11 -0
  147. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  148. package/dist/runtime/sandbox-manager.js +70 -5
  149. package/dist/runtime/sandbox-manager.js.map +1 -1
  150. package/dist/runtime/schedule-auth.d.ts +1 -0
  151. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  152. package/dist/runtime/schedule-auth.js +68 -2
  153. package/dist/runtime/schedule-auth.js.map +1 -1
  154. package/dist/runtime/types.d.ts +5 -0
  155. package/dist/runtime/types.d.ts.map +1 -1
  156. package/dist/runtime-schedules.d.ts.map +1 -1
  157. package/dist/runtime-schedules.js +8 -12
  158. package/dist/runtime-schedules.js.map +1 -1
  159. package/package.json +7 -7
@@ -0,0 +1,132 @@
1
+ /** How long the service may take to answer. */
2
+ const TIMEOUT_MS = 60_000;
3
+ /** The largest answer read; run input may carry images. */
4
+ const MAX_RESPONSE_BYTES = 10 * 1024 * 1024;
5
+ const RUN_OPTION_KEYS = new Set([
6
+ "context",
7
+ "metadata",
8
+ "webhook",
9
+ ]);
10
+ const ANSWER_SHAPE = "event endpoint answer must be null or { input, context?, metadata?, webhook? }";
11
+ /** Whether an `onEvent` value is an endpoint rather than a handler function. */
12
+ export function isEventEndpoint(value) {
13
+ return (typeof value === "string" ||
14
+ value instanceof URL ||
15
+ value instanceof Request);
16
+ }
17
+ /**
18
+ * The handler an endpoint stands for. When the event's thread takes a turn,
19
+ * MDA POSTs `{ event: { key, deliveryId, payload }, thread: { id, channel,
20
+ * interrupted? } }` as JSON to the endpoint's URL, with a `Request`'s headers,
21
+ * and starts the run the service answers with: `{ input, context?, metadata?,
22
+ * webhook? }`.
23
+ * `null` or HTTP 204 starts nothing. Any other answer, a
24
+ * redirect, or no answer within 60 seconds fails the handler, as a handler
25
+ * that throws does. The URL is http(s), without credentials in it.
26
+ */
27
+ export function endpointHandler(endpoint, label) {
28
+ const template = endpoint instanceof Request ? endpoint : undefined;
29
+ const target = endpointUrl(template ? template.url : String(endpoint), label);
30
+ const headers = new Headers(template?.headers);
31
+ headers.set("content-type", "application/json");
32
+ headers.set("accept", "application/json");
33
+ return async (event, thread) => {
34
+ const response = await fetch(target, {
35
+ method: "POST",
36
+ headers,
37
+ body: JSON.stringify({
38
+ event: {
39
+ key: event.key,
40
+ deliveryId: event.deliveryId,
41
+ payload: event.payload,
42
+ },
43
+ thread: {
44
+ id: thread.id,
45
+ channel: { name: thread.channel.name },
46
+ ...(thread.interrupted && { interrupted: true }),
47
+ },
48
+ }),
49
+ redirect: "manual",
50
+ signal: AbortSignal.timeout(TIMEOUT_MS),
51
+ });
52
+ if (response.status === 204) {
53
+ await response.body?.cancel();
54
+ return null;
55
+ }
56
+ if (!response.ok) {
57
+ await response.body?.cancel();
58
+ throw new Error(`event endpoint answered HTTP ${response.status}`);
59
+ }
60
+ return runResult(await boundedJson(response));
61
+ };
62
+ }
63
+ function endpointUrl(url, label) {
64
+ let parsed;
65
+ try {
66
+ parsed = new URL(url);
67
+ }
68
+ catch {
69
+ parsed = undefined;
70
+ }
71
+ if (!parsed ||
72
+ (parsed.protocol !== "https:" && parsed.protocol !== "http:") ||
73
+ parsed.username ||
74
+ parsed.password)
75
+ throw new TypeError(`${label} must be an absolute http(s) URL, without credentials in it`);
76
+ return parsed.href;
77
+ }
78
+ /** The answer as JSON, read only up to `MAX_RESPONSE_BYTES`. */
79
+ async function boundedJson(response) {
80
+ const declared = Number(response.headers.get("content-length"));
81
+ if (declared > MAX_RESPONSE_BYTES) {
82
+ await response.body?.cancel();
83
+ throw new Error("event endpoint answer is too large");
84
+ }
85
+ const reader = response.body?.getReader();
86
+ const chunks = [];
87
+ let size = 0;
88
+ for (;;) {
89
+ const chunk = await reader?.read();
90
+ if (!chunk || chunk.done)
91
+ break;
92
+ size += chunk.value.byteLength;
93
+ if (size > MAX_RESPONSE_BYTES) {
94
+ await reader?.cancel();
95
+ throw new Error("event endpoint answer is too large");
96
+ }
97
+ chunks.push(chunk.value);
98
+ }
99
+ const text = new TextDecoder().decode(chunks.length === 1 ? chunks[0] : concat(chunks, size));
100
+ try {
101
+ return JSON.parse(text);
102
+ }
103
+ catch {
104
+ throw new Error("event endpoint answer is not JSON");
105
+ }
106
+ }
107
+ function concat(chunks, size) {
108
+ const joined = new Uint8Array(size);
109
+ let offset = 0;
110
+ for (const chunk of chunks) {
111
+ joined.set(chunk, offset);
112
+ offset += chunk.byteLength;
113
+ }
114
+ return joined;
115
+ }
116
+ /** The run the answer names; the channel checks the input and options as a handler's. */
117
+ function runResult(answer) {
118
+ if (answer === null)
119
+ return null;
120
+ if (typeof answer !== "object" ||
121
+ Array.isArray(answer) ||
122
+ !("input" in answer))
123
+ throw new Error(ANSWER_SHAPE);
124
+ const { input, ...options } = answer;
125
+ for (const key of Object.keys(options))
126
+ if (!RUN_OPTION_KEYS.has(key))
127
+ throw new Error(ANSWER_SHAPE);
128
+ return Object.keys(options).length
129
+ ? [input, options]
130
+ : input;
131
+ }
132
+ //# sourceMappingURL=endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/channels/http/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AASpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKrE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,oBAAoB,EACzB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CA2OnB"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,kBAAkB,EAOnB,MAAM,YAAY,CAAC;AAYpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAwCrE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,oBAAoB,EACzB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CA2UnB"}
@@ -2,10 +2,41 @@ import { channelContextSchema } from "../../run-context.js";
2
2
  import { immutableCopy, validateMessage } from "../runtime.js";
3
3
  import { isJsonValue } from "../message-schema.js";
4
4
  import { normalizeRunInput } from "../run-input.js";
5
- import { startHttpIngressAgent, observeHttpIngressAgent, waitForHttpIngressThread, } from "./ingress.js";
5
+ import { cancelHttpIngressRuns, startHttpIngressAgent, observeHttpIngressAgent, waitForHttpIngressThread, } from "./ingress.js";
6
+ import { ChannelError } from "../errors.js";
6
7
  import { scheduleIngressWork } from "../../ingress/index.js";
7
8
  import { logger } from "../../runtime/log.js";
8
9
  const ASSISTANT_ID_ENV = "MDA_ASSISTANT_ID";
10
+ /**
11
+ * Messages in this process that may still wait for their thread, by thread.
12
+ * A message waiting for its busy thread (the default `enqueue` strategy) is
13
+ * no server-side run yet, so the server's cancel can't reach it: a cancel
14
+ * marks the thread's waiters, and they drop themselves. A message joins
15
+ * before its first start and leaves once its fate is settled, so only
16
+ * threads with messages in flight are kept. Messages waiting in another
17
+ * replica aren't reached.
18
+ *
19
+ * This is not durable: a waiting message lives only in this process, so a
20
+ * restart loses it after the provider was already told it arrived. It waits
21
+ * here rather than queueing on the server because a queued run starts as soon
22
+ * as the run before it stops on `interrupt()`, and its new input discards the
23
+ * decision the thread waits on. A server-side queue that holds messages while
24
+ * a thread waits on an interrupt would replace this; see
25
+ * https://github.com/langchain-ai/langgraph/issues/8838.
26
+ */
27
+ const threadWaiters = new Map();
28
+ function joinThreadWaiters(threadId) {
29
+ const waiter = { cancelled: false };
30
+ const waiters = threadWaiters.get(threadId) ?? new Set();
31
+ threadWaiters.set(threadId, waiters.add(waiter));
32
+ return waiter;
33
+ }
34
+ function leaveThreadWaiters(threadId, waiter) {
35
+ const waiters = threadWaiters.get(threadId);
36
+ waiters?.delete(waiter);
37
+ if (waiters?.size === 0)
38
+ threadWaiters.delete(threadId);
39
+ }
9
40
  export async function handleHttpRequest(ctx, adapter) {
10
41
  const rawBody = requestBytes(ctx);
11
42
  function adapterRequest() {
@@ -39,6 +70,35 @@ export async function handleHttpRequest(ctx, adapter) {
39
70
  if (result.type === "ignore") {
40
71
  return (result.response ?? Response.json({ status: "ignored" }, { status: 202 }));
41
72
  }
73
+ const assistantId = process.env[ASSISTANT_ID_ENV]?.trim();
74
+ if (!assistantId) {
75
+ return jsonError(500, "channel runtime is not configured");
76
+ }
77
+ if (result.type === "cancel") {
78
+ let stop;
79
+ try {
80
+ validateCancelMessage(result.message);
81
+ stop = immutableCopy(result.message);
82
+ }
83
+ catch {
84
+ return jsonError(400, "invalid channel message");
85
+ }
86
+ const threadId = stop.threadId.toLowerCase();
87
+ return cancelThreadRuns(ctx, adapter, {
88
+ userId: stop.userId,
89
+ sourceThreadKey: `http:v1:${JSON.stringify([ctx.name, threadId])}`,
90
+ threadId,
91
+ target: stop.target,
92
+ delivery: {
93
+ threadId,
94
+ assistantId,
95
+ ...(result.rawEvent !== undefined && {
96
+ rawEvent: structuredClone(result.rawEvent),
97
+ }),
98
+ },
99
+ ...(result.response !== undefined && { response: result.response }),
100
+ });
101
+ }
42
102
  let message = result.message;
43
103
  try {
44
104
  validateInboundMessage(message, adapter.input !== undefined);
@@ -47,10 +107,6 @@ export async function handleHttpRequest(ctx, adapter) {
47
107
  catch {
48
108
  return jsonError(400, "invalid channel message");
49
109
  }
50
- const assistantId = process.env[ASSISTANT_ID_ENV]?.trim();
51
- if (!assistantId) {
52
- return jsonError(500, "channel runtime is not configured");
53
- }
54
110
  const deliveryId = crypto.randomUUID();
55
111
  const threadId = message.threadId.toLowerCase();
56
112
  const sourceThreadKey = `http:v1:${JSON.stringify([ctx.name, threadId])}`;
@@ -83,7 +139,7 @@ export async function handleHttpRequest(ctx, adapter) {
83
139
  assistantId,
84
140
  };
85
141
  const rawEvent = result.rawEvent;
86
- const runInfo = (assistantId) => ({
142
+ const delivery = (assistantId) => ({
87
143
  threadId,
88
144
  ...(assistantId !== undefined && { assistantId }),
89
145
  ...(result.rawEvent !== undefined && {
@@ -112,100 +168,154 @@ export async function handleHttpRequest(ctx, adapter) {
112
168
  multitaskStrategy: adapter.multitaskStrategy,
113
169
  }),
114
170
  };
171
+ // Every message gets one `onReceived` and, after it, one `onSettled`.
172
+ const onReceived = adapter.onReceived?.bind(adapter);
173
+ const received = new Promise((resolve) => {
174
+ if (!onReceived)
175
+ return resolve();
176
+ scheduleIngressWork(async () => {
177
+ try {
178
+ await onReceived(immutableCopy(message.target), delivery(assistantId));
179
+ }
180
+ catch (error) {
181
+ logger.error(`channel received notice failed (${logger.safeErrorLabel(error)})`);
182
+ }
183
+ finally {
184
+ resolve();
185
+ }
186
+ }, { label: `channel "${ctx.name}" received notice` });
187
+ });
188
+ const onSettled = adapter.onSettled?.bind(adapter);
189
+ async function settle(outcome,
190
+ // The thread's assistant lets a notice link to it in Studio.
191
+ threadAssistantId) {
192
+ if (!onSettled)
193
+ return;
194
+ await received;
195
+ try {
196
+ await onSettled(immutableCopy(message.target), {
197
+ ...delivery(threadAssistantId ?? assistantId),
198
+ outcome,
199
+ });
200
+ }
201
+ catch (error) {
202
+ logger.error(`channel settled notice failed (${logger.safeErrorLabel(error)})`);
203
+ }
204
+ }
205
+ const label = `channel "${ctx.name}" delivery`;
206
+ // Joined before the first start, so a cancel during it reaches the message.
207
+ const waiter = joinThreadWaiters(threadId);
115
208
  let outcome;
116
209
  try {
117
210
  outcome = await startHttpIngressAgent(startInput);
118
211
  }
119
212
  catch (error) {
213
+ leaveThreadWaiters(threadId, waiter);
120
214
  logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
215
+ // The provider may redeliver; this delivery ends here.
216
+ if (onSettled)
217
+ scheduleIngressWork(() => settle({ type: "failed" }), { label });
121
218
  return jsonError(500, "channel run could not be started");
122
219
  }
123
- const label = `channel "${ctx.name}" delivery`;
124
- const onPaused = adapter.onPaused?.bind(adapter);
125
- async function notifyPaused(assistantId) {
126
- if (!onPaused)
127
- return;
220
+ // Only a message that waits for its busy thread stays.
221
+ if (!("skipped" in outcome && outcome.skipped === "busy"))
222
+ leaveThreadWaiters(threadId, waiter);
223
+ const post = adapter.post?.bind(adapter);
224
+ const onError = adapter.onError?.bind(adapter);
225
+ async function notifyFailed(error) {
128
226
  try {
129
- // The thread's assistant lets the notice link to it in Studio.
130
- await onPaused(immutableCopy(message.target), runInfo(assistantId));
227
+ if (onError) {
228
+ await onError(error, immutableCopy(message.target));
229
+ }
230
+ else if (post) {
231
+ await post(immutableCopy({
232
+ type: "content",
233
+ content: "Something went wrong while processing your request.",
234
+ target: message.target,
235
+ }));
236
+ }
131
237
  }
132
- catch (error) {
133
- logger.error(`channel paused notice failed (${logger.safeErrorLabel(error)})`);
238
+ catch (replyError) {
239
+ const action = onError ? "callback" : "reply";
240
+ logger.error(`channel error ${action} failed (${logger.safeErrorLabel(replyError)})`);
134
241
  }
135
242
  }
136
- const post = adapter.post?.bind(adapter);
137
- const onError = adapter.onError?.bind(adapter);
243
+ // The run posts its own answer (see `./reply.ts`): this reports how it
244
+ // ended, which the run can't say itself.
138
245
  async function deliver(started) {
139
- logger.info(`channel run started ${JSON.stringify({ threadId, runId: logger.logIdentifier(started.runId) })}`);
140
- let replyAttempted = false;
246
+ const { runId } = started;
247
+ logger.info(`channel run started ${JSON.stringify({ threadId, runId: logger.logIdentifier(runId) })}`);
248
+ let outcome;
141
249
  try {
142
- const invocation = await observeHttpIngressAgent({
143
- ...input,
144
- ...started,
145
- });
146
- if (!post || invocation.replyContent === null) {
147
- return;
148
- }
149
- const reply = {
150
- type: "content",
151
- content: invocation.replyContent,
152
- };
153
- validateMessage(reply);
154
- replyAttempted = true;
155
- await post(immutableCopy({ ...reply, target: message.target }));
250
+ outcome = await observeHttpIngressAgent({ ...input, ...started });
156
251
  }
157
252
  catch (error) {
158
- logger.error(`channel delivery failed (${logger.safeErrorLabel(error)})`);
159
- try {
160
- if (onError) {
161
- await onError(error, immutableCopy(message.target));
162
- }
163
- else if (post && !replyAttempted) {
164
- await post(immutableCopy({
165
- type: "content",
166
- content: "Something went wrong while processing your request.",
167
- target: message.target,
168
- }));
169
- }
170
- }
171
- catch (replyError) {
172
- const action = onError ? "callback" : "reply";
173
- logger.error(`channel error ${action} failed (${logger.safeErrorLabel(replyError)})`);
174
- }
253
+ // The run may have answered already; only its own failure is reported.
254
+ logger.error(`channel run could not be observed (${logger.safeErrorLabel(error)})`);
255
+ return settle({ type: "unknown", runId });
256
+ }
257
+ switch (outcome.type) {
258
+ case "answered":
259
+ return settle({ type: "completed", runId });
260
+ case "paused":
261
+ return settle({ type: "interrupted", runId }, outcome.assistantId);
262
+ case "failed":
263
+ logger.error(`channel run failed ${JSON.stringify({ threadId })}`);
264
+ await notifyFailed(new ChannelError("channel_run_failed", "channel run failed"));
265
+ return settle({ type: "failed", runId });
266
+ default:
267
+ return settle({ type: outcome.type, runId });
175
268
  }
176
269
  }
177
270
  // The thread's current run may still stop for a decision, so the message
178
271
  // waits for that run instead of queueing behind it, then checks again.
272
+ // A cancel while the message waits drops it.
179
273
  async function startWhenIdle() {
180
274
  let next = { skipped: "busy" };
181
275
  try {
182
276
  while ("skipped" in next && next.skipped === "busy") {
183
277
  await waitForHttpIngressThread(input);
278
+ if (waiter.cancelled) {
279
+ logger.info(`channel run dropped: its thread was cancelled while it waited ${JSON.stringify({ threadId })}`);
280
+ return await settle({ type: "dropped" });
281
+ }
184
282
  next = await startHttpIngressAgent(startInput);
185
283
  }
186
284
  }
187
285
  catch (error) {
188
286
  logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
189
- return;
287
+ return await settle({ type: "failed" });
288
+ }
289
+ finally {
290
+ leaveThreadWaiters(threadId, waiter);
190
291
  }
191
292
  if (!("skipped" in next))
192
293
  return deliver(next);
193
294
  logger.info(`channel run skipped ${JSON.stringify({ threadId, reason: next.skipped })}`);
194
- if (next.skipped === "paused")
195
- await notifyPaused(next.assistantId);
295
+ await settleSkipped(next);
296
+ }
297
+ /** How a message the thread took no run for ended. */
298
+ function settleSkipped(skipped) {
299
+ switch (skipped.skipped) {
300
+ case "paused":
301
+ return settle({ type: "waiting" }, skipped.assistantId);
302
+ case "ignored":
303
+ return settle({ type: "declined" });
304
+ case "busy":
305
+ throw new Error("a busy thread's message is still waiting");
306
+ default:
307
+ return settle({ type: skipped.skipped });
308
+ }
196
309
  }
197
310
  if ("skipped" in outcome) {
198
311
  logger.info(`channel run skipped ${JSON.stringify({ threadId, reason: outcome.skipped })}`);
199
- if (outcome.skipped === "busy")
312
+ const skipped = outcome;
313
+ if (skipped.skipped === "busy")
200
314
  scheduleIngressWork(startWhenIdle, { label });
201
- else if (outcome.skipped === "paused" && onPaused) {
202
- const { assistantId } = outcome;
203
- scheduleIngressWork(() => notifyPaused(assistantId), {
204
- label: `channel "${ctx.name}" paused notice`,
205
- });
206
- }
315
+ else if (onSettled)
316
+ scheduleIngressWork(() => settleSkipped(skipped), { label });
207
317
  return (result.response ??
208
- Response.json({ status: outcome.skipped }, { status: 202 }));
318
+ Response.json({ status: skipped.skipped }, { status: 202 }));
209
319
  }
210
320
  const started = outcome;
211
321
  scheduleIngressWork(() => deliver(started), { label });
@@ -231,21 +341,78 @@ function validParseResult(value) {
231
341
  if (result.rawEvent !== undefined && !isJsonValue(result.rawEvent)) {
232
342
  return false;
233
343
  }
234
- return result.type === "ignore" || result.type === "message";
344
+ return (result.type === "ignore" ||
345
+ result.type === "message" ||
346
+ result.type === "cancel");
347
+ }
348
+ /**
349
+ * Cancel the thread's runs for a `cancel` result, then settle it in the
350
+ * background. Messages waiting here for the thread are dropped too.
351
+ */
352
+ async function cancelThreadRuns(ctx, adapter, input) {
353
+ // Before the server's cancel, so waiters it wakes see it.
354
+ for (const waiter of threadWaiters.get(input.threadId) ?? [])
355
+ waiter.cancelled = true;
356
+ let cancelled;
357
+ try {
358
+ cancelled = (await cancelHttpIngressRuns({
359
+ userId: input.userId,
360
+ sourceThreadKey: input.sourceThreadKey,
361
+ sourceProvider: ctx.channel.kind,
362
+ threadId: input.threadId,
363
+ })).length;
364
+ }
365
+ catch (error) {
366
+ logger.error(`channel run could not be cancelled (${logger.safeErrorLabel(error)})`);
367
+ return jsonError(500, "channel run could not be cancelled");
368
+ }
369
+ logger.info(`channel runs cancelled ${JSON.stringify({ threadId: input.threadId, cancelled })}`);
370
+ const onSettled = adapter.onSettled?.bind(adapter);
371
+ if (onSettled)
372
+ scheduleIngressWork(async () => {
373
+ try {
374
+ await onSettled(immutableCopy(input.target), {
375
+ ...input.delivery,
376
+ outcome: { type: "stopped", cancelled },
377
+ });
378
+ }
379
+ catch (error) {
380
+ logger.error(`channel settled notice failed (${logger.safeErrorLabel(error)})`);
381
+ }
382
+ }, { label: `channel "${ctx.name}" settled notice` });
383
+ return (input.response ??
384
+ Response.json({ status: "cancelled", cancelled }, { status: 202 }));
385
+ }
386
+ const CANCEL_MESSAGE_KEYS = new Set([
387
+ "userId",
388
+ "threadId",
389
+ "target",
390
+ ]);
391
+ /** A cancel names a thread and who to tell; it starts nothing. */
392
+ function validateCancelMessage(message) {
393
+ if (!message || typeof message !== "object")
394
+ throw new Error("channel cancel must be an object");
395
+ for (const key of Object.keys(message))
396
+ if (!CANCEL_MESSAGE_KEYS.has(key))
397
+ throw new Error("channel cancel takes only userId, threadId and target");
398
+ validateAddress(message);
235
399
  }
236
400
  function validateInboundMessage(message, adapterInput) {
237
- nonblank(message.userId, "channel userId");
238
401
  if (message.deliveryKey !== undefined)
239
402
  nonblank(message.deliveryKey, "channel deliveryKey");
403
+ validateAddress(message);
404
+ // The adapter's `input` supplies what a message without content starts.
405
+ if (message.content !== undefined || !adapterInput)
406
+ validateMessageContent(message.content);
407
+ }
408
+ function validateAddress(message) {
409
+ nonblank(message.userId, "channel userId");
240
410
  if (typeof message.threadId !== "string" ||
241
411
  !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(message.threadId)) {
242
412
  throw new Error("channel threadId must be a UUID");
243
413
  }
244
414
  if (!isJsonValue(message.target))
245
415
  throw new Error("channel target must be JSON");
246
- // The adapter's `input` supplies what a message without content starts.
247
- if (message.content !== undefined || !adapterInput)
248
- validateMessageContent(message.content);
249
416
  }
250
417
  function validateMessageContent(content) {
251
418
  validateMessage({ type: "content", content });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { HttpChannelAdapter } from "./types.js";
2
2
  import { type Channel } from "../../runtime/channel.js";
3
- export type { HttpChannelAdapter, HttpChannelInboundMessage, HttpChannelParseResult, HttpChannelRequest, HttpChannelRunInfo, HttpChannelPostInput, HttpPostedMessage, } from "./types.js";
3
+ export type { HttpChannelAdapter, HttpChannelCancelMessage, HttpChannelInboundMessage, HttpChannelParseResult, HttpChannelRequest, HttpChannelPostInput, HttpDelivery, HttpDeliveryOutcome, HttpPostedMessage, HttpSettledDelivery, } from "./types.js";
4
4
  export { channelThreadId } from "./threads.js";
5
5
  export type HttpChannel = Channel & {
6
6
  readonly kind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAS9D,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAsCpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAS9D,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAsCpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAYlC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,MAAM,oBAAoB,GAAyB,IAAI,GAAG,CAAC;IACzD,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IACtE,IACE,OAAO,CAAC,iBAAiB,KAAK,SAAS;QACvC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAEpD,MAAM,IAAI,SAAS,CACjB,0EAA0E,CAC3E,CAAC;IACJ,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAyB,EAAE,EAAE,CACpD,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAChC,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAA4B,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CACvC,IAAI,CACF,aAAa,CAAC;gBACZ,GAAG,OAAO;gBACV,MAAM;gBACN,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;aAClD,CAAC,CACH;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,IAAY,EAAmB,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,QAAQ;QACR,UAAU,EAAE,aAAa,IAAI,SAAS;QACtC,SAAS,EAAE,IAAI,KAAK,SAAS;QAC7B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;KAC5D,CAAC,CAAC,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAelC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,MAAM,oBAAoB,GAAyB,IAAI,GAAG,CAAC;IACzD,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IACtE,IACE,OAAO,CAAC,iBAAiB,KAAK,SAAS;QACvC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAEpD,MAAM,IAAI,SAAS,CACjB,0EAA0E,CAC3E,CAAC;IACJ,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAyB,EAAE,EAAE,CACpD,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAChC,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAA4B,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CACvC,IAAI,CACF,aAAa,CAAC;gBACZ,GAAG,OAAO;gBACV,MAAM;gBACN,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;aAClD,CAAC,CACH;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,IAAY,EAAmB,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,QAAQ;QACR,UAAU,EAAE,aAAa,IAAI,SAAS;QACtC,SAAS,EAAE,IAAI,KAAK,SAAS;QAC7B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;KAC5D,CAAC,CAAC,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,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"}