@sixb/core 0.0.1

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 (1582) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +470 -0
  3. package/dist/actions/builders/define-action.d.ts +7 -0
  4. package/dist/actions/builders/define-action.d.ts.map +1 -0
  5. package/dist/actions/builders/params.d.ts +23 -0
  6. package/dist/actions/builders/params.d.ts.map +1 -0
  7. package/dist/actions/builders.d.ts +3 -0
  8. package/dist/actions/builders.d.ts.map +1 -0
  9. package/dist/actions/commit-edits.d.ts +54 -0
  10. package/dist/actions/commit-edits.d.ts.map +1 -0
  11. package/dist/actions/errors.d.ts +9 -0
  12. package/dist/actions/errors.d.ts.map +1 -0
  13. package/dist/actions/index.d.ts +14 -0
  14. package/dist/actions/index.d.ts.map +1 -0
  15. package/dist/actions/index.js +73 -0
  16. package/dist/actions/index.js.map +9 -0
  17. package/dist/actions/read-facade.d.ts +56 -0
  18. package/dist/actions/read-facade.d.ts.map +1 -0
  19. package/dist/actions/registry.d.ts +17 -0
  20. package/dist/actions/registry.d.ts.map +1 -0
  21. package/dist/actions/request.d.ts +37 -0
  22. package/dist/actions/request.d.ts.map +1 -0
  23. package/dist/actions/run-id.d.ts +3 -0
  24. package/dist/actions/run-id.d.ts.map +1 -0
  25. package/dist/actions/runtime.d.ts +11 -0
  26. package/dist/actions/runtime.d.ts.map +1 -0
  27. package/dist/actions/types/context.d.ts +147 -0
  28. package/dist/actions/types/context.d.ts.map +1 -0
  29. package/dist/actions/types/definitions.d.ts +67 -0
  30. package/dist/actions/types/definitions.d.ts.map +1 -0
  31. package/dist/actions/types/handlers.d.ts +19 -0
  32. package/dist/actions/types/handlers.d.ts.map +1 -0
  33. package/dist/actions/types/params.d.ts +45 -0
  34. package/dist/actions/types/params.d.ts.map +1 -0
  35. package/dist/actions/types.d.ts +5 -0
  36. package/dist/actions/types.d.ts.map +1 -0
  37. package/dist/actions/validation.d.ts +33 -0
  38. package/dist/actions/validation.d.ts.map +1 -0
  39. package/dist/actions/validators.d.ts +8 -0
  40. package/dist/actions/validators.d.ts.map +1 -0
  41. package/dist/actions/worker.d.ts +3 -0
  42. package/dist/actions/worker.d.ts.map +1 -0
  43. package/dist/actions/worker.js +324 -0
  44. package/dist/actions/worker.js.map +11 -0
  45. package/dist/agents/adapters.d.ts +185 -0
  46. package/dist/agents/adapters.d.ts.map +1 -0
  47. package/dist/agents/api-gateway.d.ts +21 -0
  48. package/dist/agents/api-gateway.d.ts.map +1 -0
  49. package/dist/agents/builders.d.ts +10 -0
  50. package/dist/agents/builders.d.ts.map +1 -0
  51. package/dist/agents/context-model.d.ts +4 -0
  52. package/dist/agents/context-model.d.ts.map +1 -0
  53. package/dist/agents/context-resolution.d.ts +5 -0
  54. package/dist/agents/context-resolution.d.ts.map +1 -0
  55. package/dist/agents/context.d.ts +57 -0
  56. package/dist/agents/context.d.ts.map +1 -0
  57. package/dist/agents/context.js +23 -0
  58. package/dist/agents/context.js.map +9 -0
  59. package/dist/agents/dispatch.d.ts +36 -0
  60. package/dist/agents/dispatch.d.ts.map +1 -0
  61. package/dist/agents/errors.d.ts +27 -0
  62. package/dist/agents/errors.d.ts.map +1 -0
  63. package/dist/agents/ids.d.ts +11 -0
  64. package/dist/agents/ids.d.ts.map +1 -0
  65. package/dist/agents/index.d.ts +24 -0
  66. package/dist/agents/index.d.ts.map +1 -0
  67. package/dist/agents/index.js +121 -0
  68. package/dist/agents/index.js.map +9 -0
  69. package/dist/agents/message.d.ts +78 -0
  70. package/dist/agents/message.d.ts.map +1 -0
  71. package/dist/agents/prompt.d.ts +15 -0
  72. package/dist/agents/prompt.d.ts.map +1 -0
  73. package/dist/agents/request.d.ts +42 -0
  74. package/dist/agents/request.d.ts.map +1 -0
  75. package/dist/agents/runtime.d.ts +41 -0
  76. package/dist/agents/runtime.d.ts.map +1 -0
  77. package/dist/agents/streams.d.ts +72 -0
  78. package/dist/agents/streams.d.ts.map +1 -0
  79. package/dist/agents/streams.js +32 -0
  80. package/dist/agents/streams.js.map +9 -0
  81. package/dist/agents/types.d.ts +52 -0
  82. package/dist/agents/types.d.ts.map +1 -0
  83. package/dist/agents/validation.d.ts +10 -0
  84. package/dist/agents/validation.d.ts.map +1 -0
  85. package/dist/auth/access-tokens.d.ts +19 -0
  86. package/dist/auth/access-tokens.d.ts.map +1 -0
  87. package/dist/auth/audience.d.ts +8 -0
  88. package/dist/auth/audience.d.ts.map +1 -0
  89. package/dist/auth/cookies.d.ts +50 -0
  90. package/dist/auth/cookies.d.ts.map +1 -0
  91. package/dist/auth/csrf.d.ts +8 -0
  92. package/dist/auth/csrf.d.ts.map +1 -0
  93. package/dist/auth/errors.d.ts +7 -0
  94. package/dist/auth/errors.d.ts.map +1 -0
  95. package/dist/auth/index.d.ts +15 -0
  96. package/dist/auth/index.d.ts.map +1 -0
  97. package/dist/auth/index.js +101 -0
  98. package/dist/auth/index.js.map +9 -0
  99. package/dist/auth/runtime.d.ts +129 -0
  100. package/dist/auth/runtime.d.ts.map +1 -0
  101. package/dist/auth/session-cache.d.ts +44 -0
  102. package/dist/auth/session-cache.d.ts.map +1 -0
  103. package/dist/auth/sessions.d.ts +16 -0
  104. package/dist/auth/sessions.d.ts.map +1 -0
  105. package/dist/auth/strategy.d.ts +11 -0
  106. package/dist/auth/strategy.d.ts.map +1 -0
  107. package/dist/auth/strategy.js +14 -0
  108. package/dist/auth/strategy.js.map +9 -0
  109. package/dist/auth/types.d.ts +460 -0
  110. package/dist/auth/types.d.ts.map +1 -0
  111. package/dist/auth/validation.d.ts +26 -0
  112. package/dist/auth/validation.d.ts.map +1 -0
  113. package/dist/authorization/application-access.d.ts +18 -0
  114. package/dist/authorization/application-access.d.ts.map +1 -0
  115. package/dist/authorization/decision.d.ts +104 -0
  116. package/dist/authorization/decision.d.ts.map +1 -0
  117. package/dist/authorization/errors.d.ts +10 -0
  118. package/dist/authorization/errors.d.ts.map +1 -0
  119. package/dist/authorization/event-visibility.d.ts +16 -0
  120. package/dist/authorization/event-visibility.d.ts.map +1 -0
  121. package/dist/authorization/grant-kinds.d.ts +48 -0
  122. package/dist/authorization/grant-kinds.d.ts.map +1 -0
  123. package/dist/authorization/index.d.ts +11 -0
  124. package/dist/authorization/index.d.ts.map +1 -0
  125. package/dist/authorization/index.js +48 -0
  126. package/dist/authorization/index.js.map +9 -0
  127. package/dist/authorization/resolve.d.ts +28 -0
  128. package/dist/authorization/resolve.d.ts.map +1 -0
  129. package/dist/authorization/run-visibility.d.ts +15 -0
  130. package/dist/authorization/run-visibility.d.ts.map +1 -0
  131. package/dist/authorization/types.d.ts +46 -0
  132. package/dist/authorization/types.d.ts.map +1 -0
  133. package/dist/blob-storage/browser.d.ts +14 -0
  134. package/dist/blob-storage/browser.d.ts.map +1 -0
  135. package/dist/blob-storage/browser.js +22 -0
  136. package/dist/blob-storage/browser.js.map +9 -0
  137. package/dist/blob-storage/constants.d.ts +10 -0
  138. package/dist/blob-storage/constants.d.ts.map +1 -0
  139. package/dist/blob-storage/derive.d.ts +4 -0
  140. package/dist/blob-storage/derive.d.ts.map +1 -0
  141. package/dist/blob-storage/errors.d.ts +7 -0
  142. package/dist/blob-storage/errors.d.ts.map +1 -0
  143. package/dist/blob-storage/in-memory.d.ts +10 -0
  144. package/dist/blob-storage/in-memory.d.ts.map +1 -0
  145. package/dist/blob-storage/index.d.ts +8 -0
  146. package/dist/blob-storage/index.d.ts.map +1 -0
  147. package/dist/blob-storage/index.js +44 -0
  148. package/dist/blob-storage/index.js.map +9 -0
  149. package/dist/blob-storage/types.d.ts +126 -0
  150. package/dist/blob-storage/types.d.ts.map +1 -0
  151. package/dist/blob-storage/utils.d.ts +9 -0
  152. package/dist/blob-storage/utils.d.ts.map +1 -0
  153. package/dist/blob-storage/validation.d.ts +6 -0
  154. package/dist/blob-storage/validation.d.ts.map +1 -0
  155. package/dist/bootstrap/discovery.d.ts +34 -0
  156. package/dist/bootstrap/discovery.d.ts.map +1 -0
  157. package/dist/bootstrap/index.d.ts +4 -0
  158. package/dist/bootstrap/index.d.ts.map +1 -0
  159. package/dist/bootstrap/index.js +80 -0
  160. package/dist/bootstrap/index.js.map +9 -0
  161. package/dist/bootstrap/ontology-type-manifest.d.ts +22 -0
  162. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -0
  163. package/dist/broker/errors.d.ts +12 -0
  164. package/dist/broker/errors.d.ts.map +1 -0
  165. package/dist/broker/in-memory.d.ts +53 -0
  166. package/dist/broker/in-memory.d.ts.map +1 -0
  167. package/dist/broker/index.d.ts +5 -0
  168. package/dist/broker/index.d.ts.map +1 -0
  169. package/dist/broker/index.js +15 -0
  170. package/dist/broker/index.js.map +9 -0
  171. package/dist/broker/types.d.ts +119 -0
  172. package/dist/broker/types.d.ts.map +1 -0
  173. package/dist/chunk-04b07a9q.js +89 -0
  174. package/dist/chunk-04b07a9q.js.map +10 -0
  175. package/dist/chunk-0fygrz37.js +354 -0
  176. package/dist/chunk-0fygrz37.js.map +17 -0
  177. package/dist/chunk-0psb6kdw.js +989 -0
  178. package/dist/chunk-0psb6kdw.js.map +15 -0
  179. package/dist/chunk-1evzqhks.js +76 -0
  180. package/dist/chunk-1evzqhks.js.map +10 -0
  181. package/dist/chunk-1vffvydj.js +109 -0
  182. package/dist/chunk-1vffvydj.js.map +10 -0
  183. package/dist/chunk-2ab72m2h.js +59 -0
  184. package/dist/chunk-2ab72m2h.js.map +10 -0
  185. package/dist/chunk-2gpr6jsz.js +1968 -0
  186. package/dist/chunk-2gpr6jsz.js.map +13 -0
  187. package/dist/chunk-2s6sydsh.js +368 -0
  188. package/dist/chunk-2s6sydsh.js.map +12 -0
  189. package/dist/chunk-45tw90k7.js +72 -0
  190. package/dist/chunk-45tw90k7.js.map +11 -0
  191. package/dist/chunk-4pycxcj3.js +35 -0
  192. package/dist/chunk-4pycxcj3.js.map +11 -0
  193. package/dist/chunk-50kv63vj.js +523 -0
  194. package/dist/chunk-50kv63vj.js.map +12 -0
  195. package/dist/chunk-51fjndv0.js +17 -0
  196. package/dist/chunk-51fjndv0.js.map +11 -0
  197. package/dist/chunk-590dejbp.js +49 -0
  198. package/dist/chunk-590dejbp.js.map +10 -0
  199. package/dist/chunk-5yny9z0e.js +60 -0
  200. package/dist/chunk-5yny9z0e.js.map +10 -0
  201. package/dist/chunk-6wetht33.js +89 -0
  202. package/dist/chunk-6wetht33.js.map +10 -0
  203. package/dist/chunk-74drx9gd.js +362 -0
  204. package/dist/chunk-74drx9gd.js.map +11 -0
  205. package/dist/chunk-867jxh7c.js +1156 -0
  206. package/dist/chunk-867jxh7c.js.map +19 -0
  207. package/dist/chunk-88ppkr54.js +257 -0
  208. package/dist/chunk-88ppkr54.js.map +12 -0
  209. package/dist/chunk-8r8cw2xw.js +373 -0
  210. package/dist/chunk-8r8cw2xw.js.map +11 -0
  211. package/dist/chunk-8ydjhh27.js +95 -0
  212. package/dist/chunk-8ydjhh27.js.map +11 -0
  213. package/dist/chunk-9dzba0f2.js +43 -0
  214. package/dist/chunk-9dzba0f2.js.map +10 -0
  215. package/dist/chunk-aebzcsxr.js +5272 -0
  216. package/dist/chunk-aebzcsxr.js.map +48 -0
  217. package/dist/chunk-b49dgvsj.js +49 -0
  218. package/dist/chunk-b49dgvsj.js.map +10 -0
  219. package/dist/chunk-btpe64e4.js +554 -0
  220. package/dist/chunk-btpe64e4.js.map +13 -0
  221. package/dist/chunk-c3zd880g.js +629 -0
  222. package/dist/chunk-c3zd880g.js.map +14 -0
  223. package/dist/chunk-dcgrzj1t.js +2954 -0
  224. package/dist/chunk-dcgrzj1t.js.map +36 -0
  225. package/dist/chunk-dhmj53mx.js +501 -0
  226. package/dist/chunk-dhmj53mx.js.map +16 -0
  227. package/dist/chunk-dktq02ne.js +16 -0
  228. package/dist/chunk-dktq02ne.js.map +10 -0
  229. package/dist/chunk-f2b5e2gf.js +141 -0
  230. package/dist/chunk-f2b5e2gf.js.map +11 -0
  231. package/dist/chunk-gqdd7508.js +273 -0
  232. package/dist/chunk-gqdd7508.js.map +11 -0
  233. package/dist/chunk-hsv43v58.js +1390 -0
  234. package/dist/chunk-hsv43v58.js.map +21 -0
  235. package/dist/chunk-jdwx7vzs.js +454 -0
  236. package/dist/chunk-jdwx7vzs.js.map +14 -0
  237. package/dist/chunk-k25jm1x5.js +102 -0
  238. package/dist/chunk-k25jm1x5.js.map +10 -0
  239. package/dist/chunk-k41ajtz7.js +352 -0
  240. package/dist/chunk-k41ajtz7.js.map +13 -0
  241. package/dist/chunk-k6j72mtt.js +9 -0
  242. package/dist/chunk-k6j72mtt.js.map +10 -0
  243. package/dist/chunk-mx84y05q.js +426 -0
  244. package/dist/chunk-mx84y05q.js.map +11 -0
  245. package/dist/chunk-nvamz5dv.js +819 -0
  246. package/dist/chunk-nvamz5dv.js.map +21 -0
  247. package/dist/chunk-p6r5g77m.js +113 -0
  248. package/dist/chunk-p6r5g77m.js.map +10 -0
  249. package/dist/chunk-pv1yad91.js +1165 -0
  250. package/dist/chunk-pv1yad91.js.map +27 -0
  251. package/dist/chunk-q4qzq0ea.js +832 -0
  252. package/dist/chunk-q4qzq0ea.js.map +14 -0
  253. package/dist/chunk-r65yscvk.js +187 -0
  254. package/dist/chunk-r65yscvk.js.map +11 -0
  255. package/dist/chunk-ry24jbr1.js +50 -0
  256. package/dist/chunk-ry24jbr1.js.map +10 -0
  257. package/dist/chunk-t358gywy.js +991 -0
  258. package/dist/chunk-t358gywy.js.map +34 -0
  259. package/dist/chunk-t72dvahb.js +167 -0
  260. package/dist/chunk-t72dvahb.js.map +12 -0
  261. package/dist/chunk-tsk2bxs3.js +1254 -0
  262. package/dist/chunk-tsk2bxs3.js.map +17 -0
  263. package/dist/chunk-v5c085yp.js +49 -0
  264. package/dist/chunk-v5c085yp.js.map +10 -0
  265. package/dist/chunk-vj723r3p.js +146 -0
  266. package/dist/chunk-vj723r3p.js.map +12 -0
  267. package/dist/chunk-wj01s5hr.js +363 -0
  268. package/dist/chunk-wj01s5hr.js.map +11 -0
  269. package/dist/chunk-wxhdnwh4.js +37 -0
  270. package/dist/chunk-wxhdnwh4.js.map +10 -0
  271. package/dist/chunk-xqbtf4wn.js +170 -0
  272. package/dist/chunk-xqbtf4wn.js.map +10 -0
  273. package/dist/chunk-xwnf87e1.js +324 -0
  274. package/dist/chunk-xwnf87e1.js.map +13 -0
  275. package/dist/chunk-xz5g49bp.js +239 -0
  276. package/dist/chunk-xz5g49bp.js.map +11 -0
  277. package/dist/chunk-y64skrwp.js +19 -0
  278. package/dist/chunk-y64skrwp.js.map +9 -0
  279. package/dist/chunk-ya6brh8a.js +136 -0
  280. package/dist/chunk-ya6brh8a.js.map +11 -0
  281. package/dist/chunk-yt8wphsx.js +12 -0
  282. package/dist/chunk-yt8wphsx.js.map +10 -0
  283. package/dist/chunk-yvef9xwc.js +3842 -0
  284. package/dist/chunk-yvef9xwc.js.map +44 -0
  285. package/dist/chunk-yxss87qa.js +821 -0
  286. package/dist/chunk-yxss87qa.js.map +14 -0
  287. package/dist/connectors/builders.d.ts +10 -0
  288. package/dist/connectors/builders.d.ts.map +1 -0
  289. package/dist/connectors/errors.d.ts +14 -0
  290. package/dist/connectors/errors.d.ts.map +1 -0
  291. package/dist/connectors/index.d.ts +5 -0
  292. package/dist/connectors/index.d.ts.map +1 -0
  293. package/dist/connectors/runtime.d.ts +13 -0
  294. package/dist/connectors/runtime.d.ts.map +1 -0
  295. package/dist/connectors/types.d.ts +39 -0
  296. package/dist/connectors/types.d.ts.map +1 -0
  297. package/dist/datasets/builders.d.ts +54 -0
  298. package/dist/datasets/builders.d.ts.map +1 -0
  299. package/dist/datasets/errors.d.ts +4 -0
  300. package/dist/datasets/errors.d.ts.map +1 -0
  301. package/dist/datasets/index.d.ts +5 -0
  302. package/dist/datasets/index.d.ts.map +1 -0
  303. package/dist/datasets/types.d.ts +23 -0
  304. package/dist/datasets/types.d.ts.map +1 -0
  305. package/dist/datasets/validation.d.ts +8 -0
  306. package/dist/datasets/validation.d.ts.map +1 -0
  307. package/dist/edits/errors.d.ts +4 -0
  308. package/dist/edits/errors.d.ts.map +1 -0
  309. package/dist/edits/index.d.ts +4 -0
  310. package/dist/edits/index.d.ts.map +1 -0
  311. package/dist/edits/index.js +14 -0
  312. package/dist/edits/index.js.map +9 -0
  313. package/dist/edits/normalize.d.ts +14 -0
  314. package/dist/edits/normalize.d.ts.map +1 -0
  315. package/dist/edits/properties.d.ts +25 -0
  316. package/dist/edits/properties.d.ts.map +1 -0
  317. package/dist/edits/recorder.d.ts +4 -0
  318. package/dist/edits/recorder.d.ts.map +1 -0
  319. package/dist/edits/types.d.ts +159 -0
  320. package/dist/edits/types.d.ts.map +1 -0
  321. package/dist/error-reporting/capability.d.ts +57 -0
  322. package/dist/error-reporting/capability.d.ts.map +1 -0
  323. package/dist/error-reporting/internal.d.ts +4 -0
  324. package/dist/error-reporting/internal.d.ts.map +1 -0
  325. package/dist/error-reporting/internal.js +24 -0
  326. package/dist/error-reporting/internal.js.map +9 -0
  327. package/dist/error-reporting/normalize.d.ts +3 -0
  328. package/dist/error-reporting/normalize.d.ts.map +1 -0
  329. package/dist/error-reporting/reporter.d.ts +10 -0
  330. package/dist/error-reporting/reporter.d.ts.map +1 -0
  331. package/dist/error-reporting/types.d.ts +112 -0
  332. package/dist/error-reporting/types.d.ts.map +1 -0
  333. package/dist/events/definitions.d.ts +76 -0
  334. package/dist/events/definitions.d.ts.map +1 -0
  335. package/dist/events/envelope.d.ts +56 -0
  336. package/dist/events/envelope.d.ts.map +1 -0
  337. package/dist/events/errors.d.ts +8 -0
  338. package/dist/events/errors.d.ts.map +1 -0
  339. package/dist/events/index.d.ts +11 -0
  340. package/dist/events/index.d.ts.map +1 -0
  341. package/dist/events/index.js +68 -0
  342. package/dist/events/index.js.map +9 -0
  343. package/dist/events/outbox-dispatcher.d.ts +82 -0
  344. package/dist/events/outbox-dispatcher.d.ts.map +1 -0
  345. package/dist/events/property-changes.d.ts +16 -0
  346. package/dist/events/property-changes.d.ts.map +1 -0
  347. package/dist/events/runtime.d.ts +87 -0
  348. package/dist/events/runtime.d.ts.map +1 -0
  349. package/dist/events/scope.d.ts +25 -0
  350. package/dist/events/scope.d.ts.map +1 -0
  351. package/dist/events/scope.js +10 -0
  352. package/dist/events/scope.js.map +9 -0
  353. package/dist/events/selectors/builder.d.ts +64 -0
  354. package/dist/events/selectors/builder.d.ts.map +1 -0
  355. package/dist/events/selectors/index.d.ts +5 -0
  356. package/dist/events/selectors/index.d.ts.map +1 -0
  357. package/dist/events/selectors/index.js +15 -0
  358. package/dist/events/selectors/index.js.map +9 -0
  359. package/dist/events/selectors/predicate.d.ts +5 -0
  360. package/dist/events/selectors/predicate.d.ts.map +1 -0
  361. package/dist/events/selectors/types.d.ts +141 -0
  362. package/dist/events/selectors/types.d.ts.map +1 -0
  363. package/dist/events/toStoredEvent.d.ts +10 -0
  364. package/dist/events/toStoredEvent.d.ts.map +1 -0
  365. package/dist/events/types/actions.d.ts +39 -0
  366. package/dist/events/types/actions.d.ts.map +1 -0
  367. package/dist/events/types/datasets.d.ts +20 -0
  368. package/dist/events/types/datasets.d.ts.map +1 -0
  369. package/dist/events/types/index.d.ts +137 -0
  370. package/dist/events/types/index.d.ts.map +1 -0
  371. package/dist/events/types/links.d.ts +37 -0
  372. package/dist/events/types/links.d.ts.map +1 -0
  373. package/dist/events/types/objects.d.ts +33 -0
  374. package/dist/events/types/objects.d.ts.map +1 -0
  375. package/dist/events/types/pipelines.d.ts +59 -0
  376. package/dist/events/types/pipelines.d.ts.map +1 -0
  377. package/dist/events/types/rules.d.ts +28 -0
  378. package/dist/events/types/rules.d.ts.map +1 -0
  379. package/dist/events/types/schedules.d.ts +14 -0
  380. package/dist/events/types/schedules.d.ts.map +1 -0
  381. package/dist/events/types/syncs.d.ts +25 -0
  382. package/dist/events/types/syncs.d.ts.map +1 -0
  383. package/dist/events/types/telemetry.d.ts +17 -0
  384. package/dist/events/types/telemetry.d.ts.map +1 -0
  385. package/dist/events/types/workflows.d.ts +150 -0
  386. package/dist/events/types/workflows.d.ts.map +1 -0
  387. package/dist/http/api-routes.d.ts +24 -0
  388. package/dist/http/api-routes.d.ts.map +1 -0
  389. package/dist/http/index.d.ts +4 -0
  390. package/dist/http/index.d.ts.map +1 -0
  391. package/dist/http/index.js +16 -0
  392. package/dist/http/index.js.map +9 -0
  393. package/dist/http/route-pattern.d.ts +14 -0
  394. package/dist/http/route-pattern.d.ts.map +1 -0
  395. package/dist/index.d.ts +70 -0
  396. package/dist/index.d.ts.map +1 -0
  397. package/dist/index.js +430 -0
  398. package/dist/index.js.map +9 -0
  399. package/dist/json.d.ts +14 -0
  400. package/dist/json.d.ts.map +1 -0
  401. package/dist/lake-storage/definition-updates.d.ts +40 -0
  402. package/dist/lake-storage/definition-updates.d.ts.map +1 -0
  403. package/dist/lake-storage/errors.d.ts +7 -0
  404. package/dist/lake-storage/errors.d.ts.map +1 -0
  405. package/dist/lake-storage/in-memory.d.ts +25 -0
  406. package/dist/lake-storage/in-memory.d.ts.map +1 -0
  407. package/dist/lake-storage/index.d.ts +9 -0
  408. package/dist/lake-storage/index.d.ts.map +1 -0
  409. package/dist/lake-storage/index.js +24 -0
  410. package/dist/lake-storage/index.js.map +9 -0
  411. package/dist/lake-storage/sql-transforms.d.ts +45 -0
  412. package/dist/lake-storage/sql-transforms.d.ts.map +1 -0
  413. package/dist/lake-storage/types.d.ts +114 -0
  414. package/dist/lake-storage/types.d.ts.map +1 -0
  415. package/dist/logging/console-logger.d.ts +17 -0
  416. package/dist/logging/console-logger.d.ts.map +1 -0
  417. package/dist/logging/index.d.ts +5 -0
  418. package/dist/logging/index.d.ts.map +1 -0
  419. package/dist/logging/index.js +45 -0
  420. package/dist/logging/index.js.map +9 -0
  421. package/dist/logging/record.d.ts +10 -0
  422. package/dist/logging/record.d.ts.map +1 -0
  423. package/dist/logging/run-logger.d.ts +61 -0
  424. package/dist/logging/run-logger.d.ts.map +1 -0
  425. package/dist/logging/runtime.d.ts +87 -0
  426. package/dist/logging/runtime.d.ts.map +1 -0
  427. package/dist/logging/stream.d.ts +24 -0
  428. package/dist/logging/stream.d.ts.map +1 -0
  429. package/dist/logging/types.d.ts +82 -0
  430. package/dist/logging/types.d.ts.map +1 -0
  431. package/dist/logging/types.js +27 -0
  432. package/dist/logging/types.js.map +9 -0
  433. package/dist/maintenance/index.d.ts +3 -0
  434. package/dist/maintenance/index.d.ts.map +1 -0
  435. package/dist/maintenance/ontology-maintenance.d.ts +48 -0
  436. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -0
  437. package/dist/maintenance/types.d.ts +53 -0
  438. package/dist/maintenance/types.d.ts.map +1 -0
  439. package/dist/materialization/dataset-watermark.d.ts +5 -0
  440. package/dist/materialization/dataset-watermark.d.ts.map +1 -0
  441. package/dist/materialization/errors.d.ts +37 -0
  442. package/dist/materialization/errors.d.ts.map +1 -0
  443. package/dist/materialization/events.d.ts +57 -0
  444. package/dist/materialization/events.d.ts.map +1 -0
  445. package/dist/materialization/identity.d.ts +8 -0
  446. package/dist/materialization/identity.d.ts.map +1 -0
  447. package/dist/materialization/index.d.ts +13 -0
  448. package/dist/materialization/index.d.ts.map +1 -0
  449. package/dist/materialization/index.js +56 -0
  450. package/dist/materialization/index.js.map +9 -0
  451. package/dist/materialization/model.d.ts +342 -0
  452. package/dist/materialization/model.d.ts.map +1 -0
  453. package/dist/materialization/refs.d.ts +24 -0
  454. package/dist/materialization/refs.d.ts.map +1 -0
  455. package/dist/materializer/context.d.ts +34 -0
  456. package/dist/materializer/context.d.ts.map +1 -0
  457. package/dist/materializer/edits/apply.d.ts +35 -0
  458. package/dist/materializer/edits/apply.d.ts.map +1 -0
  459. package/dist/materializer/edits/commit.d.ts +4 -0
  460. package/dist/materializer/edits/commit.d.ts.map +1 -0
  461. package/dist/materializer/edits/execution-units.d.ts +14 -0
  462. package/dist/materializer/edits/execution-units.d.ts.map +1 -0
  463. package/dist/materializer/edits/load-state.d.ts +6 -0
  464. package/dist/materializer/edits/load-state.d.ts.map +1 -0
  465. package/dist/materializer/edits/operations.d.ts +32 -0
  466. package/dist/materializer/edits/operations.d.ts.map +1 -0
  467. package/dist/materializer/edits/plan.d.ts +18 -0
  468. package/dist/materializer/edits/plan.d.ts.map +1 -0
  469. package/dist/materializer/edits/read-set.d.ts +8 -0
  470. package/dist/materializer/edits/read-set.d.ts.map +1 -0
  471. package/dist/materializer/edits/working-state.d.ts +30 -0
  472. package/dist/materializer/edits/working-state.d.ts.map +1 -0
  473. package/dist/materializer/effective/build-events.d.ts +26 -0
  474. package/dist/materializer/effective/build-events.d.ts.map +1 -0
  475. package/dist/materializer/effective/diff.d.ts +15 -0
  476. package/dist/materializer/effective/diff.d.ts.map +1 -0
  477. package/dist/materializer/effective/load-state.d.ts +7 -0
  478. package/dist/materializer/effective/load-state.d.ts.map +1 -0
  479. package/dist/materializer/effective/resolve.d.ts +26 -0
  480. package/dist/materializer/effective/resolve.d.ts.map +1 -0
  481. package/dist/materializer/effective/validate.d.ts +11 -0
  482. package/dist/materializer/effective/validate.d.ts.map +1 -0
  483. package/dist/materializer/execution/commit-lifecycle.d.ts +8 -0
  484. package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -0
  485. package/dist/materializer/execution/plan-stream.d.ts +8 -0
  486. package/dist/materializer/execution/plan-stream.d.ts.map +1 -0
  487. package/dist/materializer/execution/run-correlation.d.ts +19 -0
  488. package/dist/materializer/execution/run-correlation.d.ts.map +1 -0
  489. package/dist/materializer/execution/work-executor.d.ts +13 -0
  490. package/dist/materializer/execution/work-executor.d.ts.map +1 -0
  491. package/dist/materializer/execution/work-records.d.ts +15 -0
  492. package/dist/materializer/execution/work-records.d.ts.map +1 -0
  493. package/dist/materializer/index.d.ts +15 -0
  494. package/dist/materializer/index.d.ts.map +1 -0
  495. package/dist/materializer/index.js +134 -0
  496. package/dist/materializer/index.js.map +9 -0
  497. package/dist/materializer/materializer.d.ts +27 -0
  498. package/dist/materializer/materializer.d.ts.map +1 -0
  499. package/dist/materializer/projections/entry-validator.d.ts +8 -0
  500. package/dist/materializer/projections/entry-validator.d.ts.map +1 -0
  501. package/dist/materializer/projections/finish-run.d.ts +4 -0
  502. package/dist/materializer/projections/finish-run.d.ts.map +1 -0
  503. package/dist/materializer/projections/replace.d.ts +4 -0
  504. package/dist/materializer/projections/replace.d.ts.map +1 -0
  505. package/dist/materializer/projections/replacement-plan.d.ts +14 -0
  506. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -0
  507. package/dist/materializer/projections/source-materialization.d.ts +27 -0
  508. package/dist/materializer/projections/source-materialization.d.ts.map +1 -0
  509. package/dist/materializer/shared/abort.d.ts +2 -0
  510. package/dist/materializer/shared/abort.d.ts.map +1 -0
  511. package/dist/materializer/shared/batching.d.ts +11 -0
  512. package/dist/materializer/shared/batching.d.ts.map +1 -0
  513. package/dist/materializer/shared/chunking.d.ts +6 -0
  514. package/dist/materializer/shared/chunking.d.ts.map +1 -0
  515. package/dist/materializer/shared/identity.d.ts +38 -0
  516. package/dist/materializer/shared/identity.d.ts.map +1 -0
  517. package/dist/materializer/shared/normalize.d.ts +10 -0
  518. package/dist/materializer/shared/normalize.d.ts.map +1 -0
  519. package/dist/materializer/shared/projection-run.d.ts +19 -0
  520. package/dist/materializer/shared/projection-run.d.ts.map +1 -0
  521. package/dist/materializer/telemetry/append.d.ts +4 -0
  522. package/dist/materializer/telemetry/append.d.ts.map +1 -0
  523. package/dist/materializer/telemetry/plan.d.ts +12 -0
  524. package/dist/materializer/telemetry/plan.d.ts.map +1 -0
  525. package/dist/objects/action/errors.d.ts +39 -0
  526. package/dist/objects/action/errors.d.ts.map +1 -0
  527. package/dist/objects/action/index.d.ts +4 -0
  528. package/dist/objects/action/index.d.ts.map +1 -0
  529. package/dist/objects/action/request.d.ts +23 -0
  530. package/dist/objects/action/request.d.ts.map +1 -0
  531. package/dist/objects/context/index.d.ts +3 -0
  532. package/dist/objects/context/index.d.ts.map +1 -0
  533. package/dist/objects/context/resolve.d.ts +27 -0
  534. package/dist/objects/context/resolve.d.ts.map +1 -0
  535. package/dist/objects/context/types.d.ts +28 -0
  536. package/dist/objects/context/types.d.ts.map +1 -0
  537. package/dist/objects/contexts.d.ts +45 -0
  538. package/dist/objects/contexts.d.ts.map +1 -0
  539. package/dist/objects/errors.d.ts +8 -0
  540. package/dist/objects/errors.d.ts.map +1 -0
  541. package/dist/objects/helpers.d.ts +7 -0
  542. package/dist/objects/helpers.d.ts.map +1 -0
  543. package/dist/objects/index.d.ts +18 -0
  544. package/dist/objects/index.d.ts.map +1 -0
  545. package/dist/objects/index.js +71 -0
  546. package/dist/objects/index.js.map +9 -0
  547. package/dist/objects/link/authorization.d.ts +25 -0
  548. package/dist/objects/link/authorization.d.ts.map +1 -0
  549. package/dist/objects/link/endpoints.d.ts +28 -0
  550. package/dist/objects/link/endpoints.d.ts.map +1 -0
  551. package/dist/objects/link/index.d.ts +4 -0
  552. package/dist/objects/link/index.d.ts.map +1 -0
  553. package/dist/objects/link/remove.d.ts +8 -0
  554. package/dist/objects/link/remove.d.ts.map +1 -0
  555. package/dist/objects/link/upsert-batch.d.ts +11 -0
  556. package/dist/objects/link/upsert-batch.d.ts.map +1 -0
  557. package/dist/objects/link/upsert.d.ts +12 -0
  558. package/dist/objects/link/upsert.d.ts.map +1 -0
  559. package/dist/objects/materializer-adapter.d.ts +114 -0
  560. package/dist/objects/materializer-adapter.d.ts.map +1 -0
  561. package/dist/objects/object/delete.d.ts +17 -0
  562. package/dist/objects/object/delete.d.ts.map +1 -0
  563. package/dist/objects/object/index.d.ts +4 -0
  564. package/dist/objects/object/index.d.ts.map +1 -0
  565. package/dist/objects/object/upsert-batch.d.ts +7 -0
  566. package/dist/objects/object/upsert-batch.d.ts.map +1 -0
  567. package/dist/objects/object/upsert.d.ts +7 -0
  568. package/dist/objects/object/upsert.d.ts.map +1 -0
  569. package/dist/objects/query/errors.d.ts +23 -0
  570. package/dist/objects/query/errors.d.ts.map +1 -0
  571. package/dist/objects/query/executor.d.ts +63 -0
  572. package/dist/objects/query/executor.d.ts.map +1 -0
  573. package/dist/objects/query/explain-format.d.ts +10 -0
  574. package/dist/objects/query/explain-format.d.ts.map +1 -0
  575. package/dist/objects/query/explain.d.ts +26 -0
  576. package/dist/objects/query/explain.d.ts.map +1 -0
  577. package/dist/objects/query/index.d.ts +14 -0
  578. package/dist/objects/query/index.d.ts.map +1 -0
  579. package/dist/objects/query/index.js +54 -0
  580. package/dist/objects/query/index.js.map +9 -0
  581. package/dist/objects/query/ir.d.ts +166 -0
  582. package/dist/objects/query/ir.d.ts.map +1 -0
  583. package/dist/objects/query/normalize.d.ts +12 -0
  584. package/dist/objects/query/normalize.d.ts.map +1 -0
  585. package/dist/objects/query/planner.d.ts +32 -0
  586. package/dist/objects/query/planner.d.ts.map +1 -0
  587. package/dist/objects/query/scalar-values.d.ts +6 -0
  588. package/dist/objects/query/scalar-values.d.ts.map +1 -0
  589. package/dist/objects/query/validate.d.ts +23 -0
  590. package/dist/objects/query/validate.d.ts.map +1 -0
  591. package/dist/objects/runtime-batch.d.ts +29 -0
  592. package/dist/objects/runtime-batch.d.ts.map +1 -0
  593. package/dist/objects/sdk/index.d.ts +3 -0
  594. package/dist/objects/sdk/index.d.ts.map +1 -0
  595. package/dist/objects/sdk/object-handle.d.ts +6 -0
  596. package/dist/objects/sdk/object-handle.d.ts.map +1 -0
  597. package/dist/objects/sdk/object-set.d.ts +14 -0
  598. package/dist/objects/sdk/object-set.d.ts.map +1 -0
  599. package/dist/objects/sdk/query-builder.d.ts +20 -0
  600. package/dist/objects/sdk/query-builder.d.ts.map +1 -0
  601. package/dist/objects/sdk/query-executor.d.ts +51 -0
  602. package/dist/objects/sdk/query-executor.d.ts.map +1 -0
  603. package/dist/objects/sdk/runtime-query-executor.d.ts +16 -0
  604. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -0
  605. package/dist/objects/sdk/telemetry-channel.d.ts +6 -0
  606. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -0
  607. package/dist/objects/sdk/where.d.ts +15 -0
  608. package/dist/objects/sdk/where.d.ts.map +1 -0
  609. package/dist/objects/service/action-service.d.ts +12 -0
  610. package/dist/objects/service/action-service.d.ts.map +1 -0
  611. package/dist/objects/service/index.d.ts +7 -0
  612. package/dist/objects/service/index.d.ts.map +1 -0
  613. package/dist/objects/service/link-service.d.ts +26 -0
  614. package/dist/objects/service/link-service.d.ts.map +1 -0
  615. package/dist/objects/service/list-service.d.ts +24 -0
  616. package/dist/objects/service/list-service.d.ts.map +1 -0
  617. package/dist/objects/service/object-service.d.ts +12 -0
  618. package/dist/objects/service/object-service.d.ts.map +1 -0
  619. package/dist/objects/service/telemetry-service.d.ts +12 -0
  620. package/dist/objects/service/telemetry-service.d.ts.map +1 -0
  621. package/dist/objects/telemetry/append-batch.d.ts +10 -0
  622. package/dist/objects/telemetry/append-batch.d.ts.map +1 -0
  623. package/dist/objects/telemetry/history.d.ts +8 -0
  624. package/dist/objects/telemetry/history.d.ts.map +1 -0
  625. package/dist/objects/telemetry/index.d.ts +5 -0
  626. package/dist/objects/telemetry/index.d.ts.map +1 -0
  627. package/dist/objects/telemetry/write-batch.d.ts +8 -0
  628. package/dist/objects/telemetry/write-batch.d.ts.map +1 -0
  629. package/dist/ontology/builders.d.ts +323 -0
  630. package/dist/ontology/builders.d.ts.map +1 -0
  631. package/dist/ontology/decimal.d.ts +28 -0
  632. package/dist/ontology/decimal.d.ts.map +1 -0
  633. package/dist/ontology/errors.d.ts +20 -0
  634. package/dist/ontology/errors.d.ts.map +1 -0
  635. package/dist/ontology/index.d.ts +23 -0
  636. package/dist/ontology/index.d.ts.map +1 -0
  637. package/dist/ontology/index.js +120 -0
  638. package/dist/ontology/index.js.map +9 -0
  639. package/dist/ontology/inference/index.d.ts +112 -0
  640. package/dist/ontology/inference/index.d.ts.map +1 -0
  641. package/dist/ontology/internal.d.ts +4 -0
  642. package/dist/ontology/internal.d.ts.map +1 -0
  643. package/dist/ontology/internal.js +118 -0
  644. package/dist/ontology/internal.js.map +10 -0
  645. package/dist/ontology/json-schema.d.ts +9 -0
  646. package/dist/ontology/json-schema.d.ts.map +1 -0
  647. package/dist/ontology/refs.d.ts +16 -0
  648. package/dist/ontology/refs.d.ts.map +1 -0
  649. package/dist/ontology/registry.d.ts +82 -0
  650. package/dist/ontology/registry.d.ts.map +1 -0
  651. package/dist/ontology/tokens.d.ts +54 -0
  652. package/dist/ontology/tokens.d.ts.map +1 -0
  653. package/dist/ontology/types.d.ts +402 -0
  654. package/dist/ontology/types.d.ts.map +1 -0
  655. package/dist/ontology/units/index.d.ts +74 -0
  656. package/dist/ontology/units/index.d.ts.map +1 -0
  657. package/dist/ontology/units/quantitative-types.d.ts +1605 -0
  658. package/dist/ontology/units/quantitative-types.d.ts.map +1 -0
  659. package/dist/ontology/units/types.d.ts +26 -0
  660. package/dist/ontology/units/types.d.ts.map +1 -0
  661. package/dist/ontology/validation/index.d.ts +7 -0
  662. package/dist/ontology/validation/index.d.ts.map +1 -0
  663. package/dist/ontology/validation/links.d.ts +18 -0
  664. package/dist/ontology/validation/links.d.ts.map +1 -0
  665. package/dist/ontology/validation/normalize.d.ts +21 -0
  666. package/dist/ontology/validation/normalize.d.ts.map +1 -0
  667. package/dist/ontology/validation/properties.d.ts +19 -0
  668. package/dist/ontology/validation/properties.d.ts.map +1 -0
  669. package/dist/ontology/validation/query.d.ts +3 -0
  670. package/dist/ontology/validation/query.d.ts.map +1 -0
  671. package/dist/ontology/validation/schema.d.ts +7 -0
  672. package/dist/ontology/validation/schema.d.ts.map +1 -0
  673. package/dist/ontology/validation/telemetry.d.ts +7 -0
  674. package/dist/ontology/validation/telemetry.d.ts.map +1 -0
  675. package/dist/pipelines/builders.d.ts +14 -0
  676. package/dist/pipelines/builders.d.ts.map +1 -0
  677. package/dist/pipelines/errors.d.ts +4 -0
  678. package/dist/pipelines/errors.d.ts.map +1 -0
  679. package/dist/pipelines/index.d.ts +7 -0
  680. package/dist/pipelines/index.d.ts.map +1 -0
  681. package/dist/pipelines/request.d.ts +31 -0
  682. package/dist/pipelines/request.d.ts.map +1 -0
  683. package/dist/pipelines/types.d.ts +84 -0
  684. package/dist/pipelines/types.d.ts.map +1 -0
  685. package/dist/predicates/builders.d.ts +24 -0
  686. package/dist/predicates/builders.d.ts.map +1 -0
  687. package/dist/predicates/evaluate.d.ts +8 -0
  688. package/dist/predicates/evaluate.d.ts.map +1 -0
  689. package/dist/predicates/index.d.ts +5 -0
  690. package/dist/predicates/index.d.ts.map +1 -0
  691. package/dist/predicates/types.d.ts +69 -0
  692. package/dist/predicates/types.d.ts.map +1 -0
  693. package/dist/predicates/validation.d.ts +15 -0
  694. package/dist/predicates/validation.d.ts.map +1 -0
  695. package/dist/projections/builders.d.ts +212 -0
  696. package/dist/projections/builders.d.ts.map +1 -0
  697. package/dist/projections/errors.d.ts +4 -0
  698. package/dist/projections/errors.d.ts.map +1 -0
  699. package/dist/projections/index.d.ts +5 -0
  700. package/dist/projections/index.d.ts.map +1 -0
  701. package/dist/projections/internal.d.ts +24 -0
  702. package/dist/projections/internal.d.ts.map +1 -0
  703. package/dist/projections/internal.js +26 -0
  704. package/dist/projections/internal.js.map +9 -0
  705. package/dist/projections/ownership.d.ts +9 -0
  706. package/dist/projections/ownership.d.ts.map +1 -0
  707. package/dist/projections/registry.d.ts +30 -0
  708. package/dist/projections/registry.d.ts.map +1 -0
  709. package/dist/projections/revision.d.ts +7 -0
  710. package/dist/projections/revision.d.ts.map +1 -0
  711. package/dist/projections/types.d.ts +153 -0
  712. package/dist/projections/types.d.ts.map +1 -0
  713. package/dist/projections/validation.d.ts +97 -0
  714. package/dist/projections/validation.d.ts.map +1 -0
  715. package/dist/provider-scope.d.ts +12 -0
  716. package/dist/provider-scope.d.ts.map +1 -0
  717. package/dist/query.d.ts +17 -0
  718. package/dist/query.d.ts.map +1 -0
  719. package/dist/query.js +21 -0
  720. package/dist/query.js.map +9 -0
  721. package/dist/queues/errors.d.ts +7 -0
  722. package/dist/queues/errors.d.ts.map +1 -0
  723. package/dist/queues/in-memory.d.ts +73 -0
  724. package/dist/queues/in-memory.d.ts.map +1 -0
  725. package/dist/queues/index.d.ts +5 -0
  726. package/dist/queues/index.d.ts.map +1 -0
  727. package/dist/queues/index.js +12 -0
  728. package/dist/queues/index.js.map +9 -0
  729. package/dist/queues/types.d.ts +182 -0
  730. package/dist/queues/types.d.ts.map +1 -0
  731. package/dist/rules/builders.d.ts +10 -0
  732. package/dist/rules/builders.d.ts.map +1 -0
  733. package/dist/rules/dependencies.d.ts +9 -0
  734. package/dist/rules/dependencies.d.ts.map +1 -0
  735. package/dist/rules/errors.d.ts +11 -0
  736. package/dist/rules/errors.d.ts.map +1 -0
  737. package/dist/rules/index.d.ts +6 -0
  738. package/dist/rules/index.d.ts.map +1 -0
  739. package/dist/rules/internal.d.ts +9 -0
  740. package/dist/rules/internal.d.ts.map +1 -0
  741. package/dist/rules/internal.js +10 -0
  742. package/dist/rules/internal.js.map +9 -0
  743. package/dist/rules/types.d.ts +72 -0
  744. package/dist/rules/types.d.ts.map +1 -0
  745. package/dist/rules/validation.d.ts +23 -0
  746. package/dist/rules/validation.d.ts.map +1 -0
  747. package/dist/runtime/create.d.ts +68 -0
  748. package/dist/runtime/create.d.ts.map +1 -0
  749. package/dist/runtime/errors.d.ts +9 -0
  750. package/dist/runtime/errors.d.ts.map +1 -0
  751. package/dist/runtime/index.d.ts +26 -0
  752. package/dist/runtime/index.d.ts.map +1 -0
  753. package/dist/runtime/internal.d.ts +3 -0
  754. package/dist/runtime/internal.d.ts.map +1 -0
  755. package/dist/runtime/internal.js +16 -0
  756. package/dist/runtime/internal.js.map +9 -0
  757. package/dist/runtime/ontology-mutations.d.ts +16 -0
  758. package/dist/runtime/ontology-mutations.d.ts.map +1 -0
  759. package/dist/runtime/scoped.d.ts +158 -0
  760. package/dist/runtime/scoped.d.ts.map +1 -0
  761. package/dist/runtime/sixb.d.ts +226 -0
  762. package/dist/runtime/sixb.d.ts.map +1 -0
  763. package/dist/runtime/storage-readiness.d.ts +20 -0
  764. package/dist/runtime/storage-readiness.d.ts.map +1 -0
  765. package/dist/runtime/types.d.ts +840 -0
  766. package/dist/runtime/types.d.ts.map +1 -0
  767. package/dist/sandboxes/errors.d.ts +20 -0
  768. package/dist/sandboxes/errors.d.ts.map +1 -0
  769. package/dist/sandboxes/exec.d.ts +17 -0
  770. package/dist/sandboxes/exec.d.ts.map +1 -0
  771. package/dist/sandboxes/index.d.ts +5 -0
  772. package/dist/sandboxes/index.d.ts.map +1 -0
  773. package/dist/sandboxes/index.js +18 -0
  774. package/dist/sandboxes/index.js.map +9 -0
  775. package/dist/sandboxes/sandbox.d.ts +110 -0
  776. package/dist/sandboxes/sandbox.d.ts.map +1 -0
  777. package/dist/scheduler/errors.d.ts +7 -0
  778. package/dist/scheduler/errors.d.ts.map +1 -0
  779. package/dist/scheduler/index.d.ts +4 -0
  780. package/dist/scheduler/index.d.ts.map +1 -0
  781. package/dist/scheduler/index.js +18 -0
  782. package/dist/scheduler/index.js.map +9 -0
  783. package/dist/scheduler/runtime.d.ts +32 -0
  784. package/dist/scheduler/runtime.d.ts.map +1 -0
  785. package/dist/schedules/builders.d.ts +4 -0
  786. package/dist/schedules/builders.d.ts.map +1 -0
  787. package/dist/schedules/cron.d.ts +14 -0
  788. package/dist/schedules/cron.d.ts.map +1 -0
  789. package/dist/schedules/errors.d.ts +7 -0
  790. package/dist/schedules/errors.d.ts.map +1 -0
  791. package/dist/schedules/index.d.ts +12 -0
  792. package/dist/schedules/index.d.ts.map +1 -0
  793. package/dist/schedules/index.js +37 -0
  794. package/dist/schedules/index.js.map +9 -0
  795. package/dist/schedules/next-occurrence.d.ts +11 -0
  796. package/dist/schedules/next-occurrence.d.ts.map +1 -0
  797. package/dist/schedules/runtime.d.ts +17 -0
  798. package/dist/schedules/runtime.d.ts.map +1 -0
  799. package/dist/schedules/types.d.ts +99 -0
  800. package/dist/schedules/types.d.ts.map +1 -0
  801. package/dist/schedules/validation.d.ts +13 -0
  802. package/dist/schedules/validation.d.ts.map +1 -0
  803. package/dist/security/applications.d.ts +15 -0
  804. package/dist/security/applications.d.ts.map +1 -0
  805. package/dist/security/builders.d.ts +20 -0
  806. package/dist/security/builders.d.ts.map +1 -0
  807. package/dist/security/errors.d.ts +4 -0
  808. package/dist/security/errors.d.ts.map +1 -0
  809. package/dist/security/every.d.ts +68 -0
  810. package/dist/security/every.d.ts.map +1 -0
  811. package/dist/security/grants.d.ts +40 -0
  812. package/dist/security/grants.d.ts.map +1 -0
  813. package/dist/security/index.d.ts +12 -0
  814. package/dist/security/index.d.ts.map +1 -0
  815. package/dist/security/membership-policies.d.ts +17 -0
  816. package/dist/security/membership-policies.d.ts.map +1 -0
  817. package/dist/security/runtime.d.ts +16 -0
  818. package/dist/security/runtime.d.ts.map +1 -0
  819. package/dist/security/types.d.ts +133 -0
  820. package/dist/security/types.d.ts.map +1 -0
  821. package/dist/security/validation.d.ts +36 -0
  822. package/dist/security/validation.d.ts.map +1 -0
  823. package/dist/storage/action-runs/errors.d.ts +10 -0
  824. package/dist/storage/action-runs/errors.d.ts.map +1 -0
  825. package/dist/storage/action-runs/idempotency.d.ts +10 -0
  826. package/dist/storage/action-runs/idempotency.d.ts.map +1 -0
  827. package/dist/storage/action-runs/in-memory.d.ts +28 -0
  828. package/dist/storage/action-runs/in-memory.d.ts.map +1 -0
  829. package/dist/storage/action-runs/index.d.ts +6 -0
  830. package/dist/storage/action-runs/index.d.ts.map +1 -0
  831. package/dist/storage/action-runs/types.d.ts +138 -0
  832. package/dist/storage/action-runs/types.d.ts.map +1 -0
  833. package/dist/storage/agents/errors.d.ts +11 -0
  834. package/dist/storage/agents/errors.d.ts.map +1 -0
  835. package/dist/storage/agents/in-memory.d.ts +70 -0
  836. package/dist/storage/agents/in-memory.d.ts.map +1 -0
  837. package/dist/storage/agents/index.d.ts +7 -0
  838. package/dist/storage/agents/index.d.ts.map +1 -0
  839. package/dist/storage/agents/types.d.ts +295 -0
  840. package/dist/storage/agents/types.d.ts.map +1 -0
  841. package/dist/storage/auth/errors.d.ts +10 -0
  842. package/dist/storage/auth/errors.d.ts.map +1 -0
  843. package/dist/storage/auth/in-memory/access-tokens.d.ts +32 -0
  844. package/dist/storage/auth/in-memory/access-tokens.d.ts.map +1 -0
  845. package/dist/storage/auth/in-memory/auth-storage.d.ts +36 -0
  846. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -0
  847. package/dist/storage/auth/in-memory/group-memberships.d.ts +21 -0
  848. package/dist/storage/auth/in-memory/group-memberships.d.ts.map +1 -0
  849. package/dist/storage/auth/in-memory/identities.d.ts +17 -0
  850. package/dist/storage/auth/in-memory/identities.d.ts.map +1 -0
  851. package/dist/storage/auth/in-memory/index.d.ts +2 -0
  852. package/dist/storage/auth/in-memory/index.d.ts.map +1 -0
  853. package/dist/storage/auth/in-memory/invitations.d.ts +28 -0
  854. package/dist/storage/auth/in-memory/invitations.d.ts.map +1 -0
  855. package/dist/storage/auth/in-memory/magic-links.d.ts +28 -0
  856. package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -0
  857. package/dist/storage/auth/in-memory/oidc-attempts.d.ts +18 -0
  858. package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -0
  859. package/dist/storage/auth/in-memory/service-account-group-memberships.d.ts +17 -0
  860. package/dist/storage/auth/in-memory/service-account-group-memberships.d.ts.map +1 -0
  861. package/dist/storage/auth/in-memory/service-accounts.d.ts +14 -0
  862. package/dist/storage/auth/in-memory/service-accounts.d.ts.map +1 -0
  863. package/dist/storage/auth/in-memory/sessions.d.ts +55 -0
  864. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -0
  865. package/dist/storage/auth/in-memory/shared.d.ts +71 -0
  866. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -0
  867. package/dist/storage/auth/in-memory/users.d.ts +19 -0
  868. package/dist/storage/auth/in-memory/users.d.ts.map +1 -0
  869. package/dist/storage/auth/in-memory.d.ts +2 -0
  870. package/dist/storage/auth/in-memory.d.ts.map +1 -0
  871. package/dist/storage/auth/index.d.ts +5 -0
  872. package/dist/storage/auth/index.d.ts.map +1 -0
  873. package/dist/storage/auth/types.d.ts +584 -0
  874. package/dist/storage/auth/types.d.ts.map +1 -0
  875. package/dist/storage/errors.d.ts +27 -0
  876. package/dist/storage/errors.d.ts.map +1 -0
  877. package/dist/storage/file-upload-sessions/errors.d.ts +15 -0
  878. package/dist/storage/file-upload-sessions/errors.d.ts.map +1 -0
  879. package/dist/storage/file-upload-sessions/in-memory.d.ts +27 -0
  880. package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -0
  881. package/dist/storage/file-upload-sessions/index.d.ts +6 -0
  882. package/dist/storage/file-upload-sessions/index.d.ts.map +1 -0
  883. package/dist/storage/file-upload-sessions/types.d.ts +53 -0
  884. package/dist/storage/file-upload-sessions/types.d.ts.map +1 -0
  885. package/dist/storage/file-upload-sessions/utils.d.ts +11 -0
  886. package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -0
  887. package/dist/storage/in-memory/index.d.ts +105 -0
  888. package/dist/storage/in-memory/index.d.ts.map +1 -0
  889. package/dist/storage/in-memory/testing.d.ts +8 -0
  890. package/dist/storage/in-memory/testing.d.ts.map +1 -0
  891. package/dist/storage/index.d.ts +44 -0
  892. package/dist/storage/index.d.ts.map +1 -0
  893. package/dist/storage/index.js +144 -0
  894. package/dist/storage/index.js.map +9 -0
  895. package/dist/storage/migrations/check-schema.d.ts +19 -0
  896. package/dist/storage/migrations/check-schema.d.ts.map +1 -0
  897. package/dist/storage/migrations/index.d.ts +5 -0
  898. package/dist/storage/migrations/index.d.ts.map +1 -0
  899. package/dist/storage/migrations/migrate-storage.d.ts +6 -0
  900. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -0
  901. package/dist/storage/migrations/migration-set.d.ts +27 -0
  902. package/dist/storage/migrations/migration-set.d.ts.map +1 -0
  903. package/dist/storage/migrations/types.d.ts +115 -0
  904. package/dist/storage/migrations/types.d.ts.map +1 -0
  905. package/dist/storage/objects/in-memory.d.ts +126 -0
  906. package/dist/storage/objects/in-memory.d.ts.map +1 -0
  907. package/dist/storage/objects/index.d.ts +2 -0
  908. package/dist/storage/objects/index.d.ts.map +1 -0
  909. package/dist/storage/objects/types.d.ts +222 -0
  910. package/dist/storage/objects/types.d.ts.map +1 -0
  911. package/dist/storage/ontology/commits.d.ts +117 -0
  912. package/dist/storage/ontology/commits.d.ts.map +1 -0
  913. package/dist/storage/ontology/in-memory/commits.d.ts +12 -0
  914. package/dist/storage/ontology/in-memory/commits.d.ts.map +1 -0
  915. package/dist/storage/ontology/in-memory/index.d.ts +36 -0
  916. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -0
  917. package/dist/storage/ontology/in-memory/materializations-finalization.d.ts +5 -0
  918. package/dist/storage/ontology/in-memory/materializations-finalization.d.ts.map +1 -0
  919. package/dist/storage/ontology/in-memory/materializations-state.d.ts +20 -0
  920. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -0
  921. package/dist/storage/ontology/in-memory/materializations-work.d.ts +6 -0
  922. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -0
  923. package/dist/storage/ontology/in-memory/materializations.d.ts +101 -0
  924. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -0
  925. package/dist/storage/ontology/in-memory/outbox.d.ts +19 -0
  926. package/dist/storage/ontology/in-memory/outbox.d.ts.map +1 -0
  927. package/dist/storage/ontology/in-memory/shared-state.d.ts +48 -0
  928. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -0
  929. package/dist/storage/ontology/in-memory/sources.d.ts +23 -0
  930. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -0
  931. package/dist/storage/ontology/in-memory/testing.d.ts +11 -0
  932. package/dist/storage/ontology/in-memory/testing.d.ts.map +1 -0
  933. package/dist/storage/ontology/index.d.ts +16 -0
  934. package/dist/storage/ontology/index.d.ts.map +1 -0
  935. package/dist/storage/ontology/materializations.d.ts +333 -0
  936. package/dist/storage/ontology/materializations.d.ts.map +1 -0
  937. package/dist/storage/ontology/outbox.d.ts +66 -0
  938. package/dist/storage/ontology/outbox.d.ts.map +1 -0
  939. package/dist/storage/ontology/provider-header-validation.d.ts +4 -0
  940. package/dist/storage/ontology/provider-header-validation.d.ts.map +1 -0
  941. package/dist/storage/ontology/provider-validation.d.ts +6 -0
  942. package/dist/storage/ontology/provider-validation.d.ts.map +1 -0
  943. package/dist/storage/ontology/provider-work.d.ts +12 -0
  944. package/dist/storage/ontology/provider-work.d.ts.map +1 -0
  945. package/dist/storage/ontology/provider.d.ts +191 -0
  946. package/dist/storage/ontology/provider.d.ts.map +1 -0
  947. package/dist/storage/ontology/provider.js +115 -0
  948. package/dist/storage/ontology/provider.js.map +9 -0
  949. package/dist/storage/ontology/sources.d.ts +151 -0
  950. package/dist/storage/ontology/sources.d.ts.map +1 -0
  951. package/dist/storage/operation-scope.d.ts +32 -0
  952. package/dist/storage/operation-scope.d.ts.map +1 -0
  953. package/dist/storage/operation-scope.js +22 -0
  954. package/dist/storage/operation-scope.js.map +9 -0
  955. package/dist/storage/pagination.d.ts +11 -0
  956. package/dist/storage/pagination.d.ts.map +1 -0
  957. package/dist/storage/pipeline-runs/errors.d.ts +7 -0
  958. package/dist/storage/pipeline-runs/errors.d.ts.map +1 -0
  959. package/dist/storage/pipeline-runs/in-memory.d.ts +26 -0
  960. package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -0
  961. package/dist/storage/pipeline-runs/index.d.ts +4 -0
  962. package/dist/storage/pipeline-runs/index.d.ts.map +1 -0
  963. package/dist/storage/pipeline-runs/types.d.ts +133 -0
  964. package/dist/storage/pipeline-runs/types.d.ts.map +1 -0
  965. package/dist/storage/projection-runs/errors.d.ts +9 -0
  966. package/dist/storage/projection-runs/errors.d.ts.map +1 -0
  967. package/dist/storage/projection-runs/in-memory.d.ts +42 -0
  968. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -0
  969. package/dist/storage/projection-runs/index.d.ts +5 -0
  970. package/dist/storage/projection-runs/index.d.ts.map +1 -0
  971. package/dist/storage/projection-runs/lifecycle.d.ts +93 -0
  972. package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -0
  973. package/dist/storage/projection-runs/lifecycle.js +64 -0
  974. package/dist/storage/projection-runs/lifecycle.js.map +9 -0
  975. package/dist/storage/projection-runs/types.d.ts +175 -0
  976. package/dist/storage/projection-runs/types.d.ts.map +1 -0
  977. package/dist/storage/rules/in-memory.d.ts +26 -0
  978. package/dist/storage/rules/in-memory.d.ts.map +1 -0
  979. package/dist/storage/rules/index.d.ts +3 -0
  980. package/dist/storage/rules/index.d.ts.map +1 -0
  981. package/dist/storage/rules/types.d.ts +60 -0
  982. package/dist/storage/rules/types.d.ts.map +1 -0
  983. package/dist/storage/run-listing.d.ts +36 -0
  984. package/dist/storage/run-listing.d.ts.map +1 -0
  985. package/dist/storage/sync-runs/errors.d.ts +8 -0
  986. package/dist/storage/sync-runs/errors.d.ts.map +1 -0
  987. package/dist/storage/sync-runs/in-memory.d.ts +16 -0
  988. package/dist/storage/sync-runs/in-memory.d.ts.map +1 -0
  989. package/dist/storage/sync-runs/index.d.ts +4 -0
  990. package/dist/storage/sync-runs/index.d.ts.map +1 -0
  991. package/dist/storage/sync-runs/types.d.ts +85 -0
  992. package/dist/storage/sync-runs/types.d.ts.map +1 -0
  993. package/dist/storage/timeseries/index.d.ts +2 -0
  994. package/dist/storage/timeseries/index.d.ts.map +1 -0
  995. package/dist/storage/timeseries/store.d.ts +46 -0
  996. package/dist/storage/timeseries/store.d.ts.map +1 -0
  997. package/dist/storage/timeseries/types.d.ts +50 -0
  998. package/dist/storage/timeseries/types.d.ts.map +1 -0
  999. package/dist/storage/transaction.d.ts +4 -0
  1000. package/dist/storage/transaction.d.ts.map +1 -0
  1001. package/dist/storage/types.d.ts +78 -0
  1002. package/dist/storage/types.d.ts.map +1 -0
  1003. package/dist/storage/webhook-deliveries/in-memory.d.ts +18 -0
  1004. package/dist/storage/webhook-deliveries/in-memory.d.ts.map +1 -0
  1005. package/dist/storage/webhook-deliveries/index.d.ts +3 -0
  1006. package/dist/storage/webhook-deliveries/index.d.ts.map +1 -0
  1007. package/dist/storage/webhook-deliveries/types.d.ts +43 -0
  1008. package/dist/storage/webhook-deliveries/types.d.ts.map +1 -0
  1009. package/dist/storage/webhook-runs/errors.d.ts +7 -0
  1010. package/dist/storage/webhook-runs/errors.d.ts.map +1 -0
  1011. package/dist/storage/webhook-runs/in-memory.d.ts +16 -0
  1012. package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -0
  1013. package/dist/storage/webhook-runs/index.d.ts +4 -0
  1014. package/dist/storage/webhook-runs/index.d.ts.map +1 -0
  1015. package/dist/storage/webhook-runs/types.d.ts +66 -0
  1016. package/dist/storage/webhook-runs/types.d.ts.map +1 -0
  1017. package/dist/storage/workflow-interventions/errors.d.ts +7 -0
  1018. package/dist/storage/workflow-interventions/errors.d.ts.map +1 -0
  1019. package/dist/storage/workflow-interventions/in-memory.d.ts +18 -0
  1020. package/dist/storage/workflow-interventions/in-memory.d.ts.map +1 -0
  1021. package/dist/storage/workflow-interventions/index.d.ts +4 -0
  1022. package/dist/storage/workflow-interventions/index.d.ts.map +1 -0
  1023. package/dist/storage/workflow-interventions/types.d.ts +94 -0
  1024. package/dist/storage/workflow-interventions/types.d.ts.map +1 -0
  1025. package/dist/storage/workflow-runs/errors.d.ts +7 -0
  1026. package/dist/storage/workflow-runs/errors.d.ts.map +1 -0
  1027. package/dist/storage/workflow-runs/in-memory.d.ts +83 -0
  1028. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -0
  1029. package/dist/storage/workflow-runs/index.d.ts +4 -0
  1030. package/dist/storage/workflow-runs/index.d.ts.map +1 -0
  1031. package/dist/storage/workflow-runs/types.d.ts +305 -0
  1032. package/dist/storage/workflow-runs/types.d.ts.map +1 -0
  1033. package/dist/syncs/builders.d.ts +9 -0
  1034. package/dist/syncs/builders.d.ts.map +1 -0
  1035. package/dist/syncs/errors.d.ts +4 -0
  1036. package/dist/syncs/errors.d.ts.map +1 -0
  1037. package/dist/syncs/index.d.ts +7 -0
  1038. package/dist/syncs/index.d.ts.map +1 -0
  1039. package/dist/syncs/request.d.ts +41 -0
  1040. package/dist/syncs/request.d.ts.map +1 -0
  1041. package/dist/syncs/types.d.ts +76 -0
  1042. package/dist/syncs/types.d.ts.map +1 -0
  1043. package/dist/testing/agent-storage-contract.d.ts +16 -0
  1044. package/dist/testing/agent-storage-contract.d.ts.map +1 -0
  1045. package/dist/testing/auth-storage-contract.d.ts +16 -0
  1046. package/dist/testing/auth-storage-contract.d.ts.map +1 -0
  1047. package/dist/testing/blob-storage-contract.d.ts +10 -0
  1048. package/dist/testing/blob-storage-contract.d.ts.map +1 -0
  1049. package/dist/testing/broker-contract.d.ts +39 -0
  1050. package/dist/testing/broker-contract.d.ts.map +1 -0
  1051. package/dist/testing/effective-storage-contract.d.ts +7 -0
  1052. package/dist/testing/effective-storage-contract.d.ts.map +1 -0
  1053. package/dist/testing/index.d.ts +15 -0
  1054. package/dist/testing/index.d.ts.map +1 -0
  1055. package/dist/testing/index.js +7000 -0
  1056. package/dist/testing/index.js.map +24 -0
  1057. package/dist/testing/lake-storage-contract.d.ts +29 -0
  1058. package/dist/testing/lake-storage-contract.d.ts.map +1 -0
  1059. package/dist/testing/materialization-failure-contract.d.ts +26 -0
  1060. package/dist/testing/materialization-failure-contract.d.ts.map +1 -0
  1061. package/dist/testing/materializer-fixture.d.ts +35 -0
  1062. package/dist/testing/materializer-fixture.d.ts.map +1 -0
  1063. package/dist/testing/materializer-storage-contract.d.ts +7 -0
  1064. package/dist/testing/materializer-storage-contract.d.ts.map +1 -0
  1065. package/dist/testing/object-query-contract.d.ts +21 -0
  1066. package/dist/testing/object-query-contract.d.ts.map +1 -0
  1067. package/dist/testing/ontology-contract-fixture.d.ts +33 -0
  1068. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -0
  1069. package/dist/testing/ontology-storage-contract.d.ts +21 -0
  1070. package/dist/testing/ontology-storage-contract.d.ts.map +1 -0
  1071. package/dist/testing/projection-run-storage-contract.d.ts +10 -0
  1072. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -0
  1073. package/dist/testing/queues-contract.d.ts +31 -0
  1074. package/dist/testing/queues-contract.d.ts.map +1 -0
  1075. package/dist/testing/sandboxes-contract.d.ts +31 -0
  1076. package/dist/testing/sandboxes-contract.d.ts.map +1 -0
  1077. package/dist/tsconfig.json +5 -0
  1078. package/dist/webhooks/builders.d.ts +41 -0
  1079. package/dist/webhooks/builders.d.ts.map +1 -0
  1080. package/dist/webhooks/connector.d.ts +10 -0
  1081. package/dist/webhooks/connector.d.ts.map +1 -0
  1082. package/dist/webhooks/errors.d.ts +4 -0
  1083. package/dist/webhooks/errors.d.ts.map +1 -0
  1084. package/dist/webhooks/index.d.ts +9 -0
  1085. package/dist/webhooks/index.d.ts.map +1 -0
  1086. package/dist/webhooks/registry.d.ts +7 -0
  1087. package/dist/webhooks/registry.d.ts.map +1 -0
  1088. package/dist/webhooks/types.d.ts +79 -0
  1089. package/dist/webhooks/types.d.ts.map +1 -0
  1090. package/dist/webhooks/unverified.d.ts +57 -0
  1091. package/dist/webhooks/unverified.d.ts.map +1 -0
  1092. package/dist/workers/errors.d.ts +17 -0
  1093. package/dist/workers/errors.d.ts.map +1 -0
  1094. package/dist/workers/index.d.ts +7 -0
  1095. package/dist/workers/index.d.ts.map +1 -0
  1096. package/dist/workers/index.js +506 -0
  1097. package/dist/workers/index.js.map +13 -0
  1098. package/dist/workers/queue-delivery.d.ts +38 -0
  1099. package/dist/workers/queue-delivery.d.ts.map +1 -0
  1100. package/dist/workers/queue-worker.d.ts +30 -0
  1101. package/dist/workers/queue-worker.d.ts.map +1 -0
  1102. package/dist/workers/worker.d.ts +14 -0
  1103. package/dist/workers/worker.d.ts.map +1 -0
  1104. package/dist/workflows/builders.d.ts +27 -0
  1105. package/dist/workflows/builders.d.ts.map +1 -0
  1106. package/dist/workflows/errors.d.ts +11 -0
  1107. package/dist/workflows/errors.d.ts.map +1 -0
  1108. package/dist/workflows/index.d.ts +9 -0
  1109. package/dist/workflows/index.d.ts.map +1 -0
  1110. package/dist/workflows/index.js +108 -0
  1111. package/dist/workflows/index.js.map +9 -0
  1112. package/dist/workflows/request.d.ts +29 -0
  1113. package/dist/workflows/request.d.ts.map +1 -0
  1114. package/dist/workflows/runtime.d.ts +33 -0
  1115. package/dist/workflows/runtime.d.ts.map +1 -0
  1116. package/dist/workflows/snapshot.d.ts +55 -0
  1117. package/dist/workflows/snapshot.d.ts.map +1 -0
  1118. package/dist/workflows/types.d.ts +288 -0
  1119. package/dist/workflows/types.d.ts.map +1 -0
  1120. package/dist/workflows/validation.d.ts +66 -0
  1121. package/dist/workflows/validation.d.ts.map +1 -0
  1122. package/package.json +312 -0
  1123. package/src/actions/builders/define-action.ts +243 -0
  1124. package/src/actions/builders/params.ts +48 -0
  1125. package/src/actions/builders.ts +2 -0
  1126. package/src/actions/commit-edits.ts +110 -0
  1127. package/src/actions/errors.ts +15 -0
  1128. package/src/actions/index.ts +75 -0
  1129. package/src/actions/read-facade.ts +224 -0
  1130. package/src/actions/registry.ts +135 -0
  1131. package/src/actions/request.ts +407 -0
  1132. package/src/actions/run-id.ts +17 -0
  1133. package/src/actions/runtime.ts +31 -0
  1134. package/src/actions/types/context.ts +224 -0
  1135. package/src/actions/types/definitions.ts +181 -0
  1136. package/src/actions/types/handlers.ts +68 -0
  1137. package/src/actions/types/params.ts +82 -0
  1138. package/src/actions/types.ts +4 -0
  1139. package/src/actions/validation.ts +186 -0
  1140. package/src/actions/validators.ts +56 -0
  1141. package/src/actions/worker.ts +2 -0
  1142. package/src/agents/adapters.ts +647 -0
  1143. package/src/agents/api-gateway.ts +57 -0
  1144. package/src/agents/builders.ts +46 -0
  1145. package/src/agents/context-model.ts +41 -0
  1146. package/src/agents/context-resolution.ts +43 -0
  1147. package/src/agents/context.ts +185 -0
  1148. package/src/agents/dispatch.ts +107 -0
  1149. package/src/agents/errors.ts +40 -0
  1150. package/src/agents/ids.ts +24 -0
  1151. package/src/agents/index.ts +122 -0
  1152. package/src/agents/message.ts +91 -0
  1153. package/src/agents/prompt.ts +45 -0
  1154. package/src/agents/request.ts +198 -0
  1155. package/src/agents/runtime.ts +124 -0
  1156. package/src/agents/streams.ts +194 -0
  1157. package/src/agents/types.ts +70 -0
  1158. package/src/agents/validation.ts +151 -0
  1159. package/src/auth/access-tokens.ts +125 -0
  1160. package/src/auth/audience.ts +28 -0
  1161. package/src/auth/cookies.ts +263 -0
  1162. package/src/auth/csrf.ts +41 -0
  1163. package/src/auth/errors.ts +19 -0
  1164. package/src/auth/index.ts +149 -0
  1165. package/src/auth/runtime.ts +1642 -0
  1166. package/src/auth/session-cache.ts +112 -0
  1167. package/src/auth/sessions.ts +55 -0
  1168. package/src/auth/strategy.ts +46 -0
  1169. package/src/auth/types.ts +573 -0
  1170. package/src/auth/validation.ts +241 -0
  1171. package/src/authorization/application-access.ts +34 -0
  1172. package/src/authorization/decision.ts +215 -0
  1173. package/src/authorization/errors.ts +12 -0
  1174. package/src/authorization/event-visibility.ts +99 -0
  1175. package/src/authorization/grant-kinds.ts +149 -0
  1176. package/src/authorization/index.ts +24 -0
  1177. package/src/authorization/resolve.ts +101 -0
  1178. package/src/authorization/run-visibility.ts +78 -0
  1179. package/src/authorization/types.ts +52 -0
  1180. package/src/blob-storage/browser.ts +28 -0
  1181. package/src/blob-storage/constants.ts +9 -0
  1182. package/src/blob-storage/derive.ts +13 -0
  1183. package/src/blob-storage/errors.ts +6 -0
  1184. package/src/blob-storage/in-memory.ts +74 -0
  1185. package/src/blob-storage/index.ts +37 -0
  1186. package/src/blob-storage/types.ts +143 -0
  1187. package/src/blob-storage/utils.ts +126 -0
  1188. package/src/blob-storage/validation.ts +58 -0
  1189. package/src/bootstrap/discovery.ts +507 -0
  1190. package/src/bootstrap/index.ts +26 -0
  1191. package/src/bootstrap/ontology-type-manifest.ts +316 -0
  1192. package/src/broker/errors.ts +15 -0
  1193. package/src/broker/in-memory.ts +511 -0
  1194. package/src/broker/index.ts +12 -0
  1195. package/src/broker/types.ts +129 -0
  1196. package/src/connectors/builders.ts +33 -0
  1197. package/src/connectors/errors.ts +15 -0
  1198. package/src/connectors/index.ts +9 -0
  1199. package/src/connectors/runtime.ts +100 -0
  1200. package/src/connectors/types.ts +64 -0
  1201. package/src/datasets/builders.ts +233 -0
  1202. package/src/datasets/errors.ts +3 -0
  1203. package/src/datasets/index.ts +13 -0
  1204. package/src/datasets/types.ts +52 -0
  1205. package/src/datasets/validation.ts +251 -0
  1206. package/src/edits/errors.ts +6 -0
  1207. package/src/edits/index.ts +24 -0
  1208. package/src/edits/normalize.ts +87 -0
  1209. package/src/edits/properties.ts +153 -0
  1210. package/src/edits/recorder.ts +312 -0
  1211. package/src/edits/types.ts +275 -0
  1212. package/src/error-reporting/capability.ts +160 -0
  1213. package/src/error-reporting/internal.ts +13 -0
  1214. package/src/error-reporting/normalize.ts +35 -0
  1215. package/src/error-reporting/reporter.ts +65 -0
  1216. package/src/error-reporting/types.ts +125 -0
  1217. package/src/events/definitions.ts +241 -0
  1218. package/src/events/envelope.ts +68 -0
  1219. package/src/events/errors.ts +7 -0
  1220. package/src/events/index.ts +167 -0
  1221. package/src/events/outbox-dispatcher.ts +534 -0
  1222. package/src/events/property-changes.ts +9 -0
  1223. package/src/events/runtime.ts +401 -0
  1224. package/src/events/scope.ts +71 -0
  1225. package/src/events/selectors/builder.ts +531 -0
  1226. package/src/events/selectors/index.ts +42 -0
  1227. package/src/events/selectors/predicate.ts +91 -0
  1228. package/src/events/selectors/types.ts +258 -0
  1229. package/src/events/toStoredEvent.ts +35 -0
  1230. package/src/events/types/actions.ts +42 -0
  1231. package/src/events/types/datasets.ts +21 -0
  1232. package/src/events/types/index.ts +206 -0
  1233. package/src/events/types/links.ts +42 -0
  1234. package/src/events/types/objects.ts +38 -0
  1235. package/src/events/types/pipelines.ts +67 -0
  1236. package/src/events/types/rules.ts +31 -0
  1237. package/src/events/types/schedules.ts +15 -0
  1238. package/src/events/types/syncs.ts +27 -0
  1239. package/src/events/types/telemetry.ts +19 -0
  1240. package/src/events/types/workflows.ts +172 -0
  1241. package/src/http/api-routes.ts +384 -0
  1242. package/src/http/index.ts +3 -0
  1243. package/src/http/route-pattern.ts +37 -0
  1244. package/src/index.ts +916 -0
  1245. package/src/json.ts +137 -0
  1246. package/src/lake-storage/definition-updates.ts +263 -0
  1247. package/src/lake-storage/errors.ts +6 -0
  1248. package/src/lake-storage/in-memory.ts +348 -0
  1249. package/src/lake-storage/index.ts +48 -0
  1250. package/src/lake-storage/sql-transforms.ts +67 -0
  1251. package/src/lake-storage/types.ts +135 -0
  1252. package/src/logging/console-logger.ts +63 -0
  1253. package/src/logging/index.ts +43 -0
  1254. package/src/logging/record.ts +126 -0
  1255. package/src/logging/run-logger.ts +350 -0
  1256. package/src/logging/runtime.ts +341 -0
  1257. package/src/logging/stream.ts +38 -0
  1258. package/src/logging/types.ts +156 -0
  1259. package/src/maintenance/index.ts +9 -0
  1260. package/src/maintenance/ontology-maintenance.ts +351 -0
  1261. package/src/maintenance/types.ts +57 -0
  1262. package/src/materialization/dataset-watermark.ts +52 -0
  1263. package/src/materialization/errors.ts +73 -0
  1264. package/src/materialization/events.ts +92 -0
  1265. package/src/materialization/identity.ts +36 -0
  1266. package/src/materialization/index.ts +75 -0
  1267. package/src/materialization/model.ts +394 -0
  1268. package/src/materialization/refs.ts +134 -0
  1269. package/src/materializer/README.md +130 -0
  1270. package/src/materializer/context.ts +75 -0
  1271. package/src/materializer/edits/apply.ts +241 -0
  1272. package/src/materializer/edits/commit.ts +311 -0
  1273. package/src/materializer/edits/execution-units.ts +32 -0
  1274. package/src/materializer/edits/load-state.ts +148 -0
  1275. package/src/materializer/edits/operations.ts +298 -0
  1276. package/src/materializer/edits/plan.ts +192 -0
  1277. package/src/materializer/edits/read-set.ts +79 -0
  1278. package/src/materializer/edits/working-state.ts +171 -0
  1279. package/src/materializer/effective/build-events.ts +197 -0
  1280. package/src/materializer/effective/diff.ts +169 -0
  1281. package/src/materializer/effective/load-state.ts +75 -0
  1282. package/src/materializer/effective/resolve.ts +96 -0
  1283. package/src/materializer/effective/validate.ts +180 -0
  1284. package/src/materializer/execution/commit-lifecycle.ts +57 -0
  1285. package/src/materializer/execution/plan-stream.ts +97 -0
  1286. package/src/materializer/execution/run-correlation.ts +73 -0
  1287. package/src/materializer/execution/work-executor.ts +143 -0
  1288. package/src/materializer/execution/work-records.ts +186 -0
  1289. package/src/materializer/index.ts +109 -0
  1290. package/src/materializer/materializer.ts +64 -0
  1291. package/src/materializer/projections/entry-validator.ts +162 -0
  1292. package/src/materializer/projections/finish-run.ts +194 -0
  1293. package/src/materializer/projections/replace.ts +447 -0
  1294. package/src/materializer/projections/replacement-plan.ts +376 -0
  1295. package/src/materializer/projections/source-materialization.ts +99 -0
  1296. package/src/materializer/shared/abort.ts +7 -0
  1297. package/src/materializer/shared/batching.ts +32 -0
  1298. package/src/materializer/shared/chunking.ts +27 -0
  1299. package/src/materializer/shared/identity.ts +141 -0
  1300. package/src/materializer/shared/normalize.ts +527 -0
  1301. package/src/materializer/shared/projection-run.ts +61 -0
  1302. package/src/materializer/telemetry/append.ts +503 -0
  1303. package/src/materializer/telemetry/plan.ts +363 -0
  1304. package/src/objects/action/errors.ts +56 -0
  1305. package/src/objects/action/index.ts +3 -0
  1306. package/src/objects/action/request.ts +63 -0
  1307. package/src/objects/context/index.ts +6 -0
  1308. package/src/objects/context/resolve.ts +51 -0
  1309. package/src/objects/context/types.ts +31 -0
  1310. package/src/objects/contexts.ts +64 -0
  1311. package/src/objects/errors.ts +7 -0
  1312. package/src/objects/helpers.ts +18 -0
  1313. package/src/objects/index.ts +26 -0
  1314. package/src/objects/link/authorization.ts +26 -0
  1315. package/src/objects/link/endpoints.ts +66 -0
  1316. package/src/objects/link/index.ts +3 -0
  1317. package/src/objects/link/remove.ts +42 -0
  1318. package/src/objects/link/upsert-batch.ts +80 -0
  1319. package/src/objects/link/upsert.ts +56 -0
  1320. package/src/objects/materializer-adapter.ts +307 -0
  1321. package/src/objects/object/delete.ts +47 -0
  1322. package/src/objects/object/index.ts +3 -0
  1323. package/src/objects/object/upsert-batch.ts +57 -0
  1324. package/src/objects/object/upsert.ts +38 -0
  1325. package/src/objects/query/errors.ts +55 -0
  1326. package/src/objects/query/executor.ts +1345 -0
  1327. package/src/objects/query/explain-format.ts +34 -0
  1328. package/src/objects/query/explain.ts +215 -0
  1329. package/src/objects/query/index.ts +77 -0
  1330. package/src/objects/query/ir.ts +211 -0
  1331. package/src/objects/query/normalize.ts +245 -0
  1332. package/src/objects/query/planner.ts +538 -0
  1333. package/src/objects/query/scalar-values.ts +100 -0
  1334. package/src/objects/query/validate.ts +1276 -0
  1335. package/src/objects/runtime-batch.ts +105 -0
  1336. package/src/objects/sdk/index.ts +2 -0
  1337. package/src/objects/sdk/object-handle.ts +139 -0
  1338. package/src/objects/sdk/object-set.ts +224 -0
  1339. package/src/objects/sdk/query-builder.ts +386 -0
  1340. package/src/objects/sdk/query-executor.ts +62 -0
  1341. package/src/objects/sdk/runtime-query-executor.ts +88 -0
  1342. package/src/objects/sdk/telemetry-channel.ts +81 -0
  1343. package/src/objects/sdk/where.ts +87 -0
  1344. package/src/objects/service/action-service.ts +40 -0
  1345. package/src/objects/service/index.ts +6 -0
  1346. package/src/objects/service/link-service.ts +74 -0
  1347. package/src/objects/service/list-service.ts +89 -0
  1348. package/src/objects/service/object-service.ts +28 -0
  1349. package/src/objects/service/telemetry-service.ts +17 -0
  1350. package/src/objects/telemetry/append-batch.ts +74 -0
  1351. package/src/objects/telemetry/history.ts +32 -0
  1352. package/src/objects/telemetry/index.ts +4 -0
  1353. package/src/objects/telemetry/write-batch.ts +52 -0
  1354. package/src/ontology/builders.ts +695 -0
  1355. package/src/ontology/decimal.ts +120 -0
  1356. package/src/ontology/errors.ts +25 -0
  1357. package/src/ontology/index.ts +80 -0
  1358. package/src/ontology/inference/index.ts +215 -0
  1359. package/src/ontology/internal.ts +3 -0
  1360. package/src/ontology/json-schema.ts +123 -0
  1361. package/src/ontology/refs.ts +80 -0
  1362. package/src/ontology/registry.ts +417 -0
  1363. package/src/ontology/tokens.ts +113 -0
  1364. package/src/ontology/types.ts +436 -0
  1365. package/src/ontology/units/index.ts +115 -0
  1366. package/src/ontology/units/quantitative-types.ts +608 -0
  1367. package/src/ontology/units/types.ts +27 -0
  1368. package/src/ontology/validation/index.ts +36 -0
  1369. package/src/ontology/validation/links.ts +126 -0
  1370. package/src/ontology/validation/normalize.ts +215 -0
  1371. package/src/ontology/validation/properties.ts +235 -0
  1372. package/src/ontology/validation/query.ts +300 -0
  1373. package/src/ontology/validation/schema.ts +174 -0
  1374. package/src/ontology/validation/telemetry.ts +53 -0
  1375. package/src/pipelines/builders.ts +155 -0
  1376. package/src/pipelines/errors.ts +3 -0
  1377. package/src/pipelines/index.ts +26 -0
  1378. package/src/pipelines/request.ts +71 -0
  1379. package/src/pipelines/types.ts +199 -0
  1380. package/src/predicates/builders.ts +152 -0
  1381. package/src/predicates/evaluate.ts +107 -0
  1382. package/src/predicates/index.ts +28 -0
  1383. package/src/predicates/types.ts +124 -0
  1384. package/src/predicates/validation.ts +152 -0
  1385. package/src/projections/builders.ts +770 -0
  1386. package/src/projections/errors.ts +3 -0
  1387. package/src/projections/index.ts +32 -0
  1388. package/src/projections/internal.ts +75 -0
  1389. package/src/projections/ownership.ts +134 -0
  1390. package/src/projections/registry.ts +269 -0
  1391. package/src/projections/revision.ts +245 -0
  1392. package/src/projections/types.ts +165 -0
  1393. package/src/projections/validation.ts +531 -0
  1394. package/src/provider-scope.ts +11 -0
  1395. package/src/query.ts +75 -0
  1396. package/src/queues/errors.ts +6 -0
  1397. package/src/queues/in-memory.ts +364 -0
  1398. package/src/queues/index.ts +23 -0
  1399. package/src/queues/types.ts +230 -0
  1400. package/src/rules/builders.ts +126 -0
  1401. package/src/rules/dependencies.ts +76 -0
  1402. package/src/rules/errors.ts +11 -0
  1403. package/src/rules/index.ts +30 -0
  1404. package/src/rules/internal.ts +8 -0
  1405. package/src/rules/types.ts +113 -0
  1406. package/src/rules/validation.ts +153 -0
  1407. package/src/runtime/create.ts +163 -0
  1408. package/src/runtime/errors.ts +8 -0
  1409. package/src/runtime/index.ts +67 -0
  1410. package/src/runtime/internal.ts +7 -0
  1411. package/src/runtime/ontology-mutations.ts +90 -0
  1412. package/src/runtime/scoped.ts +436 -0
  1413. package/src/runtime/sixb.ts +822 -0
  1414. package/src/runtime/storage-readiness.ts +91 -0
  1415. package/src/runtime/types.ts +1401 -0
  1416. package/src/sandboxes/errors.ts +22 -0
  1417. package/src/sandboxes/exec.ts +102 -0
  1418. package/src/sandboxes/index.ts +19 -0
  1419. package/src/sandboxes/sandbox.ts +124 -0
  1420. package/src/scheduler/errors.ts +7 -0
  1421. package/src/scheduler/index.ts +3 -0
  1422. package/src/scheduler/runtime.ts +174 -0
  1423. package/src/schedules/builders.ts +257 -0
  1424. package/src/schedules/cron.ts +166 -0
  1425. package/src/schedules/errors.ts +7 -0
  1426. package/src/schedules/index.ts +44 -0
  1427. package/src/schedules/next-occurrence.ts +217 -0
  1428. package/src/schedules/runtime.ts +241 -0
  1429. package/src/schedules/types.ts +212 -0
  1430. package/src/schedules/validation.ts +398 -0
  1431. package/src/security/applications.ts +11 -0
  1432. package/src/security/builders.ts +128 -0
  1433. package/src/security/errors.ts +3 -0
  1434. package/src/security/every.ts +108 -0
  1435. package/src/security/grants.ts +215 -0
  1436. package/src/security/index.ts +51 -0
  1437. package/src/security/membership-policies.ts +101 -0
  1438. package/src/security/runtime.ts +101 -0
  1439. package/src/security/types.ts +156 -0
  1440. package/src/security/validation.ts +430 -0
  1441. package/src/storage/action-runs/errors.ts +13 -0
  1442. package/src/storage/action-runs/idempotency.ts +68 -0
  1443. package/src/storage/action-runs/in-memory.ts +420 -0
  1444. package/src/storage/action-runs/index.ts +31 -0
  1445. package/src/storage/action-runs/types.ts +169 -0
  1446. package/src/storage/agents/errors.ts +22 -0
  1447. package/src/storage/agents/in-memory.ts +498 -0
  1448. package/src/storage/agents/index.ts +42 -0
  1449. package/src/storage/agents/types.ts +348 -0
  1450. package/src/storage/auth/errors.ts +40 -0
  1451. package/src/storage/auth/in-memory/access-tokens.ts +123 -0
  1452. package/src/storage/auth/in-memory/auth-storage.ts +559 -0
  1453. package/src/storage/auth/in-memory/group-memberships.ts +46 -0
  1454. package/src/storage/auth/in-memory/identities.ts +66 -0
  1455. package/src/storage/auth/in-memory/index.ts +1 -0
  1456. package/src/storage/auth/in-memory/invitations.ts +165 -0
  1457. package/src/storage/auth/in-memory/magic-links.ts +98 -0
  1458. package/src/storage/auth/in-memory/oidc-attempts.ts +75 -0
  1459. package/src/storage/auth/in-memory/service-account-group-memberships.ts +102 -0
  1460. package/src/storage/auth/in-memory/service-accounts.ts +80 -0
  1461. package/src/storage/auth/in-memory/sessions.ts +177 -0
  1462. package/src/storage/auth/in-memory/shared.ts +602 -0
  1463. package/src/storage/auth/in-memory/users.ts +139 -0
  1464. package/src/storage/auth/in-memory.ts +1 -0
  1465. package/src/storage/auth/index.ts +58 -0
  1466. package/src/storage/auth/types.ts +639 -0
  1467. package/src/storage/errors.ts +45 -0
  1468. package/src/storage/file-upload-sessions/errors.ts +24 -0
  1469. package/src/storage/file-upload-sessions/in-memory.ts +161 -0
  1470. package/src/storage/file-upload-sessions/index.ts +19 -0
  1471. package/src/storage/file-upload-sessions/types.ts +61 -0
  1472. package/src/storage/file-upload-sessions/utils.ts +49 -0
  1473. package/src/storage/in-memory/index.ts +297 -0
  1474. package/src/storage/in-memory/testing.ts +21 -0
  1475. package/src/storage/index.ts +489 -0
  1476. package/src/storage/migrations/check-schema.ts +49 -0
  1477. package/src/storage/migrations/index.ts +23 -0
  1478. package/src/storage/migrations/migrate-storage.ts +24 -0
  1479. package/src/storage/migrations/migration-set.ts +270 -0
  1480. package/src/storage/migrations/types.ts +129 -0
  1481. package/src/storage/objects/in-memory.ts +1154 -0
  1482. package/src/storage/objects/index.ts +24 -0
  1483. package/src/storage/objects/types.ts +244 -0
  1484. package/src/storage/ontology/commits.ts +132 -0
  1485. package/src/storage/ontology/in-memory/commits.ts +122 -0
  1486. package/src/storage/ontology/in-memory/index.ts +94 -0
  1487. package/src/storage/ontology/in-memory/materializations-finalization.ts +484 -0
  1488. package/src/storage/ontology/in-memory/materializations-state.ts +183 -0
  1489. package/src/storage/ontology/in-memory/materializations-work.ts +62 -0
  1490. package/src/storage/ontology/in-memory/materializations.ts +1192 -0
  1491. package/src/storage/ontology/in-memory/outbox.ts +227 -0
  1492. package/src/storage/ontology/in-memory/shared-state.ts +161 -0
  1493. package/src/storage/ontology/in-memory/sources.ts +566 -0
  1494. package/src/storage/ontology/in-memory/testing.ts +29 -0
  1495. package/src/storage/ontology/index.ts +119 -0
  1496. package/src/storage/ontology/materializations.ts +414 -0
  1497. package/src/storage/ontology/outbox.ts +79 -0
  1498. package/src/storage/ontology/provider-header-validation.ts +173 -0
  1499. package/src/storage/ontology/provider-validation.ts +36 -0
  1500. package/src/storage/ontology/provider-work.ts +330 -0
  1501. package/src/storage/ontology/provider.ts +852 -0
  1502. package/src/storage/ontology/sources.ts +195 -0
  1503. package/src/storage/operation-scope.ts +248 -0
  1504. package/src/storage/pagination.ts +23 -0
  1505. package/src/storage/pipeline-runs/errors.ts +6 -0
  1506. package/src/storage/pipeline-runs/in-memory.ts +307 -0
  1507. package/src/storage/pipeline-runs/index.ts +19 -0
  1508. package/src/storage/pipeline-runs/types.ts +148 -0
  1509. package/src/storage/projection-runs/errors.ts +15 -0
  1510. package/src/storage/projection-runs/in-memory.ts +321 -0
  1511. package/src/storage/projection-runs/index.ts +36 -0
  1512. package/src/storage/projection-runs/lifecycle.ts +793 -0
  1513. package/src/storage/projection-runs/types.ts +254 -0
  1514. package/src/storage/rules/in-memory.ts +191 -0
  1515. package/src/storage/rules/index.ts +12 -0
  1516. package/src/storage/rules/types.ts +80 -0
  1517. package/src/storage/run-listing.ts +107 -0
  1518. package/src/storage/sync-runs/errors.ts +7 -0
  1519. package/src/storage/sync-runs/in-memory.ts +181 -0
  1520. package/src/storage/sync-runs/index.ts +14 -0
  1521. package/src/storage/sync-runs/types.ts +93 -0
  1522. package/src/storage/timeseries/index.ts +7 -0
  1523. package/src/storage/timeseries/store.ts +214 -0
  1524. package/src/storage/timeseries/types.ts +57 -0
  1525. package/src/storage/transaction.ts +56 -0
  1526. package/src/storage/types.ts +299 -0
  1527. package/src/storage/webhook-deliveries/in-memory.ts +108 -0
  1528. package/src/storage/webhook-deliveries/index.ts +9 -0
  1529. package/src/storage/webhook-deliveries/types.ts +41 -0
  1530. package/src/storage/webhook-runs/errors.ts +6 -0
  1531. package/src/storage/webhook-runs/in-memory.ts +131 -0
  1532. package/src/storage/webhook-runs/index.ts +12 -0
  1533. package/src/storage/webhook-runs/types.ts +69 -0
  1534. package/src/storage/workflow-interventions/errors.ts +6 -0
  1535. package/src/storage/workflow-interventions/in-memory.ts +192 -0
  1536. package/src/storage/workflow-interventions/index.ts +14 -0
  1537. package/src/storage/workflow-interventions/types.ts +100 -0
  1538. package/src/storage/workflow-runs/errors.ts +6 -0
  1539. package/src/storage/workflow-runs/in-memory.ts +777 -0
  1540. package/src/storage/workflow-runs/index.ts +45 -0
  1541. package/src/storage/workflow-runs/types.ts +344 -0
  1542. package/src/syncs/builders.ts +101 -0
  1543. package/src/syncs/errors.ts +3 -0
  1544. package/src/syncs/index.ts +22 -0
  1545. package/src/syncs/request.ts +91 -0
  1546. package/src/syncs/types.ts +136 -0
  1547. package/src/testing/agent-storage-contract.ts +824 -0
  1548. package/src/testing/auth-storage-contract.ts +1932 -0
  1549. package/src/testing/blob-storage-contract.ts +108 -0
  1550. package/src/testing/broker-contract.ts +819 -0
  1551. package/src/testing/effective-storage-contract.ts +182 -0
  1552. package/src/testing/index.ts +65 -0
  1553. package/src/testing/lake-storage-contract.ts +699 -0
  1554. package/src/testing/materialization-failure-contract.ts +66 -0
  1555. package/src/testing/materializer-fixture.ts +119 -0
  1556. package/src/testing/materializer-storage-contract.ts +389 -0
  1557. package/src/testing/object-query-contract.ts +1205 -0
  1558. package/src/testing/ontology-contract-fixture.ts +192 -0
  1559. package/src/testing/ontology-storage-contract.ts +922 -0
  1560. package/src/testing/projection-run-storage-contract.ts +372 -0
  1561. package/src/testing/queues-contract.ts +634 -0
  1562. package/src/testing/sandboxes-contract.ts +404 -0
  1563. package/src/webhooks/builders.ts +154 -0
  1564. package/src/webhooks/connector.ts +19 -0
  1565. package/src/webhooks/errors.ts +3 -0
  1566. package/src/webhooks/index.ts +25 -0
  1567. package/src/webhooks/registry.ts +127 -0
  1568. package/src/webhooks/types.ts +98 -0
  1569. package/src/webhooks/unverified.ts +82 -0
  1570. package/src/workers/errors.ts +25 -0
  1571. package/src/workers/index.ts +6 -0
  1572. package/src/workers/queue-delivery.ts +309 -0
  1573. package/src/workers/queue-worker.ts +260 -0
  1574. package/src/workers/worker.ts +87 -0
  1575. package/src/workflows/builders.ts +471 -0
  1576. package/src/workflows/errors.ts +13 -0
  1577. package/src/workflows/index.ts +94 -0
  1578. package/src/workflows/request.ts +161 -0
  1579. package/src/workflows/runtime.ts +68 -0
  1580. package/src/workflows/snapshot.ts +383 -0
  1581. package/src/workflows/types.ts +781 -0
  1582. package/src/workflows/validation.ts +572 -0
