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

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 (343) hide show
  1. package/README.md +57 -953
  2. package/dist/agent-auth.d.ts +1 -1
  3. package/dist/agent-auth.d.ts.map +1 -1
  4. package/dist/agent-auth.js +12 -36
  5. package/dist/agent-auth.js.map +1 -1
  6. package/dist/channels/assistant-text.d.ts +0 -24
  7. package/dist/channels/assistant-text.d.ts.map +1 -1
  8. package/dist/channels/assistant-text.js +1 -65
  9. package/dist/channels/assistant-text.js.map +1 -1
  10. package/dist/channels/binding.d.ts +1 -20
  11. package/dist/channels/binding.d.ts.map +1 -1
  12. package/dist/channels/binding.js +10 -39
  13. package/dist/channels/binding.js.map +1 -1
  14. package/dist/channels/http/http.d.ts.map +1 -1
  15. package/dist/channels/http/http.js +65 -386
  16. package/dist/channels/http/http.js.map +1 -1
  17. package/dist/channels/http/index.d.ts +1 -2
  18. package/dist/channels/http/index.d.ts.map +1 -1
  19. package/dist/channels/http/index.js +10 -14
  20. package/dist/channels/http/index.js.map +1 -1
  21. package/dist/channels/http/ingress.d.ts +5 -65
  22. package/dist/channels/http/ingress.d.ts.map +1 -1
  23. package/dist/channels/http/ingress.js +33 -149
  24. package/dist/channels/http/ingress.js.map +1 -1
  25. package/dist/channels/http/types.d.ts +2 -143
  26. package/dist/channels/http/types.d.ts.map +1 -1
  27. package/dist/channels/message-schema.d.ts +0 -2
  28. package/dist/channels/message-schema.d.ts.map +1 -1
  29. package/dist/channels/message-schema.js +0 -4
  30. package/dist/channels/message-schema.js.map +1 -1
  31. package/dist/channels/messaging-registry.d.ts +0 -16
  32. package/dist/channels/messaging-registry.d.ts.map +1 -1
  33. package/dist/channels/messaging-registry.js +0 -29
  34. package/dist/channels/messaging-registry.js.map +1 -1
  35. package/dist/channels/runtime.d.ts +1 -1
  36. package/dist/channels/runtime.d.ts.map +1 -1
  37. package/dist/channels/runtime.js +1 -1
  38. package/dist/channels/runtime.js.map +1 -1
  39. package/dist/channels/schedule-delivery.d.ts +1 -1
  40. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  41. package/dist/channels/schedule-delivery.js +23 -12
  42. package/dist/channels/schedule-delivery.js.map +1 -1
  43. package/dist/channels/slack/api.d.ts +0 -2
  44. package/dist/channels/slack/api.d.ts.map +1 -1
  45. package/dist/channels/slack/api.js +0 -6
  46. package/dist/channels/slack/api.js.map +1 -1
  47. package/dist/channels/slack/files.d.ts.map +1 -1
  48. package/dist/channels/slack/files.js +3 -2
  49. package/dist/channels/slack/files.js.map +1 -1
  50. package/dist/channels/slack/index.d.ts +2 -76
  51. package/dist/channels/slack/index.d.ts.map +1 -1
  52. package/dist/channels/slack/index.js +6 -177
  53. package/dist/channels/slack/index.js.map +1 -1
  54. package/dist/channels/slack/message-content.d.ts.map +1 -1
  55. package/dist/channels/slack/message-content.js +28 -23
  56. package/dist/channels/slack/message-content.js.map +1 -1
  57. package/dist/channels/source-providers.js +1 -1
  58. package/dist/channels/source-providers.js.map +1 -1
  59. package/dist/channels/trigger/client.d.ts.map +1 -1
  60. package/dist/channels/trigger/client.js +12 -6
  61. package/dist/channels/trigger/client.js.map +1 -1
  62. package/dist/channels/trigger/http.d.ts +3 -114
  63. package/dist/channels/trigger/http.d.ts.map +1 -1
  64. package/dist/channels/trigger/http.js +82 -314
  65. package/dist/channels/trigger/http.js.map +1 -1
  66. package/dist/channels/trigger/identity-context.d.ts +1 -1
  67. package/dist/channels/trigger/identity-context.d.ts.map +1 -1
  68. package/dist/channels/trigger/identity-context.js +3 -5
  69. package/dist/channels/trigger/identity-context.js.map +1 -1
  70. package/dist/channels/trigger/ingress.d.ts +1 -38
  71. package/dist/channels/trigger/ingress.d.ts.map +1 -1
  72. package/dist/channels/trigger/ingress.js +24 -49
  73. package/dist/channels/trigger/ingress.js.map +1 -1
  74. package/dist/channels/trigger/types.d.ts +3 -82
  75. package/dist/channels/trigger/types.d.ts.map +1 -1
  76. package/dist/channels/trigger/types.js +0 -36
  77. package/dist/channels/trigger/types.js.map +1 -1
  78. package/dist/channels/types.d.ts +3 -19
  79. package/dist/channels/types.d.ts.map +1 -1
  80. package/dist/channels/types.js +0 -2
  81. package/dist/channels/types.js.map +1 -1
  82. package/dist/concurrency/batch-processor.d.ts +51 -0
  83. package/dist/concurrency/batch-processor.d.ts.map +1 -0
  84. package/dist/concurrency/batch-processor.js +99 -0
  85. package/dist/concurrency/batch-processor.js.map +1 -0
  86. package/dist/connections.d.ts +1 -42
  87. package/dist/connections.d.ts.map +1 -1
  88. package/dist/connections.js +14 -127
  89. package/dist/connections.js.map +1 -1
  90. package/dist/credential-gate.d.ts +0 -2
  91. package/dist/credential-gate.d.ts.map +1 -1
  92. package/dist/credential-gate.js +3 -37
  93. package/dist/credential-gate.js.map +1 -1
  94. package/dist/define-deep-agent.d.ts.map +1 -1
  95. package/dist/define-deep-agent.js +0 -6
  96. package/dist/define-deep-agent.js.map +1 -1
  97. package/dist/identity/loopback.d.ts +7 -2
  98. package/dist/identity/loopback.d.ts.map +1 -1
  99. package/dist/identity/loopback.js +15 -4
  100. package/dist/identity/loopback.js.map +1 -1
  101. package/dist/identity/slack/links.js +3 -2
  102. package/dist/identity/slack/links.js.map +1 -1
  103. package/dist/index.d.ts +4 -15
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -2
  106. package/dist/index.js.map +1 -1
  107. package/dist/ingress/index.d.ts +8 -0
  108. package/dist/ingress/index.d.ts.map +1 -1
  109. package/dist/ingress/index.js +32 -2
  110. package/dist/ingress/index.js.map +1 -1
  111. package/dist/ingress/loopback.js +4 -3
  112. package/dist/ingress/loopback.js.map +1 -1
  113. package/dist/ingress/runs.d.ts +1 -74
  114. package/dist/ingress/runs.d.ts.map +1 -1
  115. package/dist/ingress/runs.js +16 -176
  116. package/dist/ingress/runs.js.map +1 -1
  117. package/dist/managed-composition.d.ts.map +1 -1
  118. package/dist/managed-composition.js +13 -8
  119. package/dist/managed-composition.js.map +1 -1
  120. package/dist/memory/instructions-middleware.d.ts.map +1 -1
  121. package/dist/memory/instructions-middleware.js +6 -5
  122. package/dist/memory/instructions-middleware.js.map +1 -1
  123. package/dist/namespaces.d.ts +21 -21
  124. package/dist/namespaces.d.ts.map +1 -1
  125. package/dist/namespaces.js +29 -4
  126. package/dist/namespaces.js.map +1 -1
  127. package/dist/resilience/retry.d.ts +21 -0
  128. package/dist/resilience/retry.d.ts.map +1 -0
  129. package/dist/resilience/retry.js +40 -0
  130. package/dist/resilience/retry.js.map +1 -0
  131. package/dist/runtime/auth.d.ts.map +1 -1
  132. package/dist/runtime/auth.js +21 -151
  133. package/dist/runtime/auth.js.map +1 -1
  134. package/dist/runtime/channel.d.ts +0 -6
  135. package/dist/runtime/channel.d.ts.map +1 -1
  136. package/dist/runtime/channel.js.map +1 -1
  137. package/dist/runtime/graph-build-timing.d.ts +30 -0
  138. package/dist/runtime/graph-build-timing.d.ts.map +1 -0
  139. package/dist/runtime/graph-build-timing.js +50 -0
  140. package/dist/runtime/graph-build-timing.js.map +1 -0
  141. package/dist/runtime/http.d.ts +15 -0
  142. package/dist/runtime/http.d.ts.map +1 -1
  143. package/dist/runtime/http.js +37 -0
  144. package/dist/runtime/http.js.map +1 -1
  145. package/dist/runtime/identity-http.d.ts +0 -2
  146. package/dist/runtime/identity-http.d.ts.map +1 -1
  147. package/dist/runtime/identity-http.js +16 -40
  148. package/dist/runtime/identity-http.js.map +1 -1
  149. package/dist/runtime/identity-runtime.d.ts +0 -10
  150. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  151. package/dist/runtime/identity-runtime.js +0 -22
  152. package/dist/runtime/identity-runtime.js.map +1 -1
  153. package/dist/runtime/index.d.ts.map +1 -1
  154. package/dist/runtime/index.js +47 -46
  155. package/dist/runtime/index.js.map +1 -1
  156. package/dist/runtime/langsmith-env.d.ts +19 -0
  157. package/dist/runtime/langsmith-env.d.ts.map +1 -0
  158. package/dist/runtime/langsmith-env.js +38 -0
  159. package/dist/runtime/langsmith-env.js.map +1 -0
  160. package/dist/runtime/log.d.ts +8 -14
  161. package/dist/runtime/log.d.ts.map +1 -1
  162. package/dist/runtime/log.js +16 -7
  163. package/dist/runtime/log.js.map +1 -1
  164. package/dist/runtime/managed-middleware.d.ts.map +1 -1
  165. package/dist/runtime/managed-middleware.js +1 -14
  166. package/dist/runtime/managed-middleware.js.map +1 -1
  167. package/dist/runtime/managed-tools.d.ts +10 -10
  168. package/dist/runtime/managed-tools.d.ts.map +1 -1
  169. package/dist/runtime/managed-tools.js +24 -24
  170. package/dist/runtime/managed-tools.js.map +1 -1
  171. package/dist/runtime/memory/mounts.d.ts +82 -11
  172. package/dist/runtime/memory/mounts.d.ts.map +1 -1
  173. package/dist/runtime/memory/mounts.js +173 -34
  174. package/dist/runtime/memory/mounts.js.map +1 -1
  175. package/dist/runtime/memory/policy.d.ts.map +1 -1
  176. package/dist/runtime/memory/policy.js +3 -1
  177. package/dist/runtime/memory/policy.js.map +1 -1
  178. package/dist/runtime/run-input.d.ts +0 -10
  179. package/dist/runtime/run-input.d.ts.map +1 -1
  180. package/dist/runtime/run-input.js +19 -47
  181. package/dist/runtime/run-input.js.map +1 -1
  182. package/dist/runtime/sandbox-manager.d.ts +1 -1
  183. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  184. package/dist/runtime/sandbox-manager.js +10 -15
  185. package/dist/runtime/sandbox-manager.js.map +1 -1
  186. package/dist/runtime/schedule-auth.d.ts +0 -17
  187. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  188. package/dist/runtime/schedule-auth.js +3 -40
  189. package/dist/runtime/schedule-auth.js.map +1 -1
  190. package/dist/runtime/selected-skills-backend.d.ts +3 -3
  191. package/dist/runtime/selected-skills-backend.d.ts.map +1 -1
  192. package/dist/runtime/selected-skills-backend.js +5 -5
  193. package/dist/runtime/selected-skills-backend.js.map +1 -1
  194. package/dist/runtime/types.d.ts +1 -5
  195. package/dist/runtime/types.d.ts.map +1 -1
  196. package/dist/runtime-schedules.d.ts +0 -13
  197. package/dist/runtime-schedules.d.ts.map +1 -1
  198. package/dist/runtime-schedules.js +22 -86
  199. package/dist/runtime-schedules.js.map +1 -1
  200. package/dist/sandbox.d.ts +6 -0
  201. package/dist/sandbox.d.ts.map +1 -1
  202. package/dist/sandbox.js +7 -3
  203. package/dist/sandbox.js.map +1 -1
  204. package/dist/schedule-channel.d.ts +2 -5
  205. package/dist/schedule-channel.d.ts.map +1 -1
  206. package/dist/schedule-channel.js +12 -13
  207. package/dist/schedule-channel.js.map +1 -1
  208. package/dist/telemetry/lifecycle.d.ts +26 -0
  209. package/dist/telemetry/lifecycle.d.ts.map +1 -0
  210. package/dist/telemetry/lifecycle.js +49 -0
  211. package/dist/telemetry/lifecycle.js.map +1 -0
  212. package/dist/telemetry/metadata.d.ts.map +1 -1
  213. package/dist/telemetry/metadata.js +4 -4
  214. package/dist/telemetry/metadata.js.map +1 -1
  215. package/dist/telemetry/otel/context.d.ts +57 -0
  216. package/dist/telemetry/otel/context.d.ts.map +1 -0
  217. package/dist/telemetry/otel/context.js +122 -0
  218. package/dist/telemetry/otel/context.js.map +1 -0
  219. package/dist/telemetry/otel/exporter.d.ts +53 -0
  220. package/dist/telemetry/otel/exporter.d.ts.map +1 -0
  221. package/dist/telemetry/otel/exporter.js +190 -0
  222. package/dist/telemetry/otel/exporter.js.map +1 -0
  223. package/dist/telemetry/otel/index.d.ts +6 -0
  224. package/dist/telemetry/otel/index.d.ts.map +1 -0
  225. package/dist/telemetry/otel/index.js +3 -0
  226. package/dist/telemetry/otel/index.js.map +1 -0
  227. package/dist/telemetry/otel/otlp.d.ts +44 -0
  228. package/dist/telemetry/otel/otlp.d.ts.map +1 -0
  229. package/dist/telemetry/otel/otlp.js +7 -0
  230. package/dist/telemetry/otel/otlp.js.map +1 -0
  231. package/dist/telemetry/otel/truncate.d.ts +10 -0
  232. package/dist/telemetry/otel/truncate.d.ts.map +1 -0
  233. package/dist/telemetry/otel/truncate.js +39 -0
  234. package/dist/telemetry/otel/truncate.js.map +1 -0
  235. package/dist/telemetry/run-listener.d.ts +1 -1
  236. package/dist/telemetry/run-listener.d.ts.map +1 -1
  237. package/dist/telemetry/run-listener.js +32 -2
  238. package/dist/telemetry/run-listener.js.map +1 -1
  239. package/dist/telemetry/transport/posthog.d.ts +13 -1
  240. package/dist/telemetry/transport/posthog.d.ts.map +1 -1
  241. package/dist/telemetry/transport/posthog.js +68 -30
  242. package/dist/telemetry/transport/posthog.js.map +1 -1
  243. package/package.json +11 -11
  244. package/dist/channels/actor.d.ts +0 -43
  245. package/dist/channels/actor.d.ts.map +0 -1
  246. package/dist/channels/actor.js +0 -2
  247. package/dist/channels/actor.js.map +0 -1
  248. package/dist/channels/delivery.d.ts +0 -21
  249. package/dist/channels/delivery.d.ts.map +0 -1
  250. package/dist/channels/delivery.js +0 -196
  251. package/dist/channels/delivery.js.map +0 -1
  252. package/dist/channels/github/connections.d.ts +0 -11
  253. package/dist/channels/github/connections.d.ts.map +0 -1
  254. package/dist/channels/github/connections.js +0 -14
  255. package/dist/channels/github/connections.js.map +0 -1
  256. package/dist/channels/github/index.d.ts +0 -8
  257. package/dist/channels/github/index.d.ts.map +0 -1
  258. package/dist/channels/github/index.js +0 -274
  259. package/dist/channels/github/index.js.map +0 -1
  260. package/dist/channels/github/mentions.d.ts +0 -12
  261. package/dist/channels/github/mentions.d.ts.map +0 -1
  262. package/dist/channels/github/mentions.js +0 -185
  263. package/dist/channels/github/mentions.js.map +0 -1
  264. package/dist/channels/github/schema.d.ts +0 -4165
  265. package/dist/channels/github/schema.d.ts.map +0 -1
  266. package/dist/channels/github/schema.js +0 -221
  267. package/dist/channels/github/schema.js.map +0 -1
  268. package/dist/channels/github/types.d.ts +0 -163
  269. package/dist/channels/github/types.d.ts.map +0 -1
  270. package/dist/channels/github/types.js +0 -2
  271. package/dist/channels/github/types.js.map +0 -1
  272. package/dist/channels/http/endpoint.d.ts +0 -95
  273. package/dist/channels/http/endpoint.d.ts.map +0 -1
  274. package/dist/channels/http/endpoint.js +0 -276
  275. package/dist/channels/http/endpoint.js.map +0 -1
  276. package/dist/channels/http/provider.d.ts +0 -119
  277. package/dist/channels/http/provider.d.ts.map +0 -1
  278. package/dist/channels/http/provider.js +0 -227
  279. package/dist/channels/http/provider.js.map +0 -1
  280. package/dist/channels/http/studio.d.ts +0 -24
  281. package/dist/channels/http/studio.d.ts.map +0 -1
  282. package/dist/channels/http/studio.js +0 -95
  283. package/dist/channels/http/studio.js.map +0 -1
  284. package/dist/channels/http/threads.d.ts +0 -7
  285. package/dist/channels/http/threads.d.ts.map +0 -1
  286. package/dist/channels/http/threads.js +0 -10
  287. package/dist/channels/http/threads.js.map +0 -1
  288. package/dist/channels/linear/connections.d.ts +0 -11
  289. package/dist/channels/linear/connections.d.ts.map +0 -1
  290. package/dist/channels/linear/connections.js +0 -14
  291. package/dist/channels/linear/connections.js.map +0 -1
  292. package/dist/channels/linear/graphql.d.ts +0 -57
  293. package/dist/channels/linear/graphql.d.ts.map +0 -1
  294. package/dist/channels/linear/graphql.js +0 -167
  295. package/dist/channels/linear/graphql.js.map +0 -1
  296. package/dist/channels/linear/index.d.ts +0 -9
  297. package/dist/channels/linear/index.d.ts.map +0 -1
  298. package/dist/channels/linear/index.js +0 -489
  299. package/dist/channels/linear/index.js.map +0 -1
  300. package/dist/channels/linear/schema.d.ts +0 -1050
  301. package/dist/channels/linear/schema.d.ts.map +0 -1
  302. package/dist/channels/linear/schema.js +0 -255
  303. package/dist/channels/linear/schema.js.map +0 -1
  304. package/dist/channels/linear/types.d.ts +0 -162
  305. package/dist/channels/linear/types.d.ts.map +0 -1
  306. package/dist/channels/linear/types.js +0 -2
  307. package/dist/channels/linear/types.js.map +0 -1
  308. package/dist/channels/reserved-connections.d.ts +0 -12
  309. package/dist/channels/reserved-connections.d.ts.map +0 -1
  310. package/dist/channels/reserved-connections.js +0 -55
  311. package/dist/channels/reserved-connections.js.map +0 -1
  312. package/dist/channels/run-input.d.ts +0 -71
  313. package/dist/channels/run-input.d.ts.map +0 -1
  314. package/dist/channels/run-input.js +0 -155
  315. package/dist/channels/run-input.js.map +0 -1
  316. package/dist/channels/slack/connections.d.ts +0 -6
  317. package/dist/channels/slack/connections.d.ts.map +0 -1
  318. package/dist/channels/slack/connections.js +0 -6
  319. package/dist/channels/slack/connections.js.map +0 -1
  320. package/dist/channels/slack/events.d.ts +0 -272
  321. package/dist/channels/slack/events.d.ts.map +0 -1
  322. package/dist/channels/slack/events.js +0 -235
  323. package/dist/channels/slack/events.js.map +0 -1
  324. package/dist/channels/slack/status.d.ts +0 -76
  325. package/dist/channels/slack/status.d.ts.map +0 -1
  326. package/dist/channels/slack/status.js +0 -427
  327. package/dist/channels/slack/status.js.map +0 -1
  328. package/dist/runtime/channel-icon.d.ts +0 -22
  329. package/dist/runtime/channel-icon.d.ts.map +0 -1
  330. package/dist/runtime/channel-icon.js +0 -70
  331. package/dist/runtime/channel-icon.js.map +0 -1
  332. package/dist/runtime/managed-thread.d.ts +0 -60
  333. package/dist/runtime/managed-thread.d.ts.map +0 -1
  334. package/dist/runtime/managed-thread.js +0 -76
  335. package/dist/runtime/managed-thread.js.map +0 -1
  336. package/dist/runtime/thread-record.d.ts +0 -81
  337. package/dist/runtime/thread-record.d.ts.map +0 -1
  338. package/dist/runtime/thread-record.js +0 -205
  339. package/dist/runtime/thread-record.js.map +0 -1
  340. package/dist/values.d.ts +0 -15
  341. package/dist/values.d.ts.map +0 -1
  342. package/dist/values.js +0 -31
  343. package/dist/values.js.map +0 -1
