managed-deepagents 0.10.0-dev.4 → 0.10.0-dev.6

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 (55) hide show
  1. package/README.md +36 -7
  2. package/dist/channels/github/index.d.ts +0 -2
  3. package/dist/channels/github/index.d.ts.map +1 -1
  4. package/dist/channels/github/index.js +4 -4
  5. package/dist/channels/github/index.js.map +1 -1
  6. package/dist/channels/github/types.d.ts +2 -0
  7. package/dist/channels/github/types.d.ts.map +1 -1
  8. package/dist/channels/http/http.d.ts.map +1 -1
  9. package/dist/channels/http/http.js +58 -29
  10. package/dist/channels/http/http.js.map +1 -1
  11. package/dist/channels/http/ingress.d.ts +2 -10
  12. package/dist/channels/http/ingress.d.ts.map +1 -1
  13. package/dist/channels/http/ingress.js +13 -56
  14. package/dist/channels/http/ingress.js.map +1 -1
  15. package/dist/channels/http/reply.d.ts +20 -0
  16. package/dist/channels/http/reply.d.ts.map +1 -0
  17. package/dist/channels/http/reply.js +116 -0
  18. package/dist/channels/http/reply.js.map +1 -0
  19. package/dist/channels/http/types.d.ts +3 -2
  20. package/dist/channels/http/types.d.ts.map +1 -1
  21. package/dist/channels/linear/index.d.ts +1 -1
  22. package/dist/channels/linear/index.d.ts.map +1 -1
  23. package/dist/channels/linear/index.js +30 -24
  24. package/dist/channels/linear/index.js.map +1 -1
  25. package/dist/channels/linear/types.d.ts +25 -13
  26. package/dist/channels/linear/types.d.ts.map +1 -1
  27. package/dist/channels/run-input.d.ts +15 -1
  28. package/dist/channels/run-input.d.ts.map +1 -1
  29. package/dist/channels/run-input.js +33 -5
  30. package/dist/channels/run-input.js.map +1 -1
  31. package/dist/identity/options.d.ts +9 -0
  32. package/dist/identity/options.d.ts.map +1 -1
  33. package/dist/identity/options.js +6 -1
  34. package/dist/identity/options.js.map +1 -1
  35. package/dist/identity/types.d.ts +6 -0
  36. package/dist/identity/types.d.ts.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/ingress/runs.d.ts +2 -6
  41. package/dist/ingress/runs.d.ts.map +1 -1
  42. package/dist/ingress/runs.js +4 -25
  43. package/dist/ingress/runs.js.map +1 -1
  44. package/dist/runtime/auth.d.ts +9 -0
  45. package/dist/runtime/auth.d.ts.map +1 -1
  46. package/dist/runtime/auth.js +75 -3
  47. package/dist/runtime/auth.js.map +1 -1
  48. package/dist/runtime/channel-icon.d.ts +6 -5
  49. package/dist/runtime/channel-icon.d.ts.map +1 -1
  50. package/dist/runtime/channel-icon.js +9 -8
  51. package/dist/runtime/channel-icon.js.map +1 -1
  52. package/dist/runtime/index.d.ts.map +1 -1
  53. package/dist/runtime/index.js +2 -0
  54. package/dist/runtime/index.js.map +1 -1
  55. package/package.json +7 -7
