managed-deepagents 0.9.6-dev.3 → 0.9.6-dev.31

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 (359) hide show
  1. package/README.md +1075 -37
  2. package/dist/agent-auth.d.ts +1 -1
  3. package/dist/agent-auth.d.ts.map +1 -1
  4. package/dist/agent-auth.js +36 -12
  5. package/dist/agent-auth.js.map +1 -1
  6. package/dist/browser.d.ts +37 -0
  7. package/dist/browser.d.ts.map +1 -0
  8. package/dist/browser.js +31 -0
  9. package/dist/browser.js.map +1 -0
  10. package/dist/channels/actor.d.ts +57 -0
  11. package/dist/channels/actor.d.ts.map +1 -0
  12. package/dist/channels/actor.js +24 -0
  13. package/dist/channels/actor.js.map +1 -0
  14. package/dist/channels/assistant-text.d.ts +29 -0
  15. package/dist/channels/assistant-text.d.ts.map +1 -1
  16. package/dist/channels/assistant-text.js +81 -4
  17. package/dist/channels/assistant-text.js.map +1 -1
  18. package/dist/channels/binding.d.ts +20 -1
  19. package/dist/channels/binding.d.ts.map +1 -1
  20. package/dist/channels/binding.js +44 -11
  21. package/dist/channels/binding.js.map +1 -1
  22. package/dist/channels/delivery.d.ts +51 -0
  23. package/dist/channels/delivery.d.ts.map +1 -0
  24. package/dist/channels/delivery.js +424 -0
  25. package/dist/channels/delivery.js.map +1 -0
  26. package/dist/channels/github/app-setup.d.ts +32 -0
  27. package/dist/channels/github/app-setup.d.ts.map +1 -0
  28. package/dist/channels/github/app-setup.js +146 -0
  29. package/dist/channels/github/app-setup.js.map +1 -0
  30. package/dist/channels/github/connections.d.ts +11 -0
  31. package/dist/channels/github/connections.d.ts.map +1 -0
  32. package/dist/channels/github/connections.js +14 -0
  33. package/dist/channels/github/connections.js.map +1 -0
  34. package/dist/channels/github/index.d.ts +12 -0
  35. package/dist/channels/github/index.d.ts.map +1 -0
  36. package/dist/channels/github/index.js +266 -0
  37. package/dist/channels/github/index.js.map +1 -0
  38. package/dist/channels/github/mentions.d.ts +12 -0
  39. package/dist/channels/github/mentions.d.ts.map +1 -0
  40. package/dist/channels/github/mentions.js +185 -0
  41. package/dist/channels/github/mentions.js.map +1 -0
  42. package/dist/channels/github/schema.d.ts +4165 -0
  43. package/dist/channels/github/schema.d.ts.map +1 -0
  44. package/dist/channels/github/schema.js +221 -0
  45. package/dist/channels/github/schema.js.map +1 -0
  46. package/dist/channels/github/types.d.ts +170 -0
  47. package/dist/channels/github/types.d.ts.map +1 -0
  48. package/dist/channels/github/types.js +2 -0
  49. package/dist/channels/github/types.js.map +1 -0
  50. package/dist/channels/http/endpoint.d.ts +137 -0
  51. package/dist/channels/http/endpoint.d.ts.map +1 -0
  52. package/dist/channels/http/endpoint.js +286 -0
  53. package/dist/channels/http/endpoint.js.map +1 -0
  54. package/dist/channels/http/http.d.ts.map +1 -1
  55. package/dist/channels/http/http.js +439 -65
  56. package/dist/channels/http/http.js.map +1 -1
  57. package/dist/channels/http/index.d.ts +8 -1
  58. package/dist/channels/http/index.d.ts.map +1 -1
  59. package/dist/channels/http/index.js +35 -16
  60. package/dist/channels/http/index.js.map +1 -1
  61. package/dist/channels/http/ingress.d.ts +67 -5
  62. package/dist/channels/http/ingress.d.ts.map +1 -1
  63. package/dist/channels/http/ingress.js +155 -43
  64. package/dist/channels/http/ingress.js.map +1 -1
  65. package/dist/channels/http/provider.d.ts +125 -0
  66. package/dist/channels/http/provider.d.ts.map +1 -0
  67. package/dist/channels/http/provider.js +227 -0
  68. package/dist/channels/http/provider.js.map +1 -0
  69. package/dist/channels/http/studio.d.ts +24 -0
  70. package/dist/channels/http/studio.d.ts.map +1 -0
  71. package/dist/channels/http/studio.js +95 -0
  72. package/dist/channels/http/studio.js.map +1 -0
  73. package/dist/channels/http/threads.d.ts +7 -0
  74. package/dist/channels/http/threads.d.ts.map +1 -0
  75. package/dist/channels/http/threads.js +10 -0
  76. package/dist/channels/http/threads.js.map +1 -0
  77. package/dist/channels/http/types.d.ts +166 -2
  78. package/dist/channels/http/types.d.ts.map +1 -1
  79. package/dist/channels/linear/app-setup.d.ts +29 -0
  80. package/dist/channels/linear/app-setup.d.ts.map +1 -0
  81. package/dist/channels/linear/app-setup.js +102 -0
  82. package/dist/channels/linear/app-setup.js.map +1 -0
  83. package/dist/channels/linear/connections.d.ts +11 -0
  84. package/dist/channels/linear/connections.d.ts.map +1 -0
  85. package/dist/channels/linear/connections.js +14 -0
  86. package/dist/channels/linear/connections.js.map +1 -0
  87. package/dist/channels/linear/graphql.d.ts +57 -0
  88. package/dist/channels/linear/graphql.d.ts.map +1 -0
  89. package/dist/channels/linear/graphql.js +167 -0
  90. package/dist/channels/linear/graphql.js.map +1 -0
  91. package/dist/channels/linear/index.d.ts +13 -0
  92. package/dist/channels/linear/index.d.ts.map +1 -0
  93. package/dist/channels/linear/index.js +457 -0
  94. package/dist/channels/linear/index.js.map +1 -0
  95. package/dist/channels/linear/schema.d.ts +1050 -0
  96. package/dist/channels/linear/schema.d.ts.map +1 -0
  97. package/dist/channels/linear/schema.js +255 -0
  98. package/dist/channels/linear/schema.js.map +1 -0
  99. package/dist/channels/linear/types.d.ts +169 -0
  100. package/dist/channels/linear/types.d.ts.map +1 -0
  101. package/dist/channels/linear/types.js +2 -0
  102. package/dist/channels/linear/types.js.map +1 -0
  103. package/dist/channels/message-schema.d.ts +2 -0
  104. package/dist/channels/message-schema.d.ts.map +1 -1
  105. package/dist/channels/message-schema.js +4 -0
  106. package/dist/channels/message-schema.js.map +1 -1
  107. package/dist/channels/messaging-registry.d.ts +16 -0
  108. package/dist/channels/messaging-registry.d.ts.map +1 -1
  109. package/dist/channels/messaging-registry.js +29 -0
  110. package/dist/channels/messaging-registry.js.map +1 -1
  111. package/dist/channels/reserved-connections.d.ts +12 -0
  112. package/dist/channels/reserved-connections.d.ts.map +1 -0
  113. package/dist/channels/reserved-connections.js +55 -0
  114. package/dist/channels/reserved-connections.js.map +1 -0
  115. package/dist/channels/resolve-user-endpoint.d.ts +34 -0
  116. package/dist/channels/resolve-user-endpoint.d.ts.map +1 -0
  117. package/dist/channels/resolve-user-endpoint.js +51 -0
  118. package/dist/channels/resolve-user-endpoint.js.map +1 -0
  119. package/dist/channels/resolve-user.d.ts +95 -0
  120. package/dist/channels/resolve-user.d.ts.map +1 -0
  121. package/dist/channels/resolve-user.js +143 -0
  122. package/dist/channels/resolve-user.js.map +1 -0
  123. package/dist/channels/run-input.d.ts +88 -0
  124. package/dist/channels/run-input.d.ts.map +1 -0
  125. package/dist/channels/run-input.js +177 -0
  126. package/dist/channels/run-input.js.map +1 -0
  127. package/dist/channels/runtime.d.ts +5 -2
  128. package/dist/channels/runtime.d.ts.map +1 -1
  129. package/dist/channels/runtime.js +19 -10
  130. package/dist/channels/runtime.js.map +1 -1
  131. package/dist/channels/schedule-delivery.d.ts +2 -13
  132. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  133. package/dist/channels/schedule-delivery.js +6 -73
  134. package/dist/channels/schedule-delivery.js.map +1 -1
  135. package/dist/channels/slack/api.d.ts +2 -0
  136. package/dist/channels/slack/api.d.ts.map +1 -1
  137. package/dist/channels/slack/api.js +6 -0
  138. package/dist/channels/slack/api.js.map +1 -1
  139. package/dist/channels/slack/connections.d.ts +6 -0
  140. package/dist/channels/slack/connections.d.ts.map +1 -0
  141. package/dist/channels/slack/connections.js +6 -0
  142. package/dist/channels/slack/connections.js.map +1 -0
  143. package/dist/channels/slack/events.d.ts +278 -0
  144. package/dist/channels/slack/events.d.ts.map +1 -0
  145. package/dist/channels/slack/events.js +235 -0
  146. package/dist/channels/slack/events.js.map +1 -0
  147. package/dist/channels/slack/files.d.ts.map +1 -1
  148. package/dist/channels/slack/files.js +2 -3
  149. package/dist/channels/slack/files.js.map +1 -1
  150. package/dist/channels/slack/index.d.ts +90 -2
  151. package/dist/channels/slack/index.d.ts.map +1 -1
  152. package/dist/channels/slack/index.js +188 -6
  153. package/dist/channels/slack/index.js.map +1 -1
  154. package/dist/channels/slack/message-content.d.ts.map +1 -1
  155. package/dist/channels/slack/message-content.js +23 -28
  156. package/dist/channels/slack/message-content.js.map +1 -1
  157. package/dist/channels/slack/status.d.ts +76 -0
  158. package/dist/channels/slack/status.d.ts.map +1 -0
  159. package/dist/channels/slack/status.js +427 -0
  160. package/dist/channels/slack/status.js.map +1 -0
  161. package/dist/channels/source-providers.js +1 -1
  162. package/dist/channels/source-providers.js.map +1 -1
  163. package/dist/channels/trigger/client.d.ts.map +1 -1
  164. package/dist/channels/trigger/client.js +9 -15
  165. package/dist/channels/trigger/client.js.map +1 -1
  166. package/dist/channels/trigger/conversation.d.ts +11 -0
  167. package/dist/channels/trigger/conversation.d.ts.map +1 -0
  168. package/dist/channels/trigger/conversation.js +72 -0
  169. package/dist/channels/trigger/conversation.js.map +1 -0
  170. package/dist/channels/trigger/http.d.ts +130 -4
  171. package/dist/channels/trigger/http.d.ts.map +1 -1
  172. package/dist/channels/trigger/http.js +408 -78
  173. package/dist/channels/trigger/http.js.map +1 -1
  174. package/dist/channels/trigger/identity-context.d.ts.map +1 -1
  175. package/dist/channels/trigger/identity-context.js +2 -5
  176. package/dist/channels/trigger/identity-context.js.map +1 -1
  177. package/dist/channels/trigger/ingress.d.ts +70 -1
  178. package/dist/channels/trigger/ingress.d.ts.map +1 -1
  179. package/dist/channels/trigger/ingress.js +135 -21
  180. package/dist/channels/trigger/ingress.js.map +1 -1
  181. package/dist/channels/trigger/transport.d.ts +10 -0
  182. package/dist/channels/trigger/transport.d.ts.map +1 -1
  183. package/dist/channels/trigger/transport.js +25 -9
  184. package/dist/channels/trigger/transport.js.map +1 -1
  185. package/dist/channels/trigger/types.d.ts +92 -3
  186. package/dist/channels/trigger/types.d.ts.map +1 -1
  187. package/dist/channels/trigger/types.js +37 -0
  188. package/dist/channels/trigger/types.js.map +1 -1
  189. package/dist/channels/types.d.ts +53 -4
  190. package/dist/channels/types.d.ts.map +1 -1
  191. package/dist/channels/types.js +2 -0
  192. package/dist/channels/types.js.map +1 -1
  193. package/dist/connections.d.ts +36 -12
  194. package/dist/connections.d.ts.map +1 -1
  195. package/dist/connections.js +125 -30
  196. package/dist/connections.js.map +1 -1
  197. package/dist/connectors/mcp/langsmith-url.d.ts.map +1 -1
  198. package/dist/connectors/mcp/langsmith-url.js +0 -1
  199. package/dist/connectors/mcp/langsmith-url.js.map +1 -1
  200. package/dist/credential-gate.d.ts +2 -0
  201. package/dist/credential-gate.d.ts.map +1 -1
  202. package/dist/credential-gate.js +37 -3
  203. package/dist/credential-gate.js.map +1 -1
  204. package/dist/define-deep-agent.d.ts +2 -2
  205. package/dist/define-deep-agent.d.ts.map +1 -1
  206. package/dist/define-deep-agent.js +53 -2
  207. package/dist/define-deep-agent.js.map +1 -1
  208. package/dist/identity/index.d.ts.map +1 -1
  209. package/dist/identity/index.js +3 -1
  210. package/dist/identity/index.js.map +1 -1
  211. package/dist/identity/loopback.d.ts +1 -1
  212. package/dist/identity/loopback.d.ts.map +1 -1
  213. package/dist/identity/loopback.js +3 -2
  214. package/dist/identity/loopback.js.map +1 -1
  215. package/dist/identity/options.d.ts +9 -0
  216. package/dist/identity/options.d.ts.map +1 -1
  217. package/dist/identity/options.js +1 -1
  218. package/dist/identity/options.js.map +1 -1
  219. package/dist/identity/slack/links.js +3 -2
  220. package/dist/identity/slack/links.js.map +1 -1
  221. package/dist/identity/types.d.ts +3 -0
  222. package/dist/identity/types.d.ts.map +1 -1
  223. package/dist/index.d.ts +19 -5
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +3 -1
  226. package/dist/index.js.map +1 -1
  227. package/dist/ingress/loopback.d.ts +1 -0
  228. package/dist/ingress/loopback.d.ts.map +1 -1
  229. package/dist/ingress/loopback.js +7 -3
  230. package/dist/ingress/loopback.js.map +1 -1
  231. package/dist/ingress/runs.d.ts +74 -1
  232. package/dist/ingress/runs.d.ts.map +1 -1
  233. package/dist/ingress/runs.js +184 -9
  234. package/dist/ingress/runs.js.map +1 -1
  235. package/dist/managed-composition.d.ts +3 -0
  236. package/dist/managed-composition.d.ts.map +1 -1
  237. package/dist/managed-composition.js +29 -13
  238. package/dist/managed-composition.js.map +1 -1
  239. package/dist/namespaces.d.ts +25 -21
  240. package/dist/namespaces.d.ts.map +1 -1
  241. package/dist/namespaces.js +4 -29
  242. package/dist/namespaces.js.map +1 -1
  243. package/dist/runtime/async-subagents.d.ts +27 -0
  244. package/dist/runtime/async-subagents.d.ts.map +1 -0
  245. package/dist/runtime/async-subagents.js +139 -0
  246. package/dist/runtime/async-subagents.js.map +1 -0
  247. package/dist/runtime/auth.d.ts.map +1 -1
  248. package/dist/runtime/auth.js +177 -8
  249. package/dist/runtime/auth.js.map +1 -1
  250. package/dist/runtime/backend.d.ts +9 -1
  251. package/dist/runtime/backend.d.ts.map +1 -1
  252. package/dist/runtime/backend.js +36 -11
  253. package/dist/runtime/backend.js.map +1 -1
  254. package/dist/runtime/browser-facade.d.ts +10 -0
  255. package/dist/runtime/browser-facade.d.ts.map +1 -0
  256. package/dist/runtime/browser-facade.js +23 -0
  257. package/dist/runtime/browser-facade.js.map +1 -0
  258. package/dist/runtime/browser-langsmith.d.ts +143 -0
  259. package/dist/runtime/browser-langsmith.d.ts.map +1 -0
  260. package/dist/runtime/browser-langsmith.js +508 -0
  261. package/dist/runtime/browser-langsmith.js.map +1 -0
  262. package/dist/runtime/browser-recorder.py +831 -0
  263. package/dist/runtime/browser-selection.d.ts +10 -0
  264. package/dist/runtime/browser-selection.d.ts.map +1 -0
  265. package/dist/runtime/browser-selection.js +21 -0
  266. package/dist/runtime/browser-selection.js.map +1 -0
  267. package/dist/runtime/browser.d.ts +138 -0
  268. package/dist/runtime/browser.d.ts.map +1 -0
  269. package/dist/runtime/browser.js +802 -0
  270. package/dist/runtime/browser.js.map +1 -0
  271. package/dist/runtime/channel-icon.d.ts +22 -0
  272. package/dist/runtime/channel-icon.d.ts.map +1 -0
  273. package/dist/runtime/channel-icon.js +81 -0
  274. package/dist/runtime/channel-icon.js.map +1 -0
  275. package/dist/runtime/channel.d.ts +11 -0
  276. package/dist/runtime/channel.d.ts.map +1 -1
  277. package/dist/runtime/channel.js.map +1 -1
  278. package/dist/runtime/graph-build-timing.d.ts +30 -0
  279. package/dist/runtime/graph-build-timing.d.ts.map +1 -0
  280. package/dist/runtime/graph-build-timing.js +50 -0
  281. package/dist/runtime/graph-build-timing.js.map +1 -0
  282. package/dist/runtime/identity-http.d.ts +2 -0
  283. package/dist/runtime/identity-http.d.ts.map +1 -1
  284. package/dist/runtime/identity-http.js +38 -2
  285. package/dist/runtime/identity-http.js.map +1 -1
  286. package/dist/runtime/identity-runtime.d.ts +10 -0
  287. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  288. package/dist/runtime/identity-runtime.js +22 -0
  289. package/dist/runtime/identity-runtime.js.map +1 -1
  290. package/dist/runtime/index.d.ts +38 -1
  291. package/dist/runtime/index.d.ts.map +1 -1
  292. package/dist/runtime/index.js +104 -50
  293. package/dist/runtime/index.js.map +1 -1
  294. package/dist/runtime/langsmith-env.d.ts +19 -0
  295. package/dist/runtime/langsmith-env.d.ts.map +1 -0
  296. package/dist/runtime/langsmith-env.js +38 -0
  297. package/dist/runtime/langsmith-env.js.map +1 -0
  298. package/dist/runtime/managed-thread.d.ts +61 -0
  299. package/dist/runtime/managed-thread.d.ts.map +1 -0
  300. package/dist/runtime/managed-thread.js +76 -0
  301. package/dist/runtime/managed-thread.js.map +1 -0
  302. package/dist/runtime/managed-tools.d.ts +10 -2
  303. package/dist/runtime/managed-tools.d.ts.map +1 -1
  304. package/dist/runtime/managed-tools.js +10 -8
  305. package/dist/runtime/managed-tools.js.map +1 -1
  306. package/dist/runtime/memory/policy.d.ts.map +1 -1
  307. package/dist/runtime/memory/policy.js +1 -3
  308. package/dist/runtime/memory/policy.js.map +1 -1
  309. package/dist/runtime/parent-run.d.ts +33 -0
  310. package/dist/runtime/parent-run.d.ts.map +1 -0
  311. package/dist/runtime/parent-run.js +114 -0
  312. package/dist/runtime/parent-run.js.map +1 -0
  313. package/dist/runtime/run-input.d.ts +14 -1
  314. package/dist/runtime/run-input.d.ts.map +1 -1
  315. package/dist/runtime/run-input.js +100 -7
  316. package/dist/runtime/run-input.js.map +1 -1
  317. package/dist/runtime/sandbox-manager.d.ts +32 -18
  318. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  319. package/dist/runtime/sandbox-manager.js +109 -65
  320. package/dist/runtime/sandbox-manager.js.map +1 -1
  321. package/dist/runtime/schedule-auth.d.ts +79 -0
  322. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  323. package/dist/runtime/schedule-auth.js +165 -7
  324. package/dist/runtime/schedule-auth.js.map +1 -1
  325. package/dist/runtime/static-entry.d.ts.map +1 -1
  326. package/dist/runtime/static-entry.js +1 -0
  327. package/dist/runtime/static-entry.js.map +1 -1
  328. package/dist/runtime/thread-record.d.ts +88 -0
  329. package/dist/runtime/thread-record.d.ts.map +1 -0
  330. package/dist/runtime/thread-record.js +213 -0
  331. package/dist/runtime/thread-record.js.map +1 -0
  332. package/dist/runtime/types.d.ts +12 -1
  333. package/dist/runtime/types.d.ts.map +1 -1
  334. package/dist/runtime-schedules.d.ts +15 -0
  335. package/dist/runtime-schedules.d.ts.map +1 -1
  336. package/dist/runtime-schedules.js +83 -20
  337. package/dist/runtime-schedules.js.map +1 -1
  338. package/dist/sandbox.d.ts +0 -6
  339. package/dist/sandbox.d.ts.map +1 -1
  340. package/dist/sandbox.js +3 -7
  341. package/dist/sandbox.js.map +1 -1
  342. package/dist/schedule-channel.d.ts +5 -2
  343. package/dist/schedule-channel.d.ts.map +1 -1
  344. package/dist/schedule-channel.js +13 -12
  345. package/dist/schedule-channel.js.map +1 -1
  346. package/dist/telemetry/metadata.d.ts.map +1 -1
  347. package/dist/telemetry/metadata.js +4 -4
  348. package/dist/telemetry/metadata.js.map +1 -1
  349. package/dist/telemetry/otel/exporter.d.ts.map +1 -1
  350. package/dist/telemetry/otel/exporter.js +3 -3
  351. package/dist/telemetry/otel/exporter.js.map +1 -1
  352. package/dist/types.d.ts +19 -2
  353. package/dist/types.d.ts.map +1 -1
  354. package/dist/types.js.map +1 -1
  355. package/dist/values.d.ts +15 -0
  356. package/dist/values.d.ts.map +1 -0
  357. package/dist/values.js +31 -0
  358. package/dist/values.js.map +1 -0
  359. package/package.json +26 -12