@@ -1,20 +1,19 @@
1
1
  import { INTERRUPT } from "@langchain/langgraph";
2
- import { bindingWithMessages } from "../binding.js";
2
+ import { createTriggerTransport } from "./transport.js";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { v5 as uuidv5 } from "uuid";
5
5
  import { missingWorkspaceConnectionSlug } from "../../agent-auth.js";
6
+ import { extractAssistantText } from "../assistant-text.js";
6
7
  import { DEFAULT_REACTION_EMOJI, resolveReactionEmoji, } from "../reactions.js";
8
+ import { setLogAttributes } from "../../telemetry/otel/index.js";
7
9
  import { logger } from "../../runtime/log.js";
8
10
  import { INTERRUPT_CORRELATION_KEY } from "../../run-context.js";
9
- import { cancelIngressThreadRuns, ingressThreadExists, ingressThreadInterrupts, newerIngressRun, observeIngressAgent, resumeIngressAgent, startIngressAgent, } from "./ingress.js";
11
+ import { ingressThreadInterrupts, observeIngressAgent, resumeIngressAgent, startIngressAgent, } from "./ingress.js";
10
12
  import { scheduleIngressWork } from "../../ingress/index.js";
11
- import { lookupStatus, rejectedAsBusy, } from "../../ingress/runs.js";
12
- import { runStartOptions } from "../run-input.js";
13
13
  import { createTriggerClient, LANGSMITH_MDA_TRIGGER_SERVER_URL_ENV, TriggerClientError, } from "./client.js";
