@sixb/core 0.1.15 → 0.1.17

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 (585) hide show
  1. package/dist/actions/index.js +25 -25
  2. package/dist/actions/types/context.d.ts +2 -2
  3. package/dist/actions/types/context.d.ts.map +1 -1
  4. package/dist/actions/worker.js +1 -1
  5. package/dist/agents/index.js +41 -40
  6. package/dist/agents/index.js.map +1 -1
  7. package/dist/auth/index.js +5 -5
  8. package/dist/authorization/index.js +2 -2
  9. package/dist/blob-storage/download-urls.d.ts +41 -0
  10. package/dist/blob-storage/download-urls.d.ts.map +1 -0
  11. package/dist/blob-storage/execution.d.ts +9 -1
  12. package/dist/blob-storage/execution.d.ts.map +1 -1
  13. package/dist/blob-storage/index.js +5 -3
  14. package/dist/blob-storage/index.js.map +1 -1
  15. package/dist/blob-storage/internal.d.ts +2 -0
  16. package/dist/blob-storage/internal.d.ts.map +1 -0
  17. package/dist/blob-storage/internal.js +11 -0
  18. package/dist/blob-storage/internal.js.map +9 -0
  19. package/dist/bootstrap/index.js +45 -44
  20. package/dist/bootstrap/index.js.map +1 -1
  21. package/dist/{chunk-wem5vqjw.js → chunk-10styjgk.js} +18 -13
  22. package/dist/{chunk-wem5vqjw.js.map → chunk-10styjgk.js.map} +3 -3
  23. package/dist/{chunk-hgqpcmyr.js → chunk-1hqwggsn.js} +47 -19
  24. package/dist/chunk-1hqwggsn.js.map +12 -0
  25. package/dist/{chunk-q3grgzp1.js → chunk-23xs4qp9.js} +2 -2
  26. package/dist/{chunk-vef6qa14.js → chunk-2am3db31.js} +2 -2
  27. package/dist/{chunk-fj1dvp37.js → chunk-2vhg6ysa.js} +1 -1
  28. package/dist/{chunk-p0nbkys4.js → chunk-33saed7g.js} +1 -1
  29. package/dist/{chunk-mdnw7nj8.js → chunk-3rrezgyc.js} +33 -8
  30. package/dist/chunk-3rrezgyc.js.map +15 -0
  31. package/dist/{chunk-jgwb25gc.js → chunk-4as3wt1c.js} +13 -5
  32. package/dist/chunk-4as3wt1c.js.map +12 -0
  33. package/dist/chunk-4ra628t7.js +88 -0
  34. package/dist/chunk-4ra628t7.js.map +10 -0
  35. package/dist/{chunk-mmac1mp6.js → chunk-52c5zb0z.js} +2 -2
  36. package/dist/{chunk-8fjmqjyx.js → chunk-5be2ath4.js} +1 -1
  37. package/dist/{chunk-2fv8sajb.js → chunk-5thzcb8g.js} +2 -2
  38. package/dist/{chunk-fjw417jf.js → chunk-5yd8cchh.js} +1143 -784
  39. package/dist/chunk-5yd8cchh.js.map +66 -0
  40. package/dist/{chunk-2tz5vnvz.js → chunk-6wbm6ymz.js} +235 -41
  41. package/dist/{chunk-2tz5vnvz.js.map → chunk-6wbm6ymz.js.map} +8 -6
  42. package/dist/{chunk-py2dw8cw.js → chunk-7ecp4v7a.js} +26 -19
  43. package/dist/chunk-7ecp4v7a.js.map +17 -0
  44. package/dist/{chunk-f85hpqnm.js → chunk-99nd4rc1.js} +3 -3
  45. package/dist/{chunk-f85hpqnm.js.map → chunk-99nd4rc1.js.map} +3 -3
  46. package/dist/{chunk-1jvq82rp.js → chunk-9g6jz9kk.js} +5 -5
  47. package/dist/{chunk-39tqv9hz.js → chunk-9se093qz.js} +5 -6
  48. package/dist/{chunk-39tqv9hz.js.map → chunk-9se093qz.js.map} +3 -4
  49. package/dist/{chunk-8w27xf9e.js → chunk-a7er86jd.js} +1 -1
  50. package/dist/{chunk-zdkcdshk.js → chunk-aq39q04r.js} +41 -3
  51. package/dist/{chunk-zdkcdshk.js.map → chunk-aq39q04r.js.map} +4 -3
  52. package/dist/chunk-b9affek3.js +261 -0
  53. package/dist/chunk-b9affek3.js.map +12 -0
  54. package/dist/{chunk-bxx3ms5t.js → chunk-c2rga5cx.js} +2 -2
  55. package/dist/{chunk-dsfw1bdr.js → chunk-cnb5kv05.js} +2 -2
  56. package/dist/chunk-d62kjtbg.js.map +2 -2
  57. package/dist/{chunk-dqkd3kdj.js → chunk-dam456ve.js} +234 -35
  58. package/dist/{chunk-dqkd3kdj.js.map → chunk-dam456ve.js.map} +7 -5
  59. package/dist/{chunk-n5t4mq6z.js → chunk-e67ynxcr.js} +3 -3
  60. package/dist/{chunk-xnx96gfy.js → chunk-ere85b8y.js} +17 -8
  61. package/dist/chunk-ere85b8y.js.map +15 -0
  62. package/dist/{chunk-k4kkp58d.js → chunk-ewqa58h9.js} +12 -2
  63. package/dist/chunk-ewqa58h9.js.map +11 -0
  64. package/dist/{chunk-6q7c68yx.js → chunk-f1xh7a32.js} +3 -3
  65. package/dist/{chunk-z708gemf.js → chunk-fggq3d9k.js} +450 -799
  66. package/dist/chunk-fggq3d9k.js.map +49 -0
  67. package/dist/{chunk-7jc21943.js → chunk-gf7yht60.js} +4 -4
  68. package/dist/chunk-h8teetr0.js +9 -0
  69. package/dist/chunk-h8teetr0.js.map +10 -0
  70. package/dist/chunk-hn2r7z41.js.map +1 -1
  71. package/dist/{chunk-ffwvdgk1.js → chunk-jjrn5v0p.js} +1 -1
  72. package/dist/{chunk-r5sc1d2b.js → chunk-jnfxmr3f.js} +1 -1
  73. package/dist/{chunk-y0zmae99.js → chunk-k4g51s47.js} +3 -3
  74. package/dist/{chunk-a0073121.js → chunk-kpx7jrmn.js} +3 -1
  75. package/dist/chunk-kpx7jrmn.js.map +12 -0
  76. package/dist/{chunk-p1683c0v.js → chunk-kyjcwqz6.js} +5 -2
  77. package/dist/{chunk-p1683c0v.js.map → chunk-kyjcwqz6.js.map} +3 -3
  78. package/dist/{chunk-3c90jvfj.js → chunk-pja9jfz6.js} +742 -583
  79. package/dist/chunk-pja9jfz6.js.map +19 -0
  80. package/dist/chunk-pqajwytd.js.map +1 -1
  81. package/dist/{chunk-mr60an99.js → chunk-qczk96d9.js} +22 -2
  82. package/dist/{chunk-mr60an99.js.map → chunk-qczk96d9.js.map} +3 -3
  83. package/dist/{chunk-s3csryxe.js → chunk-rj69qcrd.js} +8 -2
  84. package/dist/chunk-rj69qcrd.js.map +11 -0
  85. package/dist/{chunk-d8yes9yx.js → chunk-rpxz486p.js} +32 -5
  86. package/dist/{chunk-d8yes9yx.js.map → chunk-rpxz486p.js.map} +4 -4
  87. package/dist/{chunk-drz59ve0.js → chunk-rx7h5fdx.js} +1 -1
  88. package/dist/{chunk-ky7zpbtt.js → chunk-s7ftxrdr.js} +106 -8
  89. package/dist/chunk-s7ftxrdr.js.map +22 -0
  90. package/dist/{chunk-yfppyaty.js → chunk-sk0hcjsz.js} +1 -1
  91. package/dist/{chunk-qne45xqq.js → chunk-svabwqdq.js} +2 -2
  92. package/dist/{chunk-xr7y35yj.js → chunk-t9shqx3w.js} +2 -2
  93. package/dist/{chunk-4jph1t3v.js → chunk-tjjgy3z4.js} +27 -24
  94. package/dist/{chunk-4jph1t3v.js.map → chunk-tjjgy3z4.js.map} +4 -4
  95. package/dist/{chunk-ex8s8wsk.js → chunk-vp3z1ckh.js} +42 -10
  96. package/dist/{chunk-ex8s8wsk.js.map → chunk-vp3z1ckh.js.map} +7 -6
  97. package/dist/{chunk-adbve9zt.js → chunk-vre348sb.js} +2 -2
  98. package/dist/{chunk-a4g5yjm0.js → chunk-w9yycd3t.js} +1 -1
  99. package/dist/{chunk-g4rbm4a6.js → chunk-wt4szfec.js} +379 -331
  100. package/dist/chunk-wt4szfec.js.map +14 -0
  101. package/dist/{chunk-wd34wnsy.js → chunk-xcy5ddha.js} +6 -6
  102. package/dist/{chunk-3nx8vj5a.js → chunk-xyvy73tj.js} +5 -3
  103. package/dist/chunk-xyvy73tj.js.map +12 -0
  104. package/dist/datasets/write.js +1 -1
  105. package/dist/execution/agent.js +38 -37
  106. package/dist/execution/agent.js.map +1 -1
  107. package/dist/execution/authorized-object-reader.d.ts +3 -1
  108. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  109. package/dist/execution/primitive.js +36 -35
  110. package/dist/execution/primitive.js.map +2 -2
  111. package/dist/execution/request.js +37 -36
  112. package/dist/execution/request.js.map +2 -2
  113. package/dist/index.d.ts +8 -4
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +62 -59
  116. package/dist/index.js.map +1 -1
  117. package/dist/lake-storage/in-memory.d.ts +5 -1
  118. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  119. package/dist/lake-storage/index.d.ts +1 -1
  120. package/dist/lake-storage/index.d.ts.map +1 -1
  121. package/dist/lake-storage/index.js +2 -2
  122. package/dist/lake-storage/types.d.ts +26 -0
  123. package/dist/lake-storage/types.d.ts.map +1 -1
  124. package/dist/maintenance/ontology-maintenance.d.ts +5 -1
  125. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  126. package/dist/maintenance/types.d.ts +1 -4
  127. package/dist/maintenance/types.d.ts.map +1 -1
  128. package/dist/materialization/event-envelopes.d.ts +20 -0
  129. package/dist/materialization/event-envelopes.d.ts.map +1 -0
  130. package/dist/materialization/events.d.ts +29 -3
  131. package/dist/materialization/events.d.ts.map +1 -1
  132. package/dist/materialization/index.d.ts +4 -1
  133. package/dist/materialization/index.d.ts.map +1 -1
  134. package/dist/materialization/index.js +9 -3
  135. package/dist/materialization/index.js.map +1 -1
  136. package/dist/materializer/edits/plan.d.ts +2 -10
  137. package/dist/materializer/edits/plan.d.ts.map +1 -1
  138. package/dist/materializer/effective/build-events.d.ts +5 -21
  139. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  140. package/dist/materializer/effective/vector-indexing.d.ts +2 -3
  141. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -1
  142. package/dist/materializer/effective/vectors.d.ts +2 -3
  143. package/dist/materializer/effective/vectors.d.ts.map +1 -1
  144. package/dist/materializer/execution/scope.d.ts +1 -11
  145. package/dist/materializer/execution/scope.d.ts.map +1 -1
  146. package/dist/materializer/execution/work-executor.d.ts +5 -7
  147. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  148. package/dist/materializer/execution/work-records.d.ts +1 -3
  149. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  150. package/dist/materializer/index.js +31 -32
  151. package/dist/materializer/index.js.map +1 -1
  152. package/dist/materializer/projections/replace.d.ts.map +1 -1
  153. package/dist/materializer/projections/replacement-plan.d.ts +8 -11
  154. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  155. package/dist/materializer/shared/batching.d.ts +5 -0
  156. package/dist/materializer/shared/batching.d.ts.map +1 -1
  157. package/dist/materializer/telemetry/plan.d.ts +2 -8
  158. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  159. package/dist/models/audio/catalog.d.ts +20 -0
  160. package/dist/models/audio/catalog.d.ts.map +1 -0
  161. package/dist/models/audio/errors.d.ts +8 -0
  162. package/dist/models/audio/errors.d.ts.map +1 -0
  163. package/dist/models/audio/file.d.ts +9 -0
  164. package/dist/models/audio/file.d.ts.map +1 -0
  165. package/dist/models/audio/runtime.d.ts +8 -0
  166. package/dist/models/audio/runtime.d.ts.map +1 -0
  167. package/dist/models/audio/types.d.ts +60 -0
  168. package/dist/models/audio/types.d.ts.map +1 -0
  169. package/dist/models/catalog.d.ts +23 -1
  170. package/dist/models/catalog.d.ts.map +1 -1
  171. package/dist/models/definitions.d.ts +1 -1
  172. package/dist/models/definitions.d.ts.map +1 -1
  173. package/dist/models/embedding-model.d.ts +4 -0
  174. package/dist/models/embedding-model.d.ts.map +1 -1
  175. package/dist/models/events.d.ts +3 -0
  176. package/dist/models/events.d.ts.map +1 -1
  177. package/dist/models/execution/index.js +22 -22
  178. package/dist/models/execution/model-call-admission.d.ts +6 -1
  179. package/dist/models/execution/model-call-admission.d.ts.map +1 -1
  180. package/dist/models/execution/model-call-limits.d.ts.map +1 -1
  181. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  182. package/dist/models/execution/reranking.d.ts +4 -0
  183. package/dist/models/execution/reranking.d.ts.map +1 -0
  184. package/dist/models/execution/usage.d.ts.map +1 -1
  185. package/dist/models/execution.d.ts +2 -1
  186. package/dist/models/execution.d.ts.map +1 -1
  187. package/dist/models/generation-types.d.ts +2 -0
  188. package/dist/models/generation-types.d.ts.map +1 -1
  189. package/dist/models/index.d.ts +7 -1
  190. package/dist/models/index.d.ts.map +1 -1
  191. package/dist/models/index.js +7 -3
  192. package/dist/models/index.js.map +1 -1
  193. package/dist/models/pricing.d.ts +2 -2
  194. package/dist/models/pricing.d.ts.map +1 -1
  195. package/dist/models/reranking-model.d.ts +49 -0
  196. package/dist/models/reranking-model.d.ts.map +1 -0
  197. package/dist/objects/index.js +25 -25
  198. package/dist/objects/query/executor.d.ts +2 -1
  199. package/dist/objects/query/executor.d.ts.map +1 -1
  200. package/dist/objects/query/index.d.ts +1 -1
  201. package/dist/objects/query/index.d.ts.map +1 -1
  202. package/dist/objects/query/index.js +24 -24
  203. package/dist/objects/query/index.js.map +1 -1
  204. package/dist/objects/query/ir.d.ts +8 -1
  205. package/dist/objects/query/ir.d.ts.map +1 -1
  206. package/dist/objects/query/normalize.d.ts.map +1 -1
  207. package/dist/objects/query/planner.d.ts +1 -1
  208. package/dist/objects/query/planner.d.ts.map +1 -1
  209. package/dist/objects/query/primary-id.d.ts +7 -0
  210. package/dist/objects/query/primary-id.d.ts.map +1 -0
  211. package/dist/objects/query/reranking-executor.d.ts +13 -0
  212. package/dist/objects/query/reranking-executor.d.ts.map +1 -0
  213. package/dist/objects/query/reranking-limits.d.ts +3 -0
  214. package/dist/objects/query/reranking-limits.d.ts.map +1 -0
  215. package/dist/objects/query/reranking-query.d.ts +4 -0
  216. package/dist/objects/query/reranking-query.d.ts.map +1 -0
  217. package/dist/objects/query/validate.d.ts.map +1 -1
  218. package/dist/objects/sdk/query-builder.d.ts +8 -0
  219. package/dist/objects/sdk/query-builder.d.ts.map +1 -1
  220. package/dist/objects/sdk/query-executor.d.ts +2 -2
  221. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  222. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  223. package/dist/objects/vectors/indexing-dispatch.d.ts +21 -0
  224. package/dist/objects/vectors/indexing-dispatch.d.ts.map +1 -0
  225. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -1
  226. package/dist/objects/vectors/profile.d.ts.map +1 -1
  227. package/dist/objects/vectors/query.d.ts +1 -1
  228. package/dist/objects/vectors/query.d.ts.map +1 -1
  229. package/dist/objects/vectors/resolve-query.d.ts.map +1 -1
  230. package/dist/objects/vectors/types.d.ts +1 -1
  231. package/dist/objects/vectors/types.d.ts.map +1 -1
  232. package/dist/ontology/builders.d.ts +13 -4
  233. package/dist/ontology/builders.d.ts.map +1 -1
  234. package/dist/ontology/index.d.ts +1 -1
  235. package/dist/ontology/index.d.ts.map +1 -1
  236. package/dist/ontology/index.js +3 -3
  237. package/dist/ontology/internal.js +2 -2
  238. package/dist/ontology/query-capabilities.d.ts +1 -0
  239. package/dist/ontology/query-capabilities.d.ts.map +1 -1
  240. package/dist/ontology/types.d.ts +20 -0
  241. package/dist/ontology/types.d.ts.map +1 -1
  242. package/dist/ontology/validation/query.d.ts.map +1 -1
  243. package/dist/ontology/vector-profiles.d.ts.map +1 -1
  244. package/dist/pipelines/index.js +23 -23
  245. package/dist/projections/internal.js +22 -22
  246. package/dist/query.d.ts +4 -2
  247. package/dist/query.d.ts.map +1 -1
  248. package/dist/query.js +2 -2
  249. package/dist/queues/in-memory.d.ts +3 -0
  250. package/dist/queues/in-memory.d.ts.map +1 -1
  251. package/dist/queues/index.js +1 -1
  252. package/dist/queues/types.d.ts +4 -0
  253. package/dist/queues/types.d.ts.map +1 -1
  254. package/dist/runtime/host.d.ts +1 -0
  255. package/dist/runtime/host.d.ts.map +1 -1
  256. package/dist/runtime/index.d.ts +1 -1
  257. package/dist/runtime/index.d.ts.map +1 -1
  258. package/dist/runtime/internal.d.ts +1 -0
  259. package/dist/runtime/internal.d.ts.map +1 -1
  260. package/dist/runtime/internal.js +28 -26
  261. package/dist/runtime/internal.js.map +1 -1
  262. package/dist/runtime/public-origin.d.ts +10 -0
  263. package/dist/runtime/public-origin.d.ts.map +1 -0
  264. package/dist/runtime/sixb.d.ts +1 -0
  265. package/dist/runtime/sixb.d.ts.map +1 -1
  266. package/dist/runtime/types.d.ts +12 -2
  267. package/dist/runtime/types.d.ts.map +1 -1
  268. package/dist/sandboxes/index.js +5 -5
  269. package/dist/shares/internal.js +19 -19
  270. package/dist/storage/agents/provider.js +2 -2
  271. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  272. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  273. package/dist/storage/ai-cost/provider.js +3 -3
  274. package/dist/storage/ai-cost/types.d.ts +1 -1
  275. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  276. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  277. package/dist/storage/ai-limits/enforcement.js +2 -2
  278. package/dist/storage/ai-limits/in-memory.d.ts.map +1 -1
  279. package/dist/storage/ai-limits/provider.d.ts +7 -2
  280. package/dist/storage/ai-limits/provider.d.ts.map +1 -1
  281. package/dist/storage/ai-limits/provider.js +4 -2
  282. package/dist/storage/ai-limits/provider.js.map +1 -1
  283. package/dist/storage/ai-limits/types.d.ts +3 -0
  284. package/dist/storage/ai-limits/types.d.ts.map +1 -1
  285. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  286. package/dist/storage/ai-usage/types.d.ts +8 -4
  287. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  288. package/dist/storage/ai-usage/usage.d.ts.map +1 -1
  289. package/dist/storage/file-download-grants/in-memory.d.ts +11 -0
  290. package/dist/storage/file-download-grants/in-memory.d.ts.map +1 -0
  291. package/dist/storage/file-download-grants/index.d.ts +3 -0
  292. package/dist/storage/file-download-grants/index.d.ts.map +1 -0
  293. package/dist/storage/file-download-grants/record.d.ts +11 -0
  294. package/dist/storage/file-download-grants/record.d.ts.map +1 -0
  295. package/dist/storage/file-download-grants/types.d.ts +44 -0
  296. package/dist/storage/file-download-grants/types.d.ts.map +1 -0
  297. package/dist/storage/file-upload-sessions/provider.js +6 -6
  298. package/dist/storage/in-memory/index.d.ts +4 -0
  299. package/dist/storage/in-memory/index.d.ts.map +1 -1
  300. package/dist/storage/index.d.ts +5 -3
  301. package/dist/storage/index.d.ts.map +1 -1
  302. package/dist/storage/index.js +30 -30
  303. package/dist/storage/index.js.map +1 -1
  304. package/dist/storage/internal.d.ts +1 -0
  305. package/dist/storage/internal.d.ts.map +1 -1
  306. package/dist/storage/internal.js +8 -4
  307. package/dist/storage/internal.js.map +1 -1
  308. package/dist/storage/migrations/index.d.ts +1 -1
  309. package/dist/storage/migrations/index.d.ts.map +1 -1
  310. package/dist/storage/migrations/migrate-storage.d.ts +3 -3
  311. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
  312. package/dist/storage/migrations/types.d.ts +7 -0
  313. package/dist/storage/migrations/types.d.ts.map +1 -1
  314. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  315. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  316. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  317. package/dist/storage/objects/query-preparation.d.ts +39 -0
  318. package/dist/storage/objects/query-preparation.d.ts.map +1 -0
  319. package/dist/storage/objects/types.d.ts +2 -0
  320. package/dist/storage/objects/types.d.ts.map +1 -1
  321. package/dist/storage/ontology/commits.d.ts +1 -6
  322. package/dist/storage/ontology/commits.d.ts.map +1 -1
  323. package/dist/storage/ontology/in-memory/index.d.ts +4 -2
  324. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  325. package/dist/storage/ontology/in-memory/materializations-state.d.ts +0 -2
  326. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  327. package/dist/storage/ontology/in-memory/materializations-work.d.ts +1 -3
  328. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
  329. package/dist/storage/ontology/in-memory/materializations.d.ts +23 -57
  330. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  331. package/dist/storage/ontology/in-memory/outbox.d.ts +3 -2
  332. package/dist/storage/ontology/in-memory/outbox.d.ts.map +1 -1
  333. package/dist/storage/ontology/in-memory/replacement-plans.d.ts +104 -0
  334. package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -0
  335. package/dist/storage/ontology/in-memory/shared-state.d.ts +17 -2
  336. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  337. package/dist/storage/ontology/in-memory/source-roots.d.ts +3 -1
  338. package/dist/storage/ontology/in-memory/source-roots.d.ts.map +1 -1
  339. package/dist/storage/ontology/in-memory/sources.d.ts +1 -2
  340. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  341. package/dist/storage/ontology/in-memory/state-reader.d.ts +25 -0
  342. package/dist/storage/ontology/in-memory/state-reader.d.ts.map +1 -0
  343. package/dist/storage/ontology/index.d.ts +6 -3
  344. package/dist/storage/ontology/index.d.ts.map +1 -1
  345. package/dist/storage/ontology/materializations.d.ts +40 -59
  346. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  347. package/dist/storage/ontology/outbox.d.ts +4 -6
  348. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  349. package/dist/storage/ontology/provider-work.d.ts +114 -3
  350. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  351. package/dist/storage/ontology/provider.d.ts +14 -39
  352. package/dist/storage/ontology/provider.d.ts.map +1 -1
  353. package/dist/storage/ontology/provider.js +26 -12
  354. package/dist/storage/ontology/provider.js.map +1 -1
  355. package/dist/storage/ontology/replacement-plans.d.ts +103 -0
  356. package/dist/storage/ontology/replacement-plans.d.ts.map +1 -0
  357. package/dist/storage/ontology/sources.d.ts +0 -8
  358. package/dist/storage/ontology/sources.d.ts.map +1 -1
  359. package/dist/storage/operation-scope.d.ts.map +1 -1
  360. package/dist/storage/operation-scope.js +1 -1
  361. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  362. package/dist/storage/projection-runs/types.d.ts +2 -0
  363. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  364. package/dist/storage/types.d.ts +2 -0
  365. package/dist/storage/types.d.ts.map +1 -1
  366. package/dist/storage/workflow-runs/provider.js +6 -6
  367. package/dist/syncs/index.js +24 -24
  368. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  369. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
  370. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  371. package/dist/testing/file-download-grant-storage-contract.d.ts +9 -0
  372. package/dist/testing/file-download-grant-storage-contract.d.ts.map +1 -0
  373. package/dist/testing/index.d.ts +1 -0
  374. package/dist/testing/index.d.ts.map +1 -1
  375. package/dist/testing/index.js +2548 -1489
  376. package/dist/testing/index.js.map +14 -13
  377. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  378. package/dist/testing/materializer-storage-contract.d.ts +14 -0
  379. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  380. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  381. package/dist/testing/ontology-contract-fixture.d.ts +5 -1
  382. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  383. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  384. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  385. package/dist/testing/queues-contract.d.ts.map +1 -1
  386. package/dist/webhooks/internal.js +20 -20
  387. package/dist/workers/index.js +15 -17
  388. package/dist/workers/index.js.map +3 -3
  389. package/dist/workers/queue-worker.d.ts +3 -2
  390. package/dist/workers/queue-worker.d.ts.map +1 -1
  391. package/dist/workflows/index.js +42 -41
  392. package/dist/workflows/index.js.map +1 -1
  393. package/package.json +7 -1
  394. package/src/actions/types/context.ts +5 -2
  395. package/src/blob-storage/download-urls.ts +138 -0
  396. package/src/blob-storage/execution.ts +32 -1
  397. package/src/blob-storage/internal.ts +1 -0
  398. package/src/execution/authorized-object-reader.ts +8 -1
  399. package/src/index.ts +25 -0
  400. package/src/lake-storage/in-memory.ts +38 -9
  401. package/src/lake-storage/index.ts +2 -0
  402. package/src/lake-storage/types.ts +30 -0
  403. package/src/maintenance/ontology-maintenance.ts +50 -23
  404. package/src/maintenance/types.ts +1 -4
  405. package/src/materialization/event-envelopes.ts +168 -0
  406. package/src/materialization/events.ts +40 -4
  407. package/src/materialization/index.ts +9 -1
  408. package/src/materializer/README.md +55 -10
  409. package/src/materializer/edits/commit.ts +3 -19
  410. package/src/materializer/edits/plan.ts +20 -71
  411. package/src/materializer/effective/build-events.ts +42 -136
  412. package/src/materializer/effective/vector-indexing.ts +2 -3
  413. package/src/materializer/effective/vectors.ts +2 -3
  414. package/src/materializer/execution/scope.ts +1 -38
  415. package/src/materializer/execution/work-executor.ts +21 -115
  416. package/src/materializer/execution/work-records.ts +0 -15
  417. package/src/materializer/projections/replace.ts +106 -63
  418. package/src/materializer/projections/replacement-plan.ts +73 -218
  419. package/src/materializer/shared/batching.ts +7 -0
  420. package/src/materializer/telemetry/append.ts +2 -14
  421. package/src/materializer/telemetry/plan.ts +6 -43
  422. package/src/models/audio/catalog.ts +90 -0
  423. package/src/models/audio/errors.ts +19 -0
  424. package/src/models/audio/file.ts +78 -0
  425. package/src/models/audio/runtime.ts +182 -0
  426. package/src/models/audio/types.ts +69 -0
  427. package/src/models/catalog.ts +52 -5
  428. package/src/models/definitions.ts +8 -1
  429. package/src/models/embedding-model.ts +12 -0
  430. package/src/models/events.ts +3 -0
  431. package/src/models/execution/README.md +20 -1
  432. package/src/models/execution/embedding.ts +5 -1
  433. package/src/models/execution/model-call-admission.ts +6 -1
  434. package/src/models/execution/model-call-limits.ts +21 -11
  435. package/src/models/execution/model-call-recorder.ts +1 -0
  436. package/src/models/execution/model-call-recovery.ts +1 -0
  437. package/src/models/execution/reranking.ts +137 -0
  438. package/src/models/execution/usage.ts +1 -0
  439. package/src/models/execution.ts +5 -1
  440. package/src/models/generation-types.ts +2 -0
  441. package/src/models/index.ts +32 -0
  442. package/src/models/pricing.ts +2 -1
  443. package/src/models/reranking-model.ts +114 -0
  444. package/src/objects/query/executor.ts +42 -2
  445. package/src/objects/query/explain.ts +8 -0
  446. package/src/objects/query/index.ts +1 -0
  447. package/src/objects/query/ir.ts +10 -0
  448. package/src/objects/query/normalize.ts +2 -0
  449. package/src/objects/query/planner.ts +12 -1
  450. package/src/objects/query/primary-id.ts +56 -0
  451. package/src/objects/query/reranking-executor.ts +91 -0
  452. package/src/objects/query/reranking-limits.ts +3 -0
  453. package/src/objects/query/reranking-query.ts +8 -0
  454. package/src/objects/query/validate.ts +33 -10
  455. package/src/objects/sdk/query-builder.ts +15 -2
  456. package/src/objects/sdk/query-executor.ts +2 -2
  457. package/src/objects/sdk/runtime-query-executor.ts +7 -4
  458. package/src/objects/vectors/README.md +14 -2
  459. package/src/objects/vectors/handle.ts +1 -1
  460. package/src/objects/vectors/indexing-dispatch.ts +83 -0
  461. package/src/objects/vectors/indexing-generate.ts +5 -1
  462. package/src/objects/vectors/profile.ts +2 -0
  463. package/src/objects/vectors/query.ts +21 -4
  464. package/src/objects/vectors/resolve-query.ts +9 -5
  465. package/src/objects/vectors/types.ts +3 -1
  466. package/src/ontology/builders.ts +22 -7
  467. package/src/ontology/index.ts +2 -0
  468. package/src/ontology/query-capabilities.ts +1 -1
  469. package/src/ontology/types.ts +21 -0
  470. package/src/ontology/validation/query.ts +57 -0
  471. package/src/ontology/vector-profiles.ts +1 -0
  472. package/src/query.ts +4 -0
  473. package/src/queues/in-memory.ts +54 -19
  474. package/src/queues/types.ts +4 -0
  475. package/src/runtime/host.ts +28 -1
  476. package/src/runtime/index.ts +1 -0
  477. package/src/runtime/internal.ts +1 -0
  478. package/src/runtime/public-origin.ts +33 -0
  479. package/src/runtime/sixb.ts +13 -2
  480. package/src/runtime/types.ts +12 -2
  481. package/src/storage/ai-cost/analytics.ts +2 -0
  482. package/src/storage/ai-cost/codec.ts +2 -1
  483. package/src/storage/ai-cost/types.ts +1 -0
  484. package/src/storage/ai-cost/validation.ts +21 -8
  485. package/src/storage/ai-limits/in-memory.ts +10 -2
  486. package/src/storage/ai-limits/provider.ts +29 -2
  487. package/src/storage/ai-limits/types.ts +3 -0
  488. package/src/storage/ai-usage/record.ts +9 -0
  489. package/src/storage/ai-usage/types.ts +8 -4
  490. package/src/storage/ai-usage/usage.ts +2 -0
  491. package/src/storage/file-download-grants/in-memory.ts +73 -0
  492. package/src/storage/file-download-grants/index.ts +8 -0
  493. package/src/storage/file-download-grants/record.ts +47 -0
  494. package/src/storage/file-download-grants/types.ts +48 -0
  495. package/src/storage/in-memory/index.ts +13 -2
  496. package/src/storage/index.ts +31 -13
  497. package/src/storage/internal.ts +1 -0
  498. package/src/storage/migrations/index.ts +1 -0
  499. package/src/storage/migrations/migrate-storage.ts +36 -12
  500. package/src/storage/migrations/types.ts +8 -0
  501. package/src/storage/objects/in-memory/query.ts +2 -0
  502. package/src/storage/objects/in-memory/selected-reader.ts +1 -0
  503. package/src/storage/objects/in-memory/storage.ts +1 -0
  504. package/src/storage/objects/query-preparation.ts +77 -0
  505. package/src/storage/objects/types.ts +2 -0
  506. package/src/storage/ontology/commits.ts +1 -6
  507. package/src/storage/ontology/in-memory/index.ts +28 -9
  508. package/src/storage/ontology/in-memory/materializations-finalization.ts +35 -68
  509. package/src/storage/ontology/in-memory/materializations-state.ts +0 -22
  510. package/src/storage/ontology/in-memory/materializations-work.ts +0 -45
  511. package/src/storage/ontology/in-memory/materializations.ts +172 -653
  512. package/src/storage/ontology/in-memory/outbox.ts +37 -29
  513. package/src/storage/ontology/in-memory/replacement-plans.ts +697 -0
  514. package/src/storage/ontology/in-memory/shared-state.ts +24 -2
  515. package/src/storage/ontology/in-memory/source-roots.ts +7 -2
  516. package/src/storage/ontology/in-memory/sources.ts +7 -33
  517. package/src/storage/ontology/in-memory/state-reader.ts +245 -0
  518. package/src/storage/ontology/index.ts +19 -13
  519. package/src/storage/ontology/materializations.ts +45 -74
  520. package/src/storage/ontology/outbox.ts +4 -7
  521. package/src/storage/ontology/provider-header-validation.ts +0 -57
  522. package/src/storage/ontology/provider-work.ts +381 -90
  523. package/src/storage/ontology/provider.ts +74 -171
  524. package/src/storage/ontology/replacement-plans.ts +117 -0
  525. package/src/storage/ontology/sources.ts +0 -12
  526. package/src/storage/operation-scope.ts +33 -1
  527. package/src/storage/projection-runs/in-memory.ts +7 -1
  528. package/src/storage/projection-runs/types.ts +2 -0
  529. package/src/storage/types.ts +2 -0
  530. package/src/testing/ai-cost-storage-contract.ts +1 -0
  531. package/src/testing/ai-limit-storage-contract.ts +62 -0
  532. package/src/testing/ai-usage-storage-contract.ts +31 -0
  533. package/src/testing/file-download-grant-storage-contract.ts +139 -0
  534. package/src/testing/index.ts +4 -0
  535. package/src/testing/lake-storage-contract.ts +87 -1
  536. package/src/testing/materializer-storage-contract.ts +1008 -1
  537. package/src/testing/object-read-scope-contract.ts +1 -0
  538. package/src/testing/ontology-contract-fixture.ts +11 -87
  539. package/src/testing/ontology-storage-contract.ts +70 -39
  540. package/src/testing/projection-run-storage-contract.ts +14 -0
  541. package/src/testing/queues-contract.ts +59 -0
  542. package/src/workers/queue-worker.ts +19 -16
  543. package/dist/chunk-3c90jvfj.js.map +0 -15
  544. package/dist/chunk-3nx8vj5a.js.map +0 -12
  545. package/dist/chunk-7ytf06d3.js +0 -113
  546. package/dist/chunk-7ytf06d3.js.map +0 -10
  547. package/dist/chunk-a0073121.js.map +0 -12
  548. package/dist/chunk-fjw417jf.js.map +0 -62
  549. package/dist/chunk-g4rbm4a6.js.map +0 -15
  550. package/dist/chunk-hgqpcmyr.js.map +0 -12
  551. package/dist/chunk-jgwb25gc.js.map +0 -12
  552. package/dist/chunk-k4kkp58d.js.map +0 -11
  553. package/dist/chunk-ky7zpbtt.js.map +0 -19
  554. package/dist/chunk-mdnw7nj8.js.map +0 -15
  555. package/dist/chunk-py2dw8cw.js.map +0 -17
  556. package/dist/chunk-s3csryxe.js.map +0 -11
  557. package/dist/chunk-xnx96gfy.js.map +0 -15
  558. package/dist/chunk-z708gemf.js.map +0 -50
  559. package/dist/materializer/execution/plan-stream.d.ts +0 -8
  560. package/dist/materializer/execution/plan-stream.d.ts.map +0 -1
  561. package/src/materializer/execution/plan-stream.ts +0 -121
  562. /package/dist/{chunk-q3grgzp1.js.map → chunk-23xs4qp9.js.map} +0 -0
  563. /package/dist/{chunk-vef6qa14.js.map → chunk-2am3db31.js.map} +0 -0
  564. /package/dist/{chunk-fj1dvp37.js.map → chunk-2vhg6ysa.js.map} +0 -0
  565. /package/dist/{chunk-p0nbkys4.js.map → chunk-33saed7g.js.map} +0 -0
  566. /package/dist/{chunk-mmac1mp6.js.map → chunk-52c5zb0z.js.map} +0 -0
  567. /package/dist/{chunk-8fjmqjyx.js.map → chunk-5be2ath4.js.map} +0 -0
  568. /package/dist/{chunk-2fv8sajb.js.map → chunk-5thzcb8g.js.map} +0 -0
  569. /package/dist/{chunk-1jvq82rp.js.map → chunk-9g6jz9kk.js.map} +0 -0
  570. /package/dist/{chunk-8w27xf9e.js.map → chunk-a7er86jd.js.map} +0 -0
  571. /package/dist/{chunk-bxx3ms5t.js.map → chunk-c2rga5cx.js.map} +0 -0
  572. /package/dist/{chunk-dsfw1bdr.js.map → chunk-cnb5kv05.js.map} +0 -0
  573. /package/dist/{chunk-n5t4mq6z.js.map → chunk-e67ynxcr.js.map} +0 -0
  574. /package/dist/{chunk-6q7c68yx.js.map → chunk-f1xh7a32.js.map} +0 -0
  575. /package/dist/{chunk-7jc21943.js.map → chunk-gf7yht60.js.map} +0 -0
  576. /package/dist/{chunk-ffwvdgk1.js.map → chunk-jjrn5v0p.js.map} +0 -0
  577. /package/dist/{chunk-r5sc1d2b.js.map → chunk-jnfxmr3f.js.map} +0 -0
  578. /package/dist/{chunk-y0zmae99.js.map → chunk-k4g51s47.js.map} +0 -0
  579. /package/dist/{chunk-drz59ve0.js.map → chunk-rx7h5fdx.js.map} +0 -0
  580. /package/dist/{chunk-yfppyaty.js.map → chunk-sk0hcjsz.js.map} +0 -0
  581. /package/dist/{chunk-qne45xqq.js.map → chunk-svabwqdq.js.map} +0 -0
  582. /package/dist/{chunk-xr7y35yj.js.map → chunk-t9shqx3w.js.map} +0 -0
  583. /package/dist/{chunk-adbve9zt.js.map → chunk-vre348sb.js.map} +0 -0
  584. /package/dist/{chunk-a4g5yjm0.js.map → chunk-w9yycd3t.js.map} +0 -0
  585. /package/dist/{chunk-wd34wnsy.js.map → chunk-xcy5ddha.js.map} +0 -0
