@sixb/core 0.1.0 → 0.1.2

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 (1196) hide show
  1. package/README.md +54 -23
  2. package/dist/actions/commit-edits.d.ts +0 -2
  3. package/dist/actions/commit-edits.d.ts.map +1 -1
  4. package/dist/actions/execution.d.ts +21 -0
  5. package/dist/actions/execution.d.ts.map +1 -0
  6. package/dist/actions/index.d.ts +1 -1
  7. package/dist/actions/index.d.ts.map +1 -1
  8. package/dist/actions/index.js +34 -23
  9. package/dist/actions/index.js.map +1 -1
  10. package/dist/actions/registry.d.ts +16 -7
  11. package/dist/actions/registry.d.ts.map +1 -1
  12. package/dist/actions/request.d.ts +3 -2
  13. package/dist/actions/request.d.ts.map +1 -1
  14. package/dist/actions/run-dispatch.d.ts +21 -0
  15. package/dist/actions/run-dispatch.d.ts.map +1 -0
  16. package/dist/actions/types/context.d.ts +2 -2
  17. package/dist/actions/types/context.d.ts.map +1 -1
  18. package/dist/actions/validation.d.ts +1 -1
  19. package/dist/actions/validation.d.ts.map +1 -1
  20. package/dist/actions/worker.js +4 -4
  21. package/dist/actions/worker.js.map +1 -1
  22. package/dist/agents/adapters.d.ts +10 -0
  23. package/dist/agents/adapters.d.ts.map +1 -1
  24. package/dist/agents/authority.d.ts +31 -0
  25. package/dist/agents/authority.d.ts.map +1 -0
  26. package/dist/agents/builders.d.ts +8 -1
  27. package/dist/agents/builders.d.ts.map +1 -1
  28. package/dist/agents/context.js +2 -2
  29. package/dist/agents/dispatch.d.ts.map +1 -1
  30. package/dist/agents/errors.d.ts +16 -1
  31. package/dist/agents/errors.d.ts.map +1 -1
  32. package/dist/agents/execution.d.ts +45 -0
  33. package/dist/agents/execution.d.ts.map +1 -0
  34. package/dist/agents/index.d.ts +10 -10
  35. package/dist/agents/index.d.ts.map +1 -1
  36. package/dist/agents/index.js +81 -14
  37. package/dist/agents/index.js.map +1 -1
  38. package/dist/agents/prompt.d.ts.map +1 -1
  39. package/dist/agents/request.d.ts +6 -2
  40. package/dist/agents/request.d.ts.map +1 -1
  41. package/dist/agents/streams.d.ts +29 -3
  42. package/dist/agents/streams.d.ts.map +1 -1
  43. package/dist/agents/streams.js +22 -3
  44. package/dist/agents/streams.js.map +1 -1
  45. package/dist/agents/tool-definition.d.ts +9 -0
  46. package/dist/agents/tool-definition.d.ts.map +1 -0
  47. package/dist/agents/types.d.ts +64 -0
  48. package/dist/agents/types.d.ts.map +1 -1
  49. package/dist/agents/validation.d.ts +16 -3
  50. package/dist/agents/validation.d.ts.map +1 -1
  51. package/dist/auth/attribution.d.ts +17 -0
  52. package/dist/auth/attribution.d.ts.map +1 -0
  53. package/dist/auth/index.d.ts +1 -0
  54. package/dist/auth/index.d.ts.map +1 -1
  55. package/dist/auth/index.js +9 -5
  56. package/dist/auth/index.js.map +1 -1
  57. package/dist/auth/runtime.d.ts +4 -4
  58. package/dist/auth/runtime.d.ts.map +1 -1
  59. package/dist/authorization/decision.d.ts +24 -11
  60. package/dist/authorization/decision.d.ts.map +1 -1
  61. package/dist/authorization/grant-kinds.d.ts +2 -1
  62. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  63. package/dist/authorization/index.d.ts +1 -1
  64. package/dist/authorization/index.d.ts.map +1 -1
  65. package/dist/authorization/index.js +8 -4
  66. package/dist/authorization/index.js.map +1 -1
  67. package/dist/blob-storage/browser.js +3 -2
  68. package/dist/blob-storage/browser.js.map +1 -1
  69. package/dist/blob-storage/execution.d.ts +16 -0
  70. package/dist/blob-storage/execution.d.ts.map +1 -0
  71. package/dist/blob-storage/index.js +4 -3
  72. package/dist/blob-storage/index.js.map +1 -1
  73. package/dist/blob-storage/validation.d.ts.map +1 -1
  74. package/dist/bootstrap/discovery.d.ts +90 -24
  75. package/dist/bootstrap/discovery.d.ts.map +1 -1
  76. package/dist/bootstrap/index.d.ts +2 -1
  77. package/dist/bootstrap/index.d.ts.map +1 -1
  78. package/dist/bootstrap/index.js +59 -59
  79. package/dist/bootstrap/index.js.map +1 -1
  80. package/dist/broker/in-memory.d.ts.map +1 -1
  81. package/dist/broker/index.js +2 -2
  82. package/dist/broker/types.d.ts +5 -0
  83. package/dist/broker/types.d.ts.map +1 -1
  84. package/dist/chunk-0172wgm9.js +333 -0
  85. package/dist/chunk-0172wgm9.js.map +11 -0
  86. package/dist/chunk-0k4avqr2.js +317 -0
  87. package/dist/chunk-0k4avqr2.js.map +11 -0
  88. package/dist/chunk-0mbx247x.js +2922 -0
  89. package/dist/chunk-0mbx247x.js.map +43 -0
  90. package/dist/chunk-34bqh420.js +1168 -0
  91. package/dist/chunk-34bqh420.js.map +23 -0
  92. package/dist/{chunk-mx84y05q.js → chunk-3j7573mj.js} +2 -2
  93. package/dist/{chunk-mx84y05q.js.map → chunk-3j7573mj.js.map} +2 -2
  94. package/dist/{chunk-45tw90k7.js → chunk-4gz41why.js} +1 -1
  95. package/dist/chunk-4x43bkbp.js +55 -0
  96. package/dist/chunk-4x43bkbp.js.map +11 -0
  97. package/dist/{chunk-xqbtf4wn.js → chunk-57r1cpxx.js} +3 -2
  98. package/dist/{chunk-xqbtf4wn.js.map → chunk-57r1cpxx.js.map} +3 -3
  99. package/dist/chunk-57zpb99z.js +194 -0
  100. package/dist/chunk-57zpb99z.js.map +10 -0
  101. package/dist/{chunk-dhmj53mx.js → chunk-5egfka8j.js} +13 -33
  102. package/dist/chunk-5egfka8j.js.map +15 -0
  103. package/dist/chunk-5gd7tpv6.js +28 -0
  104. package/dist/chunk-5gd7tpv6.js.map +11 -0
  105. package/dist/{chunk-867jxh7c.js → chunk-5sz8ta9r.js} +6 -295
  106. package/dist/chunk-5sz8ta9r.js.map +16 -0
  107. package/dist/chunk-62c7t4jc.js +27 -0
  108. package/dist/chunk-62c7t4jc.js.map +11 -0
  109. package/dist/{chunk-8r8cw2xw.js → chunk-63te770v.js} +40 -5
  110. package/dist/{chunk-8r8cw2xw.js.map → chunk-63te770v.js.map} +3 -3
  111. package/dist/chunk-663csy96.js +34 -0
  112. package/dist/chunk-663csy96.js.map +10 -0
  113. package/dist/{chunk-xz5g49bp.js → chunk-6gjqgd3d.js} +3 -1
  114. package/dist/chunk-6gjqgd3d.js.map +11 -0
  115. package/dist/chunk-7pc8b818.js +128 -0
  116. package/dist/chunk-7pc8b818.js.map +13 -0
  117. package/dist/{chunk-f2b5e2gf.js → chunk-85j5ybfj.js} +18 -3
  118. package/dist/{chunk-f2b5e2gf.js.map → chunk-85j5ybfj.js.map} +3 -3
  119. package/dist/{chunk-vj723r3p.js → chunk-8b55ygje.js} +1 -1
  120. package/dist/chunk-8m5ejdpn.js +33 -0
  121. package/dist/chunk-8m5ejdpn.js.map +10 -0
  122. package/dist/chunk-8ryen3p3.js +118 -0
  123. package/dist/chunk-8ryen3p3.js.map +10 -0
  124. package/dist/chunk-979ww6b3.js +298 -0
  125. package/dist/chunk-979ww6b3.js.map +12 -0
  126. package/dist/{chunk-ya6brh8a.js → chunk-9t8f5xfx.js} +10 -5
  127. package/dist/chunk-9t8f5xfx.js.map +11 -0
  128. package/dist/{chunk-r65yscvk.js → chunk-a31h57d5.js} +131 -13
  129. package/dist/chunk-a31h57d5.js.map +13 -0
  130. package/dist/chunk-bct7hmfc.js +402 -0
  131. package/dist/chunk-bct7hmfc.js.map +14 -0
  132. package/dist/chunk-bh6k3nc6.js +164 -0
  133. package/dist/chunk-bh6k3nc6.js.map +12 -0
  134. package/dist/{chunk-t72dvahb.js → chunk-bhxaq2nn.js} +61 -44
  135. package/dist/chunk-bhxaq2nn.js.map +12 -0
  136. package/dist/{chunk-jdwx7vzs.js → chunk-c6qd89g5.js} +240 -143
  137. package/dist/chunk-c6qd89g5.js.map +15 -0
  138. package/dist/{chunk-2s6sydsh.js → chunk-ckxfnx7f.js} +294 -4
  139. package/dist/chunk-ckxfnx7f.js.map +13 -0
  140. package/dist/chunk-cy0n5dms.js +27 -0
  141. package/dist/chunk-cy0n5dms.js.map +11 -0
  142. package/dist/chunk-dsrkgtnh.js +50 -0
  143. package/dist/chunk-dsrkgtnh.js.map +10 -0
  144. package/dist/{chunk-50kv63vj.js → chunk-dysw7nsm.js} +118 -26
  145. package/dist/chunk-dysw7nsm.js.map +14 -0
  146. package/dist/chunk-ezake7g1.js +32 -0
  147. package/dist/chunk-ezake7g1.js.map +11 -0
  148. package/dist/{chunk-yxss87qa.js → chunk-f2rt4vkh.js} +48 -29
  149. package/dist/chunk-f2rt4vkh.js.map +14 -0
  150. package/dist/{chunk-q4qzq0ea.js → chunk-fmx1sz2h.js} +117 -56
  151. package/dist/chunk-fmx1sz2h.js.map +15 -0
  152. package/dist/chunk-g9t3kdtx.js +90 -0
  153. package/dist/chunk-g9t3kdtx.js.map +10 -0
  154. package/dist/{chunk-c3zd880g.js → chunk-ghteq96b.js} +8 -8
  155. package/dist/{chunk-c3zd880g.js.map → chunk-ghteq96b.js.map} +4 -4
  156. package/dist/chunk-h9kxd41f.js +271 -0
  157. package/dist/chunk-h9kxd41f.js.map +11 -0
  158. package/dist/chunk-htq0qh7z.js +59 -0
  159. package/dist/chunk-htq0qh7z.js.map +11 -0
  160. package/dist/{chunk-dcgrzj1t.js → chunk-jaj13078.js} +121 -9
  161. package/dist/chunk-jaj13078.js.map +38 -0
  162. package/dist/{chunk-t358gywy.js → chunk-k9pts48t.js} +81 -58
  163. package/dist/chunk-k9pts48t.js.map +35 -0
  164. package/dist/chunk-n8herkry.js +3294 -0
  165. package/dist/chunk-n8herkry.js.map +35 -0
  166. package/dist/chunk-nf4r78r4.js +44 -0
  167. package/dist/chunk-nf4r78r4.js.map +10 -0
  168. package/dist/{chunk-2gpr6jsz.js → chunk-nnyp53zt.js} +14 -34
  169. package/dist/chunk-nnyp53zt.js.map +13 -0
  170. package/dist/chunk-nten49ta.js +404 -0
  171. package/dist/chunk-nten49ta.js.map +12 -0
  172. package/dist/chunk-qvybnnpe.js +137 -0
  173. package/dist/chunk-qvybnnpe.js.map +10 -0
  174. package/dist/{chunk-tsk2bxs3.js → chunk-rnshztfq.js} +13 -13
  175. package/dist/{chunk-tsk2bxs3.js.map → chunk-rnshztfq.js.map} +3 -3
  176. package/dist/chunk-sa4340y1.js +607 -0
  177. package/dist/chunk-sa4340y1.js.map +14 -0
  178. package/dist/{chunk-yvef9xwc.js → chunk-st4xgxey.js} +583 -251
  179. package/dist/chunk-st4xgxey.js.map +45 -0
  180. package/dist/{chunk-1vffvydj.js → chunk-t8t39h7v.js} +6 -6
  181. package/dist/chunk-t8t39h7v.js.map +10 -0
  182. package/dist/chunk-t9xghkva.js +28 -0
  183. package/dist/chunk-t9xghkva.js.map +10 -0
  184. package/dist/chunk-vp1vc6ee.js +35 -0
  185. package/dist/chunk-vp1vc6ee.js.map +11 -0
  186. package/dist/{chunk-p6r5g77m.js → chunk-vybf6pkp.js} +1 -1
  187. package/dist/{chunk-wj01s5hr.js → chunk-wtmzkcht.js} +4 -3
  188. package/dist/chunk-wtmzkcht.js.map +11 -0
  189. package/dist/{chunk-v5c085yp.js → chunk-xhy826cz.js} +3 -2
  190. package/dist/chunk-xhy826cz.js.map +10 -0
  191. package/dist/chunk-xkthy56g.js +33 -0
  192. package/dist/chunk-xkthy56g.js.map +11 -0
  193. package/dist/{chunk-aebzcsxr.js → chunk-ys1nse2v.js} +2178 -382
  194. package/dist/chunk-ys1nse2v.js.map +56 -0
  195. package/dist/{chunk-5yny9z0e.js → chunk-z3zp0bj1.js} +1 -1
  196. package/dist/chunk-zcnhxkvd.js +7 -0
  197. package/dist/chunk-zcnhxkvd.js.map +10 -0
  198. package/dist/chunk-zg9yryhz.js +252 -0
  199. package/dist/chunk-zg9yryhz.js.map +12 -0
  200. package/dist/chunk-zqqz8052.js +3 -0
  201. package/dist/{storage/projection-runs/lifecycle.js.map → chunk-zqqz8052.js.map} +1 -1
  202. package/dist/{chunk-4pycxcj3.js → chunk-zqysyfjt.js} +6 -9
  203. package/dist/{chunk-4pycxcj3.js.map → chunk-zqysyfjt.js.map} +3 -3
  204. package/dist/connectors/builders.d.ts +2 -1
  205. package/dist/connectors/builders.d.ts.map +1 -1
  206. package/dist/connectors/connections/authorizations.d.ts +64 -0
  207. package/dist/connectors/connections/authorizations.d.ts.map +1 -0
  208. package/dist/connectors/connections/capability.d.ts +7 -0
  209. package/dist/connectors/connections/capability.d.ts.map +1 -0
  210. package/dist/connectors/connections/command-context.d.ts +23 -0
  211. package/dist/connectors/connections/command-context.d.ts.map +1 -0
  212. package/dist/connectors/connections/contracts.d.ts +127 -0
  213. package/dist/connectors/connections/contracts.d.ts.map +1 -0
  214. package/dist/connectors/connections/credential-codec.d.ts +15 -0
  215. package/dist/connectors/connections/credential-codec.d.ts.map +1 -0
  216. package/dist/connectors/connections/credential-mutations.d.ts +63 -0
  217. package/dist/connectors/connections/credential-mutations.d.ts.map +1 -0
  218. package/dist/connectors/connections/execution.d.ts +20 -0
  219. package/dist/connectors/connections/execution.d.ts.map +1 -0
  220. package/dist/connectors/connections/internal.d.ts +5 -0
  221. package/dist/connectors/connections/internal.d.ts.map +1 -0
  222. package/dist/connectors/connections/internal.js +16 -0
  223. package/dist/connectors/connections/internal.js.map +9 -0
  224. package/dist/connectors/connections/provider-operation.d.ts +7 -0
  225. package/dist/connectors/connections/provider-operation.d.ts.map +1 -0
  226. package/dist/connectors/connections/request.d.ts +84 -0
  227. package/dist/connectors/connections/request.d.ts.map +1 -0
  228. package/dist/connectors/connections/runs.d.ts +51 -0
  229. package/dist/connectors/connections/runs.d.ts.map +1 -0
  230. package/dist/connectors/connections/service.d.ts +52 -0
  231. package/dist/connectors/connections/service.d.ts.map +1 -0
  232. package/dist/connectors/connections/storage-boundary.d.ts +3 -0
  233. package/dist/connectors/connections/storage-boundary.d.ts.map +1 -0
  234. package/dist/connectors/connections/tokens.d.ts +32 -0
  235. package/dist/connectors/connections/tokens.d.ts.map +1 -0
  236. package/dist/connectors/connections/validation.d.ts +27 -0
  237. package/dist/connectors/connections/validation.d.ts.map +1 -0
  238. package/dist/connectors/connections/views.d.ts +7 -0
  239. package/dist/connectors/connections/views.d.ts.map +1 -0
  240. package/dist/connectors/credentials.d.ts +25 -0
  241. package/dist/connectors/credentials.d.ts.map +1 -0
  242. package/dist/connectors/errors.d.ts +35 -3
  243. package/dist/connectors/errors.d.ts.map +1 -1
  244. package/dist/connectors/execution.d.ts +19 -0
  245. package/dist/connectors/execution.d.ts.map +1 -0
  246. package/dist/connectors/index.d.ts +5 -3
  247. package/dist/connectors/index.d.ts.map +1 -1
  248. package/dist/connectors/service.d.ts +23 -0
  249. package/dist/connectors/service.d.ts.map +1 -0
  250. package/dist/connectors/types.d.ts +94 -2
  251. package/dist/connectors/types.d.ts.map +1 -1
  252. package/dist/datasets/builders.d.ts +18 -5
  253. package/dist/datasets/builders.d.ts.map +1 -1
  254. package/dist/datasets/changes.d.ts +18 -0
  255. package/dist/datasets/changes.d.ts.map +1 -0
  256. package/dist/datasets/execution.d.ts +8 -0
  257. package/dist/datasets/execution.d.ts.map +1 -0
  258. package/dist/datasets/index.d.ts +3 -1
  259. package/dist/datasets/index.d.ts.map +1 -1
  260. package/dist/datasets/types.d.ts +2 -0
  261. package/dist/datasets/types.d.ts.map +1 -1
  262. package/dist/datasets/validation.d.ts.map +1 -1
  263. package/dist/error-reporting/capability.d.ts +4 -49
  264. package/dist/error-reporting/capability.d.ts.map +1 -1
  265. package/dist/error-reporting/internal.d.ts +2 -2
  266. package/dist/error-reporting/internal.d.ts.map +1 -1
  267. package/dist/error-reporting/internal.js +10 -4
  268. package/dist/error-reporting/internal.js.map +1 -1
  269. package/dist/error-reporting/reporter.d.ts +4 -1
  270. package/dist/error-reporting/reporter.d.ts.map +1 -1
  271. package/dist/error-reporting/reports.d.ts +64 -0
  272. package/dist/error-reporting/reports.d.ts.map +1 -0
  273. package/dist/error-reporting/types.d.ts +88 -34
  274. package/dist/error-reporting/types.d.ts.map +1 -1
  275. package/dist/errors/catalog.d.ts +141 -0
  276. package/dist/errors/catalog.d.ts.map +1 -0
  277. package/dist/errors/internal.d.ts +68 -0
  278. package/dist/errors/internal.d.ts.map +1 -0
  279. package/dist/errors/internal.js +29 -0
  280. package/dist/errors/internal.js.map +9 -0
  281. package/dist/errors/types.d.ts +20 -0
  282. package/dist/errors/types.d.ts.map +1 -0
  283. package/dist/events/definitions.d.ts +0 -1
  284. package/dist/events/definitions.d.ts.map +1 -1
  285. package/dist/events/execution.d.ts +13 -0
  286. package/dist/events/execution.d.ts.map +1 -0
  287. package/dist/events/index.d.ts +3 -2
  288. package/dist/events/index.d.ts.map +1 -1
  289. package/dist/events/index.js +10 -8
  290. package/dist/events/index.js.map +1 -1
  291. package/dist/events/outbox-dispatcher.d.ts +4 -2
  292. package/dist/events/outbox-dispatcher.d.ts.map +1 -1
  293. package/dist/events/{runtime.d.ts → service.d.ts} +13 -14
  294. package/dist/events/service.d.ts.map +1 -0
  295. package/dist/events/types/pipelines.d.ts +4 -1
  296. package/dist/events/types/pipelines.d.ts.map +1 -1
  297. package/dist/events/types/syncs.d.ts +3 -0
  298. package/dist/events/types/syncs.d.ts.map +1 -1
  299. package/dist/events/types/workflows.d.ts +4 -2
  300. package/dist/events/types/workflows.d.ts.map +1 -1
  301. package/dist/execution/agent.d.ts +42 -0
  302. package/dist/execution/agent.d.ts.map +1 -0
  303. package/dist/execution/agent.js +70 -0
  304. package/dist/execution/agent.js.map +9 -0
  305. package/dist/execution/authorization.d.ts +60 -0
  306. package/dist/execution/authorization.d.ts.map +1 -0
  307. package/dist/execution/dispatch.d.ts +8 -0
  308. package/dist/execution/dispatch.d.ts.map +1 -0
  309. package/dist/execution/durable.d.ts +37 -0
  310. package/dist/execution/durable.d.ts.map +1 -0
  311. package/dist/execution/index.d.ts +2 -0
  312. package/dist/execution/index.d.ts.map +1 -0
  313. package/dist/execution/primitive.d.ts +21 -0
  314. package/dist/execution/primitive.d.ts.map +1 -0
  315. package/dist/execution/primitive.js +88 -0
  316. package/dist/execution/primitive.js.map +10 -0
  317. package/dist/execution/request.d.ts +38 -0
  318. package/dist/execution/request.d.ts.map +1 -0
  319. package/dist/execution/request.js +97 -0
  320. package/dist/execution/request.js.map +10 -0
  321. package/dist/execution/scopes.d.ts +30 -0
  322. package/dist/execution/scopes.d.ts.map +1 -0
  323. package/dist/execution/types.d.ts +111 -0
  324. package/dist/execution/types.d.ts.map +1 -0
  325. package/dist/http/api-routes.d.ts.map +1 -1
  326. package/dist/http/index.js +1 -1
  327. package/dist/index.d.ts +35 -18
  328. package/dist/index.d.ts.map +1 -1
  329. package/dist/index.js +142 -111
  330. package/dist/index.js.map +1 -1
  331. package/dist/json.d.ts +8 -2
  332. package/dist/json.d.ts.map +1 -1
  333. package/dist/lake-storage/definition-updates.d.ts.map +1 -1
  334. package/dist/lake-storage/in-memory.d.ts +15 -1
  335. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  336. package/dist/lake-storage/index.d.ts +3 -1
  337. package/dist/lake-storage/index.d.ts.map +1 -1
  338. package/dist/lake-storage/index.js +15 -7
  339. package/dist/lake-storage/index.js.map +1 -1
  340. package/dist/lake-storage/merge-validation.d.ts +10 -0
  341. package/dist/lake-storage/merge-validation.d.ts.map +1 -0
  342. package/dist/lake-storage/merge.d.ts +32 -0
  343. package/dist/lake-storage/merge.d.ts.map +1 -0
  344. package/dist/lake-storage/types.d.ts +3 -1
  345. package/dist/lake-storage/types.d.ts.map +1 -1
  346. package/dist/logging/execution.d.ts +9 -0
  347. package/dist/logging/execution.d.ts.map +1 -0
  348. package/dist/logging/index.d.ts +1 -1
  349. package/dist/logging/index.d.ts.map +1 -1
  350. package/dist/logging/index.js +8 -8
  351. package/dist/logging/index.js.map +1 -1
  352. package/dist/logging/{runtime.d.ts → service.d.ts} +7 -7
  353. package/dist/logging/{runtime.d.ts.map → service.d.ts.map} +1 -1
  354. package/dist/logging/types.js +2 -2
  355. package/dist/materialization/events.d.ts +1 -0
  356. package/dist/materialization/events.d.ts.map +1 -1
  357. package/dist/materialization/index.d.ts +1 -1
  358. package/dist/materialization/index.d.ts.map +1 -1
  359. package/dist/materialization/index.js +2 -2
  360. package/dist/materialization/model.d.ts +26 -17
  361. package/dist/materialization/model.d.ts.map +1 -1
  362. package/dist/materializer/edits/commit.d.ts +2 -1
  363. package/dist/materializer/edits/commit.d.ts.map +1 -1
  364. package/dist/materializer/edits/load-state.d.ts +1 -1
  365. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  366. package/dist/materializer/edits/operations.d.ts +1 -13
  367. package/dist/materializer/edits/operations.d.ts.map +1 -1
  368. package/dist/materializer/edits/plan.d.ts +2 -1
  369. package/dist/materializer/edits/plan.d.ts.map +1 -1
  370. package/dist/materializer/edits/working-state.d.ts +36 -8
  371. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  372. package/dist/materializer/effective/build-events.d.ts +1 -0
  373. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  374. package/dist/materializer/effective/diff.d.ts +7 -0
  375. package/dist/materializer/effective/diff.d.ts.map +1 -1
  376. package/dist/materializer/effective/load-state.d.ts +0 -2
  377. package/dist/materializer/effective/load-state.d.ts.map +1 -1
  378. package/dist/materializer/effective/resolve.d.ts +17 -2
  379. package/dist/materializer/effective/resolve.d.ts.map +1 -1
  380. package/dist/materializer/execution/commit-lifecycle.d.ts +2 -2
  381. package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -1
  382. package/dist/materializer/execution/plan-stream.d.ts.map +1 -1
  383. package/dist/materializer/execution/scope.d.ts +26 -0
  384. package/dist/materializer/execution/scope.d.ts.map +1 -0
  385. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  386. package/dist/materializer/execution/work-records.d.ts +6 -5
  387. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  388. package/dist/materializer/index.d.ts +2 -2
  389. package/dist/materializer/index.d.ts.map +1 -1
  390. package/dist/materializer/index.js +30 -18
  391. package/dist/materializer/index.js.map +1 -1
  392. package/dist/materializer/materializer.d.ts +37 -5
  393. package/dist/materializer/materializer.d.ts.map +1 -1
  394. package/dist/materializer/projections/finish-run.d.ts +2 -1
  395. package/dist/materializer/projections/finish-run.d.ts.map +1 -1
  396. package/dist/materializer/projections/replace.d.ts +2 -1
  397. package/dist/materializer/projections/replace.d.ts.map +1 -1
  398. package/dist/materializer/projections/replacement-plan.d.ts +1 -0
  399. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  400. package/dist/materializer/shared/batching.d.ts.map +1 -1
  401. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  402. package/dist/materializer/telemetry/append.d.ts +2 -1
  403. package/dist/materializer/telemetry/append.d.ts.map +1 -1
  404. package/dist/materializer/telemetry/plan.d.ts +7 -1
  405. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  406. package/dist/objects/action/request.d.ts +3 -3
  407. package/dist/objects/action/request.d.ts.map +1 -1
  408. package/dist/objects/context/index.d.ts +1 -1
  409. package/dist/objects/context/index.d.ts.map +1 -1
  410. package/dist/objects/context/types.d.ts +5 -0
  411. package/dist/objects/context/types.d.ts.map +1 -1
  412. package/dist/objects/execution.d.ts +100 -0
  413. package/dist/objects/execution.d.ts.map +1 -0
  414. package/dist/objects/index.js +37 -24
  415. package/dist/objects/index.js.map +1 -1
  416. package/dist/objects/materializer-adapter.d.ts +1 -1
  417. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  418. package/dist/objects/query/executor.d.ts +3 -8
  419. package/dist/objects/query/executor.d.ts.map +1 -1
  420. package/dist/objects/query/index.d.ts +2 -2
  421. package/dist/objects/query/index.d.ts.map +1 -1
  422. package/dist/objects/query/index.js +9 -13
  423. package/dist/objects/query/index.js.map +1 -1
  424. package/dist/objects/query/planner.d.ts +0 -3
  425. package/dist/objects/query/planner.d.ts.map +1 -1
  426. package/dist/objects/sdk/object-handle.d.ts +2 -2
  427. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  428. package/dist/objects/sdk/object-set.d.ts +2 -0
  429. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  430. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -0
  431. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  432. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  433. package/dist/objects/service/action-service.d.ts +3 -2
  434. package/dist/objects/service/action-service.d.ts.map +1 -1
  435. package/dist/objects/service/list-service.d.ts +1 -1
  436. package/dist/objects/telemetry/history.d.ts +2 -0
  437. package/dist/objects/telemetry/history.d.ts.map +1 -1
  438. package/dist/objects/telemetry/write-batch.d.ts.map +1 -1
  439. package/dist/ontology/index.d.ts +1 -1
  440. package/dist/ontology/index.d.ts.map +1 -1
  441. package/dist/ontology/index.js +5 -5
  442. package/dist/ontology/internal.js +7 -6
  443. package/dist/ontology/internal.js.map +3 -3
  444. package/dist/ontology/registry.d.ts +15 -2
  445. package/dist/ontology/registry.d.ts.map +1 -1
  446. package/dist/ontology/validation/normalize.d.ts.map +1 -1
  447. package/dist/pipelines/execution.d.ts +19 -0
  448. package/dist/pipelines/execution.d.ts.map +1 -0
  449. package/dist/pipelines/index.d.ts +1 -0
  450. package/dist/pipelines/index.d.ts.map +1 -1
  451. package/dist/pipelines/index.js +66 -0
  452. package/dist/pipelines/index.js.map +9 -0
  453. package/dist/pipelines/request.d.ts +6 -9
  454. package/dist/pipelines/request.d.ts.map +1 -1
  455. package/dist/pipelines/run-dispatch.d.ts +47 -0
  456. package/dist/pipelines/run-dispatch.d.ts.map +1 -0
  457. package/dist/projections/builders.d.ts +0 -2
  458. package/dist/projections/builders.d.ts.map +1 -1
  459. package/dist/projections/capability.d.ts +7 -0
  460. package/dist/projections/capability.d.ts.map +1 -0
  461. package/dist/projections/execution.d.ts +19 -0
  462. package/dist/projections/execution.d.ts.map +1 -0
  463. package/dist/projections/index.d.ts +3 -1
  464. package/dist/projections/index.d.ts.map +1 -1
  465. package/dist/projections/internal.d.ts +4 -10
  466. package/dist/projections/internal.d.ts.map +1 -1
  467. package/dist/projections/internal.js +42 -6
  468. package/dist/projections/internal.js.map +1 -1
  469. package/dist/projections/ownership.d.ts +2 -2
  470. package/dist/projections/ownership.d.ts.map +1 -1
  471. package/dist/projections/registry.d.ts +21 -11
  472. package/dist/projections/registry.d.ts.map +1 -1
  473. package/dist/projections/revision.d.ts +2 -2
  474. package/dist/projections/revision.d.ts.map +1 -1
  475. package/dist/projections/run-dispatch.d.ts +37 -0
  476. package/dist/projections/run-dispatch.d.ts.map +1 -0
  477. package/dist/projections/run-id.d.ts +3 -0
  478. package/dist/projections/run-id.d.ts.map +1 -0
  479. package/dist/projections/types.d.ts +3 -0
  480. package/dist/projections/types.d.ts.map +1 -1
  481. package/dist/projections/validation.d.ts +2 -2
  482. package/dist/projections/validation.d.ts.map +1 -1
  483. package/dist/queues/in-memory.d.ts +11 -10
  484. package/dist/queues/in-memory.d.ts.map +1 -1
  485. package/dist/queues/index.d.ts +1 -1
  486. package/dist/queues/index.d.ts.map +1 -1
  487. package/dist/queues/index.js +1 -1
  488. package/dist/queues/types.d.ts +52 -42
  489. package/dist/queues/types.d.ts.map +1 -1
  490. package/dist/rules/execution.d.ts +14 -0
  491. package/dist/rules/execution.d.ts.map +1 -0
  492. package/dist/rules/index.d.ts +1 -1
  493. package/dist/rules/index.d.ts.map +1 -1
  494. package/dist/rules/validation.d.ts +1 -2
  495. package/dist/rules/validation.d.ts.map +1 -1
  496. package/dist/runtime/ai-usage.d.ts +8 -0
  497. package/dist/runtime/ai-usage.d.ts.map +1 -0
  498. package/dist/runtime/create.d.ts +7 -5
  499. package/dist/runtime/create.d.ts.map +1 -1
  500. package/dist/runtime/definitions.d.ts +35 -0
  501. package/dist/runtime/definitions.d.ts.map +1 -0
  502. package/dist/runtime/host.d.ts +123 -0
  503. package/dist/runtime/host.d.ts.map +1 -0
  504. package/dist/runtime/index.d.ts +6 -5
  505. package/dist/runtime/index.d.ts.map +1 -1
  506. package/dist/runtime/internal.d.ts +4 -0
  507. package/dist/runtime/internal.d.ts.map +1 -1
  508. package/dist/runtime/internal.js +6 -2
  509. package/dist/runtime/internal.js.map +1 -1
  510. package/dist/runtime/ontology-mutations.d.ts +4 -2
  511. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  512. package/dist/runtime/resolve-definitions.d.ts +42 -0
  513. package/dist/runtime/resolve-definitions.d.ts.map +1 -0
  514. package/dist/runtime/sixb.d.ts +43 -219
  515. package/dist/runtime/sixb.d.ts.map +1 -1
  516. package/dist/runtime/types.d.ts +16 -216
  517. package/dist/runtime/types.d.ts.map +1 -1
  518. package/dist/scheduler/index.d.ts +1 -1
  519. package/dist/scheduler/index.d.ts.map +1 -1
  520. package/dist/scheduler/index.js +3 -6
  521. package/dist/scheduler/index.js.map +1 -1
  522. package/dist/scheduler/runtime.d.ts +7 -2
  523. package/dist/scheduler/runtime.d.ts.map +1 -1
  524. package/dist/schedules/execution.d.ts +6 -0
  525. package/dist/schedules/execution.d.ts.map +1 -0
  526. package/dist/schedules/index.js +9 -7
  527. package/dist/schedules/index.js.map +1 -1
  528. package/dist/schedules/types.d.ts +1 -3
  529. package/dist/schedules/types.d.ts.map +1 -1
  530. package/dist/security/every.d.ts +4 -1
  531. package/dist/security/every.d.ts.map +1 -1
  532. package/dist/security/grants.d.ts +4 -1
  533. package/dist/security/grants.d.ts.map +1 -1
  534. package/dist/security/index.d.ts +3 -1
  535. package/dist/security/index.d.ts.map +1 -1
  536. package/dist/security/registry.d.ts +42 -0
  537. package/dist/security/registry.d.ts.map +1 -0
  538. package/dist/security/types.d.ts +7 -12
  539. package/dist/security/types.d.ts.map +1 -1
  540. package/dist/security/validation.d.ts +2 -0
  541. package/dist/security/validation.d.ts.map +1 -1
  542. package/dist/storage/action-runs/failure.d.ts +7 -0
  543. package/dist/storage/action-runs/failure.d.ts.map +1 -0
  544. package/dist/storage/action-runs/failure.js +14 -0
  545. package/dist/storage/action-runs/failure.js.map +9 -0
  546. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  547. package/dist/storage/action-runs/in-memory.d.ts +3 -1
  548. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  549. package/dist/storage/action-runs/index.d.ts +2 -1
  550. package/dist/storage/action-runs/index.d.ts.map +1 -1
  551. package/dist/storage/action-runs/provider.d.ts +10 -0
  552. package/dist/storage/action-runs/provider.d.ts.map +1 -0
  553. package/dist/storage/action-runs/provider.js +13 -0
  554. package/dist/storage/action-runs/provider.js.map +9 -0
  555. package/dist/storage/action-runs/types.d.ts +37 -18
  556. package/dist/storage/action-runs/types.d.ts.map +1 -1
  557. package/dist/storage/agents/errors.d.ts +1 -1
  558. package/dist/storage/agents/errors.d.ts.map +1 -1
  559. package/dist/storage/agents/in-memory.d.ts +4 -1
  560. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  561. package/dist/storage/agents/index.d.ts +2 -2
  562. package/dist/storage/agents/index.d.ts.map +1 -1
  563. package/dist/storage/agents/provider.d.ts +10 -0
  564. package/dist/storage/agents/provider.d.ts.map +1 -0
  565. package/dist/storage/agents/provider.js +17 -0
  566. package/dist/storage/agents/provider.js.map +9 -0
  567. package/dist/storage/agents/types.d.ts +13 -22
  568. package/dist/storage/agents/types.d.ts.map +1 -1
  569. package/dist/storage/ai-usage/errors.d.ts +8 -0
  570. package/dist/storage/ai-usage/errors.d.ts.map +1 -0
  571. package/dist/storage/ai-usage/in-memory.d.ts +28 -0
  572. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -0
  573. package/dist/storage/ai-usage/index.d.ts +8 -0
  574. package/dist/storage/ai-usage/index.d.ts.map +1 -0
  575. package/dist/storage/ai-usage/record.d.ts +6 -0
  576. package/dist/storage/ai-usage/record.d.ts.map +1 -0
  577. package/dist/storage/ai-usage/types.d.ts +89 -0
  578. package/dist/storage/ai-usage/types.d.ts.map +1 -0
  579. package/dist/storage/ai-usage/usage.d.ts +11 -0
  580. package/dist/storage/ai-usage/usage.d.ts.map +1 -0
  581. package/dist/storage/auth/types.d.ts +1 -0
  582. package/dist/storage/auth/types.d.ts.map +1 -1
  583. package/dist/storage/connector-connections/errors.d.ts +12 -0
  584. package/dist/storage/connector-connections/errors.d.ts.map +1 -0
  585. package/dist/storage/connector-connections/in-memory.d.ts +81 -0
  586. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -0
  587. package/dist/storage/connector-connections/index.d.ts +7 -0
  588. package/dist/storage/connector-connections/index.d.ts.map +1 -0
  589. package/dist/storage/connector-connections/provider/authorizations.d.ts +20 -0
  590. package/dist/storage/connector-connections/provider/authorizations.d.ts.map +1 -0
  591. package/dist/storage/connector-connections/provider/connections.d.ts +17 -0
  592. package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -0
  593. package/dist/storage/connector-connections/provider/runs.d.ts +14 -0
  594. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -0
  595. package/dist/storage/connector-connections/provider/shared.d.ts +74 -0
  596. package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -0
  597. package/dist/storage/connector-connections/provider.d.ts +49 -0
  598. package/dist/storage/connector-connections/provider.d.ts.map +1 -0
  599. package/dist/storage/connector-connections/provider.js +1025 -0
  600. package/dist/storage/connector-connections/provider.js.map +14 -0
  601. package/dist/storage/connector-connections/types.d.ts +402 -0
  602. package/dist/storage/connector-connections/types.d.ts.map +1 -0
  603. package/dist/storage/executions/errors.d.ts +8 -0
  604. package/dist/storage/executions/errors.d.ts.map +1 -0
  605. package/dist/storage/executions/in-memory.d.ts +21 -0
  606. package/dist/storage/executions/in-memory.d.ts.map +1 -0
  607. package/dist/storage/executions/index.d.ts +5 -0
  608. package/dist/storage/executions/index.d.ts.map +1 -0
  609. package/dist/storage/executions/provider.d.ts +29 -0
  610. package/dist/storage/executions/provider.d.ts.map +1 -0
  611. package/dist/storage/executions/provider.js +208 -0
  612. package/dist/storage/executions/provider.js.map +10 -0
  613. package/dist/storage/executions/run-link.d.ts +24 -0
  614. package/dist/storage/executions/run-link.d.ts.map +1 -0
  615. package/dist/storage/executions/types.d.ts +62 -0
  616. package/dist/storage/executions/types.d.ts.map +1 -0
  617. package/dist/storage/executions/validation.d.ts +13 -0
  618. package/dist/storage/executions/validation.d.ts.map +1 -0
  619. package/dist/storage/in-memory/index.d.ts +20 -5
  620. package/dist/storage/in-memory/index.d.ts.map +1 -1
  621. package/dist/storage/index.d.ts +28 -17
  622. package/dist/storage/index.d.ts.map +1 -1
  623. package/dist/storage/index.js +90 -27
  624. package/dist/storage/index.js.map +1 -1
  625. package/dist/storage/ontology/commits.d.ts +1 -0
  626. package/dist/storage/ontology/commits.d.ts.map +1 -1
  627. package/dist/storage/ontology/in-memory/index.d.ts +1 -0
  628. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  629. package/dist/storage/ontology/in-memory/materializations-state.d.ts +3 -2
  630. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  631. package/dist/storage/ontology/in-memory/materializations-work.d.ts +2 -2
  632. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
  633. package/dist/storage/ontology/in-memory/materializations.d.ts +3 -1
  634. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  635. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -2
  636. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  637. package/dist/storage/ontology/index.d.ts +3 -2
  638. package/dist/storage/ontology/index.d.ts.map +1 -1
  639. package/dist/storage/ontology/materializations.d.ts +50 -5
  640. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  641. package/dist/storage/ontology/outbox.d.ts +8 -2
  642. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  643. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  644. package/dist/storage/ontology/provider.d.ts +5 -22
  645. package/dist/storage/ontology/provider.d.ts.map +1 -1
  646. package/dist/storage/ontology/provider.js +6 -7
  647. package/dist/storage/ontology/provider.js.map +1 -1
  648. package/dist/storage/operation-scope.d.ts.map +1 -1
  649. package/dist/storage/operation-scope.js +1 -1
  650. package/dist/storage/pipeline-runs/idempotency.d.ts +3 -0
  651. package/dist/storage/pipeline-runs/idempotency.d.ts.map +1 -0
  652. package/dist/storage/pipeline-runs/in-memory.d.ts +5 -1
  653. package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -1
  654. package/dist/storage/pipeline-runs/index.d.ts +3 -1
  655. package/dist/storage/pipeline-runs/index.d.ts.map +1 -1
  656. package/dist/storage/pipeline-runs/provider.d.ts +10 -0
  657. package/dist/storage/pipeline-runs/provider.d.ts.map +1 -0
  658. package/dist/storage/pipeline-runs/provider.js +11 -0
  659. package/dist/storage/pipeline-runs/provider.js.map +9 -0
  660. package/dist/storage/pipeline-runs/types.d.ts +30 -14
  661. package/dist/storage/pipeline-runs/types.d.ts.map +1 -1
  662. package/dist/storage/projection-runs/in-memory.d.ts +8 -3
  663. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  664. package/dist/storage/projection-runs/index.d.ts +2 -2
  665. package/dist/storage/projection-runs/index.d.ts.map +1 -1
  666. package/dist/storage/projection-runs/lifecycle.d.ts +14 -8
  667. package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -1
  668. package/dist/storage/projection-runs/provider.d.ts +13 -0
  669. package/dist/storage/projection-runs/provider.d.ts.map +1 -0
  670. package/dist/storage/projection-runs/{lifecycle.js → provider.js} +15 -4
  671. package/dist/storage/projection-runs/provider.js.map +9 -0
  672. package/dist/storage/projection-runs/types.d.ts +28 -11
  673. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  674. package/dist/storage/run-listing.d.ts +8 -9
  675. package/dist/storage/run-listing.d.ts.map +1 -1
  676. package/dist/storage/sync-runs/idempotency.d.ts +3 -0
  677. package/dist/storage/sync-runs/idempotency.d.ts.map +1 -0
  678. package/dist/storage/sync-runs/in-memory.d.ts +5 -1
  679. package/dist/storage/sync-runs/in-memory.d.ts.map +1 -1
  680. package/dist/storage/sync-runs/index.d.ts +3 -1
  681. package/dist/storage/sync-runs/index.d.ts.map +1 -1
  682. package/dist/storage/sync-runs/provider.d.ts +10 -0
  683. package/dist/storage/sync-runs/provider.d.ts.map +1 -0
  684. package/dist/storage/sync-runs/provider.js +11 -0
  685. package/dist/storage/sync-runs/provider.js.map +9 -0
  686. package/dist/storage/sync-runs/types.d.ts +35 -14
  687. package/dist/storage/sync-runs/types.d.ts.map +1 -1
  688. package/dist/storage/types.d.ts +20 -15
  689. package/dist/storage/types.d.ts.map +1 -1
  690. package/dist/storage/webhook-runs/errors.d.ts +3 -0
  691. package/dist/storage/webhook-runs/errors.d.ts.map +1 -1
  692. package/dist/storage/webhook-runs/in-memory.d.ts +13 -1
  693. package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -1
  694. package/dist/storage/webhook-runs/index.d.ts +3 -2
  695. package/dist/storage/webhook-runs/index.d.ts.map +1 -1
  696. package/dist/storage/webhook-runs/provider.d.ts +10 -0
  697. package/dist/storage/webhook-runs/provider.d.ts.map +1 -0
  698. package/dist/storage/webhook-runs/provider.js +11 -0
  699. package/dist/storage/webhook-runs/provider.js.map +9 -0
  700. package/dist/storage/webhook-runs/types.d.ts +37 -11
  701. package/dist/storage/webhook-runs/types.d.ts.map +1 -1
  702. package/dist/storage/workflow-runs/in-memory.d.ts +6 -2
  703. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  704. package/dist/storage/workflow-runs/index.d.ts +2 -1
  705. package/dist/storage/workflow-runs/index.d.ts.map +1 -1
  706. package/dist/storage/workflow-runs/provider.d.ts +19 -0
  707. package/dist/storage/workflow-runs/provider.d.ts.map +1 -0
  708. package/dist/storage/workflow-runs/provider.js +19 -0
  709. package/dist/storage/workflow-runs/provider.js.map +9 -0
  710. package/dist/storage/workflow-runs/types.d.ts +30 -30
  711. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  712. package/dist/syncs/builders.d.ts +11 -3
  713. package/dist/syncs/builders.d.ts.map +1 -1
  714. package/dist/syncs/execution.d.ts +18 -0
  715. package/dist/syncs/execution.d.ts.map +1 -0
  716. package/dist/syncs/index.d.ts +3 -1
  717. package/dist/syncs/index.d.ts.map +1 -1
  718. package/dist/syncs/index.js +65 -0
  719. package/dist/syncs/index.js.map +9 -0
  720. package/dist/syncs/request.d.ts +6 -16
  721. package/dist/syncs/request.d.ts.map +1 -1
  722. package/dist/syncs/run-dispatch.d.ts +47 -0
  723. package/dist/syncs/run-dispatch.d.ts.map +1 -0
  724. package/dist/syncs/sources.d.ts +8 -0
  725. package/dist/syncs/sources.d.ts.map +1 -0
  726. package/dist/syncs/types.d.ts +34 -22
  727. package/dist/syncs/types.d.ts.map +1 -1
  728. package/dist/syncs/validation.d.ts +14 -0
  729. package/dist/syncs/validation.d.ts.map +1 -0
  730. package/dist/testing/action-execution.d.ts +12 -0
  731. package/dist/testing/action-execution.d.ts.map +1 -0
  732. package/dist/testing/agent-execution.d.ts +14 -0
  733. package/dist/testing/agent-execution.d.ts.map +1 -0
  734. package/dist/testing/agent-storage-contract.d.ts +10 -3
  735. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  736. package/dist/testing/ai-usage-storage-contract.d.ts +13 -0
  737. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -0
  738. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  739. package/dist/testing/broker-contract.d.ts.map +1 -1
  740. package/dist/testing/connector-connection-storage-contract.d.ts +16 -0
  741. package/dist/testing/connector-connection-storage-contract.d.ts.map +1 -0
  742. package/dist/testing/execution-storage-contract.d.ts +15 -0
  743. package/dist/testing/execution-storage-contract.d.ts.map +1 -0
  744. package/dist/testing/execution.d.ts +23 -0
  745. package/dist/testing/execution.d.ts.map +1 -0
  746. package/dist/testing/index.d.ts +13 -0
  747. package/dist/testing/index.d.ts.map +1 -1
  748. package/dist/testing/index.js +4270 -1484
  749. package/dist/testing/index.js.map +27 -14
  750. package/dist/testing/lake-merge-storage-contract.d.ts +7 -0
  751. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -0
  752. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  753. package/dist/testing/materializer-fixture.d.ts +2 -2
  754. package/dist/testing/materializer-fixture.d.ts.map +1 -1
  755. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  756. package/dist/testing/ontology-contract-fixture.d.ts +1 -0
  757. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  758. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  759. package/dist/testing/pipeline-execution.d.ts +16 -0
  760. package/dist/testing/pipeline-execution.d.ts.map +1 -0
  761. package/dist/testing/projection-execution.d.ts +20 -0
  762. package/dist/testing/projection-execution.d.ts.map +1 -0
  763. package/dist/testing/projection-run-storage-contract.d.ts +9 -4
  764. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  765. package/dist/testing/queues-contract.d.ts.map +1 -1
  766. package/dist/testing/sync-execution.d.ts +16 -0
  767. package/dist/testing/sync-execution.d.ts.map +1 -0
  768. package/dist/testing/webhook-execution.d.ts +12 -0
  769. package/dist/testing/webhook-execution.d.ts.map +1 -0
  770. package/dist/testing/webhook-run-storage-contract.d.ts +11 -0
  771. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -0
  772. package/dist/testing/workflow-execution.d.ts +23 -0
  773. package/dist/testing/workflow-execution.d.ts.map +1 -0
  774. package/dist/webhooks/index.d.ts +2 -1
  775. package/dist/webhooks/index.d.ts.map +1 -1
  776. package/dist/webhooks/internal.d.ts +2 -0
  777. package/dist/webhooks/internal.d.ts.map +1 -0
  778. package/dist/webhooks/internal.js +150 -0
  779. package/dist/webhooks/internal.js.map +10 -0
  780. package/dist/webhooks/registry.d.ts +18 -4
  781. package/dist/webhooks/registry.d.ts.map +1 -1
  782. package/dist/webhooks/run-admission.d.ts +25 -0
  783. package/dist/webhooks/run-admission.d.ts.map +1 -0
  784. package/dist/webhooks/types.d.ts +8 -5
  785. package/dist/webhooks/types.d.ts.map +1 -1
  786. package/dist/workers/index.js +18 -19
  787. package/dist/workers/index.js.map +4 -4
  788. package/dist/workers/queue-delivery.d.ts +7 -7
  789. package/dist/workers/queue-delivery.d.ts.map +1 -1
  790. package/dist/workers/queue-worker.d.ts +30 -11
  791. package/dist/workers/queue-worker.d.ts.map +1 -1
  792. package/dist/workflows/execution.d.ts +49 -0
  793. package/dist/workflows/execution.d.ts.map +1 -0
  794. package/dist/workflows/failure.d.ts +28 -0
  795. package/dist/workflows/failure.d.ts.map +1 -0
  796. package/dist/workflows/index.d.ts +4 -2
  797. package/dist/workflows/index.d.ts.map +1 -1
  798. package/dist/workflows/index.js +63 -35
  799. package/dist/workflows/index.js.map +1 -1
  800. package/dist/workflows/request.d.ts +2 -1
  801. package/dist/workflows/request.d.ts.map +1 -1
  802. package/dist/workflows/run-dispatch.d.ts +59 -0
  803. package/dist/workflows/run-dispatch.d.ts.map +1 -0
  804. package/dist/workflows/types.d.ts +38 -8
  805. package/dist/workflows/types.d.ts.map +1 -1
  806. package/package.json +107 -5
  807. package/src/actions/commit-edits.ts +0 -3
  808. package/src/actions/execution.ts +83 -0
  809. package/src/actions/index.ts +1 -1
  810. package/src/actions/registry.ts +22 -10
  811. package/src/actions/request.ts +55 -177
  812. package/src/actions/run-dispatch.ts +276 -0
  813. package/src/actions/types/context.ts +2 -4
  814. package/src/actions/validation.ts +2 -2
  815. package/src/agents/adapters.ts +8 -12
  816. package/src/agents/authority.ts +189 -0
  817. package/src/agents/builders.ts +53 -3
  818. package/src/agents/dispatch.ts +1 -6
  819. package/src/agents/errors.ts +24 -0
  820. package/src/agents/execution.ts +254 -0
  821. package/src/agents/index.ts +37 -5
  822. package/src/agents/prompt.ts +17 -5
  823. package/src/agents/request.ts +153 -13
  824. package/src/agents/streams.ts +150 -3
  825. package/src/agents/tool-definition.ts +93 -0
  826. package/src/agents/types.ts +99 -0
  827. package/src/agents/validation.ts +289 -5
  828. package/src/auth/attribution.ts +48 -0
  829. package/src/auth/index.ts +1 -0
  830. package/src/auth/runtime.ts +5 -5
  831. package/src/authorization/decision.ts +75 -14
  832. package/src/authorization/grant-kinds.ts +9 -0
  833. package/src/authorization/index.ts +2 -0
  834. package/src/blob-storage/execution.ts +78 -0
  835. package/src/blob-storage/validation.ts +2 -10
  836. package/src/bootstrap/discovery.ts +88 -268
  837. package/src/bootstrap/index.ts +2 -13
  838. package/src/broker/in-memory.ts +8 -1
  839. package/src/broker/types.ts +5 -0
  840. package/src/connectors/builders.ts +37 -2
  841. package/src/connectors/connections/authorizations.ts +646 -0
  842. package/src/connectors/connections/capability.ts +59 -0
  843. package/src/connectors/connections/command-context.ts +98 -0
  844. package/src/connectors/connections/contracts.ts +208 -0
  845. package/src/connectors/connections/credential-codec.ts +48 -0
  846. package/src/connectors/connections/credential-mutations.ts +574 -0
  847. package/src/connectors/connections/execution.ts +138 -0
  848. package/src/connectors/connections/internal.ts +17 -0
  849. package/src/connectors/connections/provider-operation.ts +41 -0
  850. package/src/connectors/connections/request.ts +447 -0
  851. package/src/connectors/connections/runs.ts +702 -0
  852. package/src/connectors/connections/service.ts +644 -0
  853. package/src/connectors/connections/storage-boundary.ts +13 -0
  854. package/src/connectors/connections/tokens.ts +292 -0
  855. package/src/connectors/connections/validation.ts +316 -0
  856. package/src/connectors/connections/views.ts +37 -0
  857. package/src/connectors/credentials.ts +149 -0
  858. package/src/connectors/errors.ts +111 -3
  859. package/src/connectors/execution.ts +157 -0
  860. package/src/connectors/index.ts +26 -2
  861. package/src/connectors/service.ts +142 -0
  862. package/src/connectors/types.ts +156 -7
  863. package/src/datasets/builders.ts +49 -5
  864. package/src/datasets/changes.ts +13 -0
  865. package/src/datasets/execution.ts +24 -0
  866. package/src/datasets/index.ts +3 -0
  867. package/src/datasets/types.ts +5 -0
  868. package/src/datasets/validation.ts +53 -11
  869. package/src/error-reporting/capability.ts +33 -106
  870. package/src/error-reporting/internal.ts +3 -1
  871. package/src/error-reporting/reporter.ts +19 -3
  872. package/src/error-reporting/reports.ts +172 -0
  873. package/src/error-reporting/types.ts +97 -43
  874. package/src/errors/catalog.ts +149 -0
  875. package/src/errors/internal.ts +322 -0
  876. package/src/errors/types.ts +21 -0
  877. package/src/events/definitions.ts +0 -4
  878. package/src/events/execution.ts +45 -0
  879. package/src/events/index.ts +15 -14
  880. package/src/events/outbox-dispatcher.ts +53 -18
  881. package/src/events/{runtime.ts → service.ts} +19 -23
  882. package/src/events/types/pipelines.ts +4 -1
  883. package/src/events/types/syncs.ts +3 -0
  884. package/src/events/types/workflows.ts +4 -2
  885. package/src/execution/agent.ts +130 -0
  886. package/src/execution/authorization.ts +409 -0
  887. package/src/execution/dispatch.ts +7 -0
  888. package/src/execution/durable.ts +193 -0
  889. package/src/execution/index.ts +12 -0
  890. package/src/execution/primitive.ts +50 -0
  891. package/src/execution/request.ts +109 -0
  892. package/src/execution/scopes.ts +198 -0
  893. package/src/execution/types.ts +113 -0
  894. package/src/http/api-routes.ts +42 -7
  895. package/src/index.ts +127 -10
  896. package/src/json.ts +11 -8
  897. package/src/lake-storage/definition-updates.ts +21 -0
  898. package/src/lake-storage/in-memory.ts +284 -2
  899. package/src/lake-storage/index.ts +14 -0
  900. package/src/lake-storage/merge-validation.ts +117 -0
  901. package/src/lake-storage/merge.ts +35 -0
  902. package/src/lake-storage/types.ts +3 -1
  903. package/src/logging/execution.ts +28 -0
  904. package/src/logging/index.ts +4 -4
  905. package/src/logging/{runtime.ts → service.ts} +7 -7
  906. package/src/materialization/events.ts +1 -0
  907. package/src/materialization/index.ts +2 -0
  908. package/src/materialization/model.ts +30 -18
  909. package/src/materializer/README.md +9 -13
  910. package/src/materializer/edits/commit.ts +85 -28
  911. package/src/materializer/edits/load-state.ts +79 -16
  912. package/src/materializer/edits/operations.ts +72 -36
  913. package/src/materializer/edits/plan.ts +95 -22
  914. package/src/materializer/edits/working-state.ts +86 -55
  915. package/src/materializer/effective/build-events.ts +2 -0
  916. package/src/materializer/effective/diff.ts +22 -0
  917. package/src/materializer/effective/load-state.ts +0 -31
  918. package/src/materializer/effective/resolve.ts +62 -0
  919. package/src/materializer/execution/commit-lifecycle.ts +9 -1
  920. package/src/materializer/execution/plan-stream.ts +33 -9
  921. package/src/materializer/execution/scope.ts +95 -0
  922. package/src/materializer/execution/work-executor.ts +6 -2
  923. package/src/materializer/execution/work-records.ts +39 -6
  924. package/src/materializer/index.ts +9 -1
  925. package/src/materializer/materializer.ts +67 -5
  926. package/src/materializer/projections/finish-run.ts +29 -11
  927. package/src/materializer/projections/replace.ts +55 -22
  928. package/src/materializer/projections/replacement-plan.ts +37 -7
  929. package/src/materializer/shared/batching.ts +4 -1
  930. package/src/materializer/shared/normalize.ts +0 -19
  931. package/src/materializer/telemetry/append.ts +57 -26
  932. package/src/materializer/telemetry/plan.ts +15 -6
  933. package/src/objects/action/request.ts +5 -5
  934. package/src/objects/context/index.ts +1 -0
  935. package/src/objects/context/types.ts +6 -0
  936. package/src/objects/execution.ts +346 -0
  937. package/src/objects/materializer-adapter.ts +1 -23
  938. package/src/objects/query/executor.ts +15 -29
  939. package/src/objects/query/index.ts +1 -2
  940. package/src/objects/query/planner.ts +0 -6
  941. package/src/objects/sdk/object-handle.ts +2 -2
  942. package/src/objects/sdk/object-set.ts +17 -7
  943. package/src/objects/sdk/runtime-query-executor.ts +9 -2
  944. package/src/objects/sdk/telemetry-channel.ts +5 -1
  945. package/src/objects/service/action-service.ts +5 -2
  946. package/src/objects/service/list-service.ts +1 -1
  947. package/src/objects/telemetry/history.ts +8 -3
  948. package/src/objects/telemetry/write-batch.ts +0 -2
  949. package/src/ontology/index.ts +6 -1
  950. package/src/ontology/json-schema.ts +2 -1
  951. package/src/ontology/registry.ts +16 -2
  952. package/src/ontology/validation/normalize.ts +9 -15
  953. package/src/pipelines/execution.ts +105 -0
  954. package/src/pipelines/index.ts +7 -0
  955. package/src/pipelines/request.ts +32 -26
  956. package/src/pipelines/run-dispatch.ts +308 -0
  957. package/src/projections/builders.ts +0 -9
  958. package/src/projections/capability.ts +37 -0
  959. package/src/projections/execution.ts +85 -0
  960. package/src/projections/index.ts +2 -1
  961. package/src/projections/internal.ts +17 -60
  962. package/src/projections/ownership.ts +2 -2
  963. package/src/projections/registry.ts +26 -11
  964. package/src/projections/revision.ts +7 -5
  965. package/src/projections/run-dispatch.ts +497 -0
  966. package/src/projections/run-id.ts +20 -0
  967. package/src/projections/types.ts +12 -0
  968. package/src/projections/validation.ts +3 -3
  969. package/src/queues/in-memory.ts +37 -11
  970. package/src/queues/index.ts +9 -2
  971. package/src/queues/types.ts +70 -45
  972. package/src/rules/execution.ts +49 -0
  973. package/src/rules/index.ts +0 -1
  974. package/src/rules/validation.ts +2 -6
  975. package/src/runtime/ai-usage.ts +17 -0
  976. package/src/runtime/create.ts +28 -68
  977. package/src/runtime/definitions.ts +44 -0
  978. package/src/runtime/host.ts +377 -0
  979. package/src/runtime/index.ts +5 -13
  980. package/src/runtime/internal.ts +12 -0
  981. package/src/runtime/ontology-mutations.ts +5 -3
  982. package/src/runtime/resolve-definitions.ts +238 -0
  983. package/src/runtime/sixb.ts +95 -807
  984. package/src/runtime/types.ts +17 -290
  985. package/src/scheduler/index.ts +1 -1
  986. package/src/scheduler/runtime.ts +37 -6
  987. package/src/schedules/execution.ts +14 -0
  988. package/src/schedules/types.ts +0 -8
  989. package/src/security/every.ts +4 -0
  990. package/src/security/grants.ts +13 -1
  991. package/src/security/index.ts +3 -1
  992. package/src/security/registry.ts +107 -0
  993. package/src/security/types.ts +8 -12
  994. package/src/security/validation.ts +7 -0
  995. package/src/storage/action-runs/failure.ts +64 -0
  996. package/src/storage/action-runs/idempotency.ts +3 -1
  997. package/src/storage/action-runs/in-memory.ts +39 -9
  998. package/src/storage/action-runs/index.ts +3 -0
  999. package/src/storage/action-runs/provider.ts +25 -0
  1000. package/src/storage/action-runs/types.ts +61 -27
  1001. package/src/storage/agents/errors.ts +1 -0
  1002. package/src/storage/agents/in-memory.ts +49 -11
  1003. package/src/storage/agents/index.ts +2 -1
  1004. package/src/storage/agents/provider.ts +27 -0
  1005. package/src/storage/agents/types.ts +19 -19
  1006. package/src/storage/ai-usage/errors.ts +13 -0
  1007. package/src/storage/ai-usage/in-memory.ts +162 -0
  1008. package/src/storage/ai-usage/index.ts +21 -0
  1009. package/src/storage/ai-usage/record.ts +74 -0
  1010. package/src/storage/ai-usage/types.ts +102 -0
  1011. package/src/storage/ai-usage/usage.ts +104 -0
  1012. package/src/storage/auth/types.ts +1 -0
  1013. package/src/storage/connector-connections/errors.ts +24 -0
  1014. package/src/storage/connector-connections/in-memory.ts +1377 -0
  1015. package/src/storage/connector-connections/index.ts +66 -0
  1016. package/src/storage/connector-connections/provider/authorizations.ts +446 -0
  1017. package/src/storage/connector-connections/provider/connections.ts +291 -0
  1018. package/src/storage/connector-connections/provider/runs.ts +369 -0
  1019. package/src/storage/connector-connections/provider/shared.ts +342 -0
  1020. package/src/storage/connector-connections/provider.ts +219 -0
  1021. package/src/storage/connector-connections/types.ts +546 -0
  1022. package/src/storage/executions/errors.ts +21 -0
  1023. package/src/storage/executions/in-memory.ts +75 -0
  1024. package/src/storage/executions/index.ts +16 -0
  1025. package/src/storage/executions/provider.ts +292 -0
  1026. package/src/storage/executions/run-link.ts +70 -0
  1027. package/src/storage/executions/types.ts +49 -0
  1028. package/src/storage/executions/validation.ts +370 -0
  1029. package/src/storage/in-memory/index.ts +50 -16
  1030. package/src/storage/index.ts +155 -15
  1031. package/src/storage/ontology/commits.ts +1 -0
  1032. package/src/storage/ontology/in-memory/index.ts +2 -0
  1033. package/src/storage/ontology/in-memory/materializations-finalization.ts +2 -1
  1034. package/src/storage/ontology/in-memory/materializations-state.ts +10 -0
  1035. package/src/storage/ontology/in-memory/materializations-work.ts +2 -1
  1036. package/src/storage/ontology/in-memory/materializations.ts +131 -9
  1037. package/src/storage/ontology/in-memory/outbox.ts +1 -1
  1038. package/src/storage/ontology/in-memory/shared-state.ts +12 -1
  1039. package/src/storage/ontology/index.ts +6 -0
  1040. package/src/storage/ontology/materializations.ts +50 -4
  1041. package/src/storage/ontology/outbox.ts +13 -2
  1042. package/src/storage/ontology/provider-header-validation.ts +1 -0
  1043. package/src/storage/ontology/provider-work.ts +33 -14
  1044. package/src/storage/ontology/provider.ts +72 -52
  1045. package/src/storage/operation-scope.ts +1 -0
  1046. package/src/storage/pipeline-runs/idempotency.ts +14 -0
  1047. package/src/storage/pipeline-runs/in-memory.ts +88 -8
  1048. package/src/storage/pipeline-runs/index.ts +5 -1
  1049. package/src/storage/pipeline-runs/provider.ts +25 -0
  1050. package/src/storage/pipeline-runs/types.ts +37 -14
  1051. package/src/storage/projection-runs/in-memory.ts +93 -24
  1052. package/src/storage/projection-runs/index.ts +4 -0
  1053. package/src/storage/projection-runs/lifecycle.ts +165 -36
  1054. package/src/storage/projection-runs/provider.ts +34 -0
  1055. package/src/storage/projection-runs/types.ts +34 -11
  1056. package/src/storage/run-listing.ts +22 -13
  1057. package/src/storage/sync-runs/idempotency.ts +18 -0
  1058. package/src/storage/sync-runs/in-memory.ts +92 -9
  1059. package/src/storage/sync-runs/index.ts +5 -1
  1060. package/src/storage/sync-runs/provider.ts +25 -0
  1061. package/src/storage/sync-runs/types.ts +44 -15
  1062. package/src/storage/types.ts +45 -17
  1063. package/src/storage/webhook-runs/errors.ts +14 -0
  1064. package/src/storage/webhook-runs/in-memory.ts +84 -9
  1065. package/src/storage/webhook-runs/index.ts +5 -1
  1066. package/src/storage/webhook-runs/provider.ts +30 -0
  1067. package/src/storage/webhook-runs/types.ts +52 -11
  1068. package/src/storage/workflow-runs/in-memory.ts +91 -55
  1069. package/src/storage/workflow-runs/index.ts +2 -0
  1070. package/src/storage/workflow-runs/provider.ts +70 -0
  1071. package/src/storage/workflow-runs/types.ts +38 -25
  1072. package/src/syncs/builders.ts +33 -15
  1073. package/src/syncs/execution.ts +78 -0
  1074. package/src/syncs/index.ts +14 -0
  1075. package/src/syncs/request.ts +32 -43
  1076. package/src/syncs/run-dispatch.ts +312 -0
  1077. package/src/syncs/sources.ts +20 -0
  1078. package/src/syncs/types.ts +75 -25
  1079. package/src/syncs/validation.ts +77 -0
  1080. package/src/testing/action-execution.ts +61 -0
  1081. package/src/testing/agent-execution.ts +81 -0
  1082. package/src/testing/agent-storage-contract.ts +158 -63
  1083. package/src/testing/ai-usage-storage-contract.ts +528 -0
  1084. package/src/testing/auth-storage-contract.ts +17 -1
  1085. package/src/testing/broker-contract.ts +16 -1
  1086. package/src/testing/connector-connection-storage-contract.ts +1052 -0
  1087. package/src/testing/execution-storage-contract.ts +435 -0
  1088. package/src/testing/execution.ts +48 -0
  1089. package/src/testing/index.ts +56 -0
  1090. package/src/testing/lake-merge-storage-contract.ts +302 -0
  1091. package/src/testing/lake-storage-contract.ts +23 -0
  1092. package/src/testing/materializer-fixture.ts +11 -3
  1093. package/src/testing/materializer-storage-contract.ts +213 -11
  1094. package/src/testing/ontology-contract-fixture.ts +35 -2
  1095. package/src/testing/ontology-storage-contract.ts +75 -14
  1096. package/src/testing/pipeline-execution.ts +64 -0
  1097. package/src/testing/projection-execution.ts +98 -0
  1098. package/src/testing/projection-run-storage-contract.ts +215 -29
  1099. package/src/testing/queues-contract.ts +40 -51
  1100. package/src/testing/sync-execution.ts +61 -0
  1101. package/src/testing/webhook-execution.ts +47 -0
  1102. package/src/testing/webhook-run-storage-contract.ts +240 -0
  1103. package/src/testing/workflow-execution.ts +77 -0
  1104. package/src/webhooks/index.ts +2 -1
  1105. package/src/webhooks/internal.ts +5 -0
  1106. package/src/webhooks/registry.ts +60 -36
  1107. package/src/webhooks/run-admission.ts +172 -0
  1108. package/src/webhooks/types.ts +8 -5
  1109. package/src/workers/queue-delivery.ts +25 -22
  1110. package/src/workers/queue-worker.ts +62 -32
  1111. package/src/workflows/execution.ts +292 -0
  1112. package/src/workflows/failure.ts +63 -0
  1113. package/src/workflows/index.ts +10 -1
  1114. package/src/workflows/request.ts +39 -118
  1115. package/src/workflows/run-dispatch.ts +359 -0
  1116. package/src/workflows/snapshot.ts +1 -10
  1117. package/src/workflows/types.ts +39 -8
  1118. package/dist/actions/runtime.d.ts +0 -11
  1119. package/dist/actions/runtime.d.ts.map +0 -1
  1120. package/dist/agents/runtime.d.ts +0 -41
  1121. package/dist/agents/runtime.d.ts.map +0 -1
  1122. package/dist/chunk-0fygrz37.js +0 -354
  1123. package/dist/chunk-0fygrz37.js.map +0 -17
  1124. package/dist/chunk-0psb6kdw.js +0 -989
  1125. package/dist/chunk-0psb6kdw.js.map +0 -15
  1126. package/dist/chunk-1vffvydj.js.map +0 -10
  1127. package/dist/chunk-2gpr6jsz.js.map +0 -13
  1128. package/dist/chunk-2s6sydsh.js.map +0 -12
  1129. package/dist/chunk-50kv63vj.js.map +0 -12
  1130. package/dist/chunk-590dejbp.js +0 -49
  1131. package/dist/chunk-590dejbp.js.map +0 -10
  1132. package/dist/chunk-867jxh7c.js.map +0 -19
  1133. package/dist/chunk-aebzcsxr.js.map +0 -48
  1134. package/dist/chunk-btpe64e4.js +0 -554
  1135. package/dist/chunk-btpe64e4.js.map +0 -13
  1136. package/dist/chunk-dcgrzj1t.js.map +0 -36
  1137. package/dist/chunk-dhmj53mx.js.map +0 -16
  1138. package/dist/chunk-hsv43v58.js +0 -1390
  1139. package/dist/chunk-hsv43v58.js.map +0 -21
  1140. package/dist/chunk-jdwx7vzs.js.map +0 -14
  1141. package/dist/chunk-k25jm1x5.js +0 -102
  1142. package/dist/chunk-k25jm1x5.js.map +0 -10
  1143. package/dist/chunk-k41ajtz7.js +0 -352
  1144. package/dist/chunk-k41ajtz7.js.map +0 -13
  1145. package/dist/chunk-k6j72mtt.js +0 -9
  1146. package/dist/chunk-k6j72mtt.js.map +0 -10
  1147. package/dist/chunk-nvamz5dv.js +0 -819
  1148. package/dist/chunk-nvamz5dv.js.map +0 -21
  1149. package/dist/chunk-pv1yad91.js +0 -1165
  1150. package/dist/chunk-pv1yad91.js.map +0 -27
  1151. package/dist/chunk-q4qzq0ea.js.map +0 -14
  1152. package/dist/chunk-r65yscvk.js.map +0 -11
  1153. package/dist/chunk-t358gywy.js.map +0 -34
  1154. package/dist/chunk-t72dvahb.js.map +0 -12
  1155. package/dist/chunk-v5c085yp.js.map +0 -10
  1156. package/dist/chunk-wj01s5hr.js.map +0 -11
  1157. package/dist/chunk-wxhdnwh4.js +0 -37
  1158. package/dist/chunk-wxhdnwh4.js.map +0 -10
  1159. package/dist/chunk-xz5g49bp.js.map +0 -11
  1160. package/dist/chunk-ya6brh8a.js.map +0 -11
  1161. package/dist/chunk-yvef9xwc.js.map +0 -44
  1162. package/dist/chunk-yxss87qa.js.map +0 -14
  1163. package/dist/connectors/runtime.d.ts +0 -13
  1164. package/dist/connectors/runtime.d.ts.map +0 -1
  1165. package/dist/events/runtime.d.ts.map +0 -1
  1166. package/dist/objects/contexts.d.ts +0 -45
  1167. package/dist/objects/contexts.d.ts.map +0 -1
  1168. package/dist/objects/helpers.d.ts +0 -7
  1169. package/dist/objects/helpers.d.ts.map +0 -1
  1170. package/dist/runtime/scoped.d.ts +0 -158
  1171. package/dist/runtime/scoped.d.ts.map +0 -1
  1172. package/dist/security/runtime.d.ts +0 -16
  1173. package/dist/security/runtime.d.ts.map +0 -1
  1174. package/dist/storage/webhook-deliveries/in-memory.d.ts +0 -18
  1175. package/dist/storage/webhook-deliveries/in-memory.d.ts.map +0 -1
  1176. package/dist/storage/webhook-deliveries/index.d.ts +0 -3
  1177. package/dist/storage/webhook-deliveries/index.d.ts.map +0 -1
  1178. package/dist/storage/webhook-deliveries/types.d.ts +0 -43
  1179. package/dist/storage/webhook-deliveries/types.d.ts.map +0 -1
  1180. package/dist/workflows/runtime.d.ts +0 -33
  1181. package/dist/workflows/runtime.d.ts.map +0 -1
  1182. package/src/actions/runtime.ts +0 -31
  1183. package/src/agents/runtime.ts +0 -124
  1184. package/src/connectors/runtime.ts +0 -100
  1185. package/src/objects/contexts.ts +0 -64
  1186. package/src/objects/helpers.ts +0 -18
  1187. package/src/runtime/scoped.ts +0 -436
  1188. package/src/security/runtime.ts +0 -101
  1189. package/src/storage/webhook-deliveries/in-memory.ts +0 -108
  1190. package/src/storage/webhook-deliveries/index.ts +0 -9
  1191. package/src/storage/webhook-deliveries/types.ts +0 -41
  1192. package/src/workflows/runtime.ts +0 -68
  1193. /package/dist/{chunk-45tw90k7.js.map → chunk-4gz41why.js.map} +0 -0
  1194. /package/dist/{chunk-vj723r3p.js.map → chunk-8b55ygje.js.map} +0 -0
  1195. /package/dist/{chunk-p6r5g77m.js.map → chunk-vybf6pkp.js.map} +0 -0
  1196. /package/dist/{chunk-5yny9z0e.js.map → chunk-z3zp0bj1.js.map} +0 -0