14
14
  import { IdentityContextUnavailableError, InvalidIdentityContextError, principalIdFromIdentityContext, } from "./identity-context.js";
15
15
  import { resolveTracerSessionId } from "./tracing-project.js";
16
- import { parseTriggerChannelEvent, triggerChannelBinding, TRIGGER_SERVICE_KEY_HEADER, normalizedUserPromptResponse, triggerEventActor, } from "./types.js";
17
- import { isRecord, nonblankString } from "../../values.js";
16
+ import { parseTriggerChannelEvent, triggerChannelBinding, TRIGGER_SERVICE_KEY_HEADER, normalizedUserPromptResponse, } from "./types.js";
18
17
  export { TRIGGER_SERVICE_KEY_HEADER } from "./types.js";
19
18
  export const ASSISTANT_ID_ENV = "MDA_ASSISTANT_ID";
20
19
  // Raised when the thread cannot say which interrupt an answer belongs to. An
@@ -60,7 +59,7 @@ export async function handleTriggerChannelEventRequest(request, options) {
60
59
  return Response.json({ error: "missing channel identity_context" }, { status: 400 });
61
60
  }
62
61
  if (error instanceof IdentityContextUnavailableError) {
63
- logger.error(`channel identity_context unavailable (${logger.safeErrorLabel(error)})`);
62
+ logger.error(`channel identity_context unavailable (${logger.safeErrorLabel(error)})`, error);
64
63
  return Response.json({ error: "identity_context verification unavailable" }, { status: 503 });
65
64
  }
