@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
@@ -1,16 +1,11 @@
1
1
  import type {
2
2
  EffectiveLinkChange,
3
3
  EffectiveObjectChange,
4
- OntologyMaterializationOrigin,
5
4
  TelemetryPointWrite,
6
5
  } from "../../materialization/model"
7
6
  import { linkRefSortKey, objectRefSortKey, telemetryPointSortKey } from "../../materialization/refs"
8
- import type {
9
- OntologyMaterializationEvent,
10
- OntologyMaterializationEventDraft,
11
- } from "../../storage/ontology"
12
- import type { MaterializerAttribution } from "../execution/scope"
13
- import { createEventId, materializationEventKindOrdinal } from "../shared/identity"
7
+ import type { OntologyMaterializationEventDraft } from "../../storage/ontology"
8
+ import { materializationEventKindOrdinal } from "../shared/identity"
14
9
 
15
10
  export interface OrderedMaterializationEventDraft {
16
11
  readonly kindRank: number
@@ -18,159 +13,83 @@ export interface OrderedMaterializationEventDraft {
18
13
  readonly draft: OntologyMaterializationEventDraft
19
14
  }
20
15
 
21
- export interface MaterializationEventDraftContext {
22
- readonly projectId: string
23
- readonly commitId: string
24
- readonly committedAt: string
25
- readonly correlationId: string
26
- readonly origin: OntologyMaterializationOrigin
27
- readonly attribution: MaterializerAttribution
28
- }
29
-
30
16
  export function buildObjectMaterializationEventDraft(
31
- input: MaterializationEventDraftContext & { readonly change: EffectiveObjectChange }
17
+ change: EffectiveObjectChange
32
18
  ): OrderedMaterializationEventDraft {
33
- const draft = buildObjectEventDraft(input, input.change)
34
- return orderedDraft(objectRefSortKey(input.change.ref), draft)
19
+ return orderedDraft(objectRefSortKey(change.ref), buildObjectEventDraft(change))
35
20
  }
36
21
 
37
- function buildObjectEventDraft(
38
- context: MaterializationEventDraftContext,
39
- change: EffectiveObjectChange
40
- ): OntologyMaterializationEventDraft {
41
- const base = eventDraftBase(context)
42
- const partitionKey = `${change.ref.objectTypeId}:${change.ref.primaryId}`
43
-
44
- if (change.kind === "deleted") {
45
- return {
46
- ...base,
47
- type: "object.deleted",
48
- topic: "objects",
49
- partitionKey,
50
- payload: {
51
- objectTypeId: change.ref.objectTypeId,
52
- primaryId: change.ref.primaryId,
53
- propertyChanges: change.propertyChanges,
54
- },
55
- }
56
- }
57
-
58
- const type = objectEventType(change)
59
- return {
60
- ...base,
61
- type,
62
- topic: "objects",
63
- partitionKey,
64
- payload: {
65
- objectTypeId: change.ref.objectTypeId,
66
- primaryId: change.ref.primaryId,
67
- properties: change.after.properties,
68
- propertyChanges: change.propertyChanges,
69
- },
22
+ function buildObjectEventDraft(change: EffectiveObjectChange): OntologyMaterializationEventDraft {
23
+ const identity = { objectTypeId: change.ref.objectTypeId, primaryId: change.ref.primaryId }
24
+ switch (change.kind) {
25
+ case "created":
26
+ return {
27
+ type: "object.created",
28
+ payload: { ...identity, properties: change.after.properties },
29
+ }
30
+ case "updated":
31
+ return {
32
+ type: "object.updated",
33
+ payload: {
34
+ ...identity,
35
+ properties: change.after.properties,
36
+ propertyChanges: change.propertyChanges,
37
+ },
38
+ }
39
+ case "deleted":
40
+ return {
41
+ type: "object.deleted",
42
+ payload: { ...identity, propertyChanges: change.propertyChanges },
43
+ }
70
44
  }
71
45
  }
72
46
 
73
- function objectEventType(
74
- change: Exclude<EffectiveObjectChange, { readonly kind: "deleted" }>
75
- ): "object.created" | "object.updated" {
76
- if (change.kind === "created") return "object.created"
77
- return "object.updated"
78
- }
79
-
80
47
  export function buildLinkMaterializationEventDraft(
81
- input: MaterializationEventDraftContext & { readonly change: EffectiveLinkChange }
48
+ change: EffectiveLinkChange
82
49
  ): OrderedMaterializationEventDraft {
83
- const draft = buildLinkEventDraft(input, input.change)
84
- return orderedDraft(linkRefSortKey(input.change.ref), draft)
50
+ return orderedDraft(linkRefSortKey(change.ref), buildLinkEventDraft(change))
85
51
  }
86
52
 
87
- function buildLinkEventDraft(
88
- context: MaterializationEventDraftContext,
89
- change: EffectiveLinkChange
90
- ): OntologyMaterializationEventDraft {
91
- const base = eventDraftBase(context)
92
- const partitionKey = `${change.ref.source.objectTypeId}:${change.ref.source.primaryId}:${change.ref.linkId}`
93
- const commonPayload = {
53
+ function buildLinkEventDraft(change: EffectiveLinkChange): OntologyMaterializationEventDraft {
54
+ const identity = {
94
55
  sourceTypeId: change.ref.source.objectTypeId,
95
56
  sourceId: change.ref.source.primaryId,
96
57
  linkId: change.ref.linkId,
97
58
  targetTypeId: change.ref.target.objectTypeId,
98
59
  targetId: change.ref.target.primaryId,
99
- propertyChanges: change.propertyChanges,
100
60
  }
101
-
102
61
  if (change.kind === "deleted") {
103
62
  return {
104
- ...base,
105
63
  type: "link.deleted",
106
- topic: "links",
107
- partitionKey,
108
- payload: commonPayload,
64
+ payload: { ...identity, propertyChanges: change.propertyChanges },
109
65
  }
110
66
  }
111
-
112
- const type = linkEventType(change)
113
- if (change.after.properties === undefined) {
114
- return { ...base, type, topic: "links", partitionKey, payload: commonPayload }
67
+ const properties =
68
+ change.after.properties === undefined ? {} : { properties: change.after.properties }
69
+ if (change.kind === "created") {
70
+ return { type: "link.created", payload: { ...identity, ...properties } }
115
71
  }
116
72
  return {
117
- ...base,
118
- type,
119
- topic: "links",
120
- partitionKey,
121
- payload: { ...commonPayload, properties: change.after.properties },
73
+ type: "link.updated",
74
+ payload: { ...identity, ...properties, propertyChanges: change.propertyChanges },
122
75
  }
123
76
  }
124
77
 
125
- function linkEventType(
126
- change: Exclude<EffectiveLinkChange, { readonly kind: "deleted" }>
127
- ): "link.created" | "link.updated" {
128
- if (change.kind === "created") return "link.created"
129
- return "link.updated"
130
- }
131
-
132
78
  export function buildTelemetryMaterializationEventDraft(
133
- input: MaterializationEventDraftContext & { readonly point: TelemetryPointWrite }
134
- ): OrderedMaterializationEventDraft {
135
- const draft = buildTelemetryEventDraft(input, input.point)
136
- return orderedDraft(telemetryPointSortKey(input.point.series, input.point.at), draft)
137
- }
138
-
139
- function buildTelemetryEventDraft(
140
- context: MaterializationEventDraftContext,
141
79
  point: TelemetryPointWrite
142
- ): OntologyMaterializationEventDraft {
143
- const base = eventDraftBase(context)
144
- const partitionKey = `${point.series.object.objectTypeId}:${point.series.object.primaryId}:${point.series.propertyId}`
80
+ ): OrderedMaterializationEventDraft {
145
81
  const payload = {
146
82
  objectTypeId: point.series.object.objectTypeId,
147
83
  objectId: point.series.object.primaryId,
148
84
  propertyId: point.series.propertyId,
149
85
  value: point.value,
150
86
  at: point.at,
87
+ ...(point.unit === undefined ? {} : { unit: point.unit }),
151
88
  }
152
- if (point.unit === undefined) {
153
- return { ...base, type: "telemetry.appended", topic: "telemetry", partitionKey, payload }
154
- }
155
- return {
156
- ...base,
89
+ return orderedDraft(telemetryPointSortKey(point.series, point.at), {
157
90
  type: "telemetry.appended",
158
- topic: "telemetry",
159
- partitionKey,
160
- payload: { ...payload, unit: point.unit },
161
- }
162
- }
163
-
164
- function eventDraftBase(context: MaterializationEventDraftContext) {
165
- return {
166
- schemaVersion: 1 as const,
167
- projectId: context.projectId,
168
- occurredAt: context.committedAt,
169
- correlationId: context.correlationId,
170
- origin: context.origin,
171
- ...context.attribution,
172
- commitId: context.commitId,
173
- }
91
+ payload,
92
+ })
174
93
  }
175
94
 
176
95
  function orderedDraft(
@@ -183,16 +102,3 @@ function orderedDraft(
183
102
  draft,
184
103
  }
185
104
  }
186
-
187
- export function sequenceMaterializationEvent(
188
- projectId: string,
189
- commitId: string,
190
- commitOrdinal: number,
191
- draft: OntologyMaterializationEventDraft
192
- ): OntologyMaterializationEvent {
193
- const sequence = {
194
- id: createEventId(projectId, commitId, commitOrdinal),
195
- commitOrdinal,
196
- }
197
- return { ...draft, ...sequence }
198
- }
@@ -3,16 +3,15 @@ import type { OntologyObjectRef } from "../../materialization/model"
3
3
  import { vectorConfiguration, vectorSources } from "../../objects/vectors/profile"
4
4
  import type { Storage } from "../../storage"
5
5
  import { objectBatchKey } from "../../storage/objects/keys"
6
- import type { MaterializationSession } from "../../storage/ontology"
6
+ import type { MaterializationSession, MaterializationVectorChange } from "../../storage/ontology"
7
7
  import type { VectorIndexingRequest } from "../../storage/ontology/vector-indexing"
8
8
  import type { MaterializerContext } from "../context"
9
- import type { MaterializationPlanItem } from "../execution/plan-stream"
10
9
 
11
10
  /** Source assertions are not effective values: schedule only after conflict resolution. */
12
11
  export async function scheduleVectorChanges(
13
12
  context: Pick<MaterializerContext, "projectId" | "ontology" | "clock">,
14
13
  storage: Storage,
15
- items: readonly MaterializationPlanItem[],
14
+ items: readonly MaterializationVectorChange[],
16
15
  session: MaterializationSession,
17
16
  projection = false
18
17
  ): Promise<void> {
@@ -1,14 +1,13 @@
1
1
  import { objectRefKey } from "../../materialization/refs"
2
2
  import { vectorSources } from "../../objects/vectors/profile"
3
- import type { MaterializationSession } from "../../storage/ontology"
3
+ import type { MaterializationSession, MaterializationVectorChange } from "../../storage/ontology"
4
4
  import type { OntologyVectorStorage } from "../../storage/ontology/vectors"
5
- import type { MaterializationPlanItem } from "../execution/plan-stream"
6
5
 
7
6
  /** Invalidate a bounded materialization page, including stored profiles no longer declared. */
8
7
  export async function invalidateVectorChanges(
9
8
  projectId: string,
10
9
  vectors: OntologyVectorStorage | undefined,
11
- items: readonly MaterializationPlanItem[],
10
+ items: readonly MaterializationVectorChange[],
12
11
  session: MaterializationSession
13
12
  ): Promise<void> {
14
13
  if (!vectors) return
@@ -1,37 +1,22 @@
1
1
  import { resolveExecutionScopeAuthorization } from "../../execution/authorization"
2
2
  import { ensureExecutionRecord, executionRecordInputFromRuntime } from "../../execution/durable"
3
- import type {
4
- AuthorizablePrincipal,
5
- ExecutionScope,
6
- TrustedPrimitiveKind,
7
- } from "../../execution/types"
3
+ import type { ExecutionScope, TrustedPrimitiveKind } from "../../execution/types"
8
4
  import {
9
5
  MaterializationConflictError,
10
6
  MaterializationValidationError,
11
7
  } from "../../materialization/errors"
12
- import type { EventExecutor } from "../../materialization/events"
13
8
  import type {
14
9
  CreateExecutionInput,
15
10
  ExecutionRecord,
16
11
  ExecutionStorage,
17
12
  } from "../../storage/executions"
18
13
 
19
- /**
20
- * Who and what a commit and its events are attributed to. Both are copied from the execution, so
21
- * they are a pure function of `executionId` and never an input the caller chooses.
22
- */
23
- export interface MaterializerAttribution {
24
- readonly requestedBy?: AuthorizablePrincipal
25
- readonly executor: EventExecutor
26
- }
27
-
28
14
  /** Immutable execution metadata attached to one prepared Materializer command. */
29
15
  export interface MaterializerExecution {
30
16
  readonly scope: ExecutionScope
31
17
  readonly record: CreateExecutionInput
32
18
  readonly executionId: string
33
19
  readonly correlationId: string
34
- readonly attribution: MaterializerAttribution
35
20
  }
36
21
 
37
22
  /** Validate the process-local scope before any Materializer read or write is attempted. */
@@ -49,28 +34,6 @@ export function prepareMaterializerExecution(
49
34
  }),
50
35
  executionId: scope.execution.id,
51
36
  correlationId: scope.execution.correlationId,
52
- attribution: executionAttribution(scope),
53
- }
54
- }
55
-
56
- function executionAttribution(scope: ExecutionScope): MaterializerAttribution {
57
- const { requestedBy, executor } = scope.execution
58
- const attributed = { executor: eventExecutor(executor) }
59
- if (requestedBy === undefined) return attributed
60
- return { ...attributed, requestedBy: { type: requestedBy.type, id: requestedBy.id } }
61
- }
62
-
63
- /** Drop the process-local Agent actor id: the durable execution does not record it. */
64
- function eventExecutor(executor: ExecutionScope["execution"]["executor"]): EventExecutor {
65
- switch (executor.type) {
66
- case "request":
67
- return { type: "request", requestId: executor.requestId }
68
- case "primitive":
69
- return { type: "primitive", kind: executor.kind, id: executor.id, runId: executor.runId }
70
- case "agent":
71
- return { type: "agent", runId: executor.runId }
72
- case "kernel":
73
- return { type: "kernel", operation: structuredClone(executor.operation) }
74
37
  }
75
38
  }
76
39
 
@@ -1,4 +1,3 @@
1
- import { MaterializationValidationError } from "../../materialization/errors"
2
1
  import { utf8JsonByteLength } from "../../materialization/refs"
3
2
  import type { Storage } from "../../storage"
4
3
  import type {
@@ -7,32 +6,13 @@ import type {
7
6
  OntologyMaterializationStorage,
8
7
  } from "../../storage/ontology"
9
8
  import type { MaterializerContext } from "../context"
10
- import { sequenceMaterializationEvent } from "../effective/build-events"
11
9
  import { scheduleVectorChanges } from "../effective/vector-indexing"
12
10
  import { invalidateVectorChanges } from "../effective/vectors"
13
11
  import { throwIfAborted } from "../shared/abort"
14
12
  import { chunkBySize } from "../shared/chunking"
15
- import type { TimedCommitIdentity } from "../shared/identity"
16
- import { type MaterializationPlanItem, planStream } from "./plan-stream"
17
- import { outboxItem } from "./work-records"
18
13
 
19
14
  type BatchingContext = Pick<MaterializerContext, "batching">
20
15
 
21
- type EventContext = Pick<MaterializerContext, "batching" | "projectId">
22
-
23
- export async function applyItems(
24
- context: BatchingContext,
25
- storage: OntologyMaterializationStorage,
26
- session: MaterializationSession,
27
- items: Iterable<MaterializationPlanItem>,
28
- signal?: AbortSignal
29
- ): Promise<void> {
30
- for await (const chunk of planStream(items, context.batching)) {
31
- throwIfAborted(signal)
32
- await storage.applyChunk({ session, chunk })
33
- }
34
- }
35
-
36
16
  export async function stageWorkBounded(
37
17
  context: BatchingContext,
38
18
  storage: OntologyMaterializationStorage,
@@ -48,108 +28,34 @@ export async function stageWorkBounded(
48
28
  }
49
29
  }
50
30
 
51
- export async function drainStagedWork(
31
+ /**
32
+ * Hands the staged plan to storage, which applies it and writes its events. Vector profiles see
33
+ * the object changes first, while the objects still hold their previous values.
34
+ */
35
+ export async function applyStagedWork(
52
36
  context: Pick<MaterializerContext, "batching" | "projectId" | "ontology" | "clock">,
53
37
  transactionStorage: Storage,
54
38
  session: MaterializationSession,
55
39
  signal?: AbortSignal,
56
40
  projection = false
57
- ): Promise<void> {
41
+ ): Promise<number> {
58
42
  const ontologyStorage = transactionStorage.ontology
59
43
  const storage = ontologyStorage.materializations
60
- let phase: number | null = null
61
- let pending: MaterializationPlanItem[] = []
62
- const flush = async () => {
63
- if (pending.length === 0) return
64
- await scheduleVectorChanges(context, transactionStorage, pending, session, projection)
65
- await invalidateVectorChanges(context.projectId, ontologyStorage.vectors, pending, session)
66
- await applyItems(context, storage, session, pending, signal)
67
- pending = []
68
- }
69
- for await (const page of storage.streamWork({
70
- session,
71
- order: "apply",
72
- pageRows: context.batching.planChunkRows,
73
- })) {
74
- for (const record of page.records) {
75
- if (record.kind !== "plan") {
76
- throw new MaterializationValidationError("Provider returned non-plan apply work.")
77
- }
78
- if (phase !== null && record.applyPhase !== phase) await flush()
79
- phase = record.applyPhase
80
- pending.push(record.item)
81
- if (pending.length >= context.batching.planChunkRows) await flush()
82
- }
83
- }
84
- await flush()
85
- }
86
-
87
- export async function validateStagedCardinality(
88
- context: BatchingContext,
89
- storage: OntologyMaterializationStorage,
90
- session: MaterializationSession,
91
- signal?: AbortSignal
92
- ): Promise<void> {
93
- let currentView: "candidate" | "effective" | null = null
94
- let currentScope: string | null = null
95
- let occupant: string | null = null
96
- for await (const page of storage.streamWork({
97
- session,
98
- order: "cardinality",
99
- pageRows: context.batching.statePageRows,
100
- })) {
101
- throwIfAborted(signal)
102
- for (const record of page.records) {
103
- if (record.kind !== "cardinality") {
104
- throw new MaterializationValidationError(
105
- "Provider returned non-cardinality cardinality work."
106
- )
107
- }
108
- if (record.view !== currentView || record.scopeSortKey !== currentScope) {
109
- currentView = record.view
110
- currentScope = record.scopeSortKey
111
- occupant = null
112
- }
113
- if (!record.occupied) continue
114
- if (occupant && occupant !== record.linkSortKey) {
115
- throw new MaterializationValidationError(
116
- record.view === "candidate"
117
- ? `Projection source scope '${record.ref.source.objectTypeId}.${record.ref.linkId}' has cardinality one.`
118
- : `Link scope '${record.ref.source.objectTypeId}.${record.ref.linkId}' has cardinality one.`
119
- )
120
- }
121
- occupant = record.linkSortKey
122
- }
123
- }
124
- }
125
-
126
- export async function drainStagedEvents(
127
- context: EventContext,
128
- storage: OntologyMaterializationStorage,
129
- session: MaterializationSession,
130
- identity: TimedCommitIdentity,
131
- signal?: AbortSignal
132
- ): Promise<number> {
133
- let ordinal = 0
134
- for await (const page of storage.streamWork({
135
- session,
136
- order: "event",
137
- pageRows: context.batching.planChunkRows,
138
- })) {
139
- const items: MaterializationPlanItem[] = []
140
- for (const record of page.records) {
141
- if (record.kind !== "event") {
142
- throw new MaterializationValidationError("Provider returned non-event event work.")
143
- }
144
- const event = sequenceMaterializationEvent(
145
- context.projectId,
146
- identity.commitId,
147
- ordinal++,
148
- record.draft
149
- )
150
- items.push(outboxItem(event, identity.committedAt))
44
+ if (ontologyStorage.vectorIndexing || ontologyStorage.vectors) {
45
+ for await (const page of storage.streamVectorChanges({
46
+ session,
47
+ objectTypeIds: context.ontology
48
+ .listObjectTypes()
49
+ .filter((type) => Object.keys(type.search?.vectors ?? {}).length > 0)
50
+ .map((type) => type.id),
51
+ pageRows: context.batching.planChunkRows,
52
+ })) {
53
+ throwIfAborted(signal)
54
+ await scheduleVectorChanges(context, transactionStorage, page.items, session, projection)
55
+ await invalidateVectorChanges(context.projectId, ontologyStorage.vectors, page.items, session)
151
56
  }
152
- await applyItems(context, storage, session, items, signal)
153
57
  }
154
- return ordinal
58
+ throwIfAborted(signal)
59
+ const { eventCount } = await storage.apply({ session })
60
+ return eventCount
155
61
  }
@@ -6,14 +6,11 @@ import type {
6
6
  MaterializationPlanWorkItem,
7
7
  MaterializationPlanWorkRecord,
8
8
  MaterializationWorkEntityKind,
9
- OntologyMaterializationEvent,
10
- OntologyOutboxWrite,
11
9
  } from "../../storage/ontology"
12
10
  import { materializationApplyPhase } from "../../storage/ontology/materializations"
13
11
  import type { WorkingLinkEdge, WorkingLinkSlot, WorkingObject } from "../edits/working-state"
14
12
  import type { OrderedMaterializationEventDraft } from "../effective/build-events"
15
13
  import type { TimedCommitIdentity } from "../shared/identity"
16
- import type { MaterializationPlanItem } from "./plan-stream"
17
14
 
18
15
  export function appendObjectOverrideWork(
19
16
  items: MaterializationPlanWorkItem[],
@@ -158,18 +155,6 @@ export function appendEffectiveLinkWork(
158
155
  }
159
156
  }
160
157
 
161
- export function outboxItem(
162
- event: OntologyMaterializationEvent,
163
- committedAt: string
164
- ): MaterializationPlanItem {
165
- const value: OntologyOutboxWrite = {
166
- envelope: event,
167
- availableAt: committedAt,
168
- createdAt: committedAt,
169
- }
170
- return { kind: "outbox", value }
171
- }
172
-
173
158
  export function classificationWork(
174
159
  entityKind: MaterializationWorkEntityKind,
175
160
  identityKey: string,