@@ -19,6 +19,15 @@ export declare const scheduleExecutionSchema: z.ZodObject<{
19
19
  mda_source_thread_id: z.ZodOptional<z.ZodString>;
20
20
  mda_scheduled_run: z.ZodOptional<z.ZodLiteral<true>>;
21
21
  }, z.core.$strict>;
22
+ export type ScheduleExecution = z.infer<typeof scheduleExecutionSchema>;
23
+ /** The thread participant a user schedule runs as, instead of its owner. */
24
+ export declare const runAsSchema: z.ZodObject<{
25
+ id: z.ZodString;
26
+ role: z.ZodEnum<{
27
+ member: "member";
28
+ owner: "owner";
29
+ }>;
30
+ }, z.core.$strict>;
22
31
  declare const accessSchema: z.ZodObject<{
23
32
  owner: z.ZodString;
24
33
  assistant: z.ZodString;
@@ -39,13 +48,81 @@ declare const accessSchema: z.ZodObject<{
39
48
  mda_scheduled_run: z.ZodOptional<z.ZodLiteral<true>>;
40
49
  }, z.core.$strict>;
41
50
  thread: z.ZodOptional<z.ZodString>;
51
+ run_as: z.ZodOptional<z.ZodObject<{
52
+ id: z.ZodString;
53
+ role: z.ZodEnum<{
54
+ member: "member";
55
+ owner: "owner";
56
+ }>;
57
+ }, z.core.$strict>>;
42
58
  }, z.core.$strict>;