66
65
  if (error instanceof InvalidIdentityContextError) {
@@ -69,15 +68,13 @@ export async function handleTriggerChannelEventRequest(request, options) {
69
68
  }
70
69
  throw error;
71
70
  }
72
- /**
73
- * Who the delivery came from, as Trigger Server names them; never logged.
74
- * Only as trusted as the service key, which is checked for presence alone.
75
- */
76
- const actor = triggerEventActor(event);
71
+ setLogAttributes({
72
+ event_type: event.type,
73
+ event_id: event.event_id,
74
+ delivery_id: event.delivery_id,
75
+ channel_id: event.channel_id,
76
+ });
77
77
  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)})`);
78
- if (event.type === "run_cancel") {
79
- return await cancelEventRuns(event, userId, options);
80
- }
81
78
  let client = options.triggerClient;
82
79
  if (!client) {
83
80
  try {
@@ -85,11 +82,11 @@ export async function handleTriggerChannelEventRequest(request, options) {
85
82
  userId: request.headers.get("x-user-id") ?? undefined,
86
83
  });
87
84
  if (!client) {
88
- logger.error(`channel transport is not configured (${LANGSMITH_MDA_TRIGGER_SERVER_URL_ENV} and LANGSMITH_API_KEY are required)`);
85
+ logger.error(`channel transport is not configured (${LANGSMITH_MDA_TRIGGER_SERVER_URL_ENV} and LANGSMITH_API_KEY or LANGCHAIN_API_KEY are required)`);
89
86
  }
90
87
  }
91
88
  catch (error) {
92
- logger.error(`channel transport is not configured (${logger.safeErrorLabel(error)})`);
89
+ logger.error(`channel transport is not configured (${logger.safeErrorLabel(error)})`, error);
93
90
  client = undefined;
94
91
  }
95
92
  }
@@ -101,56 +98,6 @@ export async function handleTriggerChannelEventRequest(request, options) {
101
98
  logger.error(`${ASSISTANT_ID_ENV} is not configured`);
102
99
  return Response.json({ error: "channel runtime is not configured" }, { status: 500 });
103
100
  }
104
- const observe = (started) => observeAcceptedRun({
105
- event,
106
- started,
107
- client,
108
- observeAgent: options.observeAgent,
109
- sourceProvider: options.sourceProvider,
110
- sourceThreadKey: event.source_thread_key,
111
- userId,
112
- reactions: options.reactions ?? DEFAULT_REACTION_EMOJI,
113
- ...(options.startedStatus && { startedStatus: options.startedStatus }),
114
- multitaskStrategy: options.multitaskStrategy,
115
- newerRun: options.newerRun,
116
- });
117
- const thread = {
118
- id: triggerThreadId(event.source_thread_key),
119
- sourceThreadKey: event.source_thread_key,
120
- };
121
- /**
122
- * Whether the delivery starts a turn of its own, which finishes: a message,
123
- * or a prompt response that answers no interrupt. Resumes don't.
124
- */
125
- let startsTurn = event.type === "message";
126
- /** Tell the provider a turn is done, once; a failure is logged. */
127
- const finish = async (finished) => {
128
- if (!startsTurn || !options.onFinish)
129
- return;
130
- const { identity_context: _token, ...message } = event;
131
- const raw = {
132
- delivery: message,
133
- // Strings only, so JSON as the delivery's `rawEvent` is.
134
- ...(actor && { actor: { ...actor } }),
135
- };
136
- try {
137
- await options.onFinish(triggerTarget(event), {
138
- threadId: thread.id,
139
- rawEvent: raw,
140
- ...finished,
141
- });
142
- }
143
- catch (error) {
144
- logger.error(`channel finish notice failed (${logger.safeErrorLabel(error)})`);
145
- }
146
- };
147
- const finishLater = (finished) => {
148
- if (options.onFinish)
149
- scheduleIngressWork(() => finish(finished), {
150
- label: "Channel finish notice",
151
- schedule: options.schedule,
152
- });
153
- };
154
101
  let started;
155
102
  try {
156
103
  const common = {
@@ -162,87 +109,13 @@ export async function handleTriggerChannelEventRequest(request, options) {
162
109
  context: {},
163
110
  binding: triggerChannelBinding(event, options.sourceProvider, options.channelName),
164
111
  };
165
- /**
166
- * Start the delivery's run as `route` decides: at once, in the
167
- * background, or not at all. The answer for Trigger Server when it has
168
- * one already, otherwise the run it started.
169
- */
170
- const decideAndStart = async (route, undecided) => {
171
- /** Start the run; `undefined` when `reject` left the thread to its run. */
172
- const startRun = async (input) => {
173
- const strategy = options.multitaskStrategy;
174
- try {
175
- return await (options.startAgent ?? startIngressAgent)({
176
- ...common,
177
- ...(input
178
- ? decidedRun(input, common.binding)
179
- : { messages: undecided() }),
180
- ...(strategy && { multitaskStrategy: strategy }),
181
- });
182
- }
183
- catch (error) {
184
- // A run already active on the thread keeps it under `reject`.
185
- if (rejectedAsBusy(strategy, error)) {
186
- logger.info(`channel ${event.type} rejected: its thread is busy (delivery_id=${logger.logIdentifier(event.delivery_id)})`);
187
- return undefined;
188
- }
189
- throw error;
190
- }
191
- };
192
- if (route?.type === "background") {
193
- // Trigger Server only waits briefly, so it hears first; a failure
194
- // from here on is logged, and nothing redelivers the event.
195
- scheduleIngressWork(async () => {
196
- const decided = await route.decide();
197
- if (decided.type !== "input") {
198
- logNoRun(event, decided);
199
- return finish(skipped("ignored"));
200
- }
201
- let run;
202
- try {
203
- run = await startRun(decided.input);
204
- }
205
- catch (error) {
206
- logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
207
- return finish({
208
- type: "failed",
209
- reason: "start",
210
- interrupts: [],
211
- });
212
- }
213
- await finish(run ? await observe(run) : skipped("rejected"));
214
- }, { label: "Channel event decision", schedule: options.schedule });
215
- return acceptedResponse(event);
216
- }
217
- if (route?.type === "skipped") {
218
- logNoRun(event, route);
219
- finishLater(skipped("ignored"));
220
- return acceptedResponse(event);
221
- }
222
- // Trigger Server may deliver it again, which finishes on its own.
223
- if (route?.type === "failed")
224
- return startFailedResponse();
225
- const run = await startRun(route?.input);
226
- if (!run) {
227
- finishLater(skipped("rejected"));
228
- return acceptedResponse(event);
229
- }
230
- return run;
231
- };
232
112
  switch (event.type) {
233
- case "message": {
234
- const message = event;
235
- if (!(await mayStartIn(common, message, options))) {
236
- logger.info(`channel message started no run: the agent never ran on its thread (delivery_id=${logger.logIdentifier(message.delivery_id)})`);
237
- finishLater(skipped("ignored"));
238
- return acceptedResponse(message);
239
- }
240
- const outcome = await decideAndStart(await options.decideMessage?.(message, thread, actor), () => options.messageInput?.(message) ?? message.input.messages);
241
- if (outcome instanceof Response)
242
- return outcome;
243
- started = outcome;
113
+ case "message":
114
+ started = await (options.startAgent ?? startIngressAgent)({
115
+ ...common,
116
+ messages: options.messageInput?.(event) ?? event.input.messages,
117
+ });
244
118
  break;
245
- }
246
119
  case "interrupt_resume":
247
120
  started = await (options.resumeAgent ?? resumeIngressAgent)({
248
121
  ...common,
@@ -259,19 +132,16 @@ export async function handleTriggerChannelEventRequest(request, options) {
259
132
  correlationId: normalized.correlation_id,
260
133
  threadInterrupts: options.threadInterrupts,
261
134
  });
262
- if (interruptId !== undefined) {
263
- started = await (options.resumeAgent ?? resumeIngressAgent)({
264
- ...common,
265
- resume: { [interruptId]: normalized },
266
- });
267
- break;
268
- }
269
- // A fresh turn, which the provider may decide, and which finishes.
270
- startsTurn = true;
271
- const outcome = await decideAndStart(await options.decideInteraction?.(event, thread, actor), () => []);
272
- if (outcome instanceof Response)
273
- return outcome;
274
- started = outcome;
135
+ started =
136
+ interruptId === undefined
137
+ ? await (options.startAgent ?? startIngressAgent)({
138
+ ...common,
139
+ messages: [],
140
+ })
141
+ : await (options.resumeAgent ?? resumeIngressAgent)({
142
+ ...common,
143
+ resume: { [interruptId]: normalized },
144
+ });
275
145
  break;
276
146
  }
277
147
  default: {
@@ -286,83 +156,24 @@ export async function handleTriggerChannelEventRequest(request, options) {
286
156
  logger.warn(`channel user prompt response could not be matched to an interrupt (${error.message}, delivery_id=${logger.logIdentifier(event.delivery_id)}, event_id=${logger.logIdentifier(event.event_id)})`);
287
157
  return acceptedResponse(event);
288
158
  }
289
- logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
290
- return startFailedResponse();
159
+ logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`, error);
160
+ return Response.json({ error: "channel run could not be started" }, { status: 500 });
291
161
  }