@@ -0,0 +1,116 @@
1
+ /**
2
+ * An HTTP channel run posts its own answer.
3
+ *
4
+ * The run does it, not the process that received the delivery, so a restart
5
+ * of that process doesn't lose the answer, and a run LangSmith Studio resumes
6
+ * after a decision answers the conversation the paused run came from.
7
+ */
8
+ import { getConfig } from "@langchain/langgraph";
9
+ import { createMiddleware } from "langchain";
10
+ import { z } from "zod";
11
+ import { extractAssistantContent } from "../assistant-text.js";
12
+ import { resolveChannelBinding } from "../binding.js";
13
+ import { isJsonValue } from "../message-schema.js";
14
+ import { messagingTransportForName } from "../messaging-registry.js";
15
+ import { isTrustedScheduleDeliveryRun } from "../schedule-delivery.js";
16
+ import { CHANNEL_THREAD_METADATA, configurableFromRuntime, resolveAmbientConfigurable, } from "../../runtime/identity-runtime.js";
17
+ import { logger } from "../../runtime/log.js";
18
+ /**
19
+ * Where the thread's latest channel delivery came from, kept in its state.
20
+ * Private (the leading `_`), so it's never part of a run's input or output.
21
+ */
22
+ export const CHANNEL_REPLY_STATE_KEY = "_mda_channel_reply";
23
+ const replyTargetSchema = z.object({
24
+ name: z.string().min(1),
25
+ target: z.custom((value) => isJsonValue(value)),
26
+ });
27
+ /**
28
+ * The run's verified HTTP channel delivery: one the channel's ingress started
29
+ * for that conversation (the binding matches the run's authenticated source),
30
+ * never one a caller put in the run's context.
31
+ */
32
+ function deliveredTarget(runtime) {
33
+ const configurable = configurableFromRuntime(runtime) ??
34
+ resolveAmbientConfigurable();
35
+ const binding = resolveChannelBinding(undefined, configurable);
36
+ // Only HTTP channels deliver directly; others answer on their own.
37
+ if (!binding || binding.transport !== "direct")
38
+ return undefined;
39
+ return { name: binding.name, target: binding.target };
40
+ }
41
+ /**
42
+ * Whether the run is on a channel's thread. Only managed ingress marks one;
43
+ * the runtime's auth strips the marker from every other thread and run, so a
44
+ * caller can't point its own thread's stored target at someone else's
45
+ * conversation. Channel threads take runs only from their channel and resumes
46
+ * from LangSmith Studio.
47
+ */
48
+ function onChannelThread() {
49
+ try {
50
+ const metadata = getConfig().metadata;
51
+ return metadata?.[CHANNEL_THREAD_METADATA] === "true";
52
+ }
53
+ catch {
54
+ // Outside a runnable context.
55
+ return false;
56
+ }
57
+ }
58
+ function storedTarget(state) {
59
+ if (!onChannelThread())
60
+ return undefined;
61
+ const value = state && typeof state === "object" && !Array.isArray(state)
62
+ ? state[CHANNEL_REPLY_STATE_KEY]
63
+ : undefined;
64
+ const parsed = replyTargetSchema.safeParse(value);
65
+ return parsed.success ? parsed.data : undefined;
66
+ }
67
+ /**
68
+ * Remember a channel delivery's target in the thread's state, and post the
69
+ * answer to it when the agent finishes. A run that stops on `interrupt()` or
70
+ * is cancelled doesn't finish, so it posts nothing; the run that resumes it
71
+ * carries no delivery, so it answers the remembered target.
72
+ */
73
+ export function createChannelReplyMiddleware() {
74
+ return createMiddleware({
75
+ name: "mda-channel-reply",
76
+ stateSchema: z.object({
77
+ [CHANNEL_REPLY_STATE_KEY]: replyTargetSchema.optional(),
78
+ }),
79
+ beforeAgent(_state, runtime) {
80
+ const delivered = deliveredTarget(runtime);
81
+ return delivered ? { [CHANNEL_REPLY_STATE_KEY]: delivered } : undefined;
82
+ },
83
+ async afterAgent(state, runtime) {
84
+ const configurable = configurableFromRuntime(runtime) ??
85
+ resolveAmbientConfigurable();
86
+ // Scheduled runs post through schedule delivery.
87
+ if (isTrustedScheduleDeliveryRun(configurable))
88
+ return undefined;
89
+ const reply = deliveredTarget(runtime) ?? storedTarget(state);
90
+ if (!reply)
91
+ return undefined;
92
+ const content = extractAssistantContent({
93
+ messages: state.messages,
94
+ });
95
+ if (content === null)
96
+ return undefined;
97
+ const transport = messagingTransportForName(reply.name);
98
+ if (!transport) {
99
+ logger.warn(`channel reply skipped: no channel ${JSON.stringify(logger.logIdentifier(reply.name))}`);
100
+ return undefined;
101
+ }
102
+ try {
103
+ await transport.post({
104
+ message: { type: "content", content },
105
+ target: reply.target,
106
+ });
107
+ }
108
+ catch (error) {
109
+ // The answer stays in the thread; the run itself succeeded.
110
+ logger.error(`channel reply failed (${logger.safeErrorLabel(error)})`);
111
+ }
112
+ return undefined;
113
+ },
114
+ });
115
+ }
116
+ //# sourceMappingURL=reply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply.js","sourceRoot":"","sources":["../../../src/channels/http/reply.ts"],"names":[],"mappings":"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"}
@@ -69,9 +69,10 @@ export interface HttpChannelAdapter {
69
69
  /**
70
70
  * What a message without `content` starts a run with, asked only once the
71
71
  * thread takes a new turn, never while it waits on an interrupt. `null` or
72
- * `undefined` starts nothing.
72
+ * `undefined` starts nothing. `request` is the verified request the message
73
+ * came in, which never reaches the run.
73
74
  */
74
- input?(message: HttpChannelInboundMessage, rawEvent: JsonValue | undefined): ChannelRunResult | null | undefined | Promise<ChannelRunResult | null | undefined>;
75
+ input?(message: HttpChannelInboundMessage, rawEvent: JsonValue | undefined, request: HttpChannelRequest): ChannelRunResult | null | undefined | Promise<ChannelRunResult | null | undefined>;
75
76
  /**
76
77
  * The thread waits on a decision: its run just stopped on interrupts, or a
77
78
  * message arrived while it waits, so MDA started no run. Tell the sender
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/http/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/http/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type HttpChannel } from "../http/index.js";
2
2
  import type { LinearChannelOptions } from "./types.js";
3
- export type { LinearAppOptions, LinearChannelOptions, LinearChannelRuntime, LinearEvent, LinearEventCallback, LinearEventKey, LinearEventResult, LinearPayloadFor, } from "./types.js";
3
+ export type { LinearAppOptions, LinearChannelOptions, LinearChannelRuntime, LinearDelivery, LinearEvent, LinearEventCallback, LinearEventKey, LinearEventResult, LinearPayloadFor, } from "./types.js";
4
4
  export { LinearRateLimitError } from "./graphql.js";
5
5
  /** Adapt verified Linear webhooks into HTTP channel messages or skips. */
6
6
  export declare function linearChannel(options?: LinearChannelOptions): HttpChannel;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,WAAW,EAMjB,MAAM,kBAAkB,CAAC;AA2B1B,OAAO,KAAK,EAEV,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAiBpD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,WAAW,CAiD7E;AA8GD,mDAAmD;AACnD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,WAAW,EAMjB,MAAM,kBAAkB,CAAC;AA2B1B,OAAO,KAAK,EAEV,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAgBpD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,WAAW,CAuD7E;AA0FD,mDAAmD;AACnD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -17,7 +17,6 @@ const SESSION_KEYS = new Set([
17
17
  const APP_OPTION_KEYS = new Set([
18
18
  "name",
19
19
  "description",
20
- "iconUrl",
21
20
  "icon",
22
21
  "teams",
23
22
  ]);
@@ -50,7 +49,7 @@ export function linearChannel(options = {}) {
50
49
  },
51
50
  verify: verifyLinearRequest,
52
51
  parse: (context) => parseLinearRequest(context, handlers, channelName(channel), filters),
53
- input: (_message, rawEvent) => handlerInput(handlers, rawEvent, channelName(channel)),
52
+ input: (message, rawEvent, request) => handlerInput(handlers, rawEvent, channelName(channel), message.threadId, request),
54
53
  post: postReply,
55
54
  onDelivered: acknowledgeSession,
56
55
  onCancelled: confirmStopped,
@@ -74,7 +73,7 @@ function handledEvents(handlers, sessions) {
74
73
  return [...new Set([...handled, ...(sessions ? SESSION_KEYS : [])])].sort();
75
74
  }
76
75
  /** Check how the app looks against Linear's rules, before deploy sends it. */
77
- function validateAppDisplay({ name, description, iconUrl, icon, }) {
76
+ function validateAppDisplay({ name, description, icon }) {
78
77
  if (name !== undefined) {
79
78
  const trimmed = name.trim();
80
79
  if (trimmed.length < 2 ||
@@ -85,26 +84,14 @@ function validateAppDisplay({ name, description, iconUrl, icon, }) {
85
84
  if (description !== undefined &&
86
85
  (!description.trim() || description.trim().length > 1000))
87
86
  throw new TypeError("Linear app.description must be 1-1000 characters");
88
- if (iconUrl !== undefined) {
89
- const url = URL.parse(iconUrl.trim());
90
- if (url?.protocol !== "https:" ||
91
- !url.hostname ||
92
- url.username ||
93
- url.password)
94
- throw new TypeError("Linear app.iconUrl must be an https URL");
95
- }
96
- if (icon !== undefined) {
97
- if (iconUrl !== undefined)
98
- throw new TypeError("Linear app takes icon or iconUrl, not both");
87
+ if (icon !== undefined)
99
88
  validateChannelIconPath(icon, "Linear app.icon");
100
- }
101
89
  }
102
90
  /** The app options deploy reads, without unset fields. */
103
91
  function appConfig(app) {
104
92
  return Object.fromEntries(Object.entries({
105
93
  name: app.name?.trim(),
106
94
  description: app.description?.trim(),
107
- iconUrl: app.iconUrl?.trim(),
108
95
  icon: app.icon && validateChannelIconPath(app.icon, "Linear app.icon"),
109
96
  teams: app.teams && [...app.teams],
110
97
  }).filter(([, value]) => value !== undefined));
@@ -183,6 +170,20 @@ function isFresh(rawBody) {
183
170
  Math.abs(Date.now() - timestamp) <= WEBHOOK_TOLERANCE_MS);
184
171
  }
185
172
  const EVENT_KEYS = new Set(SUPPORTED_EVENT_KEYS);
173
+ /**
174
+ * Whether another app or an integration made the change. The delivery's actor
175
+ * says who acted. An issue's or comment's `botActor` is the bot that created
176
+ * it, so it names the actor only when the event is its creation.
177
+ */
178
+ function byBot(event) {
179
+ const actor = event.payload.actor;
180
+ if (typeof actor?.type === "string" && actor.type.toLowerCase() !== "user")
181
+ return true;
182
+ if (event.key === "Issue.update")
183
+ return false;
184
+ const data = event.payload.data;
185
+ return data?.botActor !== undefined && data.botActor !== null;
186
+ }
186
187
  async function parseLinearRequest({ request }, handlers, channelName, filters) {
187
188
  const receipt = linearReceiptSchema.parse({
188
189
  deliveryId: request.headers.get("linear-delivery"),
@@ -241,10 +242,7 @@ async function parseLinearRequest({ request }, handlers, channelName, filters) {
241
242
  async function ignored(event, filters) {
242
243
  if (event.type === "AgentSessionEvent")
243
244
  return false;
244
- const { data } = event.payload;
245
- if (filters.ignoreBots &&
246
- data.botActor !== undefined &&
247
- data.botActor !== null)
245
+ if (filters.ignoreBots && byBot(event))
248
246
  return true;
249
247
  // Linear reports the app's comments as its user's, not as a bot's.
250
248
  const appUser = await linearAppUser();
@@ -292,7 +290,7 @@ function linearTarget(event) {
292
290
  };
293
291
  }
294
292
  /** What the event's handler starts a run with; `undefined` when it skips or fails. */
295
- async function handlerInput(handlers, rawEvent, channelName) {
293
+ async function handlerInput(handlers, rawEvent, channelName, threadId, request) {
296
294
  const event = linearEvent(rawEvent);
297
295
  if (!event)
298
296
  return undefined;
@@ -304,7 +302,14 @@ async function handlerInput(handlers, rawEvent, channelName) {
304
302
  let input;
305
303
  try {
306
304
  input = handler
307
- ? await handler(event, { channel: { name: channelName } })
305
+ ? await handler(event, {
306
+ channel: { name: channelName },
307
+ threadId,
308
+ delivery: {
309
+ rawBody: new TextDecoder().decode(request.rawBody),
310
+ signature: request.request.headers.get("linear-signature") ?? "",
311
+ },
312
+ })
308
313
  : sessionInput(event);
309
314
  }
310
315
  catch (error) {
@@ -312,8 +317,9 @@ async function handlerInput(handlers, rawEvent, channelName) {
312
317
  input = undefined;
313
318
  }
314
319
  if (input === undefined || input === null) {
315
- // A session that gets no run would wait for an answer that never comes.
316
- if (event.key === "AgentSessionEvent.created")
320
+ // A session that gets no run would wait for an answer that never comes,
321
+ // whether it just opened or this is a follow-up in it.
322
+ if (event.type === "AgentSessionEvent")
317
323
  await say(event.sessionId, {
318
324
  type: "response",
319
325
  body: "I'm not set up to work on this request.",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/linear/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/linear/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,20 @@ export interface LinearChannelRuntime {
13
13
  channel: {
14
14
  name: string;
15
15
  };
16
+ /** The conversation's thread, which the run starts on. */
17
+ threadId: string;
18
+ /**
19
+ * The verified delivery as Linear sent it, so a handler can forward it to a
20
+ * service that checks Linear's signature itself. It never reaches the run.
21
+ */
22
+ delivery: LinearDelivery;
23
+ }
24
+ /** A Linear webhook delivery exactly as received. */
25
+ export interface LinearDelivery {
26
+ /** The request body, as the `Linear-Signature` HMAC covers it. */
27
+ rawBody: string;
28
+ /** The `Linear-Signature` header: the hex HMAC-SHA256 of `rawBody`. */
29
+ signature: string;
16
30
  }
17
31
  /**
18
32
  * What an event handler returns: a run's input, as `agent.invoke` takes it —
@@ -37,16 +51,10 @@ export interface LinearAppOptions {
37
51
  */
38
52
  description?: string;
39
53
  /**
40
- * An `https` URL of the app's icon, at least 256×256 pixels. Linear loads
41
- * it when the app is created; to use a local image, upload it on the app's
42
- * settings page instead.
43
- */
44
- iconUrl?: string;
45
- /**
46
- * The app's icon as a PNG or JPEG image in the project, such as
47
- * `assets/icon.png`, at least 256×256 pixels and at most 1 MB. The
48
- * deployment serves it at `/channels/{name}/icon`, and deploy points the
49
- * new app's icon there. Use it instead of `iconUrl`.
54
+ * The app's icon: a PNG or JPEG image, as a path relative to `channels/`
55
+ * like the Slack channel's `icon`, such as `assets/icon.png`. At least
56
+ * 256×256 pixels and at most 1 MB. The deployment serves it at
57
+ * `/channels/{name}/icon`, and deploy points the new app's icon there.
50
58
  */
51
59
  icon?: string;
52
60
  /**
@@ -101,12 +109,16 @@ export interface LinearChannelOptions {
101
109
  * show in the session, and Stop cancels the run. A run that stops on
102
110
  * interrupts answers with a link to its thread in LangSmith Studio, where
103
111
  * they are resumed.
112
+ *
113
+ * @experimental Sessions use Linear's Agents API, a Developer Preview, so
114
+ * they may change as Linear changes it.
104
115
  */
105
116
  sessions?: boolean;
106
117
  /**
107
- * Ignore changes made by other apps and integrations (Linear's
108
- * `botActor`), so automations don't trigger each other. Defaults to
109
- * `true`. The app's own changes are always ignored.
118
+ * Ignore changes made by other apps and integrations (a delivery whose
119
+ * actor isn't a person, or the creation of an issue or comment with a
120
+ * `botActor`), so automations don't trigger each other. Defaults to `true`.
121
+ * The app's own changes are always ignored.
110
122
  */
111
123
  ignoreBots?: boolean;
112
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,4EAA4E;AAC5E,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,OAAO,CAC1E,UAAU,EACV;IAAE,GAAG,EAAE,CAAC,CAAA;CAAE,CACX,CAAC;AACF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,cAAc,IACnD,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE5B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAE3E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,cAAc,IAAI,CAC1D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,OAAO,EAAE,oBAAoB,KAC1B,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE;SAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;KAAE,CAAC;IAC7D;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/linear/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,4EAA4E;AAC5E,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,OAAO,CAC1E,UAAU,EACV;IAAE,GAAG,EAAE,CAAC,CAAA;CAAE,CACX,CAAC;AACF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,cAAc,IACnD,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE5B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAE3E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,cAAc,IAAI,CAC1D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,OAAO,EAAE,oBAAoB,KAC1B,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE;SAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;KAAE,CAAC;IAC7D;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -16,7 +16,19 @@ export interface ChannelStateInput {
16
16
  /** A user message's text, a message, or state to start a run with. */
17
17
  export type ChannelRunInput = string | BaseMessage | ChannelStateInput;
18
18
  /** Run options a handler may set with its input, as `agent.invoke` takes them. */
19
- export type ChannelRunOptions = Pick<LangGraphRunnableConfig<Record<string, unknown>>, "context">;
19
+ export type ChannelRunOptions = Pick<LangGraphRunnableConfig<Record<string, unknown>>, "context"> & {
20
+ /**
21
+ * Metadata for the run, merged under MDA's own. Keys are letters, digits,
22
+ * `_`, `.` or `-`, start with a letter, and don't start with `mda_`, which
23
+ * MDA reserves.
24
+ */
25
+ metadata?: Record<string, unknown>;
26
+ /**
27
+ * An `http(s)` URL the Agent Server calls when the run finishes, as
28
+ * `runs.create` takes it. Only a new run gets it, not a resume.
29
+ */
30
+ webhook?: string;
31
+ };
20
32
  /**
21
33
  * What a channel handler may return to start a run: the input, or the input
22
34
  * with run options, as `agent.invoke(input, options)` takes them.
@@ -29,6 +41,8 @@ export interface NormalizedRunInput {
29
41
  /** Other state keys. */
30
42
  state: JsonObject;
31
43
  context?: JsonObject;
44
+ metadata?: JsonObject;
45
+ webhook?: string;
32
46
  }
33
47
  /**
34
48
  * Normalize what a handler returned. `null` and `undefined` start nothing;
@@ -1 +1 @@
1
- {"version":3,"file":"run-input.d.ts","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEvE,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAChD,SAAS,CACV,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAElD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,wBAAwB;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AASD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,kBAAkB,GAAG,SAAS,CAsBhC"}
1
+ {"version":3,"file":"run-input.d.ts","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEvE,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAChD,SAAS,CACV,GAAG;IACF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAElD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,wBAAwB;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,kBAAkB,GAAG,SAAS,CAsBhC"}
@@ -27,16 +27,44 @@ export function normalizeRunInput(value) {
27
27
  return normalized;
28
28
  if (!isPlainObject(options))
29
29
  throw new TypeError("run options must be an object");
30
- const { context, ...rest } = options;
30
+ const { context, metadata, webhook, ...rest } = options;
31
31
  if (Object.keys(rest).length)
32
- throw new TypeError(`unsupported run option ${Object.keys(rest).join(", ")}; use context`);
33
- if (context === undefined)
34
- return normalized;
32
+ throw new TypeError(`unsupported run option ${Object.keys(rest).join(", ")}; use context, metadata or webhook`);
33
+ return {
34
+ ...normalized,
35
+ ...(context !== undefined && { context: runContext(context) }),
36
+ ...(metadata !== undefined && { metadata: runMetadata(metadata) }),
37
+ ...(webhook !== undefined && { webhook: runWebhook(webhook) }),
38
+ };
39
+ }
40
+ function runContext(context) {
35
41
  if (!isPlainObject(context) || !isJsonValue(context))
36
42
  throw new TypeError("run context must be a JSON object");
37
43
  if ("channel" in context)
38
44
  throw new TypeError("context.channel is reserved for managed ingress");
39
- return { ...normalized, context: context };
45
+ return context;
46
+ }
47
+ /** Metadata keys a handler may set; `mda_` keys are MDA's own. */
48
+ const METADATA_KEY = /^[A-Za-z][A-Za-z0-9_.-]{0,63}$/;
49
+ function runMetadata(metadata) {
50
+ if (!isPlainObject(metadata) || !isJsonValue(metadata))
51
+ throw new TypeError("run metadata must be a JSON object");
52
+ for (const key of Object.keys(metadata)) {
53
+ if (!METADATA_KEY.test(key) || key.toLowerCase().startsWith("mda_"))
54
+ throw new TypeError("run metadata keys are letters, digits, _, . or -, start with a letter, and don't start with mda_");
55
+ }
56
+ return metadata;
57
+ }
58
+ function runWebhook(webhook) {
59
+ const url = typeof webhook === "string" ? URL.parse(webhook) : null;
60
+ if (!url ||
61
+ (url.protocol !== "https:" && url.protocol !== "http:") ||
62
+ !url.hostname ||
63
+ url.username ||
64
+ url.password ||
65
+ /\s/.test(webhook))
66
+ throw new TypeError("run webhook must be an http(s) URL");
67
+ return url.href;
40
68
  }
41
69
  function normalizeInput(input) {
42
70
  if (typeof input === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"run-input.js","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-input.js","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,15 @@ export type IdentityAuth = "backend" | LangSmithApiKeyIngress | ValidatedTokenPr
23
23
  export interface IdentityOptions {
24
24
  /** How callers authenticate. */
25
25
  auth: IdentityAuth;
26
+ /**
27
+ * Trust one service you operate with every thread, channel threads
28
+ * included: a request whose `x-mda-service-secret` header matches the
29
+ * deployment's `MDA_SERVICE_SECRET` reads and runs on any thread. A service
30
+ * that keeps its own index of the deployment's threads, such as a backend
31
+ * that also starts runs on channel conversations, needs this. Off by
32
+ * default; without the secret, such requests are refused.
33
+ */
34
+ trustedService?: boolean;
26
35
  }
27
36
  /**
28
37
  * Derive the resolved {@link IdentityConfig} from the declared options.
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/identity/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,EAAE,CAAC;AAE7B,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,IAAI,EAAE,YAAY,CAAC;CACpB;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAa1E"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/identity/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,EAAE,CAAC;AAE7B,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAqB1E"}
@@ -28,9 +28,14 @@ export function normalizeIdentity(options) {
28
28
  if (options.auth === undefined) {
29
29
  throw new Error("defineIdentity(...) requires `auth`. Use auth.langsmithApiKey() for LangSmith workspace API keys.");
30
30
  }
31
+ if (options.trustedService !== undefined &&
32
+ typeof options.trustedService !== "boolean") {
33
+ throw new Error("defineIdentity(...) `trustedService` must be a boolean.");
34
+ }
31
35
  return {
32
36
  ingress: { http: resolveIngress(options.auth) },
33
37
  scope: managedUserScope(),
38
+ ...(options.trustedService === true && { trustedService: true }),
34
39
  };
35
40
  }
36
41
  function resolveIngress(auth) {
@@ -49,7 +54,7 @@ function resolveIngress(auth) {
49
54
  function isLangSmithApiKeyAuth(auth) {
50
55
  return (!Array.isArray(auth) && "mode" in auth && auth.mode === "langsmith_api_key");
51
56
  }
52
- const KNOWN_OPTION_KEYS = new Set(["auth"]);
57
+ const KNOWN_OPTION_KEYS = new Set(["auth", "trustedService"]);
53
58
  /**
54
59
  * Reject unknown keys so a typo fails loudly instead of being silently ignored.
55
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/identity/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8BH;;;;;GAKG;AACH,SAAS,gBAAgB;IACvB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACxD,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE1B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC/C,KAAK,EAAE,gBAAgB,EAAE;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAkB;IACxC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,+EAA+E,CACnI,CAAC;IACJ,CAAC;IACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAsC;IAEtC,OAAO,CACL,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAC5E,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAwB;IAChD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,gDAAgD;IAChD,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kEAAkE;YAChE,uEAAuE;YACvE,wEAAwE;YACxE,2DAA2D,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,uEAAuE;YACrE,mEAAmE;YACnE,qEAAqE,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CACrC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,0CAA0C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC9D,kBAAkB,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/identity/options.ts"],"names":[],"mappings":"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"}
@@ -248,6 +248,12 @@ export interface IdentityConfig {
248
248
  /** Whose downstream tokens apply. Always `"user"` for managed identity. */
249
249
  credentials?: CredentialScope;
250
250
  };
251
+ /**
252
+ * Whether a caller presenting `MDA_SERVICE_SECRET` is the deployment's
253
+ * trusted service: it reads and runs on every thread, channel threads
254
+ * included.
255
+ */
256
+ trustedService?: true;
251
257
  }
252
258
  /** The object exported from the project's root `identity.ts`. */
253
259
  export interface IdentityDefinition {