@@ -0,0 +1,14 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage/connector-connections/provider/shared.ts", "../src/storage/connector-connections/provider/authorizations.ts", "../src/storage/connector-connections/provider/connections.ts", "../src/storage/connector-connections/provider/runs.ts", "../src/storage/connector-connections/provider.ts"],
4
+ "sourcesContent": [
5
+ "import { timingSafeEqual } from \"node:crypto\"\nimport { createSixbError, toSixbFailure } from \"../../../errors/internal\"\nimport { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ClaimConnectorCredentialMutationInput,\n ConnectorAuthorizationAttemptRecord,\n ConnectorAuthorizationRecord,\n ConnectorConnectionRecord,\n ConnectorConnectionRunProcessingRecord,\n ConnectorConnectionRunRecord,\n ConnectorCredentialMutationFence,\n GetConnectorConnectionInput,\n} from \"../types\"\nimport { CONNECTOR_CONNECTION_RUN_FAILURE_CODES } from \"../types\"\n\nexport interface ConnectorConnectionPersistenceScope {\n readonly projectId: string\n /** Omitted only while resolving a callback whose public proof intentionally carries no id. */\n readonly connectorId?: string\n}\n\n/** Database-specific record access used by the shared connector lifecycle state machine. */\nexport interface ConnectorConnectionPersistence {\n now(): Promise<Date>\n\n insertAuthorizationAttempt(record: ConnectorAuthorizationAttemptRecord): Promise<boolean>\n getAuthorizationAttempt(id: string): Promise<ConnectorAuthorizationAttemptRecord | null>\n getAuthorizationAttemptByConnectionRunId(\n connectionRunId: string\n ): Promise<ConnectorAuthorizationAttemptRecord | null>\n deleteAuthorizationAttempt(id: string): Promise<boolean>\n\n insertConnectionRun(record: ConnectorConnectionRunRecord): Promise<boolean>\n getConnectionRun(id: string): Promise<ConnectorConnectionRunRecord | null>\n updateConnectionRun(record: ConnectorConnectionRunRecord): Promise<void>\n\n insertAuthorization(record: ConnectorAuthorizationRecord): Promise<boolean>\n getAuthorization(id: string): Promise<ConnectorAuthorizationRecord | null>\n updateAuthorization(record: ConnectorAuthorizationRecord): Promise<void>\n\n insertConnection(record: ConnectorConnectionRecord): Promise<boolean>\n getConnectionById(id: string): Promise<ConnectorConnectionRecord | null>\n getConnectionBySelector(\n input: Pick<GetConnectorConnectionInput, \"owner\" | \"slot\">\n ): Promise<ConnectorConnectionRecord | null>\n listConnections(): Promise<readonly ConnectorConnectionRecord[]>\n listConnectionsByAuthorization(\n authorizationId: string,\n options?: { readonly connectedOnly?: boolean }\n ): Promise<readonly ConnectorConnectionRecord[]>\n updateConnection(record: ConnectorConnectionRecord): Promise<void>\n}\n\n/** Transaction and lock boundary supplied by a concrete durable storage provider. */\nexport interface ConnectorConnectionPersistenceBackend {\n read<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T>\n transaction<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T>\n}\n\nexport abstract class ConnectorConnectionOperations {\n constructor(private readonly backend: ConnectorConnectionPersistenceBackend) {}\n\n protected read<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T> {\n return this.backend.read(scope, run)\n }\n\n protected write<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T> {\n return this.backend.transaction(scope, run)\n }\n}\n\nexport async function currentConnectionRun(\n persistence: ConnectorConnectionPersistence,\n runId: string\n): Promise<ConnectorConnectionRunRecord | null> {\n const run = await persistence.getConnectionRun(runId)\n if (!run || (run.status !== \"waiting\" && run.status !== \"running\")) return run\n\n const now = await persistence.now()\n if (run.expiresAt.getTime() > now.getTime()) return run\n\n if (run.status === \"waiting\" && run.waitingFor === \"provider_authorization\") {\n const attempt = await persistence.getAuthorizationAttemptByConnectionRunId(run.id)\n if (attempt) await persistence.deleteAuthorizationAttempt(attempt.id)\n }\n if (run.status === \"waiting\") {\n if (run.kind === \"connect\" && run.waitingFor === \"account_selection\") {\n await markPendingAuthorizationForCleanup(persistence, run.authorizationId, now)\n }\n const expired = expireConnectionRun(run, now)\n await persistence.updateConnectionRun(expired)\n return expired\n }\n\n if (run.kind === \"connect\" && run.authorizationId) {\n await markPendingAuthorizationForCleanup(persistence, run.authorizationId, now)\n }\n const failed = failExpiredProcessingRun(run, now)\n await persistence.updateConnectionRun(failed)\n return failed\n}\n\nexport async function markPendingAuthorizationForCleanup(\n persistence: ConnectorConnectionPersistence,\n authorizationId: string,\n now: Date\n): Promise<void> {\n const authorization = await persistence.getAuthorization(authorizationId)\n if (!authorization || authorization.status !== \"pending_selection\") return\n await persistence.updateAuthorization(markAuthorizationRevocationPending(authorization, now))\n}\n\nexport function connectionRunBase(record: ConnectorConnectionRunRecord, updatedAt: Date) {\n return {\n id: record.id,\n projectId: record.projectId,\n connectorId: record.connectorId,\n kind: record.kind,\n owner: structuredClone(record.owner),\n slot: record.slot,\n initiatedByExecutionId: record.initiatedByExecutionId,\n createdAt: new Date(record.createdAt),\n updatedAt: new Date(updatedAt),\n }\n}\n\nfunction expireConnectionRun(\n record: Extract<ConnectorConnectionRunRecord, { readonly status: \"waiting\" }>,\n now: Date\n) {\n return {\n ...connectionRunBase(record, now),\n status: \"expired\" as const,\n ...(record.waitingFor === \"account_selection\"\n ? { authorizationId: record.authorizationId }\n : {}),\n finishedAt: new Date(now),\n }\n}\n\nfunction failExpiredProcessingRun(record: ConnectorConnectionRunProcessingRecord, now: Date) {\n return {\n ...connectionRunBase(record, now),\n status: \"failed\" as const,\n ...(record.authorizationId === undefined ? {} : { authorizationId: record.authorizationId }),\n error: toSixbFailure(\n createSixbError(\n \"internal.unexpected\",\n \"[Sixb] Connector callback processing did not complete before its deadline.\"\n ),\n { allowedCodes: CONNECTOR_CONNECTION_RUN_FAILURE_CODES, at: now }\n ),\n finishedAt: new Date(now),\n }\n}\n\nexport function disconnectConnectionRecord(\n connection: ConnectorConnectionRecord,\n now: Date\n): ConnectorConnectionRecord {\n return {\n ...connection,\n status: \"disconnected\",\n disconnectedAt: new Date(now),\n updatedAt: new Date(now),\n }\n}\n\nexport function markAuthorizationRevocationPending(\n authorization: ConnectorAuthorizationRecord,\n now: Date\n): ConnectorAuthorizationRecord {\n if (authorization.status === \"revocation_pending\" || authorization.status === \"revoked\") {\n return authorization\n }\n if (authorization.credentialMutation) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector authorization cannot begin revocation while credentials are being mutated.\"\n )\n }\n return {\n ...authorization,\n status: \"revocation_pending\",\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: new Date(now),\n }\n}\n\nexport function assertConnectionCanMove(\n authorization: ConnectorAuthorizationRecord,\n removingLastConnection = true\n): void {\n const mutation = authorization.credentialMutation\n if (mutation?.kind === \"reauthorization\") {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connections cannot change while their connector authorization is being reauthorized.\"\n )\n }\n if (removingLastConnection && mutation) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] The last connector connection cannot be removed while credentials are being mutated.\"\n )\n }\n}\n\nexport function safeEqual(left: string, right: string): boolean {\n const leftBytes = Buffer.from(left)\n const rightBytes = Buffer.from(right)\n return leftBytes.length === rightBytes.length && timingSafeEqual(leftBytes, rightBytes)\n}\n\nexport function invalidRun(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"run_invalid\",\n \"[Sixb] Connector connection run is invalid, expired, or already used.\"\n )\n}\n\nexport function sameIds(left: readonly string[], right: readonly string[]): boolean {\n const leftSorted = [...left].sort()\n const rightSorted = [...right].sort()\n return (\n leftSorted.length === rightSorted.length &&\n leftSorted.every((value, index) => value === rightSorted[index])\n )\n}\n\nexport function invalidAttempt(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"attempt_invalid\",\n \"[Sixb] Connector authorization attempt is invalid, expired, or already used.\"\n )\n}\n\nexport function authorizationConflict(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection requires a selectable authorization from the same project and connector.\"\n )\n}\n\nexport function assertPositiveDuration(value: number, name: string): void {\n if (!Number.isFinite(value) || value <= 0) {\n throw new ConnectorConnectionStorageError(\n \"invalid_input\",\n `[Sixb] Connector ${name} must be positive.`\n )\n }\n}\n\nexport function canClaimMutation(\n status: ConnectorAuthorizationRecord[\"status\"],\n kind: ClaimConnectorCredentialMutationInput[\"mutation\"][\"kind\"]\n): boolean {\n if (kind === \"refresh\") return status === \"active\"\n if (kind === \"reauthorization\") {\n return status === \"active\" || status === \"needs_reauthorization\"\n }\n return status !== \"revoked\"\n}\n\nexport function isSelectable(status: ConnectorAuthorizationRecord[\"status\"]): boolean {\n return status === \"pending_selection\" || status === \"active\"\n}\n\nexport function leaseExpiry(now: Date, durationMs: number, deadlineAt: Date): Date {\n return new Date(Math.min(now.getTime() + durationMs, deadlineAt.getTime()))\n}\n\nexport function mutationExpired(record: ConnectorAuthorizationRecord, now: Date): boolean {\n return (\n record.credentialMutation!.expiresAt.getTime() <= now.getTime() ||\n record.credentialMutation!.deadlineAt.getTime() <= now.getTime()\n )\n}\n\nexport function matchesMutation(\n record: ConnectorAuthorizationRecord | null,\n input: ConnectorCredentialMutationFence,\n holderId?: string\n): record is ConnectorAuthorizationRecord & {\n readonly credentialMutation: NonNullable<ConnectorAuthorizationRecord[\"credentialMutation\"]>\n} {\n return (\n record !== null &&\n record.revision === input.expectedRevision &&\n record.credentialMutation?.id === input.mutationId &&\n (holderId === undefined || record.credentialMutation.holderId === holderId)\n )\n}\n\nexport function stagedCredentials(\n record: ConnectorAuthorizationRecord | null,\n input: ConnectorCredentialMutationFence,\n kind: \"refresh\" | \"reauthorization\"\n) {\n if (\n !matchesMutation(record, input) ||\n record.credentialMutation.kind !== kind ||\n record.credentialMutation.phase !== \"result_staged\"\n ) {\n return null\n }\n return record.credentialMutation.stagedCredentials ?? null\n}\n\nexport function applyStagedCredentials(\n record: ConnectorAuthorizationRecord,\n staged: NonNullable<ReturnType<typeof stagedCredentials>>,\n now: Date,\n input: { readonly accounts: readonly ConnectorAuthorizationRecord[\"accounts\"][number][] }\n): ConnectorAuthorizationRecord {\n return {\n ...record,\n credentials: structuredClone(staged.credentials),\n credentialExpiresAt:\n staged.credentialExpiresAt === undefined ? undefined : new Date(staged.credentialExpiresAt),\n scopes: [...staged.scopes],\n accounts: structuredClone(input.accounts),\n status: \"active\",\n selectionExpiresAt: undefined,\n revision: record.revision + 1,\n credentialMutation: undefined,\n updatedAt: now,\n }\n}\n",
6
+ "import { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ClaimConnectorCredentialMutationInput,\n ClaimConnectorCredentialMutationResult,\n ConnectorAuthorizationKey,\n ConnectorAuthorizationRecord,\n ConnectorConnectionKey,\n ConnectorConnectionRecord,\n ConnectorCredentialMutationFence,\n CreateConnectorAuthorizationInput,\n FinalizeConnectorReauthorizationInput,\n InitializeConnectorAuthorizationAccountsInput,\n MarkConnectorAuthorizationNeedsReauthorizationInput,\n MarkConnectorCredentialMutationExecutingInput,\n RecoverExpiredConnectorCredentialMutationInput,\n ReleaseConnectorCredentialMutationInput,\n RenewConnectorCredentialMutationInput,\n StageConnectorCredentialMutationCredentialsInput,\n StageConnectorCredentialMutationRevocationInput,\n} from \"../types\"\nimport {\n applyStagedCredentials,\n assertPositiveDuration,\n ConnectorConnectionOperations,\n canClaimMutation,\n disconnectConnectionRecord,\n leaseExpiry,\n matchesMutation,\n mutationExpired,\n sameIds,\n stagedCredentials,\n} from \"./shared\"\n\nexport class DurableConnectorAuthorizations extends ConnectorConnectionOperations {\n createAuthorization(\n input: CreateConnectorAuthorizationInput\n ): Promise<ConnectorAuthorizationRecord> {\n assertPositiveDuration(input.selectionTtlMs, \"account selection TTL\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record: ConnectorAuthorizationRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n authorizedBy: structuredClone(input.authorizedBy),\n credentials: structuredClone(input.credentials),\n ...(input.credentialExpiresAt === undefined\n ? {}\n : { credentialExpiresAt: new Date(input.credentialExpiresAt) }),\n scopes: [...input.scopes],\n accounts: structuredClone(input.accounts),\n status: \"pending_selection\",\n selectionExpiresAt: new Date(now.getTime() + input.selectionTtlMs),\n revision: 0,\n createdAt: now,\n updatedAt: now,\n }\n if (!(await persistence.insertAuthorization(record))) {\n throw authorizationConflict(\"[Sixb] Connector authorization already exists.\")\n }\n return structuredClone(record)\n })\n }\n\n initializeAuthorizationAccounts(\n input: InitializeConnectorAuthorizationAccountsInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !record ||\n record.revision !== input.expectedRevision ||\n record.status !== \"pending_selection\" ||\n record.credentialMutation\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n accounts: structuredClone(input.accounts),\n revision: record.revision + 1,\n updatedAt: await persistence.now(),\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n getAuthorization(input: ConnectorAuthorizationKey): Promise<ConnectorAuthorizationRecord | null> {\n return this.read(input, async (persistence) => {\n const authorization = await persistence.getAuthorization(input.authorizationId)\n return authorization ? structuredClone(authorization) : null\n })\n }\n\n getAuthorizationByConnectionId(\n input: ConnectorConnectionKey\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n if (!connection) return null\n const authorization = await persistence.getAuthorization(connection.authorizationId)\n return authorization ? structuredClone(authorization) : null\n })\n }\n\n claimCredentialMutation(\n input: ClaimConnectorCredentialMutationInput\n ): Promise<ClaimConnectorCredentialMutationResult | null> {\n assertPositiveDuration(input.leaseDurationMs, \"credential mutation lease duration\")\n assertPositiveDuration(input.operationTimeoutMs, \"credential mutation timeout\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !record ||\n record.revision !== input.expectedRevision ||\n !canClaimMutation(record.status, input.mutation.kind)\n ) {\n return null\n }\n\n if (record.credentialMutation) {\n const canReplacePrepared =\n record.credentialMutation.phase === \"prepared\" &&\n record.credentialMutation.expiresAt.getTime() <= now.getTime()\n if (!canReplacePrepared) return null\n }\n\n const attached = await persistence.listConnectionsByAuthorization(record.id, {\n connectedOnly: true,\n })\n if (\n input.mutation.kind === \"reauthorization\" &&\n !sameIds(\n attached.map((connection) => connection.id),\n input.expectedConnectionIds ?? []\n )\n ) {\n return null\n }\n\n const deadlineAt = new Date(now.getTime() + input.operationTimeoutMs)\n const mutation = {\n ...structuredClone(input.mutation),\n phase: \"prepared\" as const,\n expiresAt: leaseExpiry(now, input.leaseDurationMs, deadlineAt),\n deadlineAt,\n ...(input.mutation.kind === \"reauthorization\"\n ? { expectedConnectionIds: [...(input.expectedConnectionIds ?? [])] }\n : {}),\n }\n const startsRevocation =\n input.mutation.kind === \"revocation\" && record.status !== \"revocation_pending\"\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n status: input.mutation.kind === \"revocation\" ? \"revocation_pending\" : record.status,\n selectionExpiresAt:\n input.mutation.kind === \"revocation\" ? undefined : record.selectionExpiresAt,\n revision: startsRevocation ? record.revision + 1 : record.revision,\n credentialMutation: mutation,\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n\n const disconnected: ConnectorConnectionRecord[] = []\n if (input.mutation.kind === \"revocation\") {\n for (const connection of attached) {\n const updatedConnection = disconnectConnectionRecord(connection, now)\n await persistence.updateConnection(updatedConnection)\n disconnected.push(structuredClone(updatedConnection))\n }\n }\n return { authorization: structuredClone(updated), disconnected }\n })\n }\n\n markCredentialMutationExecuting(\n input: MarkConnectorCredentialMutationExecutingInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase !== \"prepared\" ||\n mutationExpired(record, now)\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: { ...record.credentialMutation, phase: \"executing\" },\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n renewCredentialMutation(\n input: RenewConnectorCredentialMutationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n assertPositiveDuration(input.leaseDurationMs, \"credential mutation lease duration\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase === \"result_staged\" ||\n mutationExpired(record, now)\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: {\n ...record.credentialMutation,\n expiresAt: leaseExpiry(now, input.leaseDurationMs, record.credentialMutation.deadlineAt),\n },\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n stageCredentialMutationCredentials(\n input: StageConnectorCredentialMutationCredentialsInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase !== \"executing\" ||\n mutationExpired(record, now) ||\n record.credentialMutation.kind === \"revocation\"\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: {\n ...record.credentialMutation,\n phase: \"result_staged\",\n stagedCredentials: {\n credentials: structuredClone(input.credentials),\n ...(input.credentialExpiresAt === undefined\n ? {}\n : { credentialExpiresAt: new Date(input.credentialExpiresAt) }),\n scopes: [...input.scopes],\n },\n },\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n stageCredentialMutationRevocation(\n input: StageConnectorCredentialMutationRevocationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase !== \"executing\" ||\n record.credentialMutation.kind !== \"revocation\" ||\n mutationExpired(record, now)\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: { ...record.credentialMutation, phase: \"result_staged\" },\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n releaseCredentialMutation(input: ReleaseConnectorCredentialMutationInput): Promise<boolean> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase === \"result_staged\"\n ) {\n return false\n }\n await persistence.updateAuthorization({\n ...record,\n credentialMutation: undefined,\n updatedAt: await persistence.now(),\n })\n return true\n })\n }\n\n recoverExpiredCredentialMutation(\n input: RecoverExpiredConnectorCredentialMutationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (!record?.credentialMutation) return null\n if (record.credentialMutation.phase === \"result_staged\") return structuredClone(record)\n\n const now = await persistence.now()\n if (!mutationExpired(record, now)) return null\n const ambiguous = record.credentialMutation.phase === \"executing\"\n const failClosed = ambiguous && record.credentialMutation.kind !== \"revocation\"\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n status: failClosed ? \"needs_reauthorization\" : record.status,\n selectionExpiresAt: failClosed ? undefined : record.selectionExpiresAt,\n revision: failClosed ? record.revision + 1 : record.revision,\n credentialMutation: undefined,\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n markNeedsReauthorization(\n input: MarkConnectorAuthorizationNeedsReauthorizationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (!matchesMutation(record, input)) return null\n const staged = record.credentialMutation.stagedCredentials\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n ...(staged\n ? {\n credentials: structuredClone(staged.credentials),\n credentialExpiresAt:\n staged.credentialExpiresAt === undefined\n ? undefined\n : new Date(staged.credentialExpiresAt),\n scopes: [...staged.scopes],\n }\n : {}),\n status: \"needs_reauthorization\",\n selectionExpiresAt: undefined,\n revision: record.revision + 1,\n credentialMutation: undefined,\n updatedAt: await persistence.now(),\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n finalizeRefresh(\n input: ConnectorCredentialMutationFence\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n const staged = stagedCredentials(record, input, \"refresh\")\n if (!record || !staged) return null\n const updated = applyStagedCredentials(record, staged, await persistence.now(), {\n accounts: record.accounts,\n })\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n finalizeReauthorization(\n input: FinalizeConnectorReauthorizationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n const staged = stagedCredentials(record, input, \"reauthorization\")\n if (!record || !staged || !record.credentialMutation) return null\n const attached = await persistence.listConnectionsByAuthorization(record.id, {\n connectedOnly: true,\n })\n if (\n !sameIds(\n attached.map((connection) => connection.id),\n record.credentialMutation.expectedConnectionIds ?? []\n )\n ) {\n throw authorizationConflict(\n \"[Sixb] Connections attached to the connector authorization changed during reauthorization.\"\n )\n }\n const accountsById = new Map(input.accounts.map((account) => [account.id, account]))\n if (attached.some((connection) => !accountsById.has(connection.account.id))) {\n throw authorizationConflict(\n \"[Sixb] Reauthorized connector grant no longer exposes every attached account.\"\n )\n }\n\n const now = await persistence.now()\n const updated = applyStagedCredentials(record, staged, now, { accounts: input.accounts })\n await persistence.updateAuthorization(updated)\n for (const connection of attached) {\n await persistence.updateConnection({\n ...connection,\n account: structuredClone(accountsById.get(connection.account.id)!),\n updatedAt: now,\n })\n }\n return structuredClone(updated)\n })\n }\n\n finalizeRevocation(\n input: ConnectorCredentialMutationFence\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input) ||\n record.credentialMutation.kind !== \"revocation\" ||\n record.credentialMutation.phase !== \"result_staged\"\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n status: \"revoked\",\n credentials: undefined,\n credentialExpiresAt: undefined,\n scopes: [],\n accounts: [],\n selectionExpiresAt: undefined,\n revision: record.revision + 1,\n credentialMutation: undefined,\n updatedAt: await persistence.now(),\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n}\n\nfunction authorizationConflict(message: string) {\n return new ConnectorConnectionStorageError(\"authorization_conflict\", message)\n}\n",
7
+ "import { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ConnectorConnectionKey,\n ConnectorConnectionRecord,\n ConnectorConnectionRunSucceededRecord,\n DisconnectConnectorConnectionResult,\n GetConnectorConnectionInput,\n ListConnectorConnectionsInput,\n PutConnectorConnectionFromRunInput,\n PutConnectorConnectionFromRunResult,\n PutConnectorConnectionInput,\n PutConnectorConnectionResult,\n} from \"../types\"\nimport {\n assertConnectionCanMove,\n authorizationConflict,\n ConnectorConnectionOperations,\n type ConnectorConnectionPersistence,\n connectionRunBase,\n currentConnectionRun,\n disconnectConnectionRecord,\n invalidRun,\n isSelectable,\n markAuthorizationRevocationPending,\n} from \"./shared\"\n\nexport class DurableConnectorConnections extends ConnectorConnectionOperations {\n async putConnection(input: PutConnectorConnectionInput): Promise<PutConnectorConnectionResult> {\n const outcome = await this.write(input, async (persistence) =>\n this.putConnectionNow(persistence, input, await persistence.now())\n )\n if (\"error\" in outcome) throw outcome.error\n return outcome\n }\n\n async putConnectionFromRun(\n input: PutConnectorConnectionFromRunInput\n ): Promise<PutConnectorConnectionFromRunResult> {\n const outcome = await this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (!run || run.status !== \"waiting\" || run.waitingFor !== \"account_selection\") {\n return { error: invalidRun() }\n }\n const now = await persistence.now()\n const result = await this.putConnectionNow(\n persistence,\n {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: run.owner,\n slot: run.slot,\n authorizationId: run.authorizationId,\n account: input.account,\n replace: input.replace,\n },\n now\n )\n if (\"error\" in result) return result\n const succeeded: ConnectorConnectionRunSucceededRecord = {\n ...connectionRunBase(run, now),\n status: \"succeeded\",\n authorizationId: run.authorizationId,\n ...(result.revocationPendingAuthorizationId === undefined\n ? {}\n : { cleanupAuthorizationId: result.revocationPendingAuthorizationId }),\n connections: [structuredClone(result.connection)],\n finishedAt: now,\n }\n await persistence.updateConnectionRun(succeeded)\n return { ...result, run: structuredClone(succeeded) }\n })\n if (\"error\" in outcome) throw outcome.error\n return outcome\n }\n\n getConnection(input: GetConnectorConnectionInput): Promise<ConnectorConnectionRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionBySelector(input)\n return connection?.status === \"connected\" ? structuredClone(connection) : null\n })\n }\n\n getConnectionById(input: ConnectorConnectionKey): Promise<ConnectorConnectionRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n return connection ? structuredClone(connection) : null\n })\n }\n\n listConnections(\n input: ListConnectorConnectionsInput\n ): Promise<readonly ConnectorConnectionRecord[]> {\n return this.read(input, async (persistence) =>\n structuredClone(await persistence.listConnections())\n )\n }\n\n listConnectionsByAuthorization(input: {\n readonly projectId: string\n readonly connectorId: string\n readonly authorizationId: string\n }): Promise<readonly ConnectorConnectionRecord[]> {\n return this.read(input, async (persistence) => {\n if (!(await persistence.getAuthorization(input.authorizationId))) return []\n return structuredClone(\n await persistence.listConnectionsByAuthorization(input.authorizationId, {\n connectedOnly: true,\n })\n )\n })\n }\n\n disconnectConnection(\n input: ConnectorConnectionKey\n ): Promise<DisconnectConnectorConnectionResult | null> {\n return this.write(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n if (!connection) return null\n const authorization = await persistence.getAuthorization(connection.authorizationId)\n if (!authorization) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection references an unavailable authorization.\"\n )\n }\n if (connection.status === \"disconnected\") {\n return {\n connection: structuredClone(connection),\n authorization: structuredClone(authorization),\n ...(authorization.status === \"revocation_pending\"\n ? { revocationPendingAuthorizationId: authorization.id }\n : {}),\n }\n }\n\n const now = await persistence.now()\n const remaining = (\n await persistence.listConnectionsByAuthorization(authorization.id, {\n connectedOnly: true,\n })\n ).filter((candidate) => candidate.id !== connection.id)\n assertConnectionCanMove(authorization, remaining.length === 0)\n const disconnected = disconnectConnectionRecord(connection, now)\n await persistence.updateConnection(disconnected)\n const updatedAuthorization =\n remaining.length === 0\n ? markAuthorizationRevocationPending(authorization, now)\n : authorization\n if (updatedAuthorization !== authorization) {\n await persistence.updateAuthorization(updatedAuthorization)\n }\n return {\n connection: structuredClone(disconnected),\n authorization: structuredClone(updatedAuthorization),\n ...(updatedAuthorization.status === \"revocation_pending\" && remaining.length === 0\n ? { revocationPendingAuthorizationId: updatedAuthorization.id }\n : {}),\n }\n })\n }\n\n private async putConnectionNow(\n persistence: ConnectorConnectionPersistence,\n input: PutConnectorConnectionInput,\n now: Date\n ): Promise<PutConnectorConnectionResult | CommittedConnectorConnectionError> {\n let authorization = await persistence.getAuthorization(input.authorizationId)\n if (\n !authorization ||\n !isSelectable(authorization.status) ||\n authorization.credentialMutation?.kind === \"reauthorization\"\n ) {\n throw authorizationConflict()\n }\n if (\n authorization.status === \"pending_selection\" &&\n authorization.selectionExpiresAt!.getTime() <= now.getTime()\n ) {\n authorization = {\n ...authorization,\n status: \"revocation_pending\",\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: now,\n }\n await persistence.updateAuthorization(authorization)\n return { error: authorizationConflict() }\n }\n const account = authorization.accounts.find((candidate) => candidate.id === input.account.id)\n if (!account) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection account is not exposed by its authorization.\"\n )\n }\n const existing = await persistence.getConnectionBySelector(input)\n const sameAccount = existing?.account.id === account.id\n if (existing && !sameAccount && !input.replace) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n `[Sixb] Connector slot '${input.slot}' is already connected to another account; explicit replacement is required.`\n )\n }\n if (!existing && (await persistence.getConnectionById(input.id))) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n \"[Sixb] Connector connection id already exists.\"\n )\n }\n\n let revocationPendingAuthorizationId: string | undefined\n if (existing?.status === \"connected\" && existing.authorizationId !== authorization.id) {\n const previous = await persistence.getAuthorization(existing.authorizationId)\n if (!previous) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Existing connector connection references an unavailable authorization.\"\n )\n }\n const remaining = (\n await persistence.listConnectionsByAuthorization(previous.id, { connectedOnly: true })\n ).filter((connection) => connection.id !== existing.id)\n assertConnectionCanMove(previous, remaining.length === 0)\n if (remaining.length === 0) {\n await persistence.updateAuthorization(markAuthorizationRevocationPending(previous, now))\n revocationPendingAuthorizationId = previous.id\n }\n } else if (existing?.status === \"connected\") {\n const previous = await persistence.getAuthorization(existing.authorizationId)\n if (previous) assertConnectionCanMove(previous, false)\n }\n\n const updatedAuthorization =\n authorization.status === \"pending_selection\"\n ? {\n ...authorization,\n status: \"active\" as const,\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: now,\n }\n : authorization\n const connection: ConnectorConnectionRecord = existing\n ? {\n ...existing,\n authorizationId: input.authorizationId,\n account: structuredClone(account),\n status: \"connected\",\n disconnectedAt: undefined,\n updatedAt: now,\n }\n : {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: structuredClone(input.owner),\n slot: input.slot,\n authorizationId: input.authorizationId,\n account: structuredClone(account),\n status: \"connected\",\n createdAt: now,\n updatedAt: now,\n }\n\n if (updatedAuthorization !== authorization) {\n await persistence.updateAuthorization(updatedAuthorization)\n }\n if (existing) {\n await persistence.updateConnection(connection)\n } else if (!(await persistence.insertConnection(connection))) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n \"[Sixb] Connector connection id already exists.\"\n )\n }\n return {\n connection: structuredClone(connection),\n authorization: structuredClone(updatedAuthorization),\n ...(revocationPendingAuthorizationId === undefined\n ? {}\n : { revocationPendingAuthorizationId }),\n created: existing === null,\n replaced: existing !== null && !sameAccount,\n }\n }\n}\n\ninterface CommittedConnectorConnectionError {\n readonly error: ConnectorConnectionStorageError\n}\n",
8
+ "import { parseSixbFailure } from \"../../../errors/internal\"\nimport { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n AttachConnectorConnectionRunAuthorizationInput,\n ClaimConnectorConnectionRunCallbackInput,\n ClaimConnectorConnectionRunCallbackResult,\n ConnectorAuthorizationAttemptRecord,\n ConnectorConnectionRunAwaitingProviderRecord,\n ConnectorConnectionRunAwaitingSelectionRecord,\n ConnectorConnectionRunProcessingRecord,\n ConnectorConnectionRunRecord,\n ConnectorConnectionStorage,\n CreateConnectorAuthorizationAttemptInput,\n CreateConnectorConnectionRunInput,\n CreateConnectorConnectionSelectionRunInput,\n FinishConnectorConnectionRunInput,\n GetConnectorConnectionRunInput,\n WaitForConnectorConnectionRunSelectionInput,\n} from \"../types\"\nimport { CONNECTOR_CONNECTION_RUN_FAILURE_CODES } from \"../types\"\nimport {\n assertPositiveDuration,\n authorizationConflict,\n ConnectorConnectionOperations,\n connectionRunBase,\n currentConnectionRun,\n invalidAttempt,\n markPendingAuthorizationForCleanup,\n safeEqual,\n} from \"./shared\"\n\nexport class DurableConnectorConnectionRuns extends ConnectorConnectionOperations {\n createAuthorizationAttempt(\n input: CreateConnectorAuthorizationAttemptInput\n ): Promise<ConnectorAuthorizationAttemptRecord> {\n assertPositiveDuration(input.ttlMs, \"authorization attempt TTL\")\n return this.write(input, async (persistence) => {\n if (input.connectionRunId !== undefined) {\n const run = await persistence.getConnectionRun(input.connectionRunId)\n const existingAttempt = await persistence.getAuthorizationAttemptByConnectionRunId(\n input.connectionRunId\n )\n if (\n !run ||\n existingAttempt ||\n run.status !== \"waiting\" ||\n run.waitingFor !== \"provider_authorization\" ||\n run.slot !== input.slot ||\n run.initiatedByExecutionId !== input.initiatedByExecutionId\n ) {\n throw new ConnectorConnectionStorageError(\n \"attempt_conflict\",\n \"[Sixb] Connector authorization attempt does not match its connection run.\"\n )\n }\n }\n const now = await persistence.now()\n const record: ConnectorAuthorizationAttemptRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n stateHash: input.stateHash,\n codeVerifier: structuredClone(input.codeVerifier),\n redirectUri: input.redirectUri,\n ...(input.connectionRunId === undefined ? {} : { connectionRunId: input.connectionRunId }),\n ...(input.returnTo === undefined ? {} : { returnTo: input.returnTo }),\n ...(input.callbackBindingHash === undefined\n ? {}\n : { callbackBindingHash: input.callbackBindingHash }),\n ...(input.reauthorizationId === undefined\n ? {}\n : { reauthorizationId: input.reauthorizationId }),\n ...(input.reauthorizationRevision === undefined\n ? {}\n : { reauthorizationRevision: input.reauthorizationRevision }),\n ...(input.reauthorizationConnectionIds === undefined\n ? {}\n : { reauthorizationConnectionIds: [...input.reauthorizationConnectionIds] }),\n createdAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertAuthorizationAttempt(record))) {\n throw new ConnectorConnectionStorageError(\n \"attempt_conflict\",\n \"[Sixb] Connector authorization attempt already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n async consumeAuthorizationAttempt(\n input: Parameters<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>[0]\n ): Promise<ConnectorAuthorizationAttemptRecord> {\n const record = await this.write(input, async (persistence) => {\n const record = await persistence.getAuthorizationAttempt(input.id)\n const now = await persistence.now()\n if (record && record.expiresAt.getTime() <= now.getTime()) {\n await persistence.deleteAuthorizationAttempt(record.id)\n return null\n }\n if (\n !record ||\n record.redirectUri !== input.redirectUri ||\n !safeEqual(record.stateHash, input.stateHash)\n ) {\n return null\n }\n\n await persistence.deleteAuthorizationAttempt(input.id)\n return structuredClone(record)\n })\n if (!record) throw invalidAttempt()\n return record\n }\n\n createConnectionRun(\n input: CreateConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord> {\n assertPositiveDuration(input.ttlMs, \"connection run TTL\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record: ConnectorConnectionRunAwaitingProviderRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n kind: input.kind,\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n status: \"waiting\",\n waitingFor: \"provider_authorization\",\n createdAt: now,\n updatedAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertConnectionRun(record))) {\n throw new ConnectorConnectionStorageError(\n \"run_conflict\",\n \"[Sixb] Connector connection run already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n createConnectionSelectionRun(\n input: CreateConnectorConnectionSelectionRunInput\n ): Promise<ConnectorConnectionRunAwaitingSelectionRecord> {\n assertPositiveDuration(input.ttlMs, \"connection run TTL\")\n return this.write(input, async (persistence) => {\n const authorization = await persistence.getAuthorization(input.authorizationId)\n if (!authorization || authorization.status !== \"active\" || authorization.credentialMutation) {\n throw authorizationConflict()\n }\n const now = await persistence.now()\n const record: ConnectorConnectionRunAwaitingSelectionRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n kind: \"connect\",\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n status: \"waiting\",\n waitingFor: \"account_selection\",\n authorizationId: input.authorizationId,\n createdAt: now,\n updatedAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertConnectionRun(record))) {\n throw new ConnectorConnectionStorageError(\n \"run_conflict\",\n \"[Sixb] Connector connection run already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n async claimConnectionRunCallback(\n input: ClaimConnectorConnectionRunCallbackInput\n ): Promise<ClaimConnectorConnectionRunCallbackResult | null> {\n assertPositiveDuration(input.processingTtlMs, \"connection run processing TTL\")\n // Resolve the opaque attempt before entering the connector-scoped critical section. The\n // transaction re-reads every proof, but now all writers acquire the connector lock before row\n // locks instead of letting callback and expiry paths lock attempt/run rows in opposite orders.\n const candidate = await this.read({ projectId: input.projectId }, (persistence) =>\n persistence.getAuthorizationAttempt(input.attemptId)\n )\n if (!candidate) return null\n\n return this.write(\n { projectId: input.projectId, connectorId: candidate.connectorId },\n async (persistence) => {\n const attempt = await persistence.getAuthorizationAttempt(input.attemptId)\n if (\n !attempt ||\n attempt.connectionRunId === undefined ||\n attempt.returnTo === undefined ||\n attempt.callbackBindingHash === undefined ||\n attempt.redirectUri !== input.redirectUri ||\n !safeEqual(attempt.stateHash, input.stateHash) ||\n !safeEqual(attempt.callbackBindingHash, input.callbackBindingHash)\n ) {\n return null\n }\n\n const run = await persistence.getConnectionRun(attempt.connectionRunId)\n if (\n !run ||\n run.status !== \"waiting\" ||\n run.waitingFor !== \"provider_authorization\" ||\n run.slot !== attempt.slot ||\n run.initiatedByExecutionId !== attempt.initiatedByExecutionId\n ) {\n return null\n }\n\n const now = await persistence.now()\n await persistence.deleteAuthorizationAttempt(attempt.id)\n if (\n attempt.expiresAt.getTime() <= now.getTime() ||\n run.expiresAt.getTime() <= now.getTime()\n ) {\n const expired: Extract<ConnectorConnectionRunRecord, { status: \"expired\" }> = {\n ...connectionRunBase(run, now),\n status: \"expired\",\n finishedAt: now,\n }\n await persistence.updateConnectionRun(expired)\n return { type: \"expired\", run: structuredClone(expired), returnTo: attempt.returnTo }\n }\n\n const processing: ConnectorConnectionRunProcessingRecord = {\n ...connectionRunBase(run, now),\n status: \"running\",\n processingId: input.processingId,\n callbackStartedAt: now,\n expiresAt: new Date(now.getTime() + input.processingTtlMs),\n ...(attempt.reauthorizationId === undefined\n ? {}\n : { authorizationId: attempt.reauthorizationId }),\n }\n await persistence.updateConnectionRun(processing)\n return {\n type: \"claimed\",\n run: structuredClone(processing),\n attempt: structuredClone(attempt),\n returnTo: attempt.returnTo,\n }\n }\n )\n }\n\n attachConnectionRunAuthorization(\n input: AttachConnectorConnectionRunAuthorizationInput\n ): Promise<ConnectorConnectionRunProcessingRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n const authorization = await persistence.getAuthorization(input.authorizationId)\n if (\n !run ||\n run.status !== \"running\" ||\n run.processingId !== input.processingId ||\n (run.authorizationId !== undefined && run.authorizationId !== input.authorizationId) ||\n !authorization ||\n authorization.status !== \"pending_selection\"\n ) {\n return null\n }\n const updated: ConnectorConnectionRunProcessingRecord = {\n ...run,\n authorizationId: input.authorizationId,\n updatedAt: await persistence.now(),\n }\n await persistence.updateConnectionRun(updated)\n return structuredClone(updated)\n })\n }\n\n waitForConnectionRunSelection(\n input: WaitForConnectorConnectionRunSelectionInput\n ): Promise<ConnectorConnectionRunAwaitingSelectionRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (\n !run ||\n run.status !== \"running\" ||\n run.kind !== \"connect\" ||\n run.processingId !== input.processingId ||\n run.authorizationId !== input.authorizationId\n ) {\n return null\n }\n const now = await persistence.now()\n const waiting: ConnectorConnectionRunAwaitingSelectionRecord = {\n ...connectionRunBase(run, now),\n status: \"waiting\",\n waitingFor: \"account_selection\",\n authorizationId: input.authorizationId,\n expiresAt: new Date(input.expiresAt),\n }\n await persistence.updateConnectionRun(waiting)\n return structuredClone(waiting)\n })\n }\n\n finishConnectionRun(\n input: FinishConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (!run || run.status !== \"running\" || input.processingId !== run.processingId) return null\n const now = await persistence.now()\n const authorizationId =\n input.status === \"succeeded\"\n ? input.authorizationId\n : input.status === \"failed\"\n ? (input.authorizationId ?? run.authorizationId)\n : run.authorizationId\n if (input.status !== \"succeeded\" && run.kind === \"connect\" && authorizationId) {\n await markPendingAuthorizationForCleanup(persistence, authorizationId, now)\n }\n const base = connectionRunBase(run, now)\n const finished: ConnectorConnectionRunRecord =\n input.status === \"succeeded\"\n ? {\n ...base,\n status: \"succeeded\",\n authorizationId: input.authorizationId,\n ...(input.cleanupAuthorizationId === undefined\n ? {}\n : { cleanupAuthorizationId: input.cleanupAuthorizationId }),\n connections: structuredClone(input.connections),\n finishedAt: now,\n }\n : input.status === \"failed\"\n ? {\n ...base,\n status: \"failed\",\n ...(authorizationId === undefined ? {} : { authorizationId }),\n error: parseSixbFailure(input.error, CONNECTOR_CONNECTION_RUN_FAILURE_CODES),\n finishedAt: now,\n }\n : {\n ...base,\n status: \"cancelled\",\n ...(authorizationId === undefined ? {} : { authorizationId }),\n finishedAt: now,\n }\n await persistence.updateConnectionRun(finished)\n return structuredClone(finished)\n })\n }\n\n getConnectionRun(\n input: GetConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n return run ? structuredClone(run) : null\n })\n }\n}\n",
9
+ "import { DurableConnectorAuthorizations } from \"./provider/authorizations\"\nimport { DurableConnectorConnections } from \"./provider/connections\"\nimport { DurableConnectorConnectionRuns } from \"./provider/runs\"\nimport type { ConnectorConnectionPersistenceBackend } from \"./provider/shared\"\nimport type { ConnectorConnectionStorage } from \"./types\"\n\nexport type {\n ConnectorConnectionPersistence,\n ConnectorConnectionPersistenceBackend,\n ConnectorConnectionPersistenceScope,\n} from \"./provider/shared\"\n\n/**\n * Shared durable implementation of the Connector connection lifecycle.\n *\n * Concrete providers own SQL, transactions, database time and per-connector serialization. The\n * focused services below own protocol runs, authorization mutations and stable connections so\n * SQLite and PostgreSQL cannot drift semantically.\n */\nexport class DurableConnectorConnectionStorage implements ConnectorConnectionStorage {\n readonly durability = \"durable\" as const\n private readonly runs: DurableConnectorConnectionRuns\n private readonly authorizations: DurableConnectorAuthorizations\n private readonly connections: DurableConnectorConnections\n\n constructor(backend: ConnectorConnectionPersistenceBackend) {\n this.runs = new DurableConnectorConnectionRuns(backend)\n this.authorizations = new DurableConnectorAuthorizations(backend)\n this.connections = new DurableConnectorConnections(backend)\n }\n\n async createAuthorizationAttempt(\n ...args: Parameters<ConnectorConnectionStorage[\"createAuthorizationAttempt\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createAuthorizationAttempt\"]>>> {\n return this.runs.createAuthorizationAttempt(...args)\n }\n\n async consumeAuthorizationAttempt(\n ...args: Parameters<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>>> {\n return this.runs.consumeAuthorizationAttempt(...args)\n }\n\n async createConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"createConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createConnectionRun\"]>>> {\n return this.runs.createConnectionRun(...args)\n }\n\n async createConnectionSelectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"createConnectionSelectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createConnectionSelectionRun\"]>>> {\n return this.runs.createConnectionSelectionRun(...args)\n }\n\n async claimConnectionRunCallback(\n ...args: Parameters<ConnectorConnectionStorage[\"claimConnectionRunCallback\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"claimConnectionRunCallback\"]>>> {\n return this.runs.claimConnectionRunCallback(...args)\n }\n\n async attachConnectionRunAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"attachConnectionRunAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"attachConnectionRunAuthorization\"]>>> {\n return this.runs.attachConnectionRunAuthorization(...args)\n }\n\n async waitForConnectionRunSelection(\n ...args: Parameters<ConnectorConnectionStorage[\"waitForConnectionRunSelection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"waitForConnectionRunSelection\"]>>> {\n return this.runs.waitForConnectionRunSelection(...args)\n }\n\n async finishConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"finishConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finishConnectionRun\"]>>> {\n return this.runs.finishConnectionRun(...args)\n }\n\n async getConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnectionRun\"]>>> {\n return this.runs.getConnectionRun(...args)\n }\n\n async createAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"createAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createAuthorization\"]>>> {\n return this.authorizations.createAuthorization(...args)\n }\n\n async initializeAuthorizationAccounts(\n ...args: Parameters<ConnectorConnectionStorage[\"initializeAuthorizationAccounts\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"initializeAuthorizationAccounts\"]>>> {\n return this.authorizations.initializeAuthorizationAccounts(...args)\n }\n\n async getAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"getAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getAuthorization\"]>>> {\n return this.authorizations.getAuthorization(...args)\n }\n\n async getAuthorizationByConnectionId(\n ...args: Parameters<ConnectorConnectionStorage[\"getAuthorizationByConnectionId\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getAuthorizationByConnectionId\"]>>> {\n return this.authorizations.getAuthorizationByConnectionId(...args)\n }\n\n async claimCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"claimCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"claimCredentialMutation\"]>>> {\n return this.authorizations.claimCredentialMutation(...args)\n }\n\n async markCredentialMutationExecuting(\n ...args: Parameters<ConnectorConnectionStorage[\"markCredentialMutationExecuting\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"markCredentialMutationExecuting\"]>>> {\n return this.authorizations.markCredentialMutationExecuting(...args)\n }\n\n async renewCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"renewCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"renewCredentialMutation\"]>>> {\n return this.authorizations.renewCredentialMutation(...args)\n }\n\n async stageCredentialMutationCredentials(\n ...args: Parameters<ConnectorConnectionStorage[\"stageCredentialMutationCredentials\"]>\n ): Promise<\n Awaited<ReturnType<ConnectorConnectionStorage[\"stageCredentialMutationCredentials\"]>>\n > {\n return this.authorizations.stageCredentialMutationCredentials(...args)\n }\n\n async stageCredentialMutationRevocation(\n ...args: Parameters<ConnectorConnectionStorage[\"stageCredentialMutationRevocation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"stageCredentialMutationRevocation\"]>>> {\n return this.authorizations.stageCredentialMutationRevocation(...args)\n }\n\n async releaseCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"releaseCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"releaseCredentialMutation\"]>>> {\n return this.authorizations.releaseCredentialMutation(...args)\n }\n\n async recoverExpiredCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"recoverExpiredCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"recoverExpiredCredentialMutation\"]>>> {\n return this.authorizations.recoverExpiredCredentialMutation(...args)\n }\n\n async markNeedsReauthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"markNeedsReauthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"markNeedsReauthorization\"]>>> {\n return this.authorizations.markNeedsReauthorization(...args)\n }\n\n async finalizeRefresh(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeRefresh\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeRefresh\"]>>> {\n return this.authorizations.finalizeRefresh(...args)\n }\n\n async finalizeReauthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeReauthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeReauthorization\"]>>> {\n return this.authorizations.finalizeReauthorization(...args)\n }\n\n async finalizeRevocation(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeRevocation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeRevocation\"]>>> {\n return this.authorizations.finalizeRevocation(...args)\n }\n\n async putConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"putConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"putConnection\"]>>> {\n return this.connections.putConnection(...args)\n }\n\n async putConnectionFromRun(\n ...args: Parameters<ConnectorConnectionStorage[\"putConnectionFromRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"putConnectionFromRun\"]>>> {\n return this.connections.putConnectionFromRun(...args)\n }\n\n async getConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnection\"]>>> {\n return this.connections.getConnection(...args)\n }\n\n async getConnectionById(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnectionById\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnectionById\"]>>> {\n return this.connections.getConnectionById(...args)\n }\n\n async listConnections(\n ...args: Parameters<ConnectorConnectionStorage[\"listConnections\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"listConnections\"]>>> {\n return this.connections.listConnections(...args)\n }\n\n async listConnectionsByAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"listConnectionsByAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"listConnectionsByAuthorization\"]>>> {\n return this.connections.listConnectionsByAuthorization(...args)\n }\n\n async disconnectConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"disconnectConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"disconnectConnection\"]>>> {\n return this.connections.disconnectConnection(...args)\n }\n}\n"
10
+ ],
11
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAiEO,MAAe,8BAA8B;AAAA,EACrB;AAAA,EAA7B,WAAW,CAAkB,SAAgD;AAAA,IAAhD;AAAA;AAAA,EAEnB,IAAO,CACf,OACA,KACY;AAAA,IACZ,OAAO,KAAK,QAAQ,KAAK,OAAO,GAAG;AAAA;AAAA,EAG3B,KAAQ,CAChB,OACA,KACY;AAAA,IACZ,OAAO,KAAK,QAAQ,YAAY,OAAO,GAAG;AAAA;AAE9C;AAEA,eAAsB,oBAAoB,CACxC,aACA,OAC8C;AAAA,EAC9C,MAAM,MAAM,MAAM,YAAY,iBAAiB,KAAK;AAAA,EACpD,IAAI,CAAC,OAAQ,IAAI,WAAW,aAAa,IAAI,WAAW;AAAA,IAAY,OAAO;AAAA,EAE3E,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,EAClC,IAAI,IAAI,UAAU,QAAQ,IAAI,IAAI,QAAQ;AAAA,IAAG,OAAO;AAAA,EAEpD,IAAI,IAAI,WAAW,aAAa,IAAI,eAAe,0BAA0B;AAAA,IAC3E,MAAM,UAAU,MAAM,YAAY,yCAAyC,IAAI,EAAE;AAAA,IACjF,IAAI;AAAA,MAAS,MAAM,YAAY,2BAA2B,QAAQ,EAAE;AAAA,EACtE;AAAA,EACA,IAAI,IAAI,WAAW,WAAW;AAAA,IAC5B,IAAI,IAAI,SAAS,aAAa,IAAI,eAAe,qBAAqB;AAAA,MACpE,MAAM,mCAAmC,aAAa,IAAI,iBAAiB,GAAG;AAAA,IAChF;AAAA,IACA,MAAM,UAAU,oBAAoB,KAAK,GAAG;AAAA,IAC5C,MAAM,YAAY,oBAAoB,OAAO;AAAA,IAC7C,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,IAAI,SAAS,aAAa,IAAI,iBAAiB;AAAA,IACjD,MAAM,mCAAmC,aAAa,IAAI,iBAAiB,GAAG;AAAA,EAChF;AAAA,EACA,MAAM,SAAS,yBAAyB,KAAK,GAAG;AAAA,EAChD,MAAM,YAAY,oBAAoB,MAAM;AAAA,EAC5C,OAAO;AAAA;AAGT,eAAsB,kCAAkC,CACtD,aACA,iBACA,KACe;AAAA,EACf,MAAM,gBAAgB,MAAM,YAAY,iBAAiB,eAAe;AAAA,EACxE,IAAI,CAAC,iBAAiB,cAAc,WAAW;AAAA,IAAqB;AAAA,EACpE,MAAM,YAAY,oBAAoB,mCAAmC,eAAe,GAAG,CAAC;AAAA;AAGvF,SAAS,iBAAiB,CAAC,QAAsC,WAAiB;AAAA,EACvF,OAAO;AAAA,IACL,IAAI,OAAO;AAAA,IACX,WAAW,OAAO;AAAA,IAClB,aAAa,OAAO;AAAA,IACpB,MAAM,OAAO;AAAA,IACb,OAAO,gBAAgB,OAAO,KAAK;AAAA,IACnC,MAAM,OAAO;AAAA,IACb,wBAAwB,OAAO;AAAA,IAC/B,WAAW,IAAI,KAAK,OAAO,SAAS;AAAA,IACpC,WAAW,IAAI,KAAK,SAAS;AAAA,EAC/B;AAAA;AAGF,SAAS,mBAAmB,CAC1B,QACA,KACA;AAAA,EACA,OAAO;AAAA,OACF,kBAAkB,QAAQ,GAAG;AAAA,IAChC,QAAQ;AAAA,OACJ,OAAO,eAAe,sBACtB,EAAE,iBAAiB,OAAO,gBAAgB,IAC1C,CAAC;AAAA,IACL,YAAY,IAAI,KAAK,GAAG;AAAA,EAC1B;AAAA;AAGF,SAAS,wBAAwB,CAAC,QAAgD,KAAW;AAAA,EAC3F,OAAO;AAAA,OACF,kBAAkB,QAAQ,GAAG;AAAA,IAChC,QAAQ;AAAA,OACJ,OAAO,oBAAoB,YAAY,CAAC,IAAI,EAAE,iBAAiB,OAAO,gBAAgB;AAAA,IAC1F,OAAO,cACL,gBACE,uBACA,4EACF,GACA,EAAE,cAAc,wCAAwC,IAAI,IAAI,CAClE;AAAA,IACA,YAAY,IAAI,KAAK,GAAG;AAAA,EAC1B;AAAA;AAGK,SAAS,0BAA0B,CACxC,YACA,KAC2B;AAAA,EAC3B,OAAO;AAAA,OACF;AAAA,IACH,QAAQ;AAAA,IACR,gBAAgB,IAAI,KAAK,GAAG;AAAA,IAC5B,WAAW,IAAI,KAAK,GAAG;AAAA,EACzB;AAAA;AAGK,SAAS,kCAAkC,CAChD,eACA,KAC8B;AAAA,EAC9B,IAAI,cAAc,WAAW,wBAAwB,cAAc,WAAW,WAAW;AAAA,IACvF,OAAO;AAAA,EACT;AAAA,EACA,IAAI,cAAc,oBAAoB;AAAA,IACpC,MAAM,IAAI,gCACR,0BACA,6FACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,OACF;AAAA,IACH,QAAQ;AAAA,IACR,oBAAoB;AAAA,IACpB,UAAU,cAAc,WAAW;AAAA,IACnC,WAAW,IAAI,KAAK,GAAG;AAAA,EACzB;AAAA;AAGK,SAAS,uBAAuB,CACrC,eACA,yBAAyB,MACnB;AAAA,EACN,MAAM,WAAW,cAAc;AAAA,EAC/B,IAAI,UAAU,SAAS,mBAAmB;AAAA,IACxC,MAAM,IAAI,gCACR,0BACA,6FACF;AAAA,EACF;AAAA,EACA,IAAI,0BAA0B,UAAU;AAAA,IACtC,MAAM,IAAI,gCACR,0BACA,6FACF;AAAA,EACF;AAAA;AAGK,SAAS,SAAS,CAAC,MAAc,OAAwB;AAAA,EAC9D,MAAM,YAAY,OAAO,KAAK,IAAI;AAAA,EAClC,MAAM,aAAa,OAAO,KAAK,KAAK;AAAA,EACpC,OAAO,UAAU,WAAW,WAAW,UAAU,gBAAgB,WAAW,UAAU;AAAA;AAGjF,SAAS,UAAU,GAAoC;AAAA,EAC5D,OAAO,IAAI,gCACT,eACA,uEACF;AAAA;AAGK,SAAS,OAAO,CAAC,MAAyB,OAAmC;AAAA,EAClF,MAAM,aAAa,CAAC,GAAG,IAAI,EAAE,KAAK;AAAA,EAClC,MAAM,cAAc,CAAC,GAAG,KAAK,EAAE,KAAK;AAAA,EACpC,OACE,WAAW,WAAW,YAAY,UAClC,WAAW,MAAM,CAAC,OAAO,UAAU,UAAU,YAAY,MAAM;AAAA;AAI5D,SAAS,cAAc,GAAoC;AAAA,EAChE,OAAO,IAAI,gCACT,mBACA,8EACF;AAAA;AAGK,SAAS,qBAAqB,GAAoC;AAAA,EACvE,OAAO,IAAI,gCACT,0BACA,sGACF;AAAA;AAGK,SAAS,sBAAsB,CAAC,OAAe,MAAoB;AAAA,EACxE,IAAI,CAAC,OAAO,SAAS,KAAK,KAAK,SAAS,GAAG;AAAA,IACzC,MAAM,IAAI,gCACR,iBACA,oBAAoB,wBACtB;AAAA,EACF;AAAA;AAGK,SAAS,gBAAgB,CAC9B,QACA,MACS;AAAA,EACT,IAAI,SAAS;AAAA,IAAW,OAAO,WAAW;AAAA,EAC1C,IAAI,SAAS,mBAAmB;AAAA,IAC9B,OAAO,WAAW,YAAY,WAAW;AAAA,EAC3C;AAAA,EACA,OAAO,WAAW;AAAA;AAGb,SAAS,YAAY,CAAC,QAAyD;AAAA,EACpF,OAAO,WAAW,uBAAuB,WAAW;AAAA;AAG/C,SAAS,WAAW,CAAC,KAAW,YAAoB,YAAwB;AAAA,EACjF,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,YAAY,WAAW,QAAQ,CAAC,CAAC;AAAA;AAGrE,SAAS,eAAe,CAAC,QAAsC,KAAoB;AAAA,EACxF,OACE,OAAO,mBAAoB,UAAU,QAAQ,KAAK,IAAI,QAAQ,KAC9D,OAAO,mBAAoB,WAAW,QAAQ,KAAK,IAAI,QAAQ;AAAA;AAI5D,SAAS,eAAe,CAC7B,QACA,OACA,UAGA;AAAA,EACA,OACE,WAAW,QACX,OAAO,aAAa,MAAM,oBAC1B,OAAO,oBAAoB,OAAO,MAAM,eACvC,aAAa,aAAa,OAAO,mBAAmB,aAAa;AAAA;AAI/D,SAAS,iBAAiB,CAC/B,QACA,OACA,MACA;AAAA,EACA,IACE,CAAC,gBAAgB,QAAQ,KAAK,KAC9B,OAAO,mBAAmB,SAAS,QACnC,OAAO,mBAAmB,UAAU,iBACpC;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAO,mBAAmB,qBAAqB;AAAA;AAGjD,SAAS,sBAAsB,CACpC,QACA,QACA,KACA,OAC8B;AAAA,EAC9B,OAAO;AAAA,OACF;AAAA,IACH,aAAa,gBAAgB,OAAO,WAAW;AAAA,IAC/C,qBACE,OAAO,wBAAwB,YAAY,YAAY,IAAI,KAAK,OAAO,mBAAmB;AAAA,IAC5F,QAAQ,CAAC,GAAG,OAAO,MAAM;AAAA,IACzB,UAAU,gBAAgB,MAAM,QAAQ;AAAA,IACxC,QAAQ;AAAA,IACR,oBAAoB;AAAA,IACpB,UAAU,OAAO,WAAW;AAAA,IAC5B,oBAAoB;AAAA,IACpB,WAAW;AAAA,EACb;AAAA;;;ACnTK,MAAM,uCAAuC,8BAA8B;AAAA,EAChF,mBAAmB,CACjB,OACuC;AAAA,IACvC,uBAAuB,MAAM,gBAAgB,uBAAuB;AAAA,IACpE,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAuC;AAAA,QAC3C,IAAI,MAAM;AAAA,QACV,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AAAA,QACnB,cAAc,gBAAgB,MAAM,YAAY;AAAA,QAChD,aAAa,gBAAgB,MAAM,WAAW;AAAA,WAC1C,MAAM,wBAAwB,YAC9B,CAAC,IACD,EAAE,qBAAqB,IAAI,KAAK,MAAM,mBAAmB,EAAE;AAAA,QAC/D,QAAQ,CAAC,GAAG,MAAM,MAAM;AAAA,QACxB,UAAU,gBAAgB,MAAM,QAAQ;AAAA,QACxC,QAAQ;AAAA,QACR,oBAAoB,IAAI,KAAK,IAAI,QAAQ,IAAI,MAAM,cAAc;AAAA,QACjE,UAAU;AAAA,QACV,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AAAA,MACA,IAAI,CAAE,MAAM,YAAY,oBAAoB,MAAM,GAAI;AAAA,QACpD,MAAM,uBAAsB,gDAAgD;AAAA,MAC9E;AAAA,MACA,OAAO,gBAAgB,MAAM;AAAA,KAC9B;AAAA;AAAA,EAGH,+BAA+B,CAC7B,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,UACD,OAAO,aAAa,MAAM,oBAC1B,OAAO,WAAW,uBAClB,OAAO,oBACP;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,UAAU,gBAAgB,MAAM,QAAQ;AAAA,QACxC,UAAU,OAAO,WAAW;AAAA,QAC5B,WAAW,MAAM,YAAY,IAAI;AAAA,MACnC;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,gBAAgB,CAAC,OAAgF;AAAA,IAC/F,OAAO,KAAK,KAAK,OAAO,OAAO,gBAAgB;AAAA,MAC7C,MAAM,gBAAgB,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MAC9E,OAAO,gBAAgB,gBAAgB,aAAa,IAAI;AAAA,KACzD;AAAA;AAAA,EAGH,8BAA8B,CAC5B,OAC8C;AAAA,IAC9C,OAAO,KAAK,KAAK,OAAO,OAAO,gBAAgB;AAAA,MAC7C,MAAM,aAAa,MAAM,YAAY,kBAAkB,MAAM,YAAY;AAAA,MACzE,IAAI,CAAC;AAAA,QAAY,OAAO;AAAA,MACxB,MAAM,gBAAgB,MAAM,YAAY,iBAAiB,WAAW,eAAe;AAAA,MACnF,OAAO,gBAAgB,gBAAgB,aAAa,IAAI;AAAA,KACzD;AAAA;AAAA,EAGH,uBAAuB,CACrB,OACwD;AAAA,IACxD,uBAAuB,MAAM,iBAAiB,oCAAoC;AAAA,IAClF,uBAAuB,MAAM,oBAAoB,6BAA6B;AAAA,IAC9E,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,UACD,OAAO,aAAa,MAAM,oBAC1B,CAAC,iBAAiB,OAAO,QAAQ,MAAM,SAAS,IAAI,GACpD;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MAEA,IAAI,OAAO,oBAAoB;AAAA,QAC7B,MAAM,qBACJ,OAAO,mBAAmB,UAAU,cACpC,OAAO,mBAAmB,UAAU,QAAQ,KAAK,IAAI,QAAQ;AAAA,QAC/D,IAAI,CAAC;AAAA,UAAoB,OAAO;AAAA,MAClC;AAAA,MAEA,MAAM,WAAW,MAAM,YAAY,+BAA+B,OAAO,IAAI;AAAA,QAC3E,eAAe;AAAA,MACjB,CAAC;AAAA,MACD,IACE,MAAM,SAAS,SAAS,qBACxB,CAAC,QACC,SAAS,IAAI,CAAC,eAAe,WAAW,EAAE,GAC1C,MAAM,yBAAyB,CAAC,CAClC,GACA;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MAEA,MAAM,aAAa,IAAI,KAAK,IAAI,QAAQ,IAAI,MAAM,kBAAkB;AAAA,MACpE,MAAM,WAAW;AAAA,WACZ,gBAAgB,MAAM,QAAQ;AAAA,QACjC,OAAO;AAAA,QACP,WAAW,YAAY,KAAK,MAAM,iBAAiB,UAAU;AAAA,QAC7D;AAAA,WACI,MAAM,SAAS,SAAS,oBACxB,EAAE,uBAAuB,CAAC,GAAI,MAAM,yBAAyB,CAAC,CAAE,EAAE,IAClE,CAAC;AAAA,MACP;AAAA,MACA,MAAM,mBACJ,MAAM,SAAS,SAAS,gBAAgB,OAAO,WAAW;AAAA,MAC5D,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,QAAQ,MAAM,SAAS,SAAS,eAAe,uBAAuB,OAAO;AAAA,QAC7E,oBACE,MAAM,SAAS,SAAS,eAAe,YAAY,OAAO;AAAA,QAC5D,UAAU,mBAAmB,OAAO,WAAW,IAAI,OAAO;AAAA,QAC1D,oBAAoB;AAAA,QACpB,WAAW;AAAA,MACb;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAE7C,MAAM,eAA4C,CAAC;AAAA,MACnD,IAAI,MAAM,SAAS,SAAS,cAAc;AAAA,QACxC,WAAW,cAAc,UAAU;AAAA,UACjC,MAAM,oBAAoB,2BAA2B,YAAY,GAAG;AAAA,UACpE,MAAM,YAAY,iBAAiB,iBAAiB;AAAA,UACpD,aAAa,KAAK,gBAAgB,iBAAiB,CAAC;AAAA,QACtD;AAAA,MACF;AAAA,MACA,OAAO,EAAE,eAAe,gBAAgB,OAAO,GAAG,aAAa;AAAA,KAChE;AAAA;AAAA,EAGH,+BAA+B,CAC7B,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,gBAAgB,QAAQ,OAAO,MAAM,QAAQ,KAC9C,OAAO,mBAAmB,UAAU,cACpC,gBAAgB,QAAQ,GAAG,GAC3B;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,oBAAoB,KAAK,OAAO,oBAAoB,OAAO,YAAY;AAAA,QACvE,WAAW;AAAA,MACb;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,uBAAuB,CACrB,OAC8C;AAAA,IAC9C,uBAAuB,MAAM,iBAAiB,oCAAoC;AAAA,IAClF,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,gBAAgB,QAAQ,OAAO,MAAM,QAAQ,KAC9C,OAAO,mBAAmB,UAAU,mBACpC,gBAAgB,QAAQ,GAAG,GAC3B;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,oBAAoB;AAAA,aACf,OAAO;AAAA,UACV,WAAW,YAAY,KAAK,MAAM,iBAAiB,OAAO,mBAAmB,UAAU;AAAA,QACzF;AAAA,MACF;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,kCAAkC,CAChC,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,gBAAgB,QAAQ,OAAO,MAAM,QAAQ,KAC9C,OAAO,mBAAmB,UAAU,eACpC,gBAAgB,QAAQ,GAAG,KAC3B,OAAO,mBAAmB,SAAS,cACnC;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,oBAAoB;AAAA,aACf,OAAO;AAAA,UACV,OAAO;AAAA,UACP,mBAAmB;AAAA,YACjB,aAAa,gBAAgB,MAAM,WAAW;AAAA,eAC1C,MAAM,wBAAwB,YAC9B,CAAC,IACD,EAAE,qBAAqB,IAAI,KAAK,MAAM,mBAAmB,EAAE;AAAA,YAC/D,QAAQ,CAAC,GAAG,MAAM,MAAM;AAAA,UAC1B;AAAA,QACF;AAAA,QACA,WAAW;AAAA,MACb;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,iCAAiC,CAC/B,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,gBAAgB,QAAQ,OAAO,MAAM,QAAQ,KAC9C,OAAO,mBAAmB,UAAU,eACpC,OAAO,mBAAmB,SAAS,gBACnC,gBAAgB,QAAQ,GAAG,GAC3B;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,oBAAoB,KAAK,OAAO,oBAAoB,OAAO,gBAAgB;AAAA,QAC3E,WAAW;AAAA,MACb;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,yBAAyB,CAAC,OAAkE;AAAA,IAC1F,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,gBAAgB,QAAQ,OAAO,MAAM,QAAQ,KAC9C,OAAO,mBAAmB,UAAU,iBACpC;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,YAAY,oBAAoB;AAAA,WACjC;AAAA,QACH,oBAAoB;AAAA,QACpB,WAAW,MAAM,YAAY,IAAI;AAAA,MACnC,CAAC;AAAA,MACD,OAAO;AAAA,KACR;AAAA;AAAA,EAGH,gCAAgC,CAC9B,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IAAI,CAAC,QAAQ;AAAA,QAAoB,OAAO;AAAA,MACxC,IAAI,OAAO,mBAAmB,UAAU;AAAA,QAAiB,OAAO,gBAAgB,MAAM;AAAA,MAEtF,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,IAAI,CAAC,gBAAgB,QAAQ,GAAG;AAAA,QAAG,OAAO;AAAA,MAC1C,MAAM,YAAY,OAAO,mBAAmB,UAAU;AAAA,MACtD,MAAM,aAAa,aAAa,OAAO,mBAAmB,SAAS;AAAA,MACnE,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,QAAQ,aAAa,0BAA0B,OAAO;AAAA,QACtD,oBAAoB,aAAa,YAAY,OAAO;AAAA,QACpD,UAAU,aAAa,OAAO,WAAW,IAAI,OAAO;AAAA,QACpD,oBAAoB;AAAA,QACpB,WAAW;AAAA,MACb;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,wBAAwB,CACtB,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IAAI,CAAC,gBAAgB,QAAQ,KAAK;AAAA,QAAG,OAAO;AAAA,MAC5C,MAAM,SAAS,OAAO,mBAAmB;AAAA,MACzC,MAAM,UAAwC;AAAA,WACzC;AAAA,WACC,SACA;AAAA,UACE,aAAa,gBAAgB,OAAO,WAAW;AAAA,UAC/C,qBACE,OAAO,wBAAwB,YAC3B,YACA,IAAI,KAAK,OAAO,mBAAmB;AAAA,UACzC,QAAQ,CAAC,GAAG,OAAO,MAAM;AAAA,QAC3B,IACA,CAAC;AAAA,QACL,QAAQ;AAAA,QACR,oBAAoB;AAAA,QACpB,UAAU,OAAO,WAAW;AAAA,QAC5B,oBAAoB;AAAA,QACpB,WAAW,MAAM,YAAY,IAAI;AAAA,MACnC;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,eAAe,CACb,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,MAAM,SAAS,kBAAkB,QAAQ,OAAO,SAAS;AAAA,MACzD,IAAI,CAAC,UAAU,CAAC;AAAA,QAAQ,OAAO;AAAA,MAC/B,MAAM,UAAU,uBAAuB,QAAQ,QAAQ,MAAM,YAAY,IAAI,GAAG;AAAA,QAC9E,UAAU,OAAO;AAAA,MACnB,CAAC;AAAA,MACD,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,uBAAuB,CACrB,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,MAAM,SAAS,kBAAkB,QAAQ,OAAO,iBAAiB;AAAA,MACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO;AAAA,QAAoB,OAAO;AAAA,MAC7D,MAAM,WAAW,MAAM,YAAY,+BAA+B,OAAO,IAAI;AAAA,QAC3E,eAAe;AAAA,MACjB,CAAC;AAAA,MACD,IACE,CAAC,QACC,SAAS,IAAI,CAAC,eAAe,WAAW,EAAE,GAC1C,OAAO,mBAAmB,yBAAyB,CAAC,CACtD,GACA;AAAA,QACA,MAAM,uBACJ,4FACF;AAAA,MACF;AAAA,MACA,MAAM,eAAe,IAAI,IAAI,MAAM,SAAS,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;AAAA,MACnF,IAAI,SAAS,KAAK,CAAC,eAAe,CAAC,aAAa,IAAI,WAAW,QAAQ,EAAE,CAAC,GAAG;AAAA,QAC3E,MAAM,uBACJ,+EACF;AAAA,MACF;AAAA,MAEA,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,UAAU,uBAAuB,QAAQ,QAAQ,KAAK,EAAE,UAAU,MAAM,SAAS,CAAC;AAAA,MACxF,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,WAAW,cAAc,UAAU;AAAA,QACjC,MAAM,YAAY,iBAAiB;AAAA,aAC9B;AAAA,UACH,SAAS,gBAAgB,aAAa,IAAI,WAAW,QAAQ,EAAE,CAAE;AAAA,UACjE,WAAW;AAAA,QACb,CAAC;AAAA,MACH;AAAA,MACA,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,kBAAkB,CAChB,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,SAAS,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MACvE,IACE,CAAC,gBAAgB,QAAQ,KAAK,KAC9B,OAAO,mBAAmB,SAAS,gBACnC,OAAO,mBAAmB,UAAU,iBACpC;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,UAAwC;AAAA,WACzC;AAAA,QACH,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,QAAQ,CAAC;AAAA,QACT,UAAU,CAAC;AAAA,QACX,oBAAoB;AAAA,QACpB,UAAU,OAAO,WAAW;AAAA,QAC5B,oBAAoB;AAAA,QACpB,WAAW,MAAM,YAAY,IAAI;AAAA,MACnC;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAEL;AAEA,SAAS,sBAAqB,CAAC,SAAiB;AAAA,EAC9C,OAAO,IAAI,gCAAgC,0BAA0B,OAAO;AAAA;;;AClavE,MAAM,oCAAoC,8BAA8B;AAAA,OACvE,cAAa,CAAC,OAA2E;AAAA,IAC7F,MAAM,UAAU,MAAM,KAAK,MAAM,OAAO,OAAO,gBAC7C,KAAK,iBAAiB,aAAa,OAAO,MAAM,YAAY,IAAI,CAAC,CACnE;AAAA,IACA,IAAI,WAAW;AAAA,MAAS,MAAM,QAAQ;AAAA,IACtC,OAAO;AAAA;AAAA,OAGH,qBAAoB,CACxB,OAC8C;AAAA,IAC9C,MAAM,UAAU,MAAM,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC7D,MAAM,MAAM,MAAM,qBAAqB,aAAa,MAAM,KAAK;AAAA,MAC/D,IAAI,CAAC,OAAO,IAAI,WAAW,aAAa,IAAI,eAAe,qBAAqB;AAAA,QAC9E,OAAO,EAAE,OAAO,WAAW,EAAE;AAAA,MAC/B;AAAA,MACA,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAS,MAAM,KAAK,iBACxB,aACA;AAAA,QACE,IAAI,MAAM;AAAA,QACV,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AAAA,QACnB,OAAO,IAAI;AAAA,QACX,MAAM,IAAI;AAAA,QACV,iBAAiB,IAAI;AAAA,QACrB,SAAS,MAAM;AAAA,QACf,SAAS,MAAM;AAAA,MACjB,GACA,GACF;AAAA,MACA,IAAI,WAAW;AAAA,QAAQ,OAAO;AAAA,MAC9B,MAAM,YAAmD;AAAA,WACpD,kBAAkB,KAAK,GAAG;AAAA,QAC7B,QAAQ;AAAA,QACR,iBAAiB,IAAI;AAAA,WACjB,OAAO,qCAAqC,YAC5C,CAAC,IACD,EAAE,wBAAwB,OAAO,iCAAiC;AAAA,QACtE,aAAa,CAAC,gBAAgB,OAAO,UAAU,CAAC;AAAA,QAChD,YAAY;AAAA,MACd;AAAA,MACA,MAAM,YAAY,oBAAoB,SAAS;AAAA,MAC/C,OAAO,KAAK,QAAQ,KAAK,gBAAgB,SAAS,EAAE;AAAA,KACrD;AAAA,IACD,IAAI,WAAW;AAAA,MAAS,MAAM,QAAQ;AAAA,IACtC,OAAO;AAAA;AAAA,EAGT,aAAa,CAAC,OAA+E;AAAA,IAC3F,OAAO,KAAK,KAAK,OAAO,OAAO,gBAAgB;AAAA,MAC7C,MAAM,aAAa,MAAM,YAAY,wBAAwB,KAAK;AAAA,MAClE,OAAO,YAAY,WAAW,cAAc,gBAAgB,UAAU,IAAI;AAAA,KAC3E;AAAA;AAAA,EAGH,iBAAiB,CAAC,OAA0E;AAAA,IAC1F,OAAO,KAAK,KAAK,OAAO,OAAO,gBAAgB;AAAA,MAC7C,MAAM,aAAa,MAAM,YAAY,kBAAkB,MAAM,YAAY;AAAA,MACzE,OAAO,aAAa,gBAAgB,UAAU,IAAI;AAAA,KACnD;AAAA;AAAA,EAGH,eAAe,CACb,OAC+C;AAAA,IAC/C,OAAO,KAAK,KAAK,OAAO,OAAO,gBAC7B,gBAAgB,MAAM,YAAY,gBAAgB,CAAC,CACrD;AAAA;AAAA,EAGF,8BAA8B,CAAC,OAImB;AAAA,IAChD,OAAO,KAAK,KAAK,OAAO,OAAO,gBAAgB;AAAA,MAC7C,IAAI,CAAE,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,QAAI,OAAO,CAAC;AAAA,MAC1E,OAAO,gBACL,MAAM,YAAY,+BAA+B,MAAM,iBAAiB;AAAA,QACtE,eAAe;AAAA,MACjB,CAAC,CACH;AAAA,KACD;AAAA;AAAA,EAGH,oBAAoB,CAClB,OACqD;AAAA,IACrD,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,aAAa,MAAM,YAAY,kBAAkB,MAAM,YAAY;AAAA,MACzE,IAAI,CAAC;AAAA,QAAY,OAAO;AAAA,MACxB,MAAM,gBAAgB,MAAM,YAAY,iBAAiB,WAAW,eAAe;AAAA,MACnF,IAAI,CAAC,eAAe;AAAA,QAClB,MAAM,IAAI,gCACR,0BACA,sEACF;AAAA,MACF;AAAA,MACA,IAAI,WAAW,WAAW,gBAAgB;AAAA,QACxC,OAAO;AAAA,UACL,YAAY,gBAAgB,UAAU;AAAA,UACtC,eAAe,gBAAgB,aAAa;AAAA,aACxC,cAAc,WAAW,uBACzB,EAAE,kCAAkC,cAAc,GAAG,IACrD,CAAC;AAAA,QACP;AAAA,MACF;AAAA,MAEA,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,aACJ,MAAM,YAAY,+BAA+B,cAAc,IAAI;AAAA,QACjE,eAAe;AAAA,MACjB,CAAC,GACD,OAAO,CAAC,cAAc,UAAU,OAAO,WAAW,EAAE;AAAA,MACtD,wBAAwB,eAAe,UAAU,WAAW,CAAC;AAAA,MAC7D,MAAM,eAAe,2BAA2B,YAAY,GAAG;AAAA,MAC/D,MAAM,YAAY,iBAAiB,YAAY;AAAA,MAC/C,MAAM,uBACJ,UAAU,WAAW,IACjB,mCAAmC,eAAe,GAAG,IACrD;AAAA,MACN,IAAI,yBAAyB,eAAe;AAAA,QAC1C,MAAM,YAAY,oBAAoB,oBAAoB;AAAA,MAC5D;AAAA,MACA,OAAO;AAAA,QACL,YAAY,gBAAgB,YAAY;AAAA,QACxC,eAAe,gBAAgB,oBAAoB;AAAA,WAC/C,qBAAqB,WAAW,wBAAwB,UAAU,WAAW,IAC7E,EAAE,kCAAkC,qBAAqB,GAAG,IAC5D,CAAC;AAAA,MACP;AAAA,KACD;AAAA;AAAA,OAGW,iBAAgB,CAC5B,aACA,OACA,KAC2E;AAAA,IAC3E,IAAI,gBAAgB,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,IAC5E,IACE,CAAC,iBACD,CAAC,aAAa,cAAc,MAAM,KAClC,cAAc,oBAAoB,SAAS,mBAC3C;AAAA,MACA,MAAM,sBAAsB;AAAA,IAC9B;AAAA,IACA,IACE,cAAc,WAAW,uBACzB,cAAc,mBAAoB,QAAQ,KAAK,IAAI,QAAQ,GAC3D;AAAA,MACA,gBAAgB;AAAA,WACX;AAAA,QACH,QAAQ;AAAA,QACR,oBAAoB;AAAA,QACpB,UAAU,cAAc,WAAW;AAAA,QACnC,WAAW;AAAA,MACb;AAAA,MACA,MAAM,YAAY,oBAAoB,aAAa;AAAA,MACnD,OAAO,EAAE,OAAO,sBAAsB,EAAE;AAAA,IAC1C;AAAA,IACA,MAAM,UAAU,cAAc,SAAS,KAAK,CAAC,cAAc,UAAU,OAAO,MAAM,QAAQ,EAAE;AAAA,IAC5F,IAAI,CAAC,SAAS;AAAA,MACZ,MAAM,IAAI,gCACR,0BACA,0EACF;AAAA,IACF;AAAA,IACA,MAAM,WAAW,MAAM,YAAY,wBAAwB,KAAK;AAAA,IAChE,MAAM,cAAc,UAAU,QAAQ,OAAO,QAAQ;AAAA,IACrD,IAAI,YAAY,CAAC,eAAe,CAAC,MAAM,SAAS;AAAA,MAC9C,MAAM,IAAI,gCACR,uBACA,0BAA0B,MAAM,kFAClC;AAAA,IACF;AAAA,IACA,IAAI,CAAC,YAAa,MAAM,YAAY,kBAAkB,MAAM,EAAE,GAAI;AAAA,MAChE,MAAM,IAAI,gCACR,uBACA,gDACF;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,IACJ,IAAI,UAAU,WAAW,eAAe,SAAS,oBAAoB,cAAc,IAAI;AAAA,MACrF,MAAM,WAAW,MAAM,YAAY,iBAAiB,SAAS,eAAe;AAAA,MAC5E,IAAI,CAAC,UAAU;AAAA,QACb,MAAM,IAAI,gCACR,0BACA,+EACF;AAAA,MACF;AAAA,MACA,MAAM,aACJ,MAAM,YAAY,+BAA+B,SAAS,IAAI,EAAE,eAAe,KAAK,CAAC,GACrF,OAAO,CAAC,gBAAe,YAAW,OAAO,SAAS,EAAE;AAAA,MACtD,wBAAwB,UAAU,UAAU,WAAW,CAAC;AAAA,MACxD,IAAI,UAAU,WAAW,GAAG;AAAA,QAC1B,MAAM,YAAY,oBAAoB,mCAAmC,UAAU,GAAG,CAAC;AAAA,QACvF,mCAAmC,SAAS;AAAA,MAC9C;AAAA,IACF,EAAO,SAAI,UAAU,WAAW,aAAa;AAAA,MAC3C,MAAM,WAAW,MAAM,YAAY,iBAAiB,SAAS,eAAe;AAAA,MAC5E,IAAI;AAAA,QAAU,wBAAwB,UAAU,KAAK;AAAA,IACvD;AAAA,IAEA,MAAM,uBACJ,cAAc,WAAW,sBACrB;AAAA,SACK;AAAA,MACH,QAAQ;AAAA,MACR,oBAAoB;AAAA,MACpB,UAAU,cAAc,WAAW;AAAA,MACnC,WAAW;AAAA,IACb,IACA;AAAA,IACN,MAAM,aAAwC,WAC1C;AAAA,SACK;AAAA,MACH,iBAAiB,MAAM;AAAA,MACvB,SAAS,gBAAgB,OAAO;AAAA,MAChC,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,WAAW;AAAA,IACb,IACA;AAAA,MACE,IAAI,MAAM;AAAA,MACV,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,OAAO,gBAAgB,MAAM,KAAK;AAAA,MAClC,MAAM,MAAM;AAAA,MACZ,iBAAiB,MAAM;AAAA,MACvB,SAAS,gBAAgB,OAAO;AAAA,MAChC,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IAEJ,IAAI,yBAAyB,eAAe;AAAA,MAC1C,MAAM,YAAY,oBAAoB,oBAAoB;AAAA,IAC5D;AAAA,IACA,IAAI,UAAU;AAAA,MACZ,MAAM,YAAY,iBAAiB,UAAU;AAAA,IAC/C,EAAO,SAAI,CAAE,MAAM,YAAY,iBAAiB,UAAU,GAAI;AAAA,MAC5D,MAAM,IAAI,gCACR,uBACA,gDACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY,gBAAgB,UAAU;AAAA,MACtC,eAAe,gBAAgB,oBAAoB;AAAA,SAC/C,qCAAqC,YACrC,CAAC,IACD,EAAE,iCAAiC;AAAA,MACvC,SAAS,aAAa;AAAA,MACtB,UAAU,aAAa,QAAQ,CAAC;AAAA,IAClC;AAAA;AAEJ;;;AC/PO,MAAM,uCAAuC,8BAA8B;AAAA,EAChF,0BAA0B,CACxB,OAC8C;AAAA,IAC9C,uBAAuB,MAAM,OAAO,2BAA2B;AAAA,IAC/D,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,IAAI,MAAM,oBAAoB,WAAW;AAAA,QACvC,MAAM,MAAM,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,QACpE,MAAM,kBAAkB,MAAM,YAAY,yCACxC,MAAM,eACR;AAAA,QACA,IACE,CAAC,OACD,mBACA,IAAI,WAAW,aACf,IAAI,eAAe,4BACnB,IAAI,SAAS,MAAM,QACnB,IAAI,2BAA2B,MAAM,wBACrC;AAAA,UACA,MAAM,IAAI,gCACR,oBACA,2EACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAA8C;AAAA,QAClD,IAAI,MAAM;AAAA,QACV,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AAAA,QACnB,OAAO,gBAAgB,MAAM,KAAK;AAAA,QAClC,MAAM,MAAM;AAAA,QACZ,wBAAwB,MAAM;AAAA,QAC9B,WAAW,MAAM;AAAA,QACjB,cAAc,gBAAgB,MAAM,YAAY;AAAA,QAChD,aAAa,MAAM;AAAA,WACf,MAAM,oBAAoB,YAAY,CAAC,IAAI,EAAE,iBAAiB,MAAM,gBAAgB;AAAA,WACpF,MAAM,aAAa,YAAY,CAAC,IAAI,EAAE,UAAU,MAAM,SAAS;AAAA,WAC/D,MAAM,wBAAwB,YAC9B,CAAC,IACD,EAAE,qBAAqB,MAAM,oBAAoB;AAAA,WACjD,MAAM,sBAAsB,YAC5B,CAAC,IACD,EAAE,mBAAmB,MAAM,kBAAkB;AAAA,WAC7C,MAAM,4BAA4B,YAClC,CAAC,IACD,EAAE,yBAAyB,MAAM,wBAAwB;AAAA,WACzD,MAAM,iCAAiC,YACvC,CAAC,IACD,EAAE,8BAA8B,CAAC,GAAG,MAAM,4BAA4B,EAAE;AAAA,QAC5E,WAAW;AAAA,QACX,WAAW,IAAI,KAAK,IAAI,QAAQ,IAAI,MAAM,KAAK;AAAA,MACjD;AAAA,MACA,IAAI,CAAE,MAAM,YAAY,2BAA2B,MAAM,GAAI;AAAA,QAC3D,MAAM,IAAI,gCACR,oBACA,wDACF;AAAA,MACF;AAAA,MACA,OAAO,gBAAgB,MAAM;AAAA,KAC9B;AAAA;AAAA,OAGG,4BAA2B,CAC/B,OAC8C;AAAA,IAC9C,MAAM,SAAS,MAAM,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC5D,MAAM,UAAS,MAAM,YAAY,wBAAwB,MAAM,EAAE;AAAA,MACjE,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,IAAI,WAAU,QAAO,UAAU,QAAQ,KAAK,IAAI,QAAQ,GAAG;AAAA,QACzD,MAAM,YAAY,2BAA2B,QAAO,EAAE;AAAA,QACtD,OAAO;AAAA,MACT;AAAA,MACA,IACE,CAAC,WACD,QAAO,gBAAgB,MAAM,eAC7B,CAAC,UAAU,QAAO,WAAW,MAAM,SAAS,GAC5C;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MAEA,MAAM,YAAY,2BAA2B,MAAM,EAAE;AAAA,MACrD,OAAO,gBAAgB,OAAM;AAAA,KAC9B;AAAA,IACD,IAAI,CAAC;AAAA,MAAQ,MAAM,eAAe;AAAA,IAClC,OAAO;AAAA;AAAA,EAGT,mBAAmB,CACjB,OACuC;AAAA,IACvC,uBAAuB,MAAM,OAAO,oBAAoB;AAAA,IACxD,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAuD;AAAA,QAC3D,IAAI,MAAM;AAAA,QACV,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AAAA,QACnB,MAAM,MAAM;AAAA,QACZ,OAAO,gBAAgB,MAAM,KAAK;AAAA,QAClC,MAAM,MAAM;AAAA,QACZ,wBAAwB,MAAM;AAAA,QAC9B,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW,IAAI,KAAK,IAAI,QAAQ,IAAI,MAAM,KAAK;AAAA,MACjD;AAAA,MACA,IAAI,CAAE,MAAM,YAAY,oBAAoB,MAAM,GAAI;AAAA,QACpD,MAAM,IAAI,gCACR,gBACA,iDACF;AAAA,MACF;AAAA,MACA,OAAO,gBAAgB,MAAM;AAAA,KAC9B;AAAA;AAAA,EAGH,4BAA4B,CAC1B,OACwD;AAAA,IACxD,uBAAuB,MAAM,OAAO,oBAAoB;AAAA,IACxD,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,gBAAgB,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MAC9E,IAAI,CAAC,iBAAiB,cAAc,WAAW,YAAY,cAAc,oBAAoB;AAAA,QAC3F,MAAM,sBAAsB;AAAA,MAC9B;AAAA,MACA,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,SAAwD;AAAA,QAC5D,IAAI,MAAM;AAAA,QACV,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AAAA,QACnB,MAAM;AAAA,QACN,OAAO,gBAAgB,MAAM,KAAK;AAAA,QAClC,MAAM,MAAM;AAAA,QACZ,wBAAwB,MAAM;AAAA,QAC9B,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,iBAAiB,MAAM;AAAA,QACvB,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW,IAAI,KAAK,IAAI,QAAQ,IAAI,MAAM,KAAK;AAAA,MACjD;AAAA,MACA,IAAI,CAAE,MAAM,YAAY,oBAAoB,MAAM,GAAI;AAAA,QACpD,MAAM,IAAI,gCACR,gBACA,iDACF;AAAA,MACF;AAAA,MACA,OAAO,gBAAgB,MAAM;AAAA,KAC9B;AAAA;AAAA,OAGG,2BAA0B,CAC9B,OAC2D;AAAA,IAC3D,uBAAuB,MAAM,iBAAiB,+BAA+B;AAAA,IAI7E,MAAM,YAAY,MAAM,KAAK,KAAK,EAAE,WAAW,MAAM,UAAU,GAAG,CAAC,gBACjE,YAAY,wBAAwB,MAAM,SAAS,CACrD;AAAA,IACA,IAAI,CAAC;AAAA,MAAW,OAAO;AAAA,IAEvB,OAAO,KAAK,MACV,EAAE,WAAW,MAAM,WAAW,aAAa,UAAU,YAAY,GACjE,OAAO,gBAAgB;AAAA,MACrB,MAAM,UAAU,MAAM,YAAY,wBAAwB,MAAM,SAAS;AAAA,MACzE,IACE,CAAC,WACD,QAAQ,oBAAoB,aAC5B,QAAQ,aAAa,aACrB,QAAQ,wBAAwB,aAChC,QAAQ,gBAAgB,MAAM,eAC9B,CAAC,UAAU,QAAQ,WAAW,MAAM,SAAS,KAC7C,CAAC,UAAU,QAAQ,qBAAqB,MAAM,mBAAmB,GACjE;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MAEA,MAAM,MAAM,MAAM,YAAY,iBAAiB,QAAQ,eAAe;AAAA,MACtE,IACE,CAAC,OACD,IAAI,WAAW,aACf,IAAI,eAAe,4BACnB,IAAI,SAAS,QAAQ,QACrB,IAAI,2BAA2B,QAAQ,wBACvC;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MAEA,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,YAAY,2BAA2B,QAAQ,EAAE;AAAA,MACvD,IACE,QAAQ,UAAU,QAAQ,KAAK,IAAI,QAAQ,KAC3C,IAAI,UAAU,QAAQ,KAAK,IAAI,QAAQ,GACvC;AAAA,QACA,MAAM,UAAwE;AAAA,aACzE,kBAAkB,KAAK,GAAG;AAAA,UAC7B,QAAQ;AAAA,UACR,YAAY;AAAA,QACd;AAAA,QACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,QAC7C,OAAO,EAAE,MAAM,WAAW,KAAK,gBAAgB,OAAO,GAAG,UAAU,QAAQ,SAAS;AAAA,MACtF;AAAA,MAEA,MAAM,aAAqD;AAAA,WACtD,kBAAkB,KAAK,GAAG;AAAA,QAC7B,QAAQ;AAAA,QACR,cAAc,MAAM;AAAA,QACpB,mBAAmB;AAAA,QACnB,WAAW,IAAI,KAAK,IAAI,QAAQ,IAAI,MAAM,eAAe;AAAA,WACrD,QAAQ,sBAAsB,YAC9B,CAAC,IACD,EAAE,iBAAiB,QAAQ,kBAAkB;AAAA,MACnD;AAAA,MACA,MAAM,YAAY,oBAAoB,UAAU;AAAA,MAChD,OAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,gBAAgB,UAAU;AAAA,QAC/B,SAAS,gBAAgB,OAAO;AAAA,QAChC,UAAU,QAAQ;AAAA,MACpB;AAAA,KAEJ;AAAA;AAAA,EAGF,gCAAgC,CAC9B,OACwD;AAAA,IACxD,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,qBAAqB,aAAa,MAAM,KAAK;AAAA,MAC/D,MAAM,gBAAgB,MAAM,YAAY,iBAAiB,MAAM,eAAe;AAAA,MAC9E,IACE,CAAC,OACD,IAAI,WAAW,aACf,IAAI,iBAAiB,MAAM,gBAC1B,IAAI,oBAAoB,aAAa,IAAI,oBAAoB,MAAM,mBACpE,CAAC,iBACD,cAAc,WAAW,qBACzB;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,UAAkD;AAAA,WACnD;AAAA,QACH,iBAAiB,MAAM;AAAA,QACvB,WAAW,MAAM,YAAY,IAAI;AAAA,MACnC;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,6BAA6B,CAC3B,OAC+D;AAAA,IAC/D,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,qBAAqB,aAAa,MAAM,KAAK;AAAA,MAC/D,IACE,CAAC,OACD,IAAI,WAAW,aACf,IAAI,SAAS,aACb,IAAI,iBAAiB,MAAM,gBAC3B,IAAI,oBAAoB,MAAM,iBAC9B;AAAA,QACA,OAAO;AAAA,MACT;AAAA,MACA,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,UAAyD;AAAA,WAC1D,kBAAkB,KAAK,GAAG;AAAA,QAC7B,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,iBAAiB,MAAM;AAAA,QACvB,WAAW,IAAI,KAAK,MAAM,SAAS;AAAA,MACrC;AAAA,MACA,MAAM,YAAY,oBAAoB,OAAO;AAAA,MAC7C,OAAO,gBAAgB,OAAO;AAAA,KAC/B;AAAA;AAAA,EAGH,mBAAmB,CACjB,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,qBAAqB,aAAa,MAAM,KAAK;AAAA,MAC/D,IAAI,CAAC,OAAO,IAAI,WAAW,aAAa,MAAM,iBAAiB,IAAI;AAAA,QAAc,OAAO;AAAA,MACxF,MAAM,MAAM,MAAM,YAAY,IAAI;AAAA,MAClC,MAAM,kBACJ,MAAM,WAAW,cACb,MAAM,kBACN,MAAM,WAAW,WACd,MAAM,mBAAmB,IAAI,kBAC9B,IAAI;AAAA,MACZ,IAAI,MAAM,WAAW,eAAe,IAAI,SAAS,aAAa,iBAAiB;AAAA,QAC7E,MAAM,mCAAmC,aAAa,iBAAiB,GAAG;AAAA,MAC5E;AAAA,MACA,MAAM,OAAO,kBAAkB,KAAK,GAAG;AAAA,MACvC,MAAM,WACJ,MAAM,WAAW,cACb;AAAA,WACK;AAAA,QACH,QAAQ;AAAA,QACR,iBAAiB,MAAM;AAAA,WACnB,MAAM,2BAA2B,YACjC,CAAC,IACD,EAAE,wBAAwB,MAAM,uBAAuB;AAAA,QAC3D,aAAa,gBAAgB,MAAM,WAAW;AAAA,QAC9C,YAAY;AAAA,MACd,IACA,MAAM,WAAW,WACf;AAAA,WACK;AAAA,QACH,QAAQ;AAAA,WACJ,oBAAoB,YAAY,CAAC,IAAI,EAAE,gBAAgB;AAAA,QAC3D,OAAO,iBAAiB,MAAM,OAAO,sCAAsC;AAAA,QAC3E,YAAY;AAAA,MACd,IACA;AAAA,WACK;AAAA,QACH,QAAQ;AAAA,WACJ,oBAAoB,YAAY,CAAC,IAAI,EAAE,gBAAgB;AAAA,QAC3D,YAAY;AAAA,MACd;AAAA,MACR,MAAM,YAAY,oBAAoB,QAAQ;AAAA,MAC9C,OAAO,gBAAgB,QAAQ;AAAA,KAChC;AAAA;AAAA,EAGH,gBAAgB,CACd,OAC8C;AAAA,IAC9C,OAAO,KAAK,MAAM,OAAO,OAAO,gBAAgB;AAAA,MAC9C,MAAM,MAAM,MAAM,qBAAqB,aAAa,MAAM,KAAK;AAAA,MAC/D,OAAO,MAAM,gBAAgB,GAAG,IAAI;AAAA,KACrC;AAAA;AAEL;;;AC7VO,MAAM,kCAAwE;AAAA,EAC1E,aAAa;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EAEjB,WAAW,CAAC,SAAgD;AAAA,IAC1D,KAAK,OAAO,IAAI,+BAA+B,OAAO;AAAA,IACtD,KAAK,iBAAiB,IAAI,+BAA+B,OAAO;AAAA,IAChE,KAAK,cAAc,IAAI,4BAA4B,OAAO;AAAA;AAAA,OAGtD,2BAA0B,IAC3B,MACqF;AAAA,IACxF,OAAO,KAAK,KAAK,2BAA2B,GAAG,IAAI;AAAA;AAAA,OAG/C,4BAA2B,IAC5B,MACsF;AAAA,IACzF,OAAO,KAAK,KAAK,4BAA4B,GAAG,IAAI;AAAA;AAAA,OAGhD,oBAAmB,IACpB,MAC8E;AAAA,IACjF,OAAO,KAAK,KAAK,oBAAoB,GAAG,IAAI;AAAA;AAAA,OAGxC,6BAA4B,IAC7B,MACuF;AAAA,IAC1F,OAAO,KAAK,KAAK,6BAA6B,GAAG,IAAI;AAAA;AAAA,OAGjD,2BAA0B,IAC3B,MACqF;AAAA,IACxF,OAAO,KAAK,KAAK,2BAA2B,GAAG,IAAI;AAAA;AAAA,OAG/C,iCAAgC,IACjC,MAC2F;AAAA,IAC9F,OAAO,KAAK,KAAK,iCAAiC,GAAG,IAAI;AAAA;AAAA,OAGrD,8BAA6B,IAC9B,MACwF;AAAA,IAC3F,OAAO,KAAK,KAAK,8BAA8B,GAAG,IAAI;AAAA;AAAA,OAGlD,oBAAmB,IACpB,MAC8E;AAAA,IACjF,OAAO,KAAK,KAAK,oBAAoB,GAAG,IAAI;AAAA;AAAA,OAGxC,iBAAgB,IACjB,MAC2E;AAAA,IAC9E,OAAO,KAAK,KAAK,iBAAiB,GAAG,IAAI;AAAA;AAAA,OAGrC,oBAAmB,IACpB,MAC8E;AAAA,IACjF,OAAO,KAAK,eAAe,oBAAoB,GAAG,IAAI;AAAA;AAAA,OAGlD,gCAA+B,IAChC,MAC0F;AAAA,IAC7F,OAAO,KAAK,eAAe,gCAAgC,GAAG,IAAI;AAAA;AAAA,OAG9D,iBAAgB,IACjB,MAC2E;AAAA,IAC9E,OAAO,KAAK,eAAe,iBAAiB,GAAG,IAAI;AAAA;AAAA,OAG/C,+BAA8B,IAC/B,MACyF;AAAA,IAC5F,OAAO,KAAK,eAAe,+BAA+B,GAAG,IAAI;AAAA;AAAA,OAG7D,wBAAuB,IACxB,MACkF;AAAA,IACrF,OAAO,KAAK,eAAe,wBAAwB,GAAG,IAAI;AAAA;AAAA,OAGtD,gCAA+B,IAChC,MAC0F;AAAA,IAC7F,OAAO,KAAK,eAAe,gCAAgC,GAAG,IAAI;AAAA;AAAA,OAG9D,wBAAuB,IACxB,MACkF;AAAA,IACrF,OAAO,KAAK,eAAe,wBAAwB,GAAG,IAAI;AAAA;AAAA,OAGtD,mCAAkC,IACnC,MAGH;AAAA,IACA,OAAO,KAAK,eAAe,mCAAmC,GAAG,IAAI;AAAA;AAAA,OAGjE,kCAAiC,IAClC,MAC4F;AAAA,IAC/F,OAAO,KAAK,eAAe,kCAAkC,GAAG,IAAI;AAAA;AAAA,OAGhE,0BAAyB,IAC1B,MACoF;AAAA,IACvF,OAAO,KAAK,eAAe,0BAA0B,GAAG,IAAI;AAAA;AAAA,OAGxD,iCAAgC,IACjC,MAC2F;AAAA,IAC9F,OAAO,KAAK,eAAe,iCAAiC,GAAG,IAAI;AAAA;AAAA,OAG/D,yBAAwB,IACzB,MACmF;AAAA,IACtF,OAAO,KAAK,eAAe,yBAAyB,GAAG,IAAI;AAAA;AAAA,OAGvD,gBAAe,IAChB,MAC0E;AAAA,IAC7E,OAAO,KAAK,eAAe,gBAAgB,GAAG,IAAI;AAAA;AAAA,OAG9C,wBAAuB,IACxB,MACkF;AAAA,IACrF,OAAO,KAAK,eAAe,wBAAwB,GAAG,IAAI;AAAA;AAAA,OAGtD,mBAAkB,IACnB,MAC6E;AAAA,IAChF,OAAO,KAAK,eAAe,mBAAmB,GAAG,IAAI;AAAA;AAAA,OAGjD,cAAa,IACd,MACwE;AAAA,IAC3E,OAAO,KAAK,YAAY,cAAc,GAAG,IAAI;AAAA;AAAA,OAGzC,qBAAoB,IACrB,MAC+E;AAAA,IAClF,OAAO,KAAK,YAAY,qBAAqB,GAAG,IAAI;AAAA;AAAA,OAGhD,cAAa,IACd,MACwE;AAAA,IAC3E,OAAO,KAAK,YAAY,cAAc,GAAG,IAAI;AAAA;AAAA,OAGzC,kBAAiB,IAClB,MAC4E;AAAA,IAC/E,OAAO,KAAK,YAAY,kBAAkB,GAAG,IAAI;AAAA;AAAA,OAG7C,gBAAe,IAChB,MAC0E;AAAA,IAC7E,OAAO,KAAK,YAAY,gBAAgB,GAAG,IAAI;AAAA;AAAA,OAG3C,+BAA8B,IAC/B,MACyF;AAAA,IAC5F,OAAO,KAAK,YAAY,+BAA+B,GAAG,IAAI;AAAA;AAAA,OAG1D,qBAAoB,IACrB,MAC+E;AAAA,IAClF,OAAO,KAAK,YAAY,qBAAqB,GAAG,IAAI;AAAA;AAExD;",
12
+ "debugId": "5D13E1A973240FE264756E2164756E21",
13
+ "names": []
14
+ }
@@ -0,0 +1,402 @@
1
+ import type { ConnectorAccountCandidate, ConnectorConnectionSelector } from "../../connectors";
2
+ import type { SealedConnectorCredential } from "../../connectors/credentials";
3
+ import type { SixbFailure } from "../../errors/types";
4
+ import type { AuthorizablePrincipal } from "../../execution";
5
+ export type { ConnectorConnectionOwner, ConnectorConnectionSelector, ProjectConnectorConnectionOwner, } from "../../connectors";
6
+ export declare const CONNECTOR_CONNECTION_RUN_FAILURE_CODES: readonly ["internal.unexpected", "connector.adapter_invalid", "connector.authorization_invalid", "connector.authorization_required", "connector.credentials_unavailable", "connector.not_found", "connector.operation_conflict", "connector.operation_in_progress", "connector.provider_failed", "connector.provider_unavailable"];
7
+ export type ConnectorConnectionRunFailureCode = (typeof CONNECTOR_CONNECTION_RUN_FAILURE_CODES)[number];
8
+ export type ConnectorConnectionRunFailure = SixbFailure<ConnectorConnectionRunFailureCode>;
9
+ export type ConnectorConnectionRunKind = "connect" | "reauthorize";
10
+ interface ConnectorConnectionRunBase extends ConnectorConnectionSelector {
11
+ readonly id: string;
12
+ readonly projectId: string;
13
+ readonly connectorId: string;
14
+ readonly kind: ConnectorConnectionRunKind;
15
+ /** Durable request execution that initiated and is allowed to manage this run. */
16
+ readonly initiatedByExecutionId: string;
17
+ readonly createdAt: Date;
18
+ readonly updatedAt: Date;
19
+ }
20
+ export interface ConnectorConnectionRunAwaitingProviderRecord extends ConnectorConnectionRunBase {
21
+ readonly status: "waiting";
22
+ readonly waitingFor: "provider_authorization";
23
+ readonly expiresAt: Date;
24
+ }
25
+ export interface ConnectorConnectionRunProcessingRecord extends ConnectorConnectionRunBase {
26
+ readonly status: "running";
27
+ /** Fences every callback-side write after the one-shot OAuth attempt was consumed. */
28
+ readonly processingId: string;
29
+ readonly callbackStartedAt: Date;
30
+ readonly expiresAt: Date;
31
+ /** Internal grant handle, attached as soon as a new authorization is durably persisted. */
32
+ readonly authorizationId?: string;
33
+ }
34
+ export interface ConnectorConnectionRunAwaitingSelectionRecord extends ConnectorConnectionRunBase {
35
+ readonly status: "waiting";
36
+ readonly waitingFor: "account_selection";
37
+ readonly authorizationId: string;
38
+ readonly expiresAt: Date;
39
+ }
40
+ export interface ConnectorConnectionRunSucceededRecord extends ConnectorConnectionRunBase {
41
+ readonly status: "succeeded";
42
+ readonly authorizationId: string;
43
+ /** Internal handle for a replaced grant whose provider cleanup is still retryable. */
44
+ readonly cleanupAuthorizationId?: string;
45
+ readonly connections: readonly ConnectorConnectionRecord[];
46
+ readonly finishedAt: Date;
47
+ }
48
+ export interface ConnectorConnectionRunFailedRecord extends ConnectorConnectionRunBase {
49
+ readonly status: "failed";
50
+ readonly error: ConnectorConnectionRunFailure;
51
+ /** Internal cleanup handle; never serialized by the Headless API. */
52
+ readonly authorizationId?: string;
53
+ readonly finishedAt: Date;
54
+ }
55
+ export interface ConnectorConnectionRunCancelledRecord extends ConnectorConnectionRunBase {
56
+ readonly status: "cancelled";
57
+ readonly authorizationId?: string;
58
+ readonly finishedAt: Date;
59
+ }
60
+ export interface ConnectorConnectionRunExpiredRecord extends ConnectorConnectionRunBase {
61
+ readonly status: "expired";
62
+ readonly authorizationId?: string;
63
+ readonly finishedAt: Date;
64
+ }
65
+ export type ConnectorConnectionRunRecord = ConnectorConnectionRunAwaitingProviderRecord | ConnectorConnectionRunProcessingRecord | ConnectorConnectionRunAwaitingSelectionRecord | ConnectorConnectionRunSucceededRecord | ConnectorConnectionRunFailedRecord | ConnectorConnectionRunCancelledRecord | ConnectorConnectionRunExpiredRecord;
66
+ export interface CreateConnectorConnectionRunInput extends ConnectorConnectionSelector {
67
+ readonly id: string;
68
+ readonly projectId: string;
69
+ readonly connectorId: string;
70
+ readonly kind: ConnectorConnectionRunKind;
71
+ readonly initiatedByExecutionId: string;
72
+ readonly ttlMs: number;
73
+ }
74
+ export interface CreateConnectorConnectionSelectionRunInput extends ConnectorConnectionSelector {
75
+ readonly id: string;
76
+ readonly projectId: string;
77
+ readonly connectorId: string;
78
+ readonly initiatedByExecutionId: string;
79
+ readonly authorizationId: string;
80
+ readonly ttlMs: number;
81
+ }
82
+ export interface ClaimConnectorConnectionRunCallbackInput {
83
+ readonly projectId: string;
84
+ readonly attemptId: string;
85
+ readonly stateHash: string;
86
+ readonly callbackBindingHash: string;
87
+ readonly redirectUri: string;
88
+ readonly processingId: string;
89
+ readonly processingTtlMs: number;
90
+ }
91
+ export type ClaimConnectorConnectionRunCallbackResult = {
92
+ readonly type: "claimed";
93
+ readonly run: ConnectorConnectionRunProcessingRecord;
94
+ readonly attempt: ConnectorAuthorizationAttemptRecord;
95
+ readonly returnTo: string;
96
+ } | {
97
+ readonly type: "expired";
98
+ readonly run: ConnectorConnectionRunExpiredRecord;
99
+ readonly returnTo: string;
100
+ };
101
+ export interface WaitForConnectorConnectionRunSelectionInput {
102
+ readonly projectId: string;
103
+ readonly connectorId: string;
104
+ readonly runId: string;
105
+ readonly processingId: string;
106
+ readonly authorizationId: string;
107
+ readonly expiresAt: Date;
108
+ }
109
+ export interface AttachConnectorConnectionRunAuthorizationInput {
110
+ readonly projectId: string;
111
+ readonly connectorId: string;
112
+ readonly runId: string;
113
+ readonly processingId: string;
114
+ readonly authorizationId: string;
115
+ }
116
+ export type FinishConnectorConnectionRunInput = {
117
+ readonly projectId: string;
118
+ readonly connectorId: string;
119
+ readonly runId: string;
120
+ readonly processingId: string;
121
+ readonly status: "succeeded";
122
+ readonly authorizationId: string;
123
+ readonly cleanupAuthorizationId?: string;
124
+ readonly connections: readonly ConnectorConnectionRecord[];
125
+ } | {
126
+ readonly projectId: string;
127
+ readonly connectorId: string;
128
+ readonly runId: string;
129
+ readonly processingId: string;
130
+ readonly status: "failed";
131
+ readonly error: ConnectorConnectionRunFailure;
132
+ readonly authorizationId?: string;
133
+ } | {
134
+ readonly projectId: string;
135
+ readonly connectorId: string;
136
+ readonly runId: string;
137
+ readonly processingId: string;
138
+ readonly status: "cancelled";
139
+ };
140
+ export interface GetConnectorConnectionRunInput {
141
+ readonly projectId: string;
142
+ readonly connectorId: string;
143
+ readonly runId: string;
144
+ }
145
+ export interface ConnectorAuthorizationAttemptRecord extends ConnectorConnectionSelector {
146
+ readonly id: string;
147
+ readonly projectId: string;
148
+ readonly connectorId: string;
149
+ /** Durable execution that initiated and authorizes completion of this OAuth attempt. */
150
+ readonly initiatedByExecutionId: string;
151
+ readonly stateHash: string;
152
+ readonly codeVerifier: SealedConnectorCredential;
153
+ readonly redirectUri: string;
154
+ /** Present only for attempts created by the headless connection-run API. */
155
+ readonly connectionRunId?: string;
156
+ /** Fixed, allowlisted continuation consumed with a headless callback. */
157
+ readonly returnTo?: string;
158
+ /** Hash of the one-shot browser callback binding secret. */
159
+ readonly callbackBindingHash?: string;
160
+ readonly reauthorizationId?: string;
161
+ readonly reauthorizationRevision?: number;
162
+ readonly reauthorizationConnectionIds?: readonly string[];
163
+ readonly createdAt: Date;
164
+ readonly expiresAt: Date;
165
+ }
166
+ export interface CreateConnectorAuthorizationAttemptInput extends ConnectorConnectionSelector {
167
+ readonly id: string;
168
+ readonly projectId: string;
169
+ readonly connectorId: string;
170
+ readonly initiatedByExecutionId: string;
171
+ readonly stateHash: string;
172
+ readonly codeVerifier: SealedConnectorCredential;
173
+ readonly redirectUri: string;
174
+ readonly connectionRunId?: string;
175
+ readonly returnTo?: string;
176
+ readonly callbackBindingHash?: string;
177
+ readonly reauthorizationId?: string;
178
+ readonly reauthorizationRevision?: number;
179
+ readonly reauthorizationConnectionIds?: readonly string[];
180
+ readonly ttlMs: number;
181
+ }
182
+ /** Callback proof. The orchestration layer authorizes the returned initiating execution. */
183
+ export interface ConsumeConnectorAuthorizationAttemptInput {
184
+ readonly id: string;
185
+ readonly projectId: string;
186
+ readonly connectorId: string;
187
+ readonly stateHash: string;
188
+ readonly redirectUri: string;
189
+ }
190
+ export type ConnectorAuthorizationStatus = "pending_selection" | "active" | "needs_reauthorization" | "revocation_pending" | "revoked";
191
+ export type ConnectorCredentialMutationKind = "refresh" | "reauthorization" | "revocation";
192
+ export type ConnectorCredentialMutationPhase = "prepared" | "executing" | "result_staged";
193
+ export interface ConnectorStagedCredentials {
194
+ readonly credentials: SealedConnectorCredential;
195
+ readonly credentialExpiresAt?: Date;
196
+ readonly scopes: readonly string[];
197
+ }
198
+ /** Durable fencing record for one provider-side OAuth credential mutation. */
199
+ export interface ConnectorCredentialMutation {
200
+ readonly id: string;
201
+ readonly kind: ConnectorCredentialMutationKind;
202
+ readonly phase: ConnectorCredentialMutationPhase;
203
+ readonly holderId: string;
204
+ readonly expiresAt: Date;
205
+ readonly deadlineAt: Date;
206
+ readonly expectedConnectionIds?: readonly string[];
207
+ readonly stagedCredentials?: ConnectorStagedCredentials;
208
+ }
209
+ export interface ConnectorAuthorizationRecord {
210
+ readonly id: string;
211
+ readonly projectId: string;
212
+ readonly connectorId: string;
213
+ readonly authorizedBy: AuthorizablePrincipal;
214
+ /** Removed after provider revocation is confirmed. */
215
+ readonly credentials?: SealedConnectorCredential;
216
+ readonly credentialExpiresAt?: Date;
217
+ readonly scopes: readonly string[];
218
+ readonly accounts: readonly ConnectorAccountCandidate[];
219
+ readonly status: ConnectorAuthorizationStatus;
220
+ /** Storage-authoritative deadline for the first account selection. */
221
+ readonly selectionExpiresAt?: Date;
222
+ readonly revision: number;
223
+ readonly credentialMutation?: ConnectorCredentialMutation;
224
+ readonly createdAt: Date;
225
+ readonly updatedAt: Date;
226
+ }
227
+ export interface CreateConnectorAuthorizationInput {
228
+ readonly id: string;
229
+ readonly projectId: string;
230
+ readonly connectorId: string;
231
+ readonly authorizedBy: AuthorizablePrincipal;
232
+ readonly credentials: SealedConnectorCredential;
233
+ readonly credentialExpiresAt?: Date;
234
+ readonly scopes: readonly string[];
235
+ readonly accounts: readonly ConnectorAccountCandidate[];
236
+ readonly selectionTtlMs: number;
237
+ }
238
+ export interface InitializeConnectorAuthorizationAccountsInput {
239
+ readonly projectId: string;
240
+ readonly connectorId: string;
241
+ readonly authorizationId: string;
242
+ readonly expectedRevision: number;
243
+ readonly accounts: readonly ConnectorAccountCandidate[];
244
+ }
245
+ export interface ClaimConnectorCredentialMutationInput {
246
+ readonly projectId: string;
247
+ readonly connectorId: string;
248
+ readonly authorizationId: string;
249
+ readonly expectedRevision: number;
250
+ readonly mutation: {
251
+ readonly id: string;
252
+ readonly kind: ConnectorCredentialMutationKind;
253
+ readonly holderId: string;
254
+ };
255
+ readonly expectedConnectionIds?: readonly string[];
256
+ readonly leaseDurationMs: number;
257
+ readonly operationTimeoutMs: number;
258
+ }
259
+ export interface ClaimConnectorCredentialMutationResult {
260
+ readonly authorization: ConnectorAuthorizationRecord;
261
+ readonly disconnected: readonly ConnectorConnectionRecord[];
262
+ }
263
+ export interface ConnectorCredentialMutationFence {
264
+ readonly projectId: string;
265
+ readonly connectorId: string;
266
+ readonly authorizationId: string;
267
+ readonly expectedRevision: number;
268
+ readonly mutationId: string;
269
+ }
270
+ export interface MarkConnectorCredentialMutationExecutingInput extends ConnectorCredentialMutationFence {
271
+ readonly holderId: string;
272
+ }
273
+ export interface RenewConnectorCredentialMutationInput extends ConnectorCredentialMutationFence {
274
+ readonly holderId: string;
275
+ readonly leaseDurationMs: number;
276
+ }
277
+ export interface StageConnectorCredentialMutationCredentialsInput extends ConnectorCredentialMutationFence {
278
+ readonly holderId: string;
279
+ readonly credentials: SealedConnectorCredential;
280
+ readonly credentialExpiresAt?: Date;
281
+ readonly scopes: readonly string[];
282
+ }
283
+ export interface StageConnectorCredentialMutationRevocationInput extends ConnectorCredentialMutationFence {
284
+ readonly holderId: string;
285
+ }
286
+ export interface ReleaseConnectorCredentialMutationInput extends ConnectorCredentialMutationFence {
287
+ readonly holderId: string;
288
+ }
289
+ export interface RecoverExpiredConnectorCredentialMutationInput {
290
+ readonly projectId: string;
291
+ readonly connectorId: string;
292
+ readonly authorizationId: string;
293
+ }
294
+ export interface MarkConnectorAuthorizationNeedsReauthorizationInput extends ConnectorCredentialMutationFence {
295
+ }
296
+ export interface FinalizeConnectorReauthorizationInput extends ConnectorCredentialMutationFence {
297
+ readonly accounts: readonly ConnectorAccountCandidate[];
298
+ }
299
+ export type ConnectorConnectionStatus = "connected" | "disconnected";
300
+ export interface ConnectorConnectionRecord extends ConnectorConnectionSelector {
301
+ readonly id: string;
302
+ readonly projectId: string;
303
+ readonly connectorId: string;
304
+ readonly authorizationId: string;
305
+ readonly account: ConnectorAccountCandidate;
306
+ readonly status: ConnectorConnectionStatus;
307
+ readonly disconnectedAt?: Date;
308
+ readonly createdAt: Date;
309
+ readonly updatedAt: Date;
310
+ }
311
+ export interface PutConnectorConnectionInput extends ConnectorConnectionSelector {
312
+ readonly id: string;
313
+ readonly projectId: string;
314
+ readonly connectorId: string;
315
+ readonly authorizationId: string;
316
+ readonly account: ConnectorAccountCandidate;
317
+ readonly replace: boolean;
318
+ }
319
+ export interface PutConnectorConnectionResult {
320
+ readonly connection: ConnectorConnectionRecord;
321
+ readonly authorization: ConnectorAuthorizationRecord;
322
+ readonly revocationPendingAuthorizationId?: string;
323
+ readonly created: boolean;
324
+ readonly replaced: boolean;
325
+ }
326
+ export interface DisconnectConnectorConnectionResult {
327
+ readonly connection: ConnectorConnectionRecord;
328
+ readonly authorization: ConnectorAuthorizationRecord;
329
+ readonly revocationPendingAuthorizationId?: string;
330
+ }
331
+ export interface PutConnectorConnectionFromRunInput {
332
+ readonly id: string;
333
+ readonly projectId: string;
334
+ readonly connectorId: string;
335
+ readonly runId: string;
336
+ readonly account: ConnectorAccountCandidate;
337
+ readonly replace: boolean;
338
+ }
339
+ export interface PutConnectorConnectionFromRunResult extends PutConnectorConnectionResult {
340
+ readonly run: ConnectorConnectionRunSucceededRecord;
341
+ }
342
+ export interface GetConnectorConnectionInput extends ConnectorConnectionSelector {
343
+ readonly projectId: string;
344
+ readonly connectorId: string;
345
+ }
346
+ export interface ListConnectorConnectionsInput {
347
+ readonly projectId: string;
348
+ readonly connectorId: string;
349
+ }
350
+ /** Tenant-scoped identity for one connector authorization. */
351
+ export interface ConnectorAuthorizationKey {
352
+ readonly projectId: string;
353
+ readonly connectorId: string;
354
+ readonly authorizationId: string;
355
+ }
356
+ /** Tenant-scoped identity for one selected connector connection. */
357
+ export interface ConnectorConnectionKey {
358
+ readonly projectId: string;
359
+ readonly connectorId: string;
360
+ readonly connectionId: string;
361
+ }
362
+ /** Persistent contract. Implementations must make every individual mutation atomic. */
363
+ export interface ConnectorConnectionStorage {
364
+ readonly durability: "ephemeral" | "durable";
365
+ createAuthorizationAttempt(input: CreateConnectorAuthorizationAttemptInput): Promise<ConnectorAuthorizationAttemptRecord>;
366
+ consumeAuthorizationAttempt(input: ConsumeConnectorAuthorizationAttemptInput): Promise<ConnectorAuthorizationAttemptRecord>;
367
+ createConnectionRun(input: CreateConnectorConnectionRunInput): Promise<ConnectorConnectionRunRecord>;
368
+ createConnectionSelectionRun(input: CreateConnectorConnectionSelectionRunInput): Promise<ConnectorConnectionRunAwaitingSelectionRecord>;
369
+ claimConnectionRunCallback(input: ClaimConnectorConnectionRunCallbackInput): Promise<ClaimConnectorConnectionRunCallbackResult | null>;
370
+ attachConnectionRunAuthorization(input: AttachConnectorConnectionRunAuthorizationInput): Promise<ConnectorConnectionRunProcessingRecord | null>;
371
+ waitForConnectionRunSelection(input: WaitForConnectorConnectionRunSelectionInput): Promise<ConnectorConnectionRunAwaitingSelectionRecord | null>;
372
+ finishConnectionRun(input: FinishConnectorConnectionRunInput): Promise<ConnectorConnectionRunRecord | null>;
373
+ getConnectionRun(input: GetConnectorConnectionRunInput): Promise<ConnectorConnectionRunRecord | null>;
374
+ createAuthorization(input: CreateConnectorAuthorizationInput): Promise<ConnectorAuthorizationRecord>;
375
+ initializeAuthorizationAccounts(input: InitializeConnectorAuthorizationAccountsInput): Promise<ConnectorAuthorizationRecord | null>;
376
+ getAuthorization(input: ConnectorAuthorizationKey): Promise<ConnectorAuthorizationRecord | null>;
377
+ getAuthorizationByConnectionId(input: ConnectorConnectionKey): Promise<ConnectorAuthorizationRecord | null>;
378
+ claimCredentialMutation(input: ClaimConnectorCredentialMutationInput): Promise<ClaimConnectorCredentialMutationResult | null>;
379
+ markCredentialMutationExecuting(input: MarkConnectorCredentialMutationExecutingInput): Promise<ConnectorAuthorizationRecord | null>;
380
+ renewCredentialMutation(input: RenewConnectorCredentialMutationInput): Promise<ConnectorAuthorizationRecord | null>;
381
+ stageCredentialMutationCredentials(input: StageConnectorCredentialMutationCredentialsInput): Promise<ConnectorAuthorizationRecord | null>;
382
+ stageCredentialMutationRevocation(input: StageConnectorCredentialMutationRevocationInput): Promise<ConnectorAuthorizationRecord | null>;
383
+ releaseCredentialMutation(input: ReleaseConnectorCredentialMutationInput): Promise<boolean>;
384
+ /**
385
+ * Recovers an expired mutation without replaying an unknown provider effect. Prepared work is
386
+ * released, executing refresh/reauthorization fails closed, revocation stays retryable, and a
387
+ * staged result remains available for finalization.
388
+ */
389
+ recoverExpiredCredentialMutation(input: RecoverExpiredConnectorCredentialMutationInput): Promise<ConnectorAuthorizationRecord | null>;
390
+ markNeedsReauthorization(input: MarkConnectorAuthorizationNeedsReauthorizationInput): Promise<ConnectorAuthorizationRecord | null>;
391
+ finalizeRefresh(input: ConnectorCredentialMutationFence): Promise<ConnectorAuthorizationRecord | null>;
392
+ finalizeReauthorization(input: FinalizeConnectorReauthorizationInput): Promise<ConnectorAuthorizationRecord | null>;
393
+ finalizeRevocation(input: ConnectorCredentialMutationFence): Promise<ConnectorAuthorizationRecord | null>;
394
+ putConnection(input: PutConnectorConnectionInput): Promise<PutConnectorConnectionResult>;
395
+ putConnectionFromRun(input: PutConnectorConnectionFromRunInput): Promise<PutConnectorConnectionFromRunResult>;
396
+ getConnection(input: GetConnectorConnectionInput): Promise<ConnectorConnectionRecord | null>;
397
+ getConnectionById(input: ConnectorConnectionKey): Promise<ConnectorConnectionRecord | null>;
398
+ listConnections(input: ListConnectorConnectionsInput): Promise<readonly ConnectorConnectionRecord[]>;
399
+ listConnectionsByAuthorization(input: ConnectorAuthorizationKey): Promise<readonly ConnectorConnectionRecord[]>;
400
+ disconnectConnection(input: ConnectorConnectionKey): Promise<DisconnectConnectorConnectionResult | null>;
401
+ }
402
+ //# sourceMappingURL=types.d.ts.map