292
- scheduleIngressWork(async () => finish(await observe(started)), {
162
+ scheduleIngressWork(() => observeAcceptedRun({
163
+ event,
164
+ started,
165
+ client,
166
+ observeAgent: options.observeAgent,
167
+ sourceProvider: options.sourceProvider,
168
+ sourceThreadKey: event.source_thread_key,
169
+ userId,
170
+ reactions: options.reactions ?? DEFAULT_REACTION_EMOJI,
171
+ }), {
293
172
  label: "Channel run observation",
294
173
  schedule: options.schedule,
295
174
  });
296
175
  return acceptedResponse(event);
297
176
  }
298
- /** Where a delivery's replies go, as the channel binding names it. */
299
- function triggerTarget(event) {
300
- return {
301
- channel_id: event.channel_id,
302
- address: event.address,
303
- source_thread_key: event.source_thread_key,
304
- };
305
- }
306
- function skipped(reason) {
307
- return { type: "skipped", reason, interrupts: [] };
308
- }
309
- /** Log an event that started no run; a failed handler logged its own error. */
310
- function logNoRun(event, decision) {
311
- logger.info(`channel ${event.type} started no run (${decision.type === "failed" ? "its handler failed, " : ""}delivery_id=${logger.logIdentifier(event.delivery_id)})`);
312
- }
313
- /**
314
- * A decided run's start options. Its messages replace the delivery's in the
315
- * binding, as the run's own input; its context sits beside the binding.
316
- */
317
- function decidedRun(input, binding) {
318
- return {
319
- ...runStartOptions(input),
320
- binding: bindingWithMessages(binding, input.messages),
321
- context: input.context ?? {},
322
- };
323
- }
324
- function startFailedResponse() {
325
- return Response.json({ error: "channel run could not be started" }, { status: 500 });
326
- }
327
- /**
328
- * Stop the source thread's runs; each run's observer reports `run.cancelled`.
329
- *
330
- * Runs are cancelled as the thread's channel principal, so the managed owner
331
- * filter confines the cancel to this source conversation.
332
- */
333
- async function cancelEventRuns(event, userId, options) {
334
- let cancelled;
335
- try {
336
- cancelled = await (options.cancelRuns ?? cancelIngressThreadRuns)({
337
- threadId: triggerThreadId(event.source_thread_key),
338
- sourceProvider: options.sourceProvider,
339
- sourceThreadKey: event.source_thread_key,
340
- userId,
341
- });
342
- }
343
- catch (error) {
344
- logger.error(`channel runs could not be cancelled (${logger.safeErrorLabel(error)})`);
345
- return Response.json({ error: "channel runs could not be cancelled" }, { status: 500 });
346
- }
347
- logger.info(`Channel runs cancelled (count=${cancelled}, delivery_id=${logger.logIdentifier(event.delivery_id)})`);
348
- return acceptedResponse(event);
349
- }
350
- /**
351
- * Whether a message may start a run on its thread: always, unless it may only
352
- * continue a thread the agent already ran on and none ran there. A failed
353
- * lookup is logged and lets it start, as before the check.
354
- */
355
- async function mayStartIn(common, event, options) {
356
- if (!(await options.onlyContinuesThread?.(event)))
357
- return true;
358
- try {
359
- return await (options.threadExists ?? ingressThreadExists)(common);
360
- }
361
- catch (error) {
362
- logger.warn(`channel thread lookup failed; the message starts as before (${logger.safeErrorLabel(error)})`);
363
- return true;
364
- }
365
- }
366
177
  function acceptedResponse(event) {
367
178
  return Response.json({ status: "accepted", delivery_id: event.delivery_id }, { status: 202 });
368
179
  }
@@ -390,63 +201,27 @@ async function interruptAnsweredBy(input) {
390
201
  }
391
202
  return undefined;
392
203
  }