43
59
  export type ScheduleAccess = z.infer<typeof accessSchema>;
60
+ declare const threadHandoffSchema: z.ZodObject<{
61
+ thread: z.ZodString;
62
+ execution: z.ZodObject<{
63
+ identity: z.ZodString;
64
+ permissions: z.ZodArray<z.ZodString>;
65
+ mda_user_id: z.ZodString;
66
+ mda_user_kind: z.ZodOptional<z.ZodEnum<{
67
+ service: "service";
68
+ user: "user";
69
+ }>>;
70
+ mda_agent_auth_principal_id: z.ZodOptional<z.ZodString>;
71
+ mda_identity_provider: z.ZodOptional<z.ZodString>;
72
+ mda_identity_issuer: z.ZodOptional<z.ZodString>;
73
+ mda_identity_subject: z.ZodOptional<z.ZodString>;
74
+ mda_source_provider: z.ZodOptional<z.ZodString>;
75
+ mda_source_thread_id: z.ZodOptional<z.ZodString>;
76
+ mda_scheduled_run: z.ZodOptional<z.ZodLiteral<true>>;
77
+ }, z.core.$strict>;
78
+ conversation: z.ZodObject<{
79
+ provider: z.ZodString;
80
+ source_thread_key: z.ZodString;
81
+ }, z.core.$strict>;
82
+ }, z.core.$strict>;
83
+ /** A scheduled run handing its thread to the conversation its post started. */
84
+ export type ThreadHandoff = z.infer<typeof threadHandoffSchema>;
85
+ declare const handoffGrantSchema: z.ZodObject<{
86
+ thread: z.ZodString;
87
+ execution: z.ZodObject<{
88
+ identity: z.ZodString;
89
+ permissions: z.ZodArray<z.ZodString>;
90
+ mda_user_id: z.ZodString;
91
+ mda_user_kind: z.ZodOptional<z.ZodEnum<{
92
+ service: "service";
93
+ user: "user";
94
+ }>>;
95
+ mda_agent_auth_principal_id: z.ZodOptional<z.ZodString>;
96
+ mda_identity_provider: z.ZodOptional<z.ZodString>;
97
+ mda_identity_issuer: z.ZodOptional<z.ZodString>;
98
+ mda_identity_subject: z.ZodOptional<z.ZodString>;
99
+ mda_source_provider: z.ZodOptional<z.ZodString>;
100
+ mda_source_thread_id: z.ZodOptional<z.ZodString>;
101
+ mda_scheduled_run: z.ZodOptional<z.ZodLiteral<true>>;
102
+ }, z.core.$strict>;
103
+ }, z.core.$strict>;
104
+ export declare const THREAD_HANDOFF_HEADER = "x-mda-thread-handoff";
44
105
  /** Use the deployed API URL and server key, or the local dev API. */