@@ -4,6 +4,7 @@ import type {
4
4
  OntologyMaterializationOrigin,
5
5
  ProjectionEntityRef,
6
6
  } from "../../../materialization/model"
7
+ import type { ExecutionRecord } from "../../executions/types"
7
8
  import type { OntologyCommitOriginSelector, OntologyCommitRecord } from "../commits"
8
9
  import type {
9
10
  MaterializationWorkRecord,
@@ -11,7 +12,7 @@ import type {
11
12
  StoredLinkSlotOverride,
12
13
  StoredObjectOverride,
13
14
  } from "../materializations"
14
- import type { OntologyOutboxRecord } from "../outbox"
15
+ import type { OntologyMaterializationEventDraft, OntologyOutboxRecord } from "../outbox"
15
16
  import type {
16
17
  OntologySourceRecord,
17
18
  StageSourceAssertion,
@@ -20,6 +21,7 @@ import type {
20
21
  } from "../sources"
21
22
  import type { VectorIndexingWork } from "../vector-indexing"
22
23
  import type { StoredObjectVector } from "../vectors"
24
+ import type { InMemoryCommitTouches, InMemoryReplacementPlan } from "./replacement-plans"
23
25
 
24
26
  export interface InMemorySourceRoot {
25
27
  readonly root: ProjectionEntityRef
@@ -67,7 +69,25 @@ export interface InMemoryOntologyState {
67
69
  readonly objectOverrides: Map<string, InMemoryStoredObjectOverride>
68
70
  readonly linkOverrides: Map<string, InMemoryStoredLinkOverride>
69
71
  readonly linkSlotOverrides: Map<string, InMemoryStoredLinkSlotOverride>
70
- readonly outbox: Map<string, OntologyOutboxRecord>
72
+ readonly outbox: Map<string, InMemoryOutboxRow>
73
+ readonly replacementPlans: Map<string, InMemoryReplacementPlan>
74
+ /** What each commit touched among the inputs plans read, keyed by its `commitsById` ordinal. */
75
+ readonly commitTouches: Map<number, InMemoryCommitTouches>
76
+ }
77
+
78
+ /** Reads one execution of the same storage, the record an ontology commit references. */
79
+ export type InMemoryExecutionReader = (
80
+ projectId: string,
81
+ executionId: string
82
+ ) => Promise<ExecutionRecord | null>
83
+
84
+ /** An outbox row as stored: the event's draft, rebuilt from its commit when claimed. */
85
+ export interface InMemoryOutboxRow extends Omit<OntologyOutboxRecord, "envelope"> {
86
+ readonly projectId: string
87
+ readonly id: string
88
+ readonly commitId: string
89
+ readonly commitOrdinal: number
90
+ readonly event: OntologyMaterializationEventDraft
71
91
  }
72
92
 
73
93
  /** @internal Test-only failure injection for the in-memory ontology provider. */
@@ -94,6 +114,8 @@ export function createInMemoryOntologyState(): InMemoryOntologyState {
94
114
  linkOverrides: new Map(),
95
115
  linkSlotOverrides: new Map(),
96
116
  outbox: new Map(),
117
+ replacementPlans: new Map(),
118
+ commitTouches: new Map(),
97
119
  }
98
120
  }
99
121
 
@@ -1,8 +1,9 @@
1
1
  import { MaterializationConflictError } from "../../../materialization/errors"
2
- import { linkScopeSortKey, projectionEntityKey } from "../../../materialization/refs"
2
+ import { linkRefKey, linkScopeSortKey, projectionEntityKey } from "../../../materialization/refs"
3
3
  import type { SourceActivationWrite } from "../materializations"
4
4
  import type { StoredSourceAssertion, StoredSourceLinkAssertion } from "../sources"
5
5
  import { storedSource } from "./materializations-state"
6
+ import type { InMemoryCommitTouches } from "./replacement-plans"
6
7
  import {
7
8
  type InMemoryOntologyState,
8
9
  type InMemorySourceMaterialization,
@@ -37,10 +38,12 @@ export function* previousSourceRows(
37
38
  }
38
39
  }
39
40
 
41
+ /** Activates the candidate's roots, touching each link a root it retires or activates asserts. */
40
42
  export function activateSourceRoots(
41
43
  state: InMemoryOntologyState,
42
44
  candidate: InMemorySourceMaterialization,
43
- activation: SourceActivationWrite
45
+ activation: SourceActivationWrite,
46
+ touches: InMemoryCommitTouches
44
47
  ): void {
45
48
  if (
46
49
  candidate.base &&
@@ -75,6 +78,7 @@ export function activateSourceRoots(
75
78
  sources.delete(candidate.source.projectionId)
76
79
  if (sources.size === 0) state.activeSourceRows.delete(indexKey)
77
80
  if (row.assertion.kind === "link") {
81
+ touches.links.add(linkRefKey(row.assertion.ref))
78
82
  const scopeKey = projectEntityKey(
79
83
  candidate.projectId,
80
84
  linkScopeSortKey(row.assertion.ref.source, row.assertion.ref.linkId)
@@ -104,6 +108,7 @@ export function activateSourceRoots(
104
108
  sources.set(candidate.source.projectionId, row)
105
109
  state.activeSourceRows.set(indexKey, sources)
106
110
  if (row.assertion.kind === "link") {
111
+ touches.links.add(linkRefKey(row.assertion.ref))
107
112
  const scopeKey = projectEntityKey(
108
113
  candidate.projectId,
109
114
  linkScopeSortKey(row.assertion.ref.source, row.assertion.ref.linkId)
@@ -33,8 +33,6 @@ import type {
33
33
  StageSourceAssertion,
34
34
  StageSourceRowsInput,
35
35
  StageSourceRowsResult,
36
- SummarizeTerminalSourceMaterializationsInput,
37
- TerminalSourceMaterializationSummary,
38
36
  } from "../sources"
39
37
  import { findActiveSourceMaterialization } from "./materializations-state"
40
38
  import {
@@ -338,30 +336,6 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
338
336
  return { rowsDeleted, materializationsDeleted }
339
337
  }
340
338
 
341
- async summarizeTerminal(
342
- input: SummarizeTerminalSourceMaterializationsInput
343
- ): Promise<TerminalSourceMaterializationSummary> {
344
- return this.runRootOperation(() => {
345
- assertNonblank(input.projectId, "Terminal source summary project id")
346
- let count = 0
347
- let oldestTerminalAt: string | null = null
348
- for (const materialization of this.state.sourceMaterializations.values()) {
349
- if (
350
- materialization.projectId !== input.projectId ||
351
- (materialization.status !== "superseded" && materialization.status !== "abandoned") ||
352
- materialization.terminalAt === null
353
- ) {
354
- continue
355
- }
356
- count += 1
357
- if (oldestTerminalAt === null || materialization.terminalAt < oldestTerminalAt) {
358
- oldestTerminalAt = materialization.terminalAt
359
- }
360
- }
361
- return { count, oldestTerminalAt }
362
- })
363
- }
364
-
365
339
  private async assertCurrentExecution(
366
340
  input:
367
341
  | BeginSourceMaterializationInput
@@ -446,14 +420,14 @@ export class InMemoryOntologySourceStorage implements OntologySourceStorage {
446
420
  terminalAt: abandonedAt,
447
421
  updatedAt: abandonedAt,
448
422
  }
449
- this.state.sourceMaterializations.set(
450
- sourceMaterializationKey(
451
- materialization.projectId,
452
- materialization.source.projectionId,
453
- materialization.materializationId
454
- ),
455
- abandoned
423
+ const key = sourceMaterializationKey(
424
+ materialization.projectId,
425
+ materialization.source.projectionId,
426
+ materialization.materializationId
456
427
  )
428
+ this.state.sourceMaterializations.set(key, abandoned)
429
+ // Nothing applies an abandoned candidate's plan.
430
+ this.state.replacementPlans.delete(key)
457
431
  return sourceMaterializationRecord(abandoned)
458
432
  }
459
433
 
@@ -0,0 +1,245 @@
1
+ import { MaterializationConflictError } from "../../../materialization/errors"
2
+ import type { OntologyLinkRef, OntologyObjectRef } from "../../../materialization/model"
3
+ import {
4
+ linkRefKey,
5
+ linkRefSortKey,
6
+ linkScopeKey,
7
+ linkScopeSortKey,
8
+ objectRefKey,
9
+ projectionEntityKey,
10
+ } from "../../../materialization/refs"
11
+ import {
12
+ getInMemoryObjectMaterializerAdapter,
13
+ type InMemoryObjectStorage,
14
+ } from "../../objects/in-memory"
15
+ import type { ObjectLinkRow } from "../../objects/types"
16
+ import {
17
+ getInMemoryTimeseriesMaterializerAdapter,
18
+ type InMemoryTimeseriesStorage,
19
+ } from "../../timeseries/store"
20
+ import type {
21
+ MaterializationLinkScopeRevision,
22
+ MaterializationLinkScopeState,
23
+ MaterializationLinkState,
24
+ MaterializationObjectState,
25
+ StoredTelemetryPoint,
26
+ } from "../materializations"
27
+ import { appendScopeSnapshot, finishScopeAccumulator, startScopeAccumulator } from "../provider"
28
+ import type {
29
+ StoredSourceAssertion,
30
+ StoredSourceLinkAssertion,
31
+ StoredSourceObjectAssertion,
32
+ } from "../sources"
33
+ import {
34
+ linkRef,
35
+ linkSnapshot,
36
+ objectSnapshot,
37
+ publicLinkOverride,
38
+ publicLinkSlotOverride,
39
+ publicObjectOverride,
40
+ storedPoint,
41
+ } from "./materializations-state"
42
+ import {
43
+ type InMemoryOntologyState,
44
+ type InMemoryOntologyStorageTestHooks,
45
+ projectEntityKey,
46
+ } from "./shared-state"
47
+
48
+ /** Reads one project's current ontology state for materialization sessions and plans. */
49
+ export class InMemoryMaterializationStateReader {
50
+ constructor(
51
+ private readonly state: InMemoryOntologyState,
52
+ private readonly objects: InMemoryObjectStorage,
53
+ private readonly timeseries: InMemoryTimeseriesStorage,
54
+ private readonly hooks: InMemoryOntologyStorageTestHooks = {}
55
+ ) {}
56
+
57
+ async objectState(
58
+ projectId: string,
59
+ ref: OntologyObjectRef
60
+ ): Promise<MaterializationObjectState> {
61
+ const row = await this.objects.getByPrimaryId({
62
+ projectId,
63
+ objectTypeId: ref.objectTypeId,
64
+ primaryId: ref.primaryId,
65
+ })
66
+ return {
67
+ ref: structuredClone(ref),
68
+ source: this.findActiveObjectSource(projectId, ref),
69
+ override: structuredClone(
70
+ publicObjectOverride(
71
+ this.state.objectOverrides.get(projectEntityKey(projectId, objectRefKey(ref)))
72
+ )
73
+ ),
74
+ effective: row ? objectSnapshot(row) : null,
75
+ latestTelemetry: getInMemoryTimeseriesMaterializerAdapter(this.timeseries)
76
+ .listLatestForObject(projectId, ref.objectTypeId, ref.primaryId)
77
+ .map(storedPoint),
78
+ }
79
+ }
80
+
81
+ latestTelemetry(projectId: string, ref: OntologyObjectRef): StoredTelemetryPoint[] {
82
+ return getInMemoryTimeseriesMaterializerAdapter(this.timeseries)
83
+ .listLatestForObject(projectId, ref.objectTypeId, ref.primaryId)
84
+ .map(storedPoint)
85
+ }
86
+
87
+ async linkState(projectId: string, ref: OntologyLinkRef): Promise<MaterializationLinkState> {
88
+ const row = getInMemoryObjectMaterializerAdapter(this.objects).getExactLinkRow(projectId, {
89
+ sourceTypeId: ref.source.objectTypeId,
90
+ sourceId: ref.source.primaryId,
91
+ linkId: ref.linkId,
92
+ targetTypeId: ref.target.objectTypeId,
93
+ targetId: ref.target.primaryId,
94
+ })
95
+ return {
96
+ ref: structuredClone(ref),
97
+ source: this.findActiveLinkSource(projectId, ref),
98
+ override: structuredClone(
99
+ publicLinkOverride(
100
+ this.state.linkOverrides.get(projectEntityKey(projectId, linkRefKey(ref)))
101
+ )
102
+ ),
103
+ slotOverride: structuredClone(
104
+ publicLinkSlotOverride(
105
+ this.state.linkSlotOverrides.get(
106
+ projectEntityKey(projectId, linkScopeKey(ref.source, ref.linkId))
107
+ )
108
+ )
109
+ ),
110
+ effective: row ? linkSnapshot(row) : null,
111
+ }
112
+ }
113
+
114
+ linkSlotState(
115
+ projectId: string,
116
+ source: OntologyObjectRef,
117
+ linkId: string
118
+ ): MaterializationLinkScopeState {
119
+ const value = this.effectiveLinkScope(projectId, source, linkId)
120
+ return {
121
+ ...value,
122
+ sourceAssertion: this.findActiveLinkScopeSource(projectId, source, linkId),
123
+ override: structuredClone(
124
+ publicLinkSlotOverride(
125
+ this.state.linkSlotOverrides.get(
126
+ projectEntityKey(projectId, linkScopeKey(source, linkId))
127
+ )
128
+ )
129
+ ),
130
+ }
131
+ }
132
+
133
+ effectiveLinkScope(
134
+ projectId: string,
135
+ source: OntologyObjectRef,
136
+ linkId: string
137
+ ): MaterializationLinkScopeRevision & Pick<MaterializationLinkScopeState, "effective"> {
138
+ const rows: ObjectLinkRow[] = []
139
+ getInMemoryObjectMaterializerAdapter(this.objects).visitExactScopeLinks(
140
+ projectId,
141
+ source.objectTypeId,
142
+ source.primaryId,
143
+ linkId,
144
+ (row) => rows.push(row)
145
+ )
146
+ rows.sort((left, right) =>
147
+ linkRefSortKey(linkRef(left)).localeCompare(linkRefSortKey(linkRef(right)))
148
+ )
149
+ const accumulator = startScopeAccumulator(source, linkId)
150
+ for (let offset = 0; offset < rows.length; offset += 1_000) {
151
+ const page = rows.slice(offset, offset + 1_000)
152
+ this.hooks.observeBuffer?.("state.link-scope.page", page.length)
153
+ for (const row of page) {
154
+ appendScopeSnapshot(accumulator, linkSnapshot(row))
155
+ }
156
+ }
157
+ const effective = rows.length === 1 ? linkSnapshot(rows[0]!) : null
158
+ return {
159
+ ...finishScopeAccumulator(accumulator),
160
+ effective,
161
+ }
162
+ }
163
+
164
+ findActiveLinkScopeSource(
165
+ projectId: string,
166
+ source: OntologyObjectRef,
167
+ linkId: string
168
+ ): StoredSourceLinkAssertion | null {
169
+ const rows = this.state.activeSourceLinkScopes.get(
170
+ projectEntityKey(projectId, linkScopeSortKey(source, linkId))
171
+ )
172
+ if (rows && rows.size > 1)
173
+ throw new MaterializationConflictError(
174
+ "source-materialization",
175
+ `Multiple active source links assert cardinality-one scope '${source.objectTypeId}.${linkId}'.`
176
+ )
177
+ return structuredClone(rows?.values().next().value ?? null)
178
+ }
179
+
180
+ findActiveObjectSource(
181
+ projectId: string,
182
+ ref: OntologyObjectRef
183
+ ): StoredSourceObjectAssertion | null {
184
+ const found = this.findActiveSource(projectId, projectionEntityKey({ kind: "object", ref }))
185
+ return found?.assertion.kind === "object" ? (found as StoredSourceObjectAssertion) : null
186
+ }
187
+
188
+ findActiveLinkSource(projectId: string, ref: OntologyLinkRef): StoredSourceLinkAssertion | null {
189
+ const found = this.findActiveSource(projectId, projectionEntityKey({ kind: "link", ref }))
190
+ return found?.assertion.kind === "link" ? (found as StoredSourceLinkAssertion) : null
191
+ }
192
+
193
+ findActiveSource(projectId: string, entityKey: string): StoredSourceAssertion | null {
194
+ const rows = this.state.activeSourceRows.get(projectEntityKey(projectId, entityKey))
195
+ if (rows && rows.size > 1)
196
+ throw new MaterializationConflictError(
197
+ "source-materialization",
198
+ `Multiple active sources assert ${entityKey}.`
199
+ )
200
+ return structuredClone(rows?.values().next().value ?? null)
201
+ }
202
+
203
+ incidentLinkIndex(projectId: string): Map<string, readonly OntologyLinkRef[]> {
204
+ const mutable = new Map<string, Map<string, OntologyLinkRef>>()
205
+ const consider = (ref: OntologyLinkRef): void => {
206
+ const sortKey = linkRefSortKey(ref)
207
+ for (const endpoint of [ref.source, ref.target]) {
208
+ const key = objectRefKey(endpoint)
209
+ const links = mutable.get(key) ?? new Map<string, OntologyLinkRef>()
210
+ links.set(sortKey, structuredClone(ref))
211
+ mutable.set(key, links)
212
+ }
213
+ }
214
+ getInMemoryObjectMaterializerAdapter(this.objects).visitExactLinks(projectId, (row) =>
215
+ consider(linkRef(row))
216
+ )
217
+ for (const override of this.state.linkOverrides.values()) {
218
+ if (override.projectId === projectId) consider(override.ref)
219
+ }
220
+ for (const override of this.state.linkSlotOverrides.values()) {
221
+ if (override.projectId !== projectId) continue
222
+ consider({
223
+ source: override.ref.source,
224
+ linkId: override.ref.linkId,
225
+ target: override.value.target,
226
+ })
227
+ }
228
+ for (const [scopeKey, rows] of this.state.activeSourceLinkScopes) {
229
+ if (JSON.parse(scopeKey)[0] !== projectId) continue
230
+ for (const row of rows.values()) {
231
+ if (row.assertion.kind === "link") consider(row.assertion.ref)
232
+ }
233
+ }
234
+ const index = new Map<string, readonly OntologyLinkRef[]>()
235
+ for (const [objectKey, refs] of mutable) {
236
+ index.set(
237
+ objectKey,
238
+ [...refs.entries()]
239
+ .sort(([left], [right]) => left.localeCompare(right))
240
+ .map(([, ref]) => ref)
241
+ )
242
+ }
243
+ return index
244
+ }
245
+ }
@@ -1,6 +1,7 @@
1
1
  import type { OntologyCommitStorage } from "./commits"
2
2
  import type { OntologyMaterializationStorage } from "./materializations"
3
3
  import type { OntologyOutboxStorage } from "./outbox"
4
+ import type { OntologyReplacementPlanStorage } from "./replacement-plans"
4
5
  import type { OntologySourceStorage } from "./sources"
5
6
  import type { OntologyVectorIndexingStorage } from "./vector-indexing"
6
7
  import type { OntologyVectorStorage } from "./vectors"
@@ -22,22 +23,20 @@ export type {
22
23
  TelemetryOntologyCommitIntent,
23
24
  } from "./commits"
24
25
  export type {
25
- ApplyMaterializationChunkInput,
26
+ AppliedMaterialization,
27
+ ApplyMaterializationInput,
26
28
  ApplyMaterializationResult,
27
29
  ExactEffectiveLinkDelete,
28
30
  ExactEffectiveLinkWrite,
29
31
  ExactEffectiveObjectDelete,
30
32
  ExactEffectiveObjectWrite,
31
- ExactEffectiveWrites,
32
33
  ExactLinkOverrideDelete,
33
34
  ExactLinkOverrideWrite,
34
35
  ExactLinkSlotOverrideDelete,
35
36
  ExactLinkSlotOverrideWrite,
36
37
  ExactObjectOverrideDelete,
37
38
  ExactObjectOverrideWrite,
38
- ExactOverrideWrites,
39
39
  ExactTimeseriesPointWrite,
40
- ExactTimeseriesWrites,
41
40
  ExpectedSourceRevision,
42
41
  ExpectedTimeseriesPointRevision,
43
42
  FinalizeMaterializationInput,
@@ -53,7 +52,6 @@ export type {
53
52
  MaterializationObjectExistence,
54
53
  MaterializationObjectExistenceWorkRecord,
55
54
  MaterializationObjectState,
56
- MaterializationPlanChunk,
57
55
  MaterializationPlanFinalization,
58
56
  MaterializationPlanHeader,
59
57
  MaterializationPlanWorkItem,
@@ -61,23 +59,21 @@ export type {
61
59
  MaterializationSession,
62
60
  MaterializationStatePage,
63
61
  MaterializationStateRequestChunk,
62
+ MaterializationVectorChange,
63
+ MaterializationVectorChangePage,
64
64
  MaterializationWorkEntityKind,
65
- MaterializationWorkPage,
66
65
  MaterializationWorkRecord,
67
66
  OntologyMaterializationStorage,
68
- ReadMaterializationObjectExistenceInput,
69
67
  SourceActivationWrite,
70
68
  SourceReplacementLinkState,
71
69
  SourceReplacementObjectState,
72
- SourceReplacementStatePage,
73
70
  StageMaterializationWorkInput,
74
71
  StoredLinkOverride,
75
72
  StoredLinkSlotOverride,
76
73
  StoredObjectOverride,
77
74
  StoredTelemetryPoint,
78
75
  StreamMaterializationStateInput,
79
- StreamMaterializationWorkInput,
80
- StreamSourceReplacementStateInput,
76
+ StreamMaterializationVectorChangesInput,
81
77
  } from "./materializations"
82
78
  export type {
83
79
  ClaimedOntologyOutboxRow,
@@ -90,12 +86,23 @@ export type {
90
86
  OntologyOutboxRecord,
91
87
  OntologyOutboxStorage,
92
88
  OntologyOutboxSummary,
93
- OntologyOutboxWrite,
94
89
  PurgePublishedOntologyOutboxInput,
95
90
  RescheduleOntologyOutboxLeaseInput,
96
91
  SummarizeOntologyOutboxInput,
97
92
  } from "./outbox"
98
93
  export { ONTOLOGY_OUTBOX_FAILURE_CODES } from "./outbox"
94
+ export type {
95
+ OntologyReplacementPlanStorage,
96
+ OpenedReplacementPlan,
97
+ OpenReplacementPlanInput,
98
+ PlannedReplacementIdentity,
99
+ PurgeReplacementPlansInput,
100
+ ReplacementPlanRef,
101
+ ReplacementPlanStatePage,
102
+ ReplacementPlanStatus,
103
+ StageReplacementPlanInput,
104
+ StreamReplacementPlanStateInput,
105
+ } from "./replacement-plans"
99
106
  export type {
100
107
  AbandonRunSourceMaterializationInput,
101
108
  AbandonSourceMaterializationCandidateInput,
@@ -120,8 +127,6 @@ export type {
120
127
  StoredSourceAssertion,
121
128
  StoredSourceLinkAssertion,
122
129
  StoredSourceObjectAssertion,
123
- SummarizeTerminalSourceMaterializationsInput,
124
- TerminalSourceMaterializationSummary,
125
130
  } from "./sources"
126
131
 
127
132
  export type { ObjectVectorState, OntologyVectorStorage, StoredObjectVector } from "./vectors"
@@ -132,6 +137,7 @@ export interface OntologyStorage {
132
137
  readonly commits: OntologyCommitStorage
133
138
  readonly sources: OntologySourceStorage
134
139
  readonly materializations: OntologyMaterializationStorage
140
+ readonly replacementPlans: OntologyReplacementPlanStorage
135
141
  readonly outbox: OntologyOutboxStorage
136
142
  }
137
143