393
- // A tool-call review is answered from its own prompt (`interrupt_resume`):
394
- // a click on one of the agent's buttons, such as a rating, is no decision.
395
- const answerable = pending.filter((candidate) => !isToolCallReview(candidate.value));
396
- if (answerable.length > 1) {
204
+ if (pending.length > 1) {
397
205
  // Interrupt ids carry no ordering, so without a correlation id there is
398
206
  // nothing to choose by.
399
- throw new AmbiguousInterruptError(`${answerable.length} interrupts pending`);
400
- }
401
- if (answerable.length === 0 && pending.length > 0) {
402
- // Starting a turn here would abandon the review.
403
- throw new AmbiguousInterruptError("the thread waits on a tool-call review, which a click doesn't answer");
207
+ throw new AmbiguousInterruptError(`${pending.length} interrupts pending`);
404
208
  }
405
- return answerable[0]?.id;
406
- }
407
- /** Whether an interrupt is a tool-call review, as `humanInTheLoopMiddleware` raises one. */
408
- function isToolCallReview(value) {
409
- return isRecord(value) && Array.isArray(value.action_requests);
209
+ return pending[0]?.id;
410
210
  }
411
211
  function interruptCorrelationId(value) {
412
212
  if (!isRecord(value))
413
213
  return undefined;
414
- return nonblankString(value[INTERRUPT_CORRELATION_KEY]);
214
+ const id = value[INTERRUPT_CORRELATION_KEY];
215
+ return typeof id === "string" && id.trim() ? id : undefined;
415
216
  }