45
106
  export declare function scheduleRequestConfig(access: ScheduleAccess): {
46
107
  base: string;
47
108
  headers: Record<string, string>;
48
109
  };
110
+ /** The principal a managed cron fire runs as, from the run's configurable. */
111
+ export declare function scheduleExecution(configurable: Record<string, unknown> | undefined): ScheduleExecution | undefined;
112
+ /**
113
+ * Move a scheduled run's thread to the conversation its post started, with
114
+ * that conversation's record and key in `metadata`. The handoff can only follow
115
+ * the post, which names the conversation, so a failed request or an Agent
116
+ * Server error is retried. A retried run finds the thread already moved.
117
+ */
118
+ export declare function handOffScheduledThread(handoff: ThreadHandoff, metadata: Record<string, unknown>): Promise<void>;
119
+ /**
120
+ * The conversation a thread handoff names, as a channel caller, for one
121
+ * update of the scheduled run's own thread, or a read that checks it.
122
+ */
123
+ export declare function threadHandoffUser(request: Request): ManagedUser | undefined;
124
+ /** The thread and scheduled run a handoff caller may move, if it is one. */
125
+ export declare function threadHandoffGrant(user: unknown): z.infer<typeof handoffGrantSchema> | undefined;
49
126
  export declare function scheduleHandoffUser(request: Request): ManagedUser | undefined;