@@ -0,0 +1,1192 @@
1
+ import { stableJsonStringify } from "../../../json"
2
+ import {
3
+ MaterializationConflictError,
4
+ MaterializationValidationError,
5
+ } from "../../../materialization/errors"
6
+ import type {
7
+ ExpectedLinkRevision,
8
+ ExpectedObjectRevision,
9
+ OntologyLinkRef,
10
+ OntologyObjectRef,
11
+ } from "../../../materialization/model"
12
+ import {
13
+ linkRefKey,
14
+ linkRefSortKey,
15
+ linkScopeSortKey,
16
+ objectRefKey,
17
+ objectRefSortKey,
18
+ projectionEntityKey,
19
+ telemetryPointKey,
20
+ telemetryPointSortKey,
21
+ } from "../../../materialization/refs"
22
+ import {
23
+ getInMemoryObjectMaterializerAdapter,
24
+ type InMemoryObjectStorage,
25
+ } from "../../objects/in-memory"
26
+ import type { ObjectLinkRow } from "../../objects/types"
27
+ import {
28
+ getInMemoryTimeseriesMaterializerAdapter,
29
+ type InMemoryTimeseriesStorage,
30
+ } from "../../timeseries/store"
31
+ import type { OntologyCommitRecord } from "../commits"
32
+ import type {
33
+ ApplyMaterializationChunkInput,
34
+ ApplyMaterializationResult,
35
+ ExpectedSourceRevision,
36
+ ExpectedTimeseriesPointRevision,
37
+ FinalizeMaterializationInput,
38
+ MaterializationCardinalityOccupantWorkRecord,
39
+ MaterializationEventWorkRecord,
40
+ MaterializationLinkScopeState,
41
+ MaterializationLinkState,
42
+ MaterializationObjectExistence,
43
+ MaterializationObjectExistenceWorkRecord,
44
+ MaterializationObjectState,
45
+ MaterializationPlanHeader,
46
+ MaterializationPlanWorkRecord,
47
+ MaterializationSession,
48
+ MaterializationStatePage,
49
+ MaterializationWorkPage,
50
+ MaterializationWorkRecord,
51
+ OntologyMaterializationStorage,
52
+ ReadMaterializationObjectExistenceInput,
53
+ SourceReplacementLinkState,
54
+ SourceReplacementObjectState,
55
+ SourceReplacementStatePage,
56
+ StageMaterializationWorkInput,
57
+ StoredTelemetryPoint,
58
+ StreamMaterializationStateInput,
59
+ StreamMaterializationWorkInput,
60
+ StreamSourceReplacementStateInput,
61
+ } from "../materializations"
62
+ import type { OntologyMaterializationEvent } from "../outbox"
63
+ import {
64
+ appendScopeSnapshot,
65
+ assertMaterializationHeader,
66
+ finishScopeAccumulator,
67
+ type ProviderMaterializationTransactionLifecycle,
68
+ startScopeAccumulator,
69
+ uniqueSorted,
70
+ } from "../provider"
71
+ import type {
72
+ StoredSourceAssertion,
73
+ StoredSourceLinkAssertion,
74
+ StoredSourceObjectAssertion,
75
+ } from "../sources"
76
+ import { assertFinalizationCorrelations } from "./materializations-finalization"
77
+ import {
78
+ addReplacementLink,
79
+ findActiveSourceMaterialization,
80
+ linkRef,
81
+ linkSnapshot,
82
+ objectSnapshot,
83
+ publicLinkOverride,
84
+ publicObjectOverride,
85
+ storedPoint,
86
+ storedSource,
87
+ storedSourceLink,
88
+ storedSourceObject,
89
+ uniqueBy,
90
+ } from "./materializations-state"
91
+ import {
92
+ assertChunkSequence,
93
+ assertLastCommit,
94
+ assertPageRows,
95
+ assertPlanChunkCorrelations,
96
+ assertWorkRecord,
97
+ compareCardinalityWork,
98
+ compareEventWork,
99
+ comparePlanWork,
100
+ materializationChunkRows,
101
+ materializationPlanItems,
102
+ workUniquenessKey,
103
+ } from "./materializations-work"
104
+ import {
105
+ assertTimestamp,
106
+ commitKey,
107
+ commitOriginKey,
108
+ type InMemoryOntologyState,
109
+ type InMemoryOntologyStorageTestHooks,
110
+ type InMemorySourceMaterialization,
111
+ idempotencyKey,
112
+ ontologyCommitOriginSelector,
113
+ outboxKey,
114
+ projectEntityKey,
115
+ sourceMaterializationKey,
116
+ } from "./shared-state"
117
+
118
+ export interface SessionState {
119
+ readonly providerToken: object
120
+ readonly header: MaterializationPlanHeader
121
+ readonly transactionToken: object
122
+ readonly lifecycle: ProviderMaterializationTransactionLifecycle
123
+ active: boolean
124
+ writeOrdinal: number
125
+ readonly work: Map<string, MaterializationWorkRecord>
126
+ readonly workUniqueKeys: Set<string>
127
+ readonly applyWork: MaterializationPlanWorkRecord[]
128
+ readonly cardinalityWork: MaterializationCardinalityOccupantWorkRecord[]
129
+ readonly eventWork: MaterializationEventWorkRecord[]
130
+ readonly appliedPlanItems: string[]
131
+ readonly outboxEnvelopes: Map<number, OntologyMaterializationEvent>
132
+ readonly workStreams: Record<StreamMaterializationWorkInput["order"], WorkStreamState>
133
+ workSealed: boolean
134
+ incidentLinksByObject: Map<string, readonly OntologyLinkRef[]> | null
135
+ linkScopeStates: Map<string, MaterializationLinkScopeState> | null
136
+ readonly objectExistence: Map<string, MaterializationObjectExistenceWorkRecord>
137
+ replacement: ReplacementSessionState | null
138
+ }
139
+
140
+ export interface WorkStreamState {
141
+ started: boolean
142
+ completed: boolean
143
+ emittedCount: number
144
+ }
145
+
146
+ export interface ReplacementObjectWork {
147
+ readonly ref: OntologyObjectRef
148
+ readonly sortKey: string
149
+ }
150
+
151
+ export interface ReplacementLinkWork {
152
+ readonly ref: OntologyLinkRef
153
+ readonly sortKey: string
154
+ diffRequired: boolean
155
+ }
156
+
157
+ export interface ReplacementSessionState {
158
+ readonly sourceId: string
159
+ readonly candidateMaterializationId: string
160
+ readonly previous: InMemorySourceMaterialization | undefined
161
+ readonly candidate: InMemorySourceMaterialization
162
+ readonly objects: Map<string, ReplacementObjectWork>
163
+ readonly links: Map<string, ReplacementLinkWork>
164
+ orderedObjects: ReplacementObjectWork[]
165
+ orderedLinks: ReplacementLinkWork[] | null
166
+ readonly affectedScopes: Set<string>
167
+ readonly incidentObjects: Map<string, OntologyObjectRef>
168
+ objectStreamStarted: boolean
169
+ objectStreamCompleted: boolean
170
+ linkStreamStarted: boolean
171
+ linkStreamCompleted: boolean
172
+ linksExpanded: boolean
173
+ }
174
+
175
+ export class InMemoryOntologyMaterializationStorage implements OntologyMaterializationStorage {
176
+ private readonly sessions = new WeakMap<object, SessionState>()
177
+ private readonly liveSessions = new Set<SessionState>()
178
+
179
+ constructor(
180
+ private readonly state: InMemoryOntologyState,
181
+ private readonly objects: InMemoryObjectStorage,
182
+ private readonly timeseries: InMemoryTimeseriesStorage,
183
+ private readonly getTransactionToken: () => object | null,
184
+ private readonly getMaterializationLifecycle: () => ProviderMaterializationTransactionLifecycle | null,
185
+ private readonly hooks: InMemoryOntologyStorageTestHooks = {}
186
+ ) {}
187
+
188
+ async begin(input: MaterializationPlanHeader): Promise<MaterializationSession> {
189
+ const transactionToken = this.getTransactionToken()
190
+ const lifecycle = this.getMaterializationLifecycle()
191
+ if (!transactionToken || !lifecycle) {
192
+ throw new MaterializationValidationError(
193
+ "Materialization sessions require an active storage transaction."
194
+ )
195
+ }
196
+ assertMaterializationHeader(input)
197
+ this.assertCommitAbsent(input)
198
+ for (const expected of input.expected.sources)
199
+ this.assertSource(expected, input.commit.projectId)
200
+ for (const expected of input.expected.objects)
201
+ await this.assertObject(expected, input.commit.projectId)
202
+ for (const expected of input.expected.links)
203
+ await this.assertLink(expected, input.commit.projectId)
204
+ const expectedScopeStates = new Map<string, MaterializationLinkScopeState>()
205
+ for (const expected of input.expected.linkScopes) {
206
+ const key = linkScopeSortKey(expected.source, expected.linkId)
207
+ const current =
208
+ expectedScopeStates.get(key) ??
209
+ this.computeLinkScopeState(input.commit.projectId, expected.source, expected.linkId)
210
+ expectedScopeStates.set(key, current)
211
+ if (current.fingerprint !== expected.fingerprint) {
212
+ throw new MaterializationConflictError(
213
+ "effective-state",
214
+ `Expected link scope changed for ${expected.source.objectTypeId}:${expected.source.primaryId}.${expected.linkId}.`
215
+ )
216
+ }
217
+ }
218
+ for (const expected of input.expected.points) this.assertPoint(expected, input.commit.projectId)
219
+
220
+ const providerToken = {}
221
+ const session = {
222
+ providerToken,
223
+ header: structuredClone(input),
224
+ transactionToken,
225
+ lifecycle,
226
+ active: true,
227
+ writeOrdinal: 0,
228
+ work: new Map<string, MaterializationWorkRecord>(),
229
+ workUniqueKeys: new Set<string>(),
230
+ applyWork: [],
231
+ cardinalityWork: [],
232
+ eventWork: [],
233
+ appliedPlanItems: [],
234
+ outboxEnvelopes: new Map<number, OntologyMaterializationEvent>(),
235
+ workStreams: {
236
+ apply: { started: false, completed: false, emittedCount: 0 },
237
+ cardinality: { started: false, completed: false, emittedCount: 0 },
238
+ event: { started: false, completed: false, emittedCount: 0 },
239
+ },
240
+ workSealed: false,
241
+ incidentLinksByObject: null,
242
+ linkScopeStates: expectedScopeStates,
243
+ objectExistence: new Map<string, MaterializationObjectExistenceWorkRecord>(),
244
+ replacement: null,
245
+ }
246
+ this.sessions.set(providerToken, session)
247
+ this.liveSessions.add(session)
248
+ lifecycle.register(providerToken)
249
+ return { providerToken }
250
+ }
251
+
252
+ deactivateTransaction(transactionToken: object): void {
253
+ for (const session of this.liveSessions) {
254
+ if (session.transactionToken !== transactionToken) continue
255
+ this.releaseSession(session)
256
+ }
257
+ }
258
+
259
+ /** Deactivate a session, drop its transaction-local work, and stop tracking it as live. */
260
+ private releaseSession(session: SessionState): void {
261
+ session.active = false
262
+ session.work.clear()
263
+ session.workUniqueKeys.clear()
264
+ session.applyWork.length = 0
265
+ session.cardinalityWork.length = 0
266
+ session.eventWork.length = 0
267
+ session.appliedPlanItems.length = 0
268
+ session.outboxEnvelopes.clear()
269
+ session.incidentLinksByObject = null
270
+ session.linkScopeStates = null
271
+ session.objectExistence.clear()
272
+ session.replacement = null
273
+ this.liveSessions.delete(session)
274
+ session.lifecycle.complete(session.providerToken)
275
+ }
276
+
277
+ async *streamState(
278
+ input: StreamMaterializationStateInput
279
+ ): AsyncIterable<MaterializationStatePage> {
280
+ const session = this.requireSession(input.session)
281
+ assertPageRows(input.pageRows)
282
+ for await (const request of input.requests) {
283
+ this.requireSession(input.session)
284
+ this.hooks.beforeRead?.("state.read")
285
+ const objectRefs = uniqueSorted(request.objects, objectRefKey, objectRefSortKey)
286
+ for (let offset = 0; offset < objectRefs.length; offset += input.pageRows) {
287
+ this.requireSession(input.session)
288
+ const objects: MaterializationObjectState[] = []
289
+ for (const ref of objectRefs.slice(offset, offset + input.pageRows)) {
290
+ objects.push(await this.objectState(session, ref))
291
+ }
292
+ this.requireSession(input.session)
293
+ this.hooks.observeBuffer?.("state.object.page", objects.length)
294
+ yield { objects, links: [], linkScopes: [], points: [] }
295
+ }
296
+
297
+ const linkRefs = uniqueSorted(request.links, linkRefKey, linkRefSortKey)
298
+ for (let offset = 0; offset < linkRefs.length; offset += input.pageRows) {
299
+ this.requireSession(input.session)
300
+ const links: MaterializationLinkState[] = []
301
+ for (const ref of linkRefs.slice(offset, offset + input.pageRows)) {
302
+ links.push(await this.linkState(session, ref))
303
+ }
304
+ this.requireSession(input.session)
305
+ this.hooks.observeBuffer?.("state.link.page", links.length)
306
+ yield { objects: [], links, linkScopes: [], points: [] }
307
+ }
308
+
309
+ const incidentRefs = this.incidentLinkRefs(session, request.incidentObjects)
310
+ for (let offset = 0; offset < incidentRefs.length; offset += input.pageRows) {
311
+ this.requireSession(input.session)
312
+ const refs = incidentRefs.slice(offset, offset + input.pageRows)
313
+ const links: MaterializationLinkState[] = []
314
+ for (const ref of refs) links.push(await this.linkState(session, ref))
315
+ this.requireSession(input.session)
316
+ this.hooks.observeBuffer?.("state.incident-link.page", links.length)
317
+ yield { objects: [], links, linkScopes: [], points: [] }
318
+ }
319
+
320
+ for (const scope of uniqueBy(request.linkScopes, (value) =>
321
+ linkScopeSortKey(value.source, value.linkId)
322
+ )) {
323
+ this.requireSession(input.session)
324
+ const value = this.linkScopeState(session, scope.source, scope.linkId)
325
+ // Scope rows are currently only requested for cardinality-one links, so the complete member
326
+ // set is bounded by the ontology invariant. Replacement scope enumeration is flattened in
327
+ // its dedicated stream and never uses this shape.
328
+ yield { objects: [], links: [], linkScopes: [value], points: [] }
329
+ }
330
+
331
+ const requestedPoints = uniqueSorted(
332
+ request.points,
333
+ (point) => telemetryPointKey(point.series, point.at),
334
+ (point) => telemetryPointSortKey(point.series, point.at)
335
+ )
336
+ for (let offset = 0; offset < requestedPoints.length; offset += input.pageRows) {
337
+ this.requireSession(input.session)
338
+ const points: StoredTelemetryPoint[] = []
339
+ for (const point of requestedPoints.slice(offset, offset + input.pageRows)) {
340
+ const stored = getInMemoryTimeseriesMaterializerAdapter(this.timeseries).getExactPoint(
341
+ session.header.commit.projectId,
342
+ point.series,
343
+ point.at
344
+ )
345
+ if (stored) points.push(storedPoint(stored))
346
+ }
347
+ this.requireSession(input.session)
348
+ this.hooks.observeBuffer?.("state.point.page", points.length)
349
+ if (points.length > 0) yield { objects: [], links: [], linkScopes: [], points }
350
+ }
351
+ }
352
+ }
353
+
354
+ async *streamSourceReplacementState(
355
+ input: StreamSourceReplacementStateInput
356
+ ): AsyncIterable<SourceReplacementStatePage> {
357
+ const session = this.requireSession(input.session)
358
+ assertPageRows(input.pageRows)
359
+ const replacement = this.requireReplacement(session, input)
360
+ if (input.entityKind === "object") {
361
+ if (replacement.candidate.projectionKind !== "object") {
362
+ throw new MaterializationConflictError(
363
+ "source-materialization",
364
+ "Link projection replacement cannot stream object state."
365
+ )
366
+ }
367
+ if (replacement.objectStreamStarted)
368
+ throw new MaterializationConflictError(
369
+ "effective-state",
370
+ "Replacement object state may only be streamed once per session."
371
+ )
372
+ replacement.objectStreamStarted = true
373
+ this.hooks.beforeRead?.("source-replacement.object")
374
+ for (let offset = 0; offset < replacement.orderedObjects.length; offset += input.pageRows) {
375
+ this.requireSession(input.session)
376
+ const selected = replacement.orderedObjects.slice(offset, offset + input.pageRows)
377
+ const objects: SourceReplacementObjectState[] = []
378
+ for (const entry of selected) {
379
+ const key = projectionEntityKey({ kind: "object", ref: entry.ref })
380
+ const base = await this.objectState(session, entry.ref)
381
+ objects.push({
382
+ ref: base.ref,
383
+ candidateSource: storedSourceObject(
384
+ input.source.projectionId,
385
+ replacement.candidate.materializationId,
386
+ replacement.candidate.rowsByEntity.get(key)
387
+ ),
388
+ override: base.override,
389
+ effective: base.effective,
390
+ latestTelemetry: base.latestTelemetry,
391
+ })
392
+ }
393
+ this.requireSession(input.session)
394
+ this.hooks.observeBuffer?.("replacement.object.page", objects.length)
395
+ yield { objects, links: [] }
396
+ }
397
+ this.requireSession(input.session)
398
+ replacement.objectStreamCompleted = true
399
+ return
400
+ }
401
+
402
+ if (replacement.candidate.projectionKind === "object" && !replacement.objectStreamCompleted) {
403
+ throw new MaterializationConflictError(
404
+ "effective-state",
405
+ "Object projection replacement must fully stream object state before link state."
406
+ )
407
+ }
408
+ if (replacement.linkStreamStarted)
409
+ throw new MaterializationConflictError(
410
+ "effective-state",
411
+ "Replacement link state may only be streamed once per session."
412
+ )
413
+ replacement.linkStreamStarted = true
414
+ this.hooks.beforeRead?.("source-replacement.link")
415
+ this.expandReplacementLinks(session, replacement)
416
+ replacement.orderedLinks ??= [...replacement.links.values()].sort((left, right) =>
417
+ left.sortKey.localeCompare(right.sortKey)
418
+ )
419
+ for (let offset = 0; offset < replacement.orderedLinks.length; offset += input.pageRows) {
420
+ this.requireSession(input.session)
421
+ const selected = replacement.orderedLinks.slice(offset, offset + input.pageRows)
422
+ const links: SourceReplacementLinkState[] = []
423
+ for (const entry of selected) {
424
+ const key = projectionEntityKey({ kind: "link", ref: entry.ref })
425
+ const base = await this.linkState(session, entry.ref)
426
+ const ownedByReplacement =
427
+ replacement.previous?.rowsByEntity.has(key) || replacement.candidate.rowsByEntity.has(key)
428
+ links.push({
429
+ ref: base.ref,
430
+ candidateSource: ownedByReplacement
431
+ ? storedSourceLink(
432
+ input.source.projectionId,
433
+ replacement.candidate.materializationId,
434
+ replacement.candidate.rowsByEntity.get(key)
435
+ )
436
+ : base.source,
437
+ override: base.override,
438
+ effective: base.effective,
439
+ diffRequired: entry.diffRequired,
440
+ })
441
+ }
442
+ this.requireSession(input.session)
443
+ this.hooks.observeBuffer?.("replacement.link.page", links.length)
444
+ yield { objects: [], links }
445
+ }
446
+ this.requireSession(input.session)
447
+ replacement.linkStreamCompleted = true
448
+ }
449
+
450
+ async stageWork(input: StageMaterializationWorkInput): Promise<void> {
451
+ const session = this.requireSession(input.session)
452
+ if (session.workSealed) {
453
+ throw new MaterializationConflictError(
454
+ "effective-state",
455
+ "Materialization work cannot be staged after draining begins."
456
+ )
457
+ }
458
+ const batchKeys = new Set<string>()
459
+ const batchUniqueKeys = new Set<string>()
460
+ for (const record of input.records) {
461
+ assertWorkRecord(record, session.header)
462
+ const uniqueKey = workUniquenessKey(record)
463
+ if (
464
+ batchKeys.has(record.recordKey) ||
465
+ session.work.has(record.recordKey) ||
466
+ batchUniqueKeys.has(uniqueKey) ||
467
+ session.workUniqueKeys.has(uniqueKey)
468
+ ) {
469
+ throw new MaterializationConflictError(
470
+ "effective-state",
471
+ `Duplicate materialization work key '${record.recordKey}'.`
472
+ )
473
+ }
474
+ if (
475
+ record.kind === "incident-object" &&
476
+ (!session.replacement || session.replacement.linkStreamStarted)
477
+ ) {
478
+ throw new MaterializationConflictError(
479
+ "effective-state",
480
+ "Incident replacement work must be staged before link state is streamed."
481
+ )
482
+ }
483
+ batchKeys.add(record.recordKey)
484
+ batchUniqueKeys.add(uniqueKey)
485
+ }
486
+ const cloned = input.records.map((record) => structuredClone(record))
487
+ this.hooks.observeWork?.(cloned)
488
+ for (const record of cloned) {
489
+ session.work.set(record.recordKey, record)
490
+ session.workUniqueKeys.add(workUniquenessKey(record))
491
+ if (record.kind === "plan") session.applyWork.push(record)
492
+ if (record.kind === "cardinality") session.cardinalityWork.push(record)
493
+ if (record.kind === "event") session.eventWork.push(record)
494
+ if (record.kind === "object-existence") {
495
+ session.objectExistence.set(objectRefKey(record.ref), record)
496
+ }
497
+ if (record.kind === "incident-object") {
498
+ const replacement = session.replacement
499
+ if (replacement) {
500
+ replacement.incidentObjects.set(objectRefKey(record.ref), record.ref)
501
+ replacement.linksExpanded = false
502
+ replacement.orderedLinks = null
503
+ }
504
+ }
505
+ }
506
+ this.hooks.observeBuffer?.("work.stage", cloned.length)
507
+ }
508
+
509
+ async *streamWork(input: StreamMaterializationWorkInput): AsyncIterable<MaterializationWorkPage> {
510
+ const session = this.requireSession(input.session)
511
+ assertPageRows(input.pageRows)
512
+ const stream = session.workStreams[input.order]
513
+ if (stream.started) {
514
+ throw new MaterializationConflictError(
515
+ "effective-state",
516
+ `Materialization ${input.order} work may only be streamed once per session.`
517
+ )
518
+ }
519
+ stream.started = true
520
+ if (!session.workSealed) {
521
+ session.applyWork.sort(comparePlanWork)
522
+ session.cardinalityWork.sort(compareCardinalityWork)
523
+ session.eventWork.sort(compareEventWork)
524
+ session.workSealed = true
525
+ }
526
+ const records =
527
+ input.order === "apply"
528
+ ? session.applyWork
529
+ : input.order === "cardinality"
530
+ ? session.cardinalityWork
531
+ : session.eventWork
532
+ for (let offset = 0; offset < records.length; offset += input.pageRows) {
533
+ this.requireSession(input.session)
534
+ const selected = records.slice(offset, offset + input.pageRows)
535
+ this.hooks.observeBuffer?.(`work.${input.order}.page`, selected.length)
536
+ stream.emittedCount = offset + selected.length
537
+ yield { records: structuredClone(selected) }
538
+ }
539
+ this.requireSession(input.session)
540
+ stream.completed = true
541
+ }
542
+
543
+ async readObjectExistence(
544
+ input: ReadMaterializationObjectExistenceInput
545
+ ): Promise<readonly MaterializationObjectExistence[]> {
546
+ const session = this.requireSession(input.session)
547
+ const result: MaterializationObjectExistence[] = []
548
+ for (const ref of input.refs) {
549
+ const record = session.objectExistence.get(objectRefKey(ref))
550
+ if (record) {
551
+ result.push({ ref: structuredClone(record.ref), exists: record.exists })
552
+ }
553
+ }
554
+ return result
555
+ }
556
+
557
+ async applyChunk(input: ApplyMaterializationChunkInput): Promise<void> {
558
+ const session = this.requireSession(input.session)
559
+ const projectId = session.header.commit.projectId
560
+ assertPlanChunkCorrelations(input.chunk, session.header.commit)
561
+ assertChunkSequence(session, input.chunk)
562
+ this.hooks.observeBuffer?.("apply.chunk", materializationChunkRows(input.chunk))
563
+ const write = (boundary: string, apply: () => void): void => {
564
+ this.hooks.beforeWrite?.(boundary, session.writeOrdinal++)
565
+ apply()
566
+ }
567
+
568
+ for (const item of input.chunk.overrides.objectUpserts)
569
+ write("override.object.upsert", () => {
570
+ const key = projectEntityKey(projectId, objectRefKey(item.ref))
571
+ assertLastCommit(
572
+ this.state.objectOverrides.get(key),
573
+ item.expectedLastCommitId,
574
+ "object override"
575
+ )
576
+ this.state.objectOverrides.set(
577
+ key,
578
+ structuredClone({
579
+ projectId,
580
+ ref: item.ref,
581
+ value: item.value,
582
+ lastCommitId: item.lastCommitId,
583
+ updatedAt: item.updatedAt,
584
+ })
585
+ )
586
+ })
587
+ for (const item of input.chunk.overrides.objectDeletes)
588
+ write("override.object.delete", () => {
589
+ const key = projectEntityKey(projectId, objectRefKey(item.ref))
590
+ assertLastCommit(
591
+ this.state.objectOverrides.get(key),
592
+ item.expectedLastCommitId,
593
+ "object override"
594
+ )
595
+ this.state.objectOverrides.delete(key)
596
+ })
597
+ for (const item of input.chunk.overrides.linkUpserts)
598
+ write("override.link.upsert", () => {
599
+ const key = projectEntityKey(projectId, linkRefKey(item.ref))
600
+ assertLastCommit(
601
+ this.state.linkOverrides.get(key),
602
+ item.expectedLastCommitId,
603
+ "link override"
604
+ )
605
+ this.state.linkOverrides.set(
606
+ key,
607
+ structuredClone({
608
+ projectId,
609
+ ref: item.ref,
610
+ value: item.value,
611
+ lastCommitId: item.lastCommitId,
612
+ updatedAt: item.updatedAt,
613
+ })
614
+ )
615
+ })
616
+ for (const item of input.chunk.overrides.linkDeletes)
617
+ write("override.link.delete", () => {
618
+ const key = projectEntityKey(projectId, linkRefKey(item.ref))
619
+ assertLastCommit(
620
+ this.state.linkOverrides.get(key),
621
+ item.expectedLastCommitId,
622
+ "link override"
623
+ )
624
+ this.state.linkOverrides.delete(key)
625
+ })
626
+
627
+ for (const item of input.chunk.effective.linkDeletes)
628
+ write("effective.link.delete", () => {
629
+ this.assertLinkSync(item.expected, projectId)
630
+ getInMemoryObjectMaterializerAdapter(this.objects).deleteExactLink({
631
+ projectId,
632
+ sourceTypeId: item.ref.source.objectTypeId,
633
+ sourceId: item.ref.source.primaryId,
634
+ linkId: item.ref.linkId,
635
+ targetTypeId: item.ref.target.objectTypeId,
636
+ targetId: item.ref.target.primaryId,
637
+ })
638
+ })
639
+ for (const item of input.chunk.effective.objectDeletes)
640
+ write("effective.object.delete", () => {
641
+ this.assertObjectSync(item.expected, projectId)
642
+ getInMemoryObjectMaterializerAdapter(this.objects).deleteExactObject(
643
+ projectId,
644
+ item.ref.objectTypeId,
645
+ item.ref.primaryId
646
+ )
647
+ })
648
+ for (const item of input.chunk.effective.objectUpserts)
649
+ write("effective.object.upsert", () => {
650
+ this.assertObjectSync(item.expected, projectId)
651
+ getInMemoryObjectMaterializerAdapter(this.objects).applyExactObject(item.row, projectId)
652
+ })
653
+ for (const item of input.chunk.effective.linkUpserts)
654
+ write("effective.link.upsert", () => {
655
+ this.assertLinkSync(item.expected, projectId)
656
+ getInMemoryObjectMaterializerAdapter(this.objects).applyExactLink(item.row, projectId)
657
+ })
658
+ for (const item of input.chunk.timeseries.pointUpserts)
659
+ write("timeseries.point.upsert", () => {
660
+ this.assertPoint(item.expected, projectId)
661
+ getInMemoryTimeseriesMaterializerAdapter(this.timeseries).applyExactPoint(
662
+ projectId,
663
+ item.point
664
+ )
665
+ })
666
+ for (const item of input.chunk.outbox)
667
+ write("outbox.insert", () => {
668
+ const envelope = item.envelope
669
+ if (envelope.projectId !== projectId || envelope.commitId !== session.header.commit.id) {
670
+ throw new MaterializationValidationError(
671
+ "Outbox event does not correlate with its materialization commit."
672
+ )
673
+ }
674
+ assertTimestamp(item.availableAt, "Outbox availableAt")
675
+ assertTimestamp(item.createdAt, "Outbox createdAt")
676
+ assertTimestamp(envelope.occurredAt, "Outbox event occurredAt")
677
+ const key = outboxKey(projectId, envelope.id)
678
+ if (this.state.outbox.has(key)) {
679
+ throw new MaterializationConflictError(
680
+ "effective-state",
681
+ `Duplicate outbox event '${envelope.id}'.`
682
+ )
683
+ }
684
+ if (session.outboxEnvelopes.has(envelope.commitOrdinal))
685
+ throw new MaterializationConflictError(
686
+ "effective-state",
687
+ "Duplicate outbox commit ordinal."
688
+ )
689
+ this.state.outbox.set(key, {
690
+ envelope: structuredClone(envelope),
691
+ availableAt: item.availableAt,
692
+ attempts: 0,
693
+ leaseId: null,
694
+ leaseExpiresAt: null,
695
+ publishedAt: null,
696
+ lastError: null,
697
+ createdAt: item.createdAt,
698
+ })
699
+ session.outboxEnvelopes.set(envelope.commitOrdinal, structuredClone(envelope))
700
+ })
701
+ for (const item of materializationPlanItems(input.chunk)) {
702
+ session.appliedPlanItems.push(stableJsonStringify(item))
703
+ }
704
+ }
705
+
706
+ async finalize(input: FinalizeMaterializationInput): Promise<ApplyMaterializationResult> {
707
+ const session = this.requireSession(input.session)
708
+ const { commit } = session.header
709
+ // Recheck reservations at the durable boundary: callers may open more than one session in the
710
+ // same transaction before either one finalizes.
711
+ this.assertCommitAbsent(session.header)
712
+ assertFinalizationCorrelations(session, input.finalization, this.state, this.objects)
713
+ this.hooks.beforeWrite?.("finalize", session.writeOrdinal++)
714
+ for (const activation of input.finalization.sourceActivations) {
715
+ this.hooks.beforeWrite?.("source.activate", session.writeOrdinal++)
716
+ assertTimestamp(activation.datasetVersion.createdAt, "Source dataset version createdAt")
717
+ assertTimestamp(activation.updatedAt, "Source activation updatedAt")
718
+ this.assertSource(activation.expected, commit.projectId)
719
+ const candidateKey = sourceMaterializationKey(
720
+ commit.projectId,
721
+ activation.source.projectionId,
722
+ activation.materializationId
723
+ )
724
+ const candidate = this.state.sourceMaterializations.get(candidateKey)
725
+ if (!candidate || candidate.status !== "ready")
726
+ throw new MaterializationConflictError(
727
+ "source-materialization",
728
+ "Source activation candidate is missing or is not ready."
729
+ )
730
+ const previous = findActiveSourceMaterialization(
731
+ this.state,
732
+ commit.projectId,
733
+ activation.source.projectionId
734
+ )
735
+ if (previous) {
736
+ this.state.sourceMaterializations.set(
737
+ sourceMaterializationKey(
738
+ previous.projectId,
739
+ previous.source.projectionId,
740
+ previous.materializationId
741
+ ),
742
+ {
743
+ ...previous,
744
+ status: "superseded",
745
+ executionToken: null,
746
+ terminalAt: activation.updatedAt,
747
+ updatedAt: activation.updatedAt,
748
+ }
749
+ )
750
+ }
751
+ this.state.sourceMaterializations.set(candidateKey, {
752
+ ...candidate,
753
+ status: "active",
754
+ executionToken: null,
755
+ activatedAt: activation.updatedAt,
756
+ lastCommitId: activation.lastCommitId,
757
+ updatedAt: activation.updatedAt,
758
+ })
759
+ }
760
+ const record = {
761
+ ...structuredClone(commit),
762
+ result: structuredClone(input.finalization.result),
763
+ } as OntologyCommitRecord
764
+ this.state.commitsById.set(commitKey(commit.projectId, commit.id), record)
765
+ this.state.commitIdByIdempotency.set(
766
+ idempotencyKey(commit.projectId, commit.idempotencyKey),
767
+ commit.id
768
+ )
769
+ const origin = ontologyCommitOriginSelector(commit.origin)
770
+ if (origin) {
771
+ this.state.commitIdByOrigin.set(commitOriginKey(commit.projectId, origin), commit.id)
772
+ }
773
+ this.releaseSession(session)
774
+ return { commit: structuredClone(record) }
775
+ }
776
+
777
+ private requireSession(session: MaterializationSession): SessionState {
778
+ const value = this.sessions.get(session.providerToken)
779
+ if (
780
+ !value ||
781
+ !value.active ||
782
+ !this.getTransactionToken() ||
783
+ this.getTransactionToken() !== value.transactionToken
784
+ ) {
785
+ throw new MaterializationConflictError(
786
+ "effective-state",
787
+ "Materialization session is inactive."
788
+ )
789
+ }
790
+ return value
791
+ }
792
+
793
+ private requireReplacement(
794
+ session: SessionState,
795
+ input: StreamSourceReplacementStateInput
796
+ ): ReplacementSessionState {
797
+ if (session.replacement) {
798
+ if (
799
+ session.replacement.sourceId !== input.source.projectionId ||
800
+ session.replacement.candidateMaterializationId !== input.candidateMaterializationId
801
+ ) {
802
+ throw new MaterializationConflictError(
803
+ "source-materialization",
804
+ "Materialization session already owns another replacement union."
805
+ )
806
+ }
807
+ return session.replacement
808
+ }
809
+ const projectId = session.header.commit.projectId
810
+ const sourceId = input.source.projectionId
811
+ const candidate = this.state.sourceMaterializations.get(
812
+ sourceMaterializationKey(projectId, sourceId, input.candidateMaterializationId)
813
+ )
814
+ if (!candidate || candidate.status !== "ready") {
815
+ throw new MaterializationConflictError(
816
+ "source-materialization",
817
+ `Candidate source materialization '${input.candidateMaterializationId}' is missing or is not ready.`
818
+ )
819
+ }
820
+ const previous = findActiveSourceMaterialization(this.state, projectId, sourceId)
821
+ if (
822
+ candidate.protocol !== "replacement" ||
823
+ (previous &&
824
+ (previous.protocol !== candidate.protocol ||
825
+ previous.projectionKind !== candidate.projectionKind))
826
+ ) {
827
+ throw new MaterializationConflictError(
828
+ "source-materialization",
829
+ "Source replacement kind or protocol does not match its active materialization."
830
+ )
831
+ }
832
+ const replacement: ReplacementSessionState = {
833
+ sourceId,
834
+ candidateMaterializationId: input.candidateMaterializationId,
835
+ previous,
836
+ candidate,
837
+ objects: new Map(),
838
+ links: new Map(),
839
+ orderedObjects: [],
840
+ orderedLinks: null,
841
+ affectedScopes: new Set(),
842
+ incidentObjects: new Map(),
843
+ objectStreamStarted: false,
844
+ objectStreamCompleted: false,
845
+ linkStreamStarted: false,
846
+ linkStreamCompleted: false,
847
+ linksExpanded: false,
848
+ }
849
+ for (const materialization of [previous, candidate]) {
850
+ if (!materialization) continue
851
+ for (const row of materialization.rowsByEntity.values()) {
852
+ if (row.assertion.kind === "object") {
853
+ const ref = row.assertion.ref
854
+ replacement.objects.set(objectRefKey(ref), { ref, sortKey: objectRefSortKey(ref) })
855
+ } else {
856
+ addReplacementLink(replacement, row.assertion.ref, true)
857
+ }
858
+ }
859
+ }
860
+ replacement.orderedObjects = [...replacement.objects.values()].sort((left, right) =>
861
+ left.sortKey.localeCompare(right.sortKey)
862
+ )
863
+ session.replacement = replacement
864
+ return replacement
865
+ }
866
+
867
+ private expandReplacementLinks(
868
+ session: SessionState,
869
+ replacement: ReplacementSessionState
870
+ ): void {
871
+ if (replacement.linksExpanded) return
872
+ const projectId = session.header.commit.projectId
873
+ const incident = replacement.incidentObjects
874
+ const touchesIncident = (ref: OntologyLinkRef): boolean =>
875
+ incident.has(objectRefKey(ref.source)) || incident.has(objectRefKey(ref.target))
876
+
877
+ const adapter = getInMemoryObjectMaterializerAdapter(this.objects)
878
+ adapter.visitExactLinks(projectId, (row) => {
879
+ const ref = linkRef(row)
880
+ if (touchesIncident(ref)) addReplacementLink(replacement, ref, true)
881
+ })
882
+ for (const override of this.state.linkOverrides.values()) {
883
+ if (override.projectId !== projectId) continue
884
+ if (touchesIncident(override.ref)) addReplacementLink(replacement, override.ref, true)
885
+ }
886
+ for (const active of this.state.sourceMaterializations.values()) {
887
+ if (active.projectId !== projectId || active.status !== "active") continue
888
+ for (const row of active.rowsByEntity.values()) {
889
+ if (row.assertion.kind === "link" && touchesIncident(row.assertion.ref)) {
890
+ addReplacementLink(replacement, row.assertion.ref, true)
891
+ }
892
+ }
893
+ }
894
+
895
+ adapter.visitExactLinks(projectId, (row) => {
896
+ const ref = linkRef(row)
897
+ if (replacement.affectedScopes.has(linkScopeSortKey(ref.source, ref.linkId))) {
898
+ addReplacementLink(replacement, ref, false)
899
+ }
900
+ })
901
+ replacement.linksExpanded = true
902
+ replacement.orderedLinks = null
903
+ }
904
+
905
+ private assertCommitAbsent(header: MaterializationPlanHeader): void {
906
+ if (this.state.commitsById.has(commitKey(header.commit.projectId, header.commit.id))) {
907
+ throw new MaterializationConflictError(
908
+ "idempotency",
909
+ `Ontology commit '${header.commit.id}' already exists.`
910
+ )
911
+ }
912
+ if (
913
+ this.state.commitIdByIdempotency.has(
914
+ idempotencyKey(header.commit.projectId, header.commit.idempotencyKey)
915
+ )
916
+ ) {
917
+ throw new MaterializationConflictError(
918
+ "idempotency",
919
+ "Ontology idempotency key already exists."
920
+ )
921
+ }
922
+ const origin = ontologyCommitOriginSelector(header.commit.origin)
923
+ if (
924
+ origin &&
925
+ this.state.commitIdByOrigin.has(commitOriginKey(header.commit.projectId, origin))
926
+ ) {
927
+ throw new MaterializationConflictError(
928
+ "run-correlation",
929
+ "Ontology commit origin already has an authoritative commit."
930
+ )
931
+ }
932
+ }
933
+
934
+ private assertSource(expected: ExpectedSourceRevision, projectId: string): void {
935
+ const current = findActiveSourceMaterialization(
936
+ this.state,
937
+ projectId,
938
+ expected.source.projectionId
939
+ )
940
+ if (
941
+ (current?.materializationId ?? null) !== expected.activeMaterializationId ||
942
+ (current?.lastCommitId ?? null) !== expected.lastCommitId
943
+ ) {
944
+ throw new MaterializationConflictError(
945
+ "projection-fence",
946
+ `Source '${expected.source.projectionId}' changed.`
947
+ )
948
+ }
949
+ }
950
+
951
+ private async assertObject(expected: ExpectedObjectRevision, projectId: string): Promise<void> {
952
+ this.assertObjectSync(expected, projectId)
953
+ }
954
+
955
+ private assertObjectSync(expected: ExpectedObjectRevision, projectId: string): void {
956
+ const row = getInMemoryObjectMaterializerAdapter(this.objects).getExactObjectRow(
957
+ projectId,
958
+ expected.ref.objectTypeId,
959
+ expected.ref.primaryId
960
+ )
961
+ if (!expected.exists) {
962
+ if (row)
963
+ throw new MaterializationConflictError(
964
+ "effective-state",
965
+ `Expected object ${objectRefKey(expected.ref)} to be absent.`
966
+ )
967
+ return
968
+ }
969
+ if (!row || row.version !== expected.version || row.lastCommitId !== expected.lastCommitId) {
970
+ throw new MaterializationConflictError(
971
+ "effective-state",
972
+ `Expected object ${objectRefKey(expected.ref)} changed.`
973
+ )
974
+ }
975
+ }
976
+
977
+ private async assertLink(expected: ExpectedLinkRevision, projectId: string): Promise<void> {
978
+ this.assertLinkSync(expected, projectId)
979
+ }
980
+
981
+ private assertLinkSync(expected: ExpectedLinkRevision, projectId: string): void {
982
+ const row = getInMemoryObjectMaterializerAdapter(this.objects).getExactLinkRow(projectId, {
983
+ sourceTypeId: expected.ref.source.objectTypeId,
984
+ sourceId: expected.ref.source.primaryId,
985
+ linkId: expected.ref.linkId,
986
+ targetTypeId: expected.ref.target.objectTypeId,
987
+ targetId: expected.ref.target.primaryId,
988
+ })
989
+ if (!expected.exists) {
990
+ if (row)
991
+ throw new MaterializationConflictError(
992
+ "effective-state",
993
+ `Expected link ${linkRefKey(expected.ref)} to be absent.`
994
+ )
995
+ return
996
+ }
997
+ if (!row || row.lastCommitId !== expected.lastCommitId) {
998
+ throw new MaterializationConflictError(
999
+ "effective-state",
1000
+ `Expected link ${linkRefKey(expected.ref)} changed.`
1001
+ )
1002
+ }
1003
+ }
1004
+
1005
+ private assertPoint(expected: ExpectedTimeseriesPointRevision, projectId: string): void {
1006
+ const point = getInMemoryTimeseriesMaterializerAdapter(this.timeseries).getExactPoint(
1007
+ projectId,
1008
+ expected.series,
1009
+ expected.at
1010
+ )
1011
+ if ((point?.lastCommitId ?? null) !== expected.lastCommitId) {
1012
+ throw new MaterializationConflictError(
1013
+ "timeseries-point",
1014
+ `Telemetry point ${telemetryPointKey(expected.series, expected.at)} changed.`
1015
+ )
1016
+ }
1017
+ }
1018
+
1019
+ private async objectState(
1020
+ session: SessionState,
1021
+ ref: OntologyObjectRef
1022
+ ): Promise<MaterializationObjectState> {
1023
+ const projectId = session.header.commit.projectId
1024
+ const row = await this.objects.getByPrimaryId({
1025
+ projectId,
1026
+ objectTypeId: ref.objectTypeId,
1027
+ primaryId: ref.primaryId,
1028
+ })
1029
+ return {
1030
+ ref: structuredClone(ref),
1031
+ source: this.findActiveObjectSource(projectId, ref),
1032
+ override: structuredClone(
1033
+ publicObjectOverride(
1034
+ this.state.objectOverrides.get(projectEntityKey(projectId, objectRefKey(ref)))
1035
+ )
1036
+ ),
1037
+ effective: row ? objectSnapshot(row) : null,
1038
+ latestTelemetry: getInMemoryTimeseriesMaterializerAdapter(this.timeseries)
1039
+ .listLatestForObject(projectId, ref.objectTypeId, ref.primaryId)
1040
+ .map(storedPoint),
1041
+ }
1042
+ }
1043
+
1044
+ private async linkState(
1045
+ session: SessionState,
1046
+ ref: OntologyLinkRef
1047
+ ): Promise<MaterializationLinkState> {
1048
+ const projectId = session.header.commit.projectId
1049
+ const row = getInMemoryObjectMaterializerAdapter(this.objects).getExactLinkRow(projectId, {
1050
+ sourceTypeId: ref.source.objectTypeId,
1051
+ sourceId: ref.source.primaryId,
1052
+ linkId: ref.linkId,
1053
+ targetTypeId: ref.target.objectTypeId,
1054
+ targetId: ref.target.primaryId,
1055
+ })
1056
+ return {
1057
+ ref: structuredClone(ref),
1058
+ source: this.findActiveLinkSource(projectId, ref),
1059
+ override: structuredClone(
1060
+ publicLinkOverride(
1061
+ this.state.linkOverrides.get(projectEntityKey(projectId, linkRefKey(ref)))
1062
+ )
1063
+ ),
1064
+ effective: row ? linkSnapshot(row) : null,
1065
+ }
1066
+ }
1067
+
1068
+ private linkScopeState(
1069
+ session: SessionState,
1070
+ source: OntologyObjectRef,
1071
+ linkId: string
1072
+ ): MaterializationLinkScopeState {
1073
+ session.linkScopeStates ??= new Map()
1074
+ const key = linkScopeSortKey(source, linkId)
1075
+ const existing = session.linkScopeStates.get(key)
1076
+ if (existing) return structuredClone(existing)
1077
+ const computed = this.computeLinkScopeState(session.header.commit.projectId, source, linkId)
1078
+ session.linkScopeStates.set(key, computed)
1079
+ return structuredClone(computed)
1080
+ }
1081
+
1082
+ private computeLinkScopeState(
1083
+ projectId: string,
1084
+ source: OntologyObjectRef,
1085
+ linkId: string
1086
+ ): MaterializationLinkScopeState {
1087
+ const rows: ObjectLinkRow[] = []
1088
+ getInMemoryObjectMaterializerAdapter(this.objects).visitExactScopeLinks(
1089
+ projectId,
1090
+ source.objectTypeId,
1091
+ source.primaryId,
1092
+ linkId,
1093
+ (row) => rows.push(row)
1094
+ )
1095
+ rows.sort((left, right) =>
1096
+ linkRefSortKey(linkRef(left)).localeCompare(linkRefSortKey(linkRef(right)))
1097
+ )
1098
+ const accumulator = startScopeAccumulator(source, linkId, linkScopeSortKey(source, linkId))
1099
+ for (let offset = 0; offset < rows.length; offset += 1_000) {
1100
+ const page = rows.slice(offset, offset + 1_000)
1101
+ this.hooks.observeBuffer?.("state.link-scope.page", page.length)
1102
+ for (const row of page) {
1103
+ appendScopeSnapshot(accumulator, linkSnapshot(row))
1104
+ }
1105
+ }
1106
+ return finishScopeAccumulator(accumulator)
1107
+ }
1108
+
1109
+ private findActiveObjectSource(
1110
+ projectId: string,
1111
+ ref: OntologyObjectRef
1112
+ ): StoredSourceObjectAssertion | null {
1113
+ const found = this.findActiveSource(projectId, projectionEntityKey({ kind: "object", ref }))
1114
+ return found?.assertion.kind === "object" ? (found as StoredSourceObjectAssertion) : null
1115
+ }
1116
+
1117
+ private findActiveLinkSource(
1118
+ projectId: string,
1119
+ ref: OntologyLinkRef
1120
+ ): StoredSourceLinkAssertion | null {
1121
+ const found = this.findActiveSource(projectId, projectionEntityKey({ kind: "link", ref }))
1122
+ return found?.assertion.kind === "link" ? (found as StoredSourceLinkAssertion) : null
1123
+ }
1124
+
1125
+ private findActiveSource(projectId: string, entityKey: string): StoredSourceAssertion | null {
1126
+ let found: StoredSourceAssertion | null = null
1127
+ for (const active of this.state.sourceMaterializations.values()) {
1128
+ if (active.projectId !== projectId || active.status !== "active") continue
1129
+ const row = active.rowsByEntity.get(entityKey)
1130
+ if (!row) continue
1131
+ if (found)
1132
+ throw new MaterializationConflictError(
1133
+ "source-materialization",
1134
+ `Multiple active sources assert ${entityKey}.`
1135
+ )
1136
+ found = storedSource(active.source.projectionId, active.materializationId, row)
1137
+ }
1138
+ return structuredClone(found)
1139
+ }
1140
+
1141
+ private incidentLinkRefs(
1142
+ session: SessionState,
1143
+ objects: readonly OntologyObjectRef[]
1144
+ ): readonly OntologyLinkRef[] {
1145
+ if (objects.length === 0) return []
1146
+ session.incidentLinksByObject ??= this.buildIncidentLinkIndex(session.header.commit.projectId)
1147
+ const selected = new Map<string, OntologyLinkRef>()
1148
+ for (const object of objects) {
1149
+ for (const ref of session.incidentLinksByObject.get(objectRefKey(object)) ?? []) {
1150
+ selected.set(linkRefSortKey(ref), ref)
1151
+ }
1152
+ }
1153
+ return [...selected.entries()]
1154
+ .sort(([left], [right]) => left.localeCompare(right))
1155
+ .map(([, ref]) => ref)
1156
+ }
1157
+
1158
+ private buildIncidentLinkIndex(projectId: string): Map<string, readonly OntologyLinkRef[]> {
1159
+ const mutable = new Map<string, Map<string, OntologyLinkRef>>()
1160
+ const consider = (ref: OntologyLinkRef): void => {
1161
+ const sortKey = linkRefSortKey(ref)
1162
+ for (const endpoint of [ref.source, ref.target]) {
1163
+ const key = objectRefKey(endpoint)
1164
+ const links = mutable.get(key) ?? new Map<string, OntologyLinkRef>()
1165
+ links.set(sortKey, structuredClone(ref))
1166
+ mutable.set(key, links)
1167
+ }
1168
+ }
1169
+ getInMemoryObjectMaterializerAdapter(this.objects).visitExactLinks(projectId, (row) =>
1170
+ consider(linkRef(row))
1171
+ )
1172
+ for (const override of this.state.linkOverrides.values()) {
1173
+ if (override.projectId === projectId) consider(override.ref)
1174
+ }
1175
+ for (const active of this.state.sourceMaterializations.values()) {
1176
+ if (active.projectId !== projectId || active.status !== "active") continue
1177
+ for (const row of active.rowsByEntity.values()) {
1178
+ if (row.assertion.kind === "link") consider(row.assertion.ref)
1179
+ }
1180
+ }
1181
+ const index = new Map<string, readonly OntologyLinkRef[]>()
1182
+ for (const [objectKey, refs] of mutable) {
1183
+ index.set(
1184
+ objectKey,
1185
+ [...refs.entries()]
1186
+ .sort(([left], [right]) => left.localeCompare(right))
1187
+ .map(([, ref]) => ref)
1188
+ )
1189
+ }
1190
+ return index
1191
+ }
1192
+ }