416
217
  async function observeAcceptedRun(input) {
417
218
  const { event, started, client } = input;
418
- const run = {
419
- threadId: started.threadId,
420
- runId: started.runId,
421
- sourceProvider: input.sourceProvider,
422
- sourceThreadKey: input.sourceThreadKey,
423
- userId: input.userId,
424
- };
425
- // Only these strategies let a newer message cancel a run.
426
- const replaceable = input.multitaskStrategy === "interrupt" ||
427
- input.multitaskStrategy === "rollback";
428
- /**
429
- * A newer message's run took the thread over; it reports to Slack, so this
430
- * run says nothing that would stop or fail the thread's status. It ended
431
- * `interrupted`, as the HTTP channel reports a replaced run.
432
- */
433
- const replaced = () => {
434
- logger.info(`channel run was replaced by a newer message (delivery_id=${logger.logIdentifier(event.delivery_id)}, run_id=${logger.logIdentifier(started.runId)})`);
435
- return {
436
- type: "run",
437
- run: { id: started.runId, status: "interrupted" },
438
- interrupts: [],
439
- };
440
- };
441
- const lifecycle = async (type, message, status) => {
219
+ const lifecycle = async (type, interrupts, message) => {
442
220
  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)})`);
443
- const request = {
444
- ...runtimeEvent(type, event, started, message, await resolveTracerSessionId()),
445
- ...status,
446
- };
221
+ const request = runtimeEvent(type, event, started, interrupts, message, await resolveTracerSessionId());
447
222
  return bestEffort(client.postRuntimeEvent(event.channel_id, request));
448
223
  };
449
- await lifecycle("run.started", undefined, input.startedStatus);
224
+ await lifecycle("run.started");
450
225
  // Not awaited here, so the reaction never delays the reply. The `finally`
451
226
  // settles it so it cannot outlive this work item.
452
227
  const reaction = reactToTriggerMessage({
@@ -458,42 +233,46 @@ async function observeAcceptedRun(input) {
458
233
  try {
459
234
  let observed;
460
235
  try {
461
- observed = await (input.observeAgent ?? observeIngressAgent)(run);
236
+ observed = await (input.observeAgent ?? observeIngressAgent)({
237
+ threadId: started.threadId,
238
+ runId: started.runId,
239
+ sourceProvider: input.sourceProvider,
240
+ sourceThreadKey: input.sourceThreadKey,
241
+ userId: input.userId,
242
+ });
462
243
  }
463
244
  catch (error) {
464
- // `rollback` cancels, then deletes, the run a newer message replaced.
465
- if (replaceable && lookupStatus(error) === 404)
466
- return replaced();
467
- await lifecycle("run.failed", missingConnectionFailureMessage(error));
468
- return { type: "failed", reason: "observe", interrupts: [] };
469
- }
470
- const ended = (interrupts = []) => ({
471
- type: "run",
472
- run: { id: started.runId, status: observed.status },
473
- interrupts: interrupts,
474
- });
475
- // Stopped from Slack or Studio: the run ended `interrupted`, with nothing
476
- // waiting on a decision.
477
- if (isCancelledRun(observed)) {
478
- if (replaceable && (await wasReplaced(run, input.newerRun)))
479
- return replaced();
480
- await lifecycle("run.cancelled");
481
- return ended();
245
+ await lifecycle("run.failed", undefined, missingConnectionFailureMessage(error));
246
+ return;
482
247
  }
483
- // The run reports its own pause and posts its own answer (../delivery.ts).
484
248
  if (isInterruptedRun(observed)) {
485
- const interrupts = interruptEntries(observed.values).filter((entry) => isRecord(entry) &&
249
+ await lifecycle("run.interrupted", interruptEntries(observed.values).filter((entry) => isRecord(entry) &&
486
250
  typeof entry.id === "string" &&
487
251
  entry.id.trim().length > 0 &&
488
- "value" in entry);
489
- return ended(interrupts);
252
+ "value" in entry));
253
+ return;
490
254
  }
491
255
  if (observed.status !== "success") {
492
256
  await lifecycle("run.failed");
493
- return ended();
257
+ return;
258
+ }
259
+ const text = extractAssistantText(isRecord(observed.values) ? observed.values : {});
260
+ if (text) {
261
+ 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)})`);
262
+ const action = await bestEffort(createTriggerTransport(client, { actionId: event.event_id }).post({
263
+ message: { type: "content", content: text },
264
+ target: {
265
+ channel_id: event.channel_id,
266
+ address: event.address,
267
+ source_thread_key: event.source_thread_key,
268
+ },
269
+ }));
270
+ if (action === undefined) {
271
+ await lifecycle("run.failed");
272
+ return;
273
+ }
494
274
  }