50
127
  export declare function scheduleAccess(user: unknown): ScheduleAccess | undefined;
51
128
  /**
@@ -58,5 +135,7 @@ export type CronEventValue = AuthEventValueMap["crons:create" | "crons:read" | "
58
135
  metadata?: Record<string, unknown>;
59
136
  };
60
137
  export declare function authorizeSchedule(user: ManagedUser, action: string, value: CronEventValue): Promise<AuthFilters<string>>;
138
+ /** Whether a record names the execution's conversation and only it as owner. */
139
+ export declare function isScheduleThreadRecord(metadata: unknown, execution: Pick<ManagedUser, "mda_user_id" | "mda_source_provider" | "mda_source_thread_id">): boolean;
61
140
  export {};
62
141
  //# sourceMappingURL=schedule-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-auth.d.ts","sourceRoot":"","sources":["../../src/runtime/schedule-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAM7C,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;kBAalC,CAAC;AAQH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;kBAKhB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE1D,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAiBA;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAyC7E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAKxE;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAC1C,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAuB7D,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA6F9B"}
1
+ {"version":3,"file":"schedule-auth.d.ts","sourceRoot":"","sources":["../../src/runtime/schedule-auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAa7C,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAC9D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;kBAalC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAQxE,4EAA4E;AAC5E,eAAO,MAAM,WAAW;;;;;;kBAGtB,CAAC;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMhB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE1D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;kBAOvB,CAAC;AACH,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;kBAGtB,CAAC;AACH,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAK5D,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAEA;AA2BD,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAChD,iBAAiB,GAAG,SAAS,CAO/B;AAmBD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAmCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAwB3E;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,GACZ,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GAAG,SAAS,CAKhD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAkC7E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAKxE;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAC1C,cAAc,GACd,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAuB7D,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAiG9B;AA8BD,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,IAAI,CACb,WAAW,EACX,aAAa,GAAG,qBAAqB,GAAG,sBAAsB,CAC/D,GACA,OAAO,CAaT"}
@@ -1,11 +1,15 @@
1
1
  import { timingSafeEqual } from "node:crypto";
2
+ import { setTimeout as sleep } from "node:timers/promises";
2
3
  import { HTTPException } from "@langchain/langgraph-sdk/auth";
3
4
  import { z } from "zod";
4
5
  import { validate as isUuid, v5 as uuid5 } from "uuid";
5
6
  import { isStudioAuthUser } from "./identity-runtime.js";
6
7
  import { isLoopbackUrl, resolveLoopbackApiUrl } from "../identity/loopback.js";
8
+ import { resolveServerApiKey } from "./langsmith-env.js";
7
9
  import { readScheduleDeliverTo } from "../channels/schedule-delivery.js";
10
+ import { isTrustedSourceProvider } from "../channels/source-providers.js";
8
11
  import { channelContextSchema, isManagedKey } from "../run-context.js";
12
+ import { THREAD_CONVERSATION_METADATA, parseThreadRecord, stripThreadRecordKeys, } from "./thread-record.js";
9
13
  export const SCHEDULE_HANDOFF_HEADER = "x-mda-schedule-handoff";
10
14
  export const SCHEDULE_LIMIT_PREFIX = "Schedule limit reached";
11
15
  export const scheduleExecutionSchema = z.strictObject({
@@ -29,34 +33,66 @@ const scheduleContextSchema = z.looseObject({
29
33
  }),
30
34
  mda_channel: z.unknown().optional(),
31
35
  });
36
+ /** The thread participant a user schedule runs as, instead of its owner. */
37
+ export const runAsSchema = z.strictObject({
38
+ id: z.string().min(1),
39
+ role: z.enum(["owner", "member"]),
40
+ });
32
41
  const accessSchema = z.strictObject({
33
42
  owner: z.string().min(1),
34
43
  assistant: z.string().uuid(),
35
44
  execution: scheduleExecutionSchema,
36
45
  thread: z.string().uuid().optional(),
46
+ run_as: runAsSchema.optional(),
47
+ });
48
+ const threadHandoffSchema = z.strictObject({
49
+ thread: z.string().uuid(),
50
+ execution: scheduleExecutionSchema,
51
+ conversation: z.strictObject({
52
+ provider: z.string().min(1),
53
+ source_thread_key: z.string().min(1),
54
+ }),
55
+ });
56
+ const handoffGrantSchema = z.strictObject({
57
+ thread: z.string().uuid(),
58
+ execution: scheduleExecutionSchema,
59
+ });
60
+ export const THREAD_HANDOFF_HEADER = "x-mda-thread-handoff";
61
+ const handedOffThreadSchema = z.object({
62
+ metadata: z.record(z.string(), z.unknown()),
37
63
  });
38
64
  /** Use the deployed API URL and server key, or the local dev API. */
39
65
  export function scheduleRequestConfig(access) {
66
+ return handoffRequestConfig(SCHEDULE_HANDOFF_HEADER, access);
67
+ }
68
+ function handoffRequestConfig(header, value) {
40
69
  const hosted = process.env.LANGSMITH_HOST_API_URL?.trim().replace(/\/+$/, "");
41
70
  const base = hosted || resolveLoopbackApiUrl();
42
71
  const secret = process.env.MDA_HANDOFF_SECRET;
43
- const apiKey = process.env.LANGSMITH_API_KEY?.trim();
72
+ const apiKey = resolveServerApiKey();
44
73
  if (!secret ||
45
74
  (!isLoopbackUrl(base) && !(hosted?.startsWith("https://") && apiKey)))
46
75
  throw new Error("Schedules require an authenticated Agent Server");
47
76
  const headers = {
48
77
  "content-type": "application/json",
49
78
  "x-mda-handoff-secret": secret,
50
- [SCHEDULE_HANDOFF_HEADER]: JSON.stringify(access),
79
+ [header]: JSON.stringify(value),
51
80
  };
52
81
  if (hosted && apiKey)
53
82
  headers["x-api-key"] = apiKey;
54
83
  return { base, headers };
55
84
  }
56
- export function scheduleHandoffUser(request) {
57
- const raw = request.headers.get(SCHEDULE_HANDOFF_HEADER);
58
- if (raw === null)
59
- return undefined;
85
+ /** The principal a managed cron fire runs as, from the run's configurable. */
86
+ export function scheduleExecution(configurable) {
87
+ const parsed = z
88
+ .object(scheduleExecutionSchema.shape)
89
+ .safeParse(configurable?.langgraph_auth_user);
90
+ return parsed.success && parsed.data.mda_scheduled_run === true
91
+ ? parsed.data
92
+ : undefined;
93
+ }
94
+ /** Reject a handoff header unless the request carries the handoff secret. */
95
+ function verifyHandoffSecret(request, raw) {
60
96
  const expected = process.env.MDA_HANDOFF_SECRET;
61
97
  const supplied = request.headers.get("x-mda-handoff-secret");
62
98
  if (!expected ||
@@ -65,6 +101,97 @@ export function scheduleHandoffUser(request) {
65
101
  !timingSafeEqual(Buffer.from(expected), Buffer.from(supplied)) ||
66
102
  raw.length > 8192)
67
103
  deny();
104
+ }
105
+ /** The waits before each retry of a handoff that failed for a reason a retry can fix. */
106
+ const HANDOFF_RETRY_DELAYS_MS = [500, 2_000];
107
+ /**
108
+ * Move a scheduled run's thread to the conversation its post started, with
109
+ * that conversation's record and key in `metadata`. The handoff can only follow
110
+ * the post, which names the conversation, so a failed request or an Agent
111
+ * Server error is retried. A retried run finds the thread already moved.
112
+ */
113
+ export async function handOffScheduledThread(handoff, metadata) {
114
+ const { base, headers } = handoffRequestConfig(THREAD_HANDOFF_HEADER, handoff);
115
+ const url = `${base}/threads/${handoff.thread}`;
116
+ for (const delay of [...HANDOFF_RETRY_DELAYS_MS, undefined]) {
117
+ const status = await moveThread(url, headers, metadata, handoff).catch(() => undefined);
118
+ if (status === "moved")
119
+ return;
120
+ if (delay === undefined || (status !== undefined && status < 500))
121
+ throw new Error(`Thread handoff failed${status === undefined ? "" : ` with status ${status}`}`);
122
+ await sleep(delay);
123
+ }
124
+ }
125
+ /** One handoff attempt: `"moved"`, or the status that refused it. */
126
+ async function moveThread(url, headers, metadata, handoff) {
127
+ const request = { redirect: "error", headers };
128
+ const moved = await fetch(url, {
129
+ ...request,
130
+ method: "PATCH",
131
+ body: JSON.stringify({ metadata }),
132
+ signal: AbortSignal.timeout(15_000),
133
+ });
134
+ await moved.body?.cancel();
135
+ if (moved.ok)
136
+ return "moved";
137
+ if (moved.status !== 404)
138
+ return moved.status;
139
+ const current = await fetch(url, {
140
+ ...request,
141
+ signal: AbortSignal.timeout(15_000),
142
+ });
143
+ if (!current.ok) {
144
+ await current.body?.cancel();
145
+ return moved.status;
146
+ }
147
+ const thread = handedOffThreadSchema.safeParse(await current.json());
148
+ return thread.success &&
149
+ thread.data.metadata[THREAD_CONVERSATION_METADATA] ===
150
+ handoff.conversation.source_thread_key
151
+ ? "moved"
152
+ : moved.status;
153
+ }
154
+ /**
155
+ * The conversation a thread handoff names, as a channel caller, for one
156
+ * update of the scheduled run's own thread, or a read that checks it.
157
+ */
158
+ export function threadHandoffUser(request) {
159
+ const raw = request.headers.get(THREAD_HANDOFF_HEADER);
160
+ if (raw === null)
161
+ return undefined;
162
+ verifyHandoffSecret(request, raw);
163
+ let handoff;
164
+ try {
165
+ handoff = threadHandoffSchema.parse(JSON.parse(raw));
166
+ }
167
+ catch {
168
+ return deny();
169
+ }
170
+ const { thread, execution, conversation } = handoff;
171
+ if ((request.method !== "PATCH" && request.method !== "GET") ||
172
+ new URL(request.url).pathname !== `/threads/${thread}` ||
173
+ execution.mda_scheduled_run !== true ||
174
+ !isTrustedSourceProvider(conversation.provider))
175
+ deny();
176
+ return {
177
+ ...execution,
178
+ mda_source_provider: conversation.provider,
179
+ mda_source_thread_id: conversation.source_thread_key,
180
+ mda_thread_handoff: { thread, execution },
181
+ };
182
+ }
183
+ /** The thread and scheduled run a handoff caller may move, if it is one. */
184
+ export function threadHandoffGrant(user) {
185
+ if (!user || typeof user !== "object" || !("mda_thread_handoff" in user))
186
+ return undefined;
187
+ const parsed = handoffGrantSchema.safeParse(user.mda_thread_handoff);
188
+ return parsed.success ? parsed.data : undefined;
189
+ }
190
+ export function scheduleHandoffUser(request) {
191
+ const raw = request.headers.get(SCHEDULE_HANDOFF_HEADER);
192
+ if (raw === null)
193
+ return undefined;
194
+ verifyHandoffSecret(request, raw);
68
195
  let access;
69
196
  try {
70
197
  access = accessSchema.parse(JSON.parse(raw));
@@ -84,7 +211,9 @@ export function scheduleHandoffUser(request) {
84
211
  access.execution.mda_agent_auth_principal_id)
85
212
  deny();
86
213
  }
87
- else if (access.owner !== `user:${access.execution.mda_user_id}` ||
214
+ else if (!access.owner.startsWith("user:") ||
215
+ (access.owner !== `user:${access.execution.mda_user_id}` &&
216
+ access.run_as?.id !== access.execution.mda_user_id) ||
88
217
  access.execution.mda_user_kind === "service" ||
89
218
  !access.execution.mda_agent_auth_principal_id)
90
219
  deny();
@@ -120,6 +249,7 @@ export async function authorizeSchedule(user, action, value) {
120
249
  const access = scheduleAccess(user);
121
250
  // Upstream types `payload` as an open record; this is the subset read here.
122
251
  const data = value;
252
+ guardCronThreadRecord(action, data, access);
123
253
  if (!access) {
124
254
  if (!isStudioAuthUser(user) && !isLocalDevOperator(user))
125
255
  return deny();
@@ -192,6 +322,34 @@ export async function authorizeSchedule(user, action, value) {
192
322
  await checkScheduleLimit(access, data.cron_id);
193
323
  return filters;
194
324
  }
325
+ /**
326
+ * Strip the thread record from a cron unless the runtime creates a new-thread
327
+ * schedule whose record is the execution's own conversation. Cron metadata
328
+ * merges over the thread's, so a same-thread cron never carries one.
329
+ */
330
+ function guardCronThreadRecord(action, data, access) {
331
+ const keepRecord = action === "create" &&
332
+ !!access &&
333
+ !data.thread_id &&
334
+ isScheduleThreadRecord(data.metadata, access.execution);
335
+ // The payload can be the request body, which holds the same metadata.
336
+ stripThreadRecordKeys(data.metadata, { keepRecord });
337
+ stripThreadRecordKeys(data.payload?.metadata, { keepRecord });
338
+ stripThreadRecordKeys(data.payload?.config?.metadata);
339
+ }
340
+ /** Whether a record names the execution's conversation and only it as owner. */
341
+ export function isScheduleThreadRecord(metadata, execution) {
342
+ const record = parseThreadRecord(metadata, { exact: true });
343
+ const [owner, ...others] = record?.participants ?? [];
344
+ return (!!record?.origin &&
345
+ record.origin.channel.provider === execution.mda_source_provider &&
346
+ record.origin.channel.source_thread_key ===
347
+ execution.mda_source_thread_id &&
348
+ (owner === undefined ||
349
+ (owner.id === execution.mda_user_id &&
350
+ owner.role === "owner" &&
351
+ !others.length)));
352
+ }
195
353
  /** Cron routing lives in the run context; the principal is the only configurable entry. */
196
354
  function stampExecution(payload, execution) {
197
355
  const configurable = ((payload.config ??= {}).configurable ??= {});
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-auth.js","sourceRoot":"","sources":["../../src/runtime/schedule-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-auth.js","sourceRoot":"","sources":["../../src/runtime/schedule-auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"static-entry.d.ts","sourceRoot":"","sources":["../../src/runtime/static-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUvD,wEAAwE;AACxE,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,mBAAmB,GAC9B,IAAI,CAMN"}
1
+ {"version":3,"file":"static-entry.d.ts","sourceRoot":"","sources":["../../src/runtime/static-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAWvD,wEAAwE;AACxE,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,mBAAmB,GAC9B,IAAI,CAMN"}
@@ -4,6 +4,7 @@ const DYNAMIC_ONLY_FIELDS = [
4
4
  "mcp",
5
5
  "sandbox",
6
6
  "skills",
7
+ "browser",
7
8
  ];
8
9
  /** Reject run-selected fields on a static exported agent definition. */
9
10
  export function assertStaticAgentDefinition(definition) {
@@ -1 +1 @@
1
- {"version":3,"file":"static-entry.js","sourceRoot":"","sources":["../../src/runtime/static-entry.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG;IAC1B,cAAc;IACd,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;CACA,CAAC;AAEX,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,UAA+B;IAE/B,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,kCAAkC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"static-entry.js","sourceRoot":"","sources":["../../src/runtime/static-entry.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG;IAC1B,cAAc;IACd,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,SAAS;CACD,CAAC;AAEX,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,UAA+B;IAE/B,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,kCAAkC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { z } from "zod";
2
+ import type { ChannelBinding } from "../channels/binding.js";
3
+ export declare const THREAD_RECORD_METADATA = "ls_mda_thread";
4
+ export declare const THREAD_PARTICIPANTS_METADATA = "ls_mda_participants";
5
+ /**
6
+ * The source thread key of a conversation a scheduled run started, on the
7
+ * run's own thread. Ingress runs the conversation's events there.
8
+ */
9
+ export declare const THREAD_CONVERSATION_METADATA = "ls_mda_conversation";
10
+ /** Every thread-record key; only managed ingress may write one. */
11
+ export declare const THREAD_RECORD_METADATA_PREFIX = "ls_mda_";
12
+ export type ThreadRole = "owner" | "member";
13
+ /** A person on the thread, by `principal.id`. */
14
+ export interface ThreadRecordParticipant {
15
+ id: string;
16
+ role: ThreadRole;
17
+ }
18
+ declare const storedOriginSchema: z.ZodObject<{
19
+ channel: z.ZodObject<{
20
+ name: z.ZodString;
21
+ provider: z.ZodString;
22
+ transport: z.ZodEnum<{
23
+ direct: "direct";
24
+ trigger_server: "trigger_server";
25
+ }>;
26
+ source_thread_key: z.ZodString;
27
+ address: z.ZodJSONSchema;
28
+ delivery_id: z.ZodString;
29
+ }, z.core.$strict>;
30
+ sender: z.ZodDefault<z.ZodNullable<z.ZodString>>;
31
+ }, z.core.$strict>;
32
+ /** A Trigger binding's target: the channel, its opaque address and its thread. */
33
+ export declare const triggerTargetSchema: z.ZodObject<{
34
+ channel_id: z.ZodString;
35
+ address: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
36
+ source_thread_key: z.ZodString;
37
+ }, z.core.$strip>;
38
+ export type StoredOrigin = z.infer<typeof storedOriginSchema>;
39
+ export interface ThreadRecord {
40
+ origin: StoredOrigin | null;
41
+ /** In the order they joined the thread. */
42
+ participants: ThreadRecordParticipant[];
43
+ }
44
+ /** A binding rebuilt from a stored origin: it has no event. */
45
+ export type OriginBinding = Omit<ChannelBinding, "event" | "rawEvent">;
46
+ /**
47
+ * A person is a non-blank principal id outside the `mda:` service namespace
48
+ * (`mda:channel`, `mda:slack`, `mda:schedule:*`).
49
+ */
50
+ export declare function isPersonPrincipal(id: unknown): id is string;
51
+ /** The stored form of a binding: no event, and its target as `address`. */
52
+ export declare function originFromBinding(binding: OriginBinding, sender: string | null): StoredOrigin;
53
+ /** The binding a stored origin was made from, without its event. */
54
+ export declare function bindingFromOrigin(origin: StoredOrigin): OriginBinding | undefined;
55
+ /**
56
+ * The record in a thread's or run's metadata, or `null` when there is none or
57
+ * it is malformed. A malformed origin keeps the participants. With `exact`,
58
+ * as a write must be, a malformed origin or a participant list that does not
59
+ * name exactly the participants rejects the whole record.
60
+ */
61
+ export declare function parseThreadRecord(metadata: unknown, { exact }?: {
62
+ exact?: boolean;
63
+ }): ThreadRecord | null;
64
+ /**
65
+ * The record after a channel event: the event's channel is the origin, and a
66
+ * person who sends it joins, as owner when they are the first.
67
+ */
68
+ export declare function nextThreadRecord(current: ThreadRecord | null, binding: OriginBinding, senderId: string): ThreadRecord;
69
+ /** The metadata keys that store a record. */
70
+ export declare function threadRecordMetadata(record: ThreadRecord): {
71
+ [THREAD_RECORD_METADATA]: Record<string, unknown>;
72
+ [THREAD_PARTICIPANTS_METADATA]: string[];
73
+ };
74
+ /** Whether metadata already stores exactly this record. */
75
+ export declare function storesThreadRecord(metadata: unknown, record: ThreadRecord): boolean;
76
+ /**
77
+ * Remove every thread-record key from a metadata object, in place. With
78
+ * `keepRecord`, the two keys a record is stored in stay; with
79
+ * `keepConversation`, the conversation key stays too.
80
+ */
81
+ export declare function stripThreadRecordKeys(metadata: unknown, { keepRecord, keepConversation, }?: {
82
+ keepRecord?: boolean;
83
+ keepConversation?: boolean;
84
+ }): void;
85
+ /** Whether metadata names any thread-record key. */
86
+ export declare function hasThreadRecordKeys(metadata: unknown): boolean;
87
+ export {};
88
+ //# sourceMappingURL=thread-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-record.d.ts","sourceRoot":"","sources":["../../src/runtime/thread-record.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAClE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAClE,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,YAAY,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;CAClB;AAWD,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;kBAGtB,CAAC;AASH,kFAAkF;AAClF,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAMH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,2CAA2C;IAC3C,YAAY,EAAE,uBAAuB,EAAE,CAAC;CACzC;AAED,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAWvE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAE3D;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,YAAY,CAqBd;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,GACnB,aAAa,GAAG,SAAS,CAqB3B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EACjB,EAAE,KAAa,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,YAAY,GAAG,IAAI,CAgCrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GACf,YAAY,CASd;AAED,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG;IAC1D,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1C,CAYA;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAaT;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EACjB,EACE,UAAkB,EAClB,gBAAwB,GACzB,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3D,IAAI,CAWN;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAO9D"}