495
275
  await lifecycle("run.completed");
496
- return ended();
497
276
  }
498
277
  finally {
499
278
  await reaction;
@@ -531,7 +310,7 @@ async function reactToTriggerMessage(input) {
531
310
  reaction: { emoji, message_id: id },
532
311
  }));
533
312
  }
534
- function runtimeEvent(type, event, started, message, tracerSessionId) {
313
+ function runtimeEvent(type, event, started, interrupts, message, tracerSessionId) {
535
314
  return {
536
315
  id: randomUUID(),
537
316
  type,
@@ -542,6 +321,7 @@ function runtimeEvent(type, event, started, message, tracerSessionId) {
542
321
  run_id: started.runId,
543
322
  ...(tracerSessionId ? { tracer_session_id: tracerSessionId } : {}),
544
323
  ...(message ? { message: { text: message } } : {}),
324
+ ...(interrupts?.length ? { interrupts } : {}),
545
325
  };
546
326
  }
547
327
  function missingConnectionFailureMessage(error) {
@@ -577,20 +357,8 @@ async function bestEffort(promise) {
577
357
  return undefined;
578
358
  }
579
359
  }
580
- /** Whether a newer run replaced a cancelled one; a failed lookup says no. */
581
- async function wasReplaced(run, newerRun = newerIngressRun) {
582
- try {
583
- return await newerRun(run);
584
- }
585
- catch (error) {
586
- logger.warn(`channel run lookup failed; the run counts as stopped (${logger.safeErrorLabel(error)})`);
587
- return false;
588
- }
589
- }
590
- function isCancelledRun(observed) {
591
- // A cancelled run ends "interrupted" with nothing parked for a person to
592
- // answer; reporting it as an interrupt would post an empty approval prompt.
593
- return observed.status === "interrupted" && !hasInterrupt(observed.values);
360
+ function isRecord(value) {
361
+ return typeof value === "object" && value !== null && !Array.isArray(value);
594
362
  }
595
363
  function isInterruptedRun(observed) {
596
364
  // 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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"}
@@ -31,7 +31,7 @@ export interface IdentityContextVerifyOptions {
31
31
  issuer?: string;
32
32
  env?: NodeJS.ProcessEnv;
33
33
  }
34
- /** LangSmith API origin used as identity-context `iss` and JWKS host. */
34
+ /** Canonical issuer; self-hosted API URLs may use an internal host or prefix. */
35
35
  export declare function resolveIdentityContextIssuer(env?: NodeJS.ProcessEnv): string;
36
36
  /** Public JWKS URL for Agent Auth identity-context signatures. */
37
37
  export declare function resolveIdentityContextJwksUrl(env?: NodeJS.ProcessEnv): string;
@@ -1 +1 @@
1
- {"version":3,"file":"identity-context.d.ts","sourceRoot":"","sources":["../../../src/channels/trigger/identity-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,MAAM,CAAC;AAKd,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,2BAA2B,YACtC,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,CACC,CAAC;AASX,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,iCAAiC;IAE9C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,mFAAmF;AACnF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,qCAAqC;IAElD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,yEAAyE;AACzE,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAMR;AAED,kEAAkE;AAClE,wBAAgB,6BAA6B,CAC3C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,MAAM,CAAC,CAiGjB;AAED,oFAAoF;AACpF,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B"}
1
+ {"version":3,"file":"identity-context.d.ts","sourceRoot":"","sources":["../../../src/channels/trigger/identity-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,MAAM,CAAC;AAMd,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,2BAA2B,YACtC,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,CACC,CAAC;AAOX,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,iCAAiC;IAE9C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,mFAAmF;AACnF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,qCAAqC;IAElD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAGR;AAED,kEAAkE;AAClE,wBAAgB,6BAA6B,CAC3C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,MAAM,CAAC,CAiGjB;AAED,oFAAoF;AACpF,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { createRemoteJWKSet, decodeProtectedHeader, jwtVerify, } from "jose";
11
11
  import { JWKS_HTTP_TIMEOUT_MS } from "../../runtime/http.js";
12
+ import { resolveLangSmithEndpoint } from "../../runtime/langsmith-env.js";
12
13
  import { normalizeUuid } from "./uuid.js";
13
14
  export const IDENTITY_CONTEXT_TOKEN_TYP = "identity-context+jwt";
14
15
  export const IDENTITY_CONTEXT_AUDIENCE = "mda";
@@ -25,7 +26,6 @@ export const IDENTITY_CONTEXT_ALGORITHMS = [
25
26
  "ES512",
26
27
  "EdDSA",
27
28
  ];
28
- const DEFAULT_LANGSMITH_ENDPOINT = "https://api.smith.langchain.com";
29
29
  /** Remote JWKS key sets, cached per URI for the process lifetime. */
30
30
  const jwksCache = new Map();
31
31
  export class InvalidIdentityContextError extends Error {
@@ -41,11 +41,9 @@ export class IdentityContextUnavailableError extends Error {
41
41
  super(message);
42
42
  }
43
43
  }
44
- /** LangSmith API origin used as identity-context `iss` and JWKS host. */
44
+ /** Canonical issuer; self-hosted API URLs may use an internal host or prefix. */
45
45
  export function resolveIdentityContextIssuer(env = process.env) {
46
- const raw = env.LANGSMITH_ENDPOINT?.trim() ||
47
- env.LANGCHAIN_ENDPOINT?.trim() ||
48
- DEFAULT_LANGSMITH_ENDPOINT;
46
+ const raw = env.OAUTH_AS_ISSUER?.trim() || resolveLangSmithEndpoint(env);
49
47
  return raw.replace(/\/+$/, "");
50
48
  }
51
49
  /** Public JWKS URL for Agent Auth identity-context signatures. */