@sixb/core 0.1.16 → 0.1.18

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 (844) hide show
  1. package/dist/actions/index.js +30 -27
  2. package/dist/actions/index.js.map +1 -1
  3. package/dist/actions/read-facade.d.ts +1 -1
  4. package/dist/actions/types/context.d.ts +2 -2
  5. package/dist/actions/types/context.d.ts.map +1 -1
  6. package/dist/actions/validation.d.ts.map +1 -1
  7. package/dist/actions/worker.js +6 -2
  8. package/dist/actions/worker.js.map +3 -3
  9. package/dist/agents/adapters.d.ts +7 -0
  10. package/dist/agents/adapters.d.ts.map +1 -1
  11. package/dist/agents/authority.d.ts +7 -0
  12. package/dist/agents/authority.d.ts.map +1 -1
  13. package/dist/agents/context/entries.d.ts +10 -1
  14. package/dist/agents/context/entries.d.ts.map +1 -1
  15. package/dist/agents/context/index.d.ts +1 -1
  16. package/dist/agents/context/index.d.ts.map +1 -1
  17. package/dist/agents/context/index.js +4 -2
  18. package/dist/agents/context/index.js.map +1 -1
  19. package/dist/agents/context-compaction.d.ts.map +1 -1
  20. package/dist/agents/errors.d.ts +1 -1
  21. package/dist/agents/errors.d.ts.map +1 -1
  22. package/dist/agents/index.d.ts +6 -4
  23. package/dist/agents/index.d.ts.map +1 -1
  24. package/dist/agents/index.js +54 -46
  25. package/dist/agents/index.js.map +1 -1
  26. package/dist/agents/message.d.ts +8 -1
  27. package/dist/agents/message.d.ts.map +1 -1
  28. package/dist/agents/request.d.ts +19 -5
  29. package/dist/agents/request.d.ts.map +1 -1
  30. package/dist/agents/skills.d.ts +41 -0
  31. package/dist/agents/skills.d.ts.map +1 -0
  32. package/dist/agents/streams/index.js +1 -1
  33. package/dist/agents/streams/internal.js +1 -1
  34. package/dist/agents/types.d.ts +33 -4
  35. package/dist/agents/types.d.ts.map +1 -1
  36. package/dist/auth/index.js +9 -6
  37. package/dist/auth/index.js.map +1 -1
  38. package/dist/auth/runtime.d.ts.map +1 -1
  39. package/dist/auth/types.d.ts +6 -0
  40. package/dist/auth/types.d.ts.map +1 -1
  41. package/dist/authorization/index.js +5 -3
  42. package/dist/authorization/index.js.map +1 -1
  43. package/dist/authorization/resolve.d.ts +1 -1
  44. package/dist/authorization/resolve.d.ts.map +1 -1
  45. package/dist/authorization/types.d.ts +7 -0
  46. package/dist/authorization/types.d.ts.map +1 -1
  47. package/dist/blob-storage/browser.js +1 -1
  48. package/dist/blob-storage/download-urls.d.ts +41 -0
  49. package/dist/blob-storage/download-urls.d.ts.map +1 -0
  50. package/dist/blob-storage/execution.d.ts +9 -1
  51. package/dist/blob-storage/execution.d.ts.map +1 -1
  52. package/dist/blob-storage/file-content.d.ts +18 -0
  53. package/dist/blob-storage/file-content.d.ts.map +1 -0
  54. package/dist/blob-storage/index.d.ts +1 -1
  55. package/dist/blob-storage/index.d.ts.map +1 -1
  56. package/dist/blob-storage/index.js +6 -4
  57. package/dist/blob-storage/index.js.map +1 -1
  58. package/dist/blob-storage/internal.d.ts +4 -0
  59. package/dist/blob-storage/internal.d.ts.map +1 -0
  60. package/dist/blob-storage/internal.js +23 -0
  61. package/dist/blob-storage/internal.js.map +9 -0
  62. package/dist/blob-storage/media-type.d.ts +8 -0
  63. package/dist/blob-storage/media-type.d.ts.map +1 -0
  64. package/dist/blob-storage/types.d.ts +12 -1
  65. package/dist/blob-storage/types.d.ts.map +1 -1
  66. package/dist/blob-storage/validation.d.ts +6 -0
  67. package/dist/blob-storage/validation.d.ts.map +1 -1
  68. package/dist/bootstrap/agent-context.d.ts +33 -0
  69. package/dist/bootstrap/agent-context.d.ts.map +1 -0
  70. package/dist/bootstrap/discovery.d.ts +23 -3
  71. package/dist/bootstrap/discovery.d.ts.map +1 -1
  72. package/dist/bootstrap/index.d.ts +2 -1
  73. package/dist/bootstrap/index.d.ts.map +1 -1
  74. package/dist/bootstrap/index.js +287 -75
  75. package/dist/bootstrap/index.js.map +4 -3
  76. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  77. package/dist/{chunk-kttr5ftm.js → chunk-1b1f2d5f.js} +23 -6
  78. package/dist/chunk-1b1f2d5f.js.map +12 -0
  79. package/dist/{chunk-hgqpcmyr.js → chunk-1hqwggsn.js} +47 -19
  80. package/dist/chunk-1hqwggsn.js.map +12 -0
  81. package/dist/{chunk-9vx5e9g1.js → chunk-1sr8ryzk.js} +3 -3
  82. package/dist/chunk-1sr8ryzk.js.map +11 -0
  83. package/dist/{chunk-4gmng3vf.js → chunk-22v5bpz3.js} +1 -1
  84. package/dist/{chunk-tnvafr7g.js → chunk-29yx306f.js} +124 -9
  85. package/dist/chunk-29yx306f.js.map +22 -0
  86. package/dist/{chunk-fj1dvp37.js → chunk-2vhg6ysa.js} +1 -1
  87. package/dist/chunk-3zxk45er.js +152 -0
  88. package/dist/chunk-3zxk45er.js.map +11 -0
  89. package/dist/{chunk-gmdvns8f.js → chunk-48e3cn2d.js} +2 -2
  90. package/dist/{chunk-jgwb25gc.js → chunk-4as3wt1c.js} +13 -5
  91. package/dist/chunk-4as3wt1c.js.map +12 -0
  92. package/dist/{chunk-91kcnbf0.js → chunk-6gmfggss.js} +22 -9
  93. package/dist/chunk-6gmfggss.js.map +10 -0
  94. package/dist/{chunk-2xvgy3x5.js → chunk-6h5m9xjx.js} +43 -415
  95. package/dist/{chunk-2xvgy3x5.js.map → chunk-6h5m9xjx.js.map} +7 -11
  96. package/dist/{chunk-cq44v1a6.js → chunk-7hpdd6r9.js} +3 -3
  97. package/dist/{chunk-f85hpqnm.js → chunk-99nd4rc1.js} +3 -3
  98. package/dist/{chunk-f85hpqnm.js.map → chunk-99nd4rc1.js.map} +3 -3
  99. package/dist/chunk-b9affek3.js +261 -0
  100. package/dist/chunk-b9affek3.js.map +12 -0
  101. package/dist/{chunk-zvmr2hqk.js → chunk-bs7sqkre.js} +10 -4
  102. package/dist/chunk-bs7sqkre.js.map +12 -0
  103. package/dist/{chunk-rb143ggb.js → chunk-bwjcehza.js} +1 -1
  104. package/dist/{chunk-667x4drs.js → chunk-d0eb5yy6.js} +143 -7
  105. package/dist/chunk-d0eb5yy6.js.map +14 -0
  106. package/dist/chunk-d62kjtbg.js.map +2 -2
  107. package/dist/{chunk-gkxsenvp.js → chunk-de4z2bj6.js} +31 -7
  108. package/dist/{chunk-gkxsenvp.js.map → chunk-de4z2bj6.js.map} +5 -4
  109. package/dist/{chunk-mdnw7nj8.js → chunk-dnmadg9k.js} +35 -10
  110. package/dist/chunk-dnmadg9k.js.map +15 -0
  111. package/dist/chunk-enpsx8k5.js +127 -0
  112. package/dist/chunk-enpsx8k5.js.map +10 -0
  113. package/dist/{chunk-xnx96gfy.js → chunk-ere85b8y.js} +17 -8
  114. package/dist/chunk-ere85b8y.js.map +15 -0
  115. package/dist/{chunk-k4kkp58d.js → chunk-ewqa58h9.js} +12 -2
  116. package/dist/chunk-ewqa58h9.js.map +11 -0
  117. package/dist/{chunk-7g2gjvah.js → chunk-ex496vct.js} +1 -1
  118. package/dist/{chunk-nvymebc1.js → chunk-f1zxad2t.js} +1 -1
  119. package/dist/{chunk-3q7z9hd4.js → chunk-fe52eczz.js} +483 -101
  120. package/dist/chunk-fe52eczz.js.map +49 -0
  121. package/dist/{chunk-8x74221e.js → chunk-fx93hd2n.js} +79 -32
  122. package/dist/chunk-fx93hd2n.js.map +20 -0
  123. package/dist/{chunk-39tqv9hz.js → chunk-gc4ntf7d.js} +6 -7
  124. package/dist/{chunk-39tqv9hz.js.map → chunk-gc4ntf7d.js.map} +3 -4
  125. package/dist/chunk-h8teetr0.js +9 -0
  126. package/dist/chunk-h8teetr0.js.map +10 -0
  127. package/dist/{chunk-98cw09sw.js → chunk-hkc3jct7.js} +4 -2
  128. package/dist/chunk-hkc3jct7.js.map +10 -0
  129. package/dist/chunk-hn2r7z41.js.map +1 -1
  130. package/dist/{chunk-h044jb97.js → chunk-htr6wjmv.js} +282 -58
  131. package/dist/chunk-htr6wjmv.js.map +19 -0
  132. package/dist/{chunk-h3v76ams.js → chunk-jhm3zsa7.js} +25 -2
  133. package/dist/chunk-jhm3zsa7.js.map +12 -0
  134. package/dist/{chunk-chdg6eqq.js → chunk-k6hrnf35.js} +5 -5
  135. package/dist/chunk-k6hrnf35.js.map +10 -0
  136. package/dist/{chunk-a0073121.js → chunk-kpx7jrmn.js} +3 -1
  137. package/dist/chunk-kpx7jrmn.js.map +12 -0
  138. package/dist/{chunk-b9y8hcm2.js → chunk-mfs23znk.js} +1 -1
  139. package/dist/{chunk-kvysp909.js → chunk-ny3xyvcn.js} +32 -19
  140. package/dist/chunk-ny3xyvcn.js.map +17 -0
  141. package/dist/{chunk-h4138ww2.js → chunk-p0dqwj3n.js} +450 -799
  142. package/dist/chunk-p0dqwj3n.js.map +49 -0
  143. package/dist/{chunk-f72rbvsb.js → chunk-p844e0rn.js} +23 -8
  144. package/dist/chunk-p844e0rn.js.map +19 -0
  145. package/dist/{chunk-dmn70ztd.js → chunk-pfp1txq2.js} +25 -6
  146. package/dist/chunk-pfp1txq2.js.map +11 -0
  147. package/dist/chunk-pqajwytd.js.map +3 -3
  148. package/dist/{chunk-mr60an99.js → chunk-qczk96d9.js} +22 -2
  149. package/dist/{chunk-mr60an99.js.map → chunk-qczk96d9.js.map} +3 -3
  150. package/dist/{chunk-69kt9q43.js → chunk-qkbx3tf6.js} +17 -128
  151. package/dist/{chunk-69kt9q43.js.map → chunk-qkbx3tf6.js.map} +6 -7
  152. package/dist/{chunk-h866d223.js → chunk-qkvz64nd.js} +2 -2
  153. package/dist/{chunk-vsvrv7n8.js → chunk-qmnnhde6.js} +4 -8
  154. package/dist/{chunk-vsvrv7n8.js.map → chunk-qmnnhde6.js.map} +3 -3
  155. package/dist/{chunk-6z1q7j19.js → chunk-qq90g05n.js} +1128 -782
  156. package/dist/chunk-qq90g05n.js.map +66 -0
  157. package/dist/{chunk-40qb8wpe.js → chunk-qxvp5epv.js} +84 -29
  158. package/dist/{chunk-40qb8wpe.js.map → chunk-qxvp5epv.js.map} +10 -9
  159. package/dist/chunk-rdghfsss.js.map +2 -2
  160. package/dist/{chunk-s3csryxe.js → chunk-rj69qcrd.js} +8 -2
  161. package/dist/chunk-rj69qcrd.js.map +11 -0
  162. package/dist/{chunk-tkdbge6v.js → chunk-rt9p8m9t.js} +1 -1
  163. package/dist/{chunk-cd234ba4.js → chunk-rz53yb4v.js} +10 -5
  164. package/dist/chunk-rz53yb4v.js.map +14 -0
  165. package/dist/{chunk-a7ne02hk.js → chunk-s4jhg8a3.js} +351 -296
  166. package/dist/chunk-s4jhg8a3.js.map +15 -0
  167. package/dist/{chunk-69266efg.js → chunk-s54c868q.js} +12 -4
  168. package/dist/chunk-s54c868q.js.map +12 -0
  169. package/dist/{chunk-dsv8kdgk.js → chunk-tffvfy6s.js} +8 -7
  170. package/dist/{chunk-dsv8kdgk.js.map → chunk-tffvfy6s.js.map} +3 -3
  171. package/dist/{chunk-sbcm1b92.js → chunk-v6xpd60t.js} +3 -3
  172. package/dist/{chunk-nj0020ay.js → chunk-vgk3hknm.js} +1 -1
  173. package/dist/{chunk-qnd7ehe5.js → chunk-vx2yp45y.js} +2 -2
  174. package/dist/{chunk-vjqt7q3a.js → chunk-vz3gc1tm.js} +607 -45
  175. package/dist/chunk-vz3gc1tm.js.map +41 -0
  176. package/dist/{chunk-g4rbm4a6.js → chunk-wt4szfec.js} +379 -331
  177. package/dist/chunk-wt4szfec.js.map +14 -0
  178. package/dist/chunk-xt1zt7gv.js +471 -0
  179. package/dist/chunk-xt1zt7gv.js.map +13 -0
  180. package/dist/{chunk-swxzncrv.js → chunk-y05543x6.js} +51 -8
  181. package/dist/{chunk-swxzncrv.js.map → chunk-y05543x6.js.map} +5 -5
  182. package/dist/{chunk-zdkcdshk.js → chunk-y9jmd7e5.js} +41 -3
  183. package/dist/{chunk-zdkcdshk.js.map → chunk-y9jmd7e5.js.map} +4 -3
  184. package/dist/{chunk-nkbev3tr.js → chunk-yv9czyfr.js} +3 -3
  185. package/dist/{chunk-z5rnrmz1.js → chunk-yw9pyg66.js} +5 -3
  186. package/dist/chunk-yw9pyg66.js.map +11 -0
  187. package/dist/{chunk-cxj8y8t0.js → chunk-za5yd58j.js} +2 -2
  188. package/dist/{chunk-zb47r1c8.js → chunk-zb77kjth.js} +3 -3
  189. package/dist/{chunk-dp7yk20b.js → chunk-zxawp1n2.js} +1 -1
  190. package/dist/datasets/builders.d.ts +12 -1
  191. package/dist/datasets/builders.d.ts.map +1 -1
  192. package/dist/datasets/execution.d.ts +27 -1
  193. package/dist/datasets/execution.d.ts.map +1 -1
  194. package/dist/datasets/index.d.ts +1 -1
  195. package/dist/datasets/index.d.ts.map +1 -1
  196. package/dist/datasets/types.d.ts +2 -0
  197. package/dist/datasets/types.d.ts.map +1 -1
  198. package/dist/datasets/write.d.ts +5 -0
  199. package/dist/datasets/write.d.ts.map +1 -1
  200. package/dist/datasets/write.js +10 -5
  201. package/dist/datasets/write.js.map +1 -1
  202. package/dist/edits/properties.d.ts.map +1 -1
  203. package/dist/events/execution.d.ts +2 -1
  204. package/dist/events/execution.d.ts.map +1 -1
  205. package/dist/events/types/objects.d.ts +5 -0
  206. package/dist/events/types/objects.d.ts.map +1 -1
  207. package/dist/execution/agent.d.ts +10 -0
  208. package/dist/execution/agent.d.ts.map +1 -1
  209. package/dist/execution/agent.js +49 -43
  210. package/dist/execution/agent.js.map +1 -1
  211. package/dist/execution/authorized-object-reader.d.ts +9 -2
  212. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  213. package/dist/execution/primitive.js +45 -41
  214. package/dist/execution/primitive.js.map +2 -2
  215. package/dist/execution/request.js +46 -42
  216. package/dist/execution/request.js.map +2 -2
  217. package/dist/http/api-routes.d.ts.map +1 -1
  218. package/dist/http/index.js +1 -1
  219. package/dist/index.d.ts +16 -11
  220. package/dist/index.d.ts.map +1 -1
  221. package/dist/index.js +79 -71
  222. package/dist/index.js.map +1 -1
  223. package/dist/lake-storage/in-memory.d.ts +5 -1
  224. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  225. package/dist/lake-storage/index.d.ts +1 -1
  226. package/dist/lake-storage/index.d.ts.map +1 -1
  227. package/dist/lake-storage/index.js +8 -5
  228. package/dist/lake-storage/index.js.map +1 -1
  229. package/dist/lake-storage/types.d.ts +26 -0
  230. package/dist/lake-storage/types.d.ts.map +1 -1
  231. package/dist/maintenance/ontology-maintenance.d.ts +5 -1
  232. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  233. package/dist/maintenance/types.d.ts +1 -4
  234. package/dist/maintenance/types.d.ts.map +1 -1
  235. package/dist/materialization/event-envelopes.d.ts +20 -0
  236. package/dist/materialization/event-envelopes.d.ts.map +1 -0
  237. package/dist/materialization/events.d.ts +29 -3
  238. package/dist/materialization/events.d.ts.map +1 -1
  239. package/dist/materialization/index.d.ts +4 -1
  240. package/dist/materialization/index.d.ts.map +1 -1
  241. package/dist/materialization/index.js +9 -3
  242. package/dist/materialization/index.js.map +1 -1
  243. package/dist/materializer/edits/plan.d.ts +2 -10
  244. package/dist/materializer/edits/plan.d.ts.map +1 -1
  245. package/dist/materializer/effective/build-events.d.ts +5 -21
  246. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  247. package/dist/materializer/effective/vector-indexing.d.ts +2 -3
  248. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -1
  249. package/dist/materializer/effective/vectors.d.ts +2 -3
  250. package/dist/materializer/effective/vectors.d.ts.map +1 -1
  251. package/dist/materializer/execution/scope.d.ts +1 -11
  252. package/dist/materializer/execution/scope.d.ts.map +1 -1
  253. package/dist/materializer/execution/work-executor.d.ts +5 -7
  254. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  255. package/dist/materializer/execution/work-records.d.ts +1 -3
  256. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  257. package/dist/materializer/index.js +35 -33
  258. package/dist/materializer/index.js.map +1 -1
  259. package/dist/materializer/projections/replace.d.ts.map +1 -1
  260. package/dist/materializer/projections/replacement-plan.d.ts +8 -11
  261. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  262. package/dist/materializer/shared/batching.d.ts +5 -0
  263. package/dist/materializer/shared/batching.d.ts.map +1 -1
  264. package/dist/materializer/telemetry/plan.d.ts +2 -8
  265. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  266. package/dist/models/audio/catalog.d.ts +20 -0
  267. package/dist/models/audio/catalog.d.ts.map +1 -0
  268. package/dist/models/audio/errors.d.ts +8 -0
  269. package/dist/models/audio/errors.d.ts.map +1 -0
  270. package/dist/models/audio/file.d.ts +9 -0
  271. package/dist/models/audio/file.d.ts.map +1 -0
  272. package/dist/models/audio/runtime.d.ts +8 -0
  273. package/dist/models/audio/runtime.d.ts.map +1 -0
  274. package/dist/models/audio/types.d.ts +60 -0
  275. package/dist/models/audio/types.d.ts.map +1 -0
  276. package/dist/models/catalog.d.ts +24 -2
  277. package/dist/models/catalog.d.ts.map +1 -1
  278. package/dist/models/definitions.d.ts +1 -1
  279. package/dist/models/definitions.d.ts.map +1 -1
  280. package/dist/models/events.d.ts +3 -0
  281. package/dist/models/events.d.ts.map +1 -1
  282. package/dist/models/execution/binding.d.ts +6 -0
  283. package/dist/models/execution/binding.d.ts.map +1 -1
  284. package/dist/models/execution/index.js +27 -24
  285. package/dist/models/execution/index.js.map +1 -1
  286. package/dist/models/execution/model-call-admission.d.ts +6 -1
  287. package/dist/models/execution/model-call-admission.d.ts.map +1 -1
  288. package/dist/models/execution/model-call-limits.d.ts.map +1 -1
  289. package/dist/models/execution/model-call-recorder.d.ts +4 -0
  290. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  291. package/dist/models/execution/reranking.d.ts +4 -0
  292. package/dist/models/execution/reranking.d.ts.map +1 -0
  293. package/dist/models/execution/usage.d.ts.map +1 -1
  294. package/dist/models/execution.d.ts +2 -1
  295. package/dist/models/execution.d.ts.map +1 -1
  296. package/dist/models/generation-types.d.ts +2 -0
  297. package/dist/models/generation-types.d.ts.map +1 -1
  298. package/dist/models/index.d.ts +7 -1
  299. package/dist/models/index.d.ts.map +1 -1
  300. package/dist/models/index.js +6 -2
  301. package/dist/models/index.js.map +1 -1
  302. package/dist/models/language-model.d.ts +6 -0
  303. package/dist/models/language-model.d.ts.map +1 -1
  304. package/dist/models/pricing.d.ts +2 -2
  305. package/dist/models/pricing.d.ts.map +1 -1
  306. package/dist/models/reranking-model.d.ts +49 -0
  307. package/dist/models/reranking-model.d.ts.map +1 -0
  308. package/dist/objects/context/index.d.ts +1 -1
  309. package/dist/objects/context/index.d.ts.map +1 -1
  310. package/dist/objects/context/types.d.ts +6 -0
  311. package/dist/objects/context/types.d.ts.map +1 -1
  312. package/dist/objects/execution.d.ts +2 -1
  313. package/dist/objects/execution.d.ts.map +1 -1
  314. package/dist/objects/index.js +31 -27
  315. package/dist/objects/index.js.map +1 -1
  316. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  317. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  318. package/dist/objects/object/upsert.d.ts.map +1 -1
  319. package/dist/objects/property-clearance.d.ts +41 -0
  320. package/dist/objects/property-clearance.d.ts.map +1 -0
  321. package/dist/objects/query/executor.d.ts +5 -1
  322. package/dist/objects/query/executor.d.ts.map +1 -1
  323. package/dist/objects/query/index.d.ts +1 -1
  324. package/dist/objects/query/index.d.ts.map +1 -1
  325. package/dist/objects/query/index.js +27 -24
  326. package/dist/objects/query/index.js.map +1 -1
  327. package/dist/objects/query/ir.d.ts +8 -1
  328. package/dist/objects/query/ir.d.ts.map +1 -1
  329. package/dist/objects/query/normalize.d.ts.map +1 -1
  330. package/dist/objects/query/planner.d.ts +1 -1
  331. package/dist/objects/query/planner.d.ts.map +1 -1
  332. package/dist/objects/query/primary-id.d.ts +7 -0
  333. package/dist/objects/query/primary-id.d.ts.map +1 -0
  334. package/dist/objects/query/reranking-executor.d.ts +13 -0
  335. package/dist/objects/query/reranking-executor.d.ts.map +1 -0
  336. package/dist/objects/query/reranking-limits.d.ts +3 -0
  337. package/dist/objects/query/reranking-limits.d.ts.map +1 -0
  338. package/dist/objects/query/reranking-query.d.ts +4 -0
  339. package/dist/objects/query/reranking-query.d.ts.map +1 -0
  340. package/dist/objects/query/validate.d.ts +10 -1
  341. package/dist/objects/query/validate.d.ts.map +1 -1
  342. package/dist/objects/sdk/file-handle.d.ts +6 -0
  343. package/dist/objects/sdk/file-handle.d.ts.map +1 -0
  344. package/dist/objects/sdk/object-handle.d.ts +2 -2
  345. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  346. package/dist/objects/sdk/object-set.d.ts +2 -0
  347. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  348. package/dist/objects/sdk/query-builder.d.ts +8 -0
  349. package/dist/objects/sdk/query-builder.d.ts.map +1 -1
  350. package/dist/objects/sdk/query-executor.d.ts +2 -2
  351. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  352. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  353. package/dist/objects/vectors/indexing-dispatch.d.ts +21 -0
  354. package/dist/objects/vectors/indexing-dispatch.d.ts.map +1 -0
  355. package/dist/objects/vectors/query.d.ts.map +1 -1
  356. package/dist/ontology/builders.d.ts +12 -1
  357. package/dist/ontology/builders.d.ts.map +1 -1
  358. package/dist/ontology/docs-markdown.d.ts +35 -0
  359. package/dist/ontology/docs-markdown.d.ts.map +1 -0
  360. package/dist/ontology/docs.d.ts +50 -0
  361. package/dist/ontology/docs.d.ts.map +1 -0
  362. package/dist/ontology/index.d.ts +1 -1
  363. package/dist/ontology/index.d.ts.map +1 -1
  364. package/dist/ontology/index.js +7 -4
  365. package/dist/ontology/index.js.map +1 -1
  366. package/dist/ontology/inference/index.d.ts +19 -0
  367. package/dist/ontology/inference/index.d.ts.map +1 -1
  368. package/dist/ontology/internal.d.ts +3 -1
  369. package/dist/ontology/internal.d.ts.map +1 -1
  370. package/dist/ontology/internal.js +276 -3
  371. package/dist/ontology/internal.js.map +4 -3
  372. package/dist/ontology/query-capabilities.d.ts +1 -0
  373. package/dist/ontology/query-capabilities.d.ts.map +1 -1
  374. package/dist/ontology/tokens.d.ts +8 -1
  375. package/dist/ontology/tokens.d.ts.map +1 -1
  376. package/dist/ontology/types.d.ts +25 -0
  377. package/dist/ontology/types.d.ts.map +1 -1
  378. package/dist/ontology/validation/index.d.ts +1 -1
  379. package/dist/ontology/validation/index.d.ts.map +1 -1
  380. package/dist/ontology/validation/query.d.ts.map +1 -1
  381. package/dist/ontology/validation/schema.d.ts +7 -0
  382. package/dist/ontology/validation/schema.d.ts.map +1 -1
  383. package/dist/pipelines/index.js +29 -26
  384. package/dist/pipelines/index.js.map +1 -1
  385. package/dist/projections/internal.js +27 -24
  386. package/dist/projections/internal.js.map +1 -1
  387. package/dist/query.d.ts +4 -2
  388. package/dist/query.d.ts.map +1 -1
  389. package/dist/query.js +2 -2
  390. package/dist/queues/in-memory.d.ts +3 -0
  391. package/dist/queues/in-memory.d.ts.map +1 -1
  392. package/dist/queues/index.js +1 -1
  393. package/dist/queues/types.d.ts +4 -0
  394. package/dist/queues/types.d.ts.map +1 -1
  395. package/dist/runtime/create.d.ts +11 -2
  396. package/dist/runtime/create.d.ts.map +1 -1
  397. package/dist/runtime/definitions.d.ts +3 -1
  398. package/dist/runtime/definitions.d.ts.map +1 -1
  399. package/dist/runtime/host.d.ts +14 -2
  400. package/dist/runtime/host.d.ts.map +1 -1
  401. package/dist/runtime/index.d.ts +1 -1
  402. package/dist/runtime/index.d.ts.map +1 -1
  403. package/dist/runtime/internal.d.ts +1 -0
  404. package/dist/runtime/internal.d.ts.map +1 -1
  405. package/dist/runtime/internal.js +32 -27
  406. package/dist/runtime/internal.js.map +1 -1
  407. package/dist/runtime/locale.d.ts +9 -0
  408. package/dist/runtime/locale.d.ts.map +1 -0
  409. package/dist/runtime/public-origin.d.ts +10 -0
  410. package/dist/runtime/public-origin.d.ts.map +1 -0
  411. package/dist/runtime/resolve-definitions.d.ts +4 -2
  412. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  413. package/dist/runtime/sixb.d.ts +1 -0
  414. package/dist/runtime/sixb.d.ts.map +1 -1
  415. package/dist/runtime/types.d.ts +42 -5
  416. package/dist/runtime/types.d.ts.map +1 -1
  417. package/dist/sandboxes/index.js +7 -6
  418. package/dist/sandboxes/index.js.map +1 -1
  419. package/dist/scheduler/index.js +1 -1
  420. package/dist/scheduler/runtime.d.ts +3 -0
  421. package/dist/scheduler/runtime.d.ts.map +1 -1
  422. package/dist/security/builders.d.ts +11 -2
  423. package/dist/security/builders.d.ts.map +1 -1
  424. package/dist/security/index.d.ts +4 -4
  425. package/dist/security/index.d.ts.map +1 -1
  426. package/dist/security/markings.d.ts +19 -0
  427. package/dist/security/markings.d.ts.map +1 -0
  428. package/dist/security/redactions.d.ts +4 -0
  429. package/dist/security/redactions.d.ts.map +1 -0
  430. package/dist/security/registry.d.ts +7 -1
  431. package/dist/security/registry.d.ts.map +1 -1
  432. package/dist/security/types.d.ts +25 -0
  433. package/dist/security/types.d.ts.map +1 -1
  434. package/dist/security/validation.d.ts +4 -1
  435. package/dist/security/validation.d.ts.map +1 -1
  436. package/dist/shares/internal.js +24 -21
  437. package/dist/shares/internal.js.map +2 -2
  438. package/dist/storage/agents/provider.d.ts.map +1 -1
  439. package/dist/storage/agents/provider.js +5 -4
  440. package/dist/storage/agents/provider.js.map +1 -1
  441. package/dist/storage/agents/types.d.ts +15 -9
  442. package/dist/storage/agents/types.d.ts.map +1 -1
  443. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  444. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  445. package/dist/storage/ai-cost/provider.js +3 -3
  446. package/dist/storage/ai-cost/types.d.ts +1 -1
  447. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  448. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  449. package/dist/storage/ai-limits/enforcement.js +2 -2
  450. package/dist/storage/ai-limits/in-memory.d.ts.map +1 -1
  451. package/dist/storage/ai-limits/provider.d.ts +7 -2
  452. package/dist/storage/ai-limits/provider.d.ts.map +1 -1
  453. package/dist/storage/ai-limits/provider.js +4 -2
  454. package/dist/storage/ai-limits/provider.js.map +1 -1
  455. package/dist/storage/ai-limits/types.d.ts +3 -0
  456. package/dist/storage/ai-limits/types.d.ts.map +1 -1
  457. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  458. package/dist/storage/ai-usage/types.d.ts +8 -4
  459. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  460. package/dist/storage/ai-usage/usage.d.ts.map +1 -1
  461. package/dist/storage/file-download-grants/in-memory.d.ts +11 -0
  462. package/dist/storage/file-download-grants/in-memory.d.ts.map +1 -0
  463. package/dist/storage/file-download-grants/index.d.ts +3 -0
  464. package/dist/storage/file-download-grants/index.d.ts.map +1 -0
  465. package/dist/storage/file-download-grants/record.d.ts +11 -0
  466. package/dist/storage/file-download-grants/record.d.ts.map +1 -0
  467. package/dist/storage/file-download-grants/types.d.ts +44 -0
  468. package/dist/storage/file-download-grants/types.d.ts.map +1 -0
  469. package/dist/storage/file-upload-sessions/provider.js +10 -7
  470. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  471. package/dist/storage/in-memory/index.d.ts +4 -0
  472. package/dist/storage/in-memory/index.d.ts.map +1 -1
  473. package/dist/storage/index.d.ts +6 -3
  474. package/dist/storage/index.d.ts.map +1 -1
  475. package/dist/storage/index.js +35 -32
  476. package/dist/storage/index.js.map +1 -1
  477. package/dist/storage/internal.d.ts +1 -0
  478. package/dist/storage/internal.d.ts.map +1 -1
  479. package/dist/storage/internal.js +9 -4
  480. package/dist/storage/internal.js.map +1 -1
  481. package/dist/storage/migrations/index.d.ts +1 -1
  482. package/dist/storage/migrations/index.d.ts.map +1 -1
  483. package/dist/storage/migrations/migrate-storage.d.ts +3 -3
  484. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
  485. package/dist/storage/migrations/types.d.ts +7 -0
  486. package/dist/storage/migrations/types.d.ts.map +1 -1
  487. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  488. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  489. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  490. package/dist/storage/objects/query-preparation.d.ts +39 -0
  491. package/dist/storage/objects/query-preparation.d.ts.map +1 -0
  492. package/dist/storage/objects/types.d.ts +9 -0
  493. package/dist/storage/objects/types.d.ts.map +1 -1
  494. package/dist/storage/ontology/commits.d.ts +1 -6
  495. package/dist/storage/ontology/commits.d.ts.map +1 -1
  496. package/dist/storage/ontology/in-memory/index.d.ts +4 -2
  497. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  498. package/dist/storage/ontology/in-memory/materializations-state.d.ts +0 -2
  499. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  500. package/dist/storage/ontology/in-memory/materializations-work.d.ts +1 -3
  501. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
  502. package/dist/storage/ontology/in-memory/materializations.d.ts +23 -57
  503. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  504. package/dist/storage/ontology/in-memory/outbox.d.ts +3 -2
  505. package/dist/storage/ontology/in-memory/outbox.d.ts.map +1 -1
  506. package/dist/storage/ontology/in-memory/replacement-plans.d.ts +104 -0
  507. package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -0
  508. package/dist/storage/ontology/in-memory/shared-state.d.ts +17 -2
  509. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  510. package/dist/storage/ontology/in-memory/source-roots.d.ts +3 -1
  511. package/dist/storage/ontology/in-memory/source-roots.d.ts.map +1 -1
  512. package/dist/storage/ontology/in-memory/sources.d.ts +1 -2
  513. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  514. package/dist/storage/ontology/in-memory/state-reader.d.ts +25 -0
  515. package/dist/storage/ontology/in-memory/state-reader.d.ts.map +1 -0
  516. package/dist/storage/ontology/index.d.ts +6 -3
  517. package/dist/storage/ontology/index.d.ts.map +1 -1
  518. package/dist/storage/ontology/materializations.d.ts +40 -59
  519. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  520. package/dist/storage/ontology/outbox.d.ts +4 -6
  521. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  522. package/dist/storage/ontology/provider-work.d.ts +114 -3
  523. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  524. package/dist/storage/ontology/provider.d.ts +14 -39
  525. package/dist/storage/ontology/provider.d.ts.map +1 -1
  526. package/dist/storage/ontology/provider.js +26 -12
  527. package/dist/storage/ontology/provider.js.map +1 -1
  528. package/dist/storage/ontology/replacement-plans.d.ts +103 -0
  529. package/dist/storage/ontology/replacement-plans.d.ts.map +1 -0
  530. package/dist/storage/ontology/sources.d.ts +0 -8
  531. package/dist/storage/ontology/sources.d.ts.map +1 -1
  532. package/dist/storage/operation-scope.d.ts.map +1 -1
  533. package/dist/storage/operation-scope.js +1 -1
  534. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  535. package/dist/storage/projection-runs/types.d.ts +2 -0
  536. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  537. package/dist/storage/types.d.ts +2 -0
  538. package/dist/storage/types.d.ts.map +1 -1
  539. package/dist/storage/workflow-runs/provider.js +10 -7
  540. package/dist/storage/workflow-runs/provider.js.map +1 -1
  541. package/dist/syncs/index.js +30 -27
  542. package/dist/syncs/index.js.map +1 -1
  543. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  544. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
  545. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  546. package/dist/testing/file-download-grant-storage-contract.d.ts +9 -0
  547. package/dist/testing/file-download-grant-storage-contract.d.ts.map +1 -0
  548. package/dist/testing/index.d.ts +1 -0
  549. package/dist/testing/index.d.ts.map +1 -1
  550. package/dist/testing/index.js +2556 -1495
  551. package/dist/testing/index.js.map +14 -13
  552. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  553. package/dist/testing/materializer-storage-contract.d.ts +14 -0
  554. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  555. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  556. package/dist/testing/ontology-contract-fixture.d.ts +5 -1
  557. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  558. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  559. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  560. package/dist/testing/queues-contract.d.ts.map +1 -1
  561. package/dist/webhooks/internal.js +25 -22
  562. package/dist/webhooks/internal.js.map +2 -2
  563. package/dist/workers/index.js +15 -17
  564. package/dist/workers/index.js.map +3 -3
  565. package/dist/workers/queue-worker.d.ts +3 -2
  566. package/dist/workers/queue-worker.d.ts.map +1 -1
  567. package/dist/workflows/builders.d.ts.map +1 -1
  568. package/dist/workflows/index.js +51 -47
  569. package/dist/workflows/index.js.map +1 -1
  570. package/dist/workflows/request.d.ts.map +1 -1
  571. package/dist/workflows/types.d.ts +6 -3
  572. package/dist/workflows/types.d.ts.map +1 -1
  573. package/dist/workflows/validation.d.ts +2 -1
  574. package/dist/workflows/validation.d.ts.map +1 -1
  575. package/package.json +7 -1
  576. package/src/actions/read-facade.ts +2 -1
  577. package/src/actions/types/context.ts +5 -2
  578. package/src/actions/validation.ts +4 -1
  579. package/src/agents/adapters.ts +15 -0
  580. package/src/agents/authority.ts +15 -0
  581. package/src/agents/context/entries.ts +48 -4
  582. package/src/agents/context/index.ts +1 -0
  583. package/src/agents/context-compaction.ts +6 -0
  584. package/src/agents/errors.ts +3 -0
  585. package/src/agents/index.ts +13 -1
  586. package/src/agents/message.ts +9 -0
  587. package/src/agents/request.ts +178 -22
  588. package/src/agents/skills.ts +63 -0
  589. package/src/agents/types.ts +35 -5
  590. package/src/auth/runtime.ts +14 -0
  591. package/src/auth/types.ts +6 -0
  592. package/src/authorization/resolve.ts +6 -1
  593. package/src/authorization/types.ts +7 -0
  594. package/src/blob-storage/download-urls.ts +138 -0
  595. package/src/blob-storage/execution.ts +44 -1
  596. package/src/blob-storage/file-content.ts +106 -0
  597. package/src/blob-storage/index.ts +1 -0
  598. package/src/blob-storage/internal.ts +8 -0
  599. package/src/blob-storage/media-type.ts +29 -0
  600. package/src/blob-storage/types.ts +13 -1
  601. package/src/blob-storage/validation.ts +13 -0
  602. package/src/bootstrap/agent-context.ts +356 -0
  603. package/src/bootstrap/discovery.ts +100 -33
  604. package/src/bootstrap/index.ts +1 -1
  605. package/src/bootstrap/ontology-type-manifest.ts +3 -38
  606. package/src/datasets/builders.ts +17 -1
  607. package/src/datasets/execution.ts +110 -2
  608. package/src/datasets/index.ts +7 -1
  609. package/src/datasets/types.ts +2 -0
  610. package/src/datasets/write.ts +21 -2
  611. package/src/edits/properties.ts +3 -0
  612. package/src/events/execution.ts +15 -16
  613. package/src/events/types/objects.ts +5 -0
  614. package/src/execution/agent.ts +27 -0
  615. package/src/execution/authorization.ts +1 -0
  616. package/src/execution/authorized-object-reader.ts +104 -35
  617. package/src/execution/scopes.ts +2 -6
  618. package/src/http/api-routes.ts +4 -3
  619. package/src/index.ts +52 -2
  620. package/src/lake-storage/in-memory.ts +38 -9
  621. package/src/lake-storage/index.ts +2 -0
  622. package/src/lake-storage/types.ts +30 -0
  623. package/src/maintenance/ontology-maintenance.ts +50 -23
  624. package/src/maintenance/types.ts +1 -4
  625. package/src/materialization/event-envelopes.ts +168 -0
  626. package/src/materialization/events.ts +40 -4
  627. package/src/materialization/index.ts +9 -1
  628. package/src/materializer/README.md +55 -10
  629. package/src/materializer/edits/commit.ts +3 -19
  630. package/src/materializer/edits/plan.ts +20 -71
  631. package/src/materializer/effective/build-events.ts +42 -136
  632. package/src/materializer/effective/vector-indexing.ts +2 -3
  633. package/src/materializer/effective/vectors.ts +2 -3
  634. package/src/materializer/execution/scope.ts +1 -38
  635. package/src/materializer/execution/work-executor.ts +21 -115
  636. package/src/materializer/execution/work-records.ts +0 -15
  637. package/src/materializer/projections/replace.ts +106 -63
  638. package/src/materializer/projections/replacement-plan.ts +73 -218
  639. package/src/materializer/shared/batching.ts +7 -0
  640. package/src/materializer/telemetry/append.ts +2 -14
  641. package/src/materializer/telemetry/plan.ts +6 -43
  642. package/src/models/audio/catalog.ts +90 -0
  643. package/src/models/audio/errors.ts +19 -0
  644. package/src/models/audio/file.ts +78 -0
  645. package/src/models/audio/runtime.ts +182 -0
  646. package/src/models/audio/types.ts +69 -0
  647. package/src/models/catalog.ts +78 -7
  648. package/src/models/definitions.ts +8 -1
  649. package/src/models/events.ts +3 -0
  650. package/src/models/execution/README.md +24 -4
  651. package/src/models/execution/binding.ts +6 -0
  652. package/src/models/execution/model-call-admission.ts +6 -1
  653. package/src/models/execution/model-call-limits.ts +21 -11
  654. package/src/models/execution/model-call-recorder.ts +11 -0
  655. package/src/models/execution/model-call-recovery.ts +1 -0
  656. package/src/models/execution/reranking.ts +137 -0
  657. package/src/models/execution/session.ts +2 -2
  658. package/src/models/execution/usage.ts +1 -0
  659. package/src/models/execution.ts +11 -3
  660. package/src/models/generation-types.ts +2 -0
  661. package/src/models/index.ts +32 -0
  662. package/src/models/language-model.ts +6 -0
  663. package/src/models/pricing.ts +2 -1
  664. package/src/models/reranking-model.ts +114 -0
  665. package/src/objects/context/index.ts +1 -0
  666. package/src/objects/context/types.ts +7 -0
  667. package/src/objects/execution.ts +4 -1
  668. package/src/objects/materializer-adapter.ts +3 -0
  669. package/src/objects/object/upsert-batch.ts +4 -1
  670. package/src/objects/object/upsert.ts +3 -1
  671. package/src/objects/property-clearance.ts +209 -0
  672. package/src/objects/query/executor.ts +85 -38
  673. package/src/objects/query/explain.ts +8 -0
  674. package/src/objects/query/index.ts +1 -0
  675. package/src/objects/query/ir.ts +10 -0
  676. package/src/objects/query/normalize.ts +2 -0
  677. package/src/objects/query/planner.ts +12 -1
  678. package/src/objects/query/primary-id.ts +56 -0
  679. package/src/objects/query/reranking-executor.ts +91 -0
  680. package/src/objects/query/reranking-limits.ts +3 -0
  681. package/src/objects/query/reranking-query.ts +8 -0
  682. package/src/objects/query/validate.ts +166 -15
  683. package/src/objects/sdk/file-handle.ts +77 -0
  684. package/src/objects/sdk/object-handle.ts +8 -4
  685. package/src/objects/sdk/object-set.ts +5 -2
  686. package/src/objects/sdk/query-builder.ts +15 -2
  687. package/src/objects/sdk/query-executor.ts +2 -2
  688. package/src/objects/sdk/runtime-query-executor.ts +7 -4
  689. package/src/objects/vectors/README.md +6 -2
  690. package/src/objects/vectors/indexing-dispatch.ts +83 -0
  691. package/src/objects/vectors/query.ts +3 -0
  692. package/src/ontology/builders.ts +19 -2
  693. package/src/ontology/docs-markdown.ts +394 -0
  694. package/src/ontology/docs.ts +196 -0
  695. package/src/ontology/index.ts +2 -0
  696. package/src/ontology/inference/index.ts +25 -0
  697. package/src/ontology/internal.ts +7 -0
  698. package/src/ontology/query-capabilities.ts +1 -1
  699. package/src/ontology/tokens.ts +13 -2
  700. package/src/ontology/types.ts +26 -0
  701. package/src/ontology/validation/index.ts +1 -0
  702. package/src/ontology/validation/query.ts +57 -0
  703. package/src/ontology/validation/schema.ts +26 -1
  704. package/src/query.ts +4 -0
  705. package/src/queues/in-memory.ts +54 -19
  706. package/src/queues/types.ts +4 -0
  707. package/src/runtime/create.ts +34 -4
  708. package/src/runtime/definitions.ts +3 -1
  709. package/src/runtime/host.ts +73 -2
  710. package/src/runtime/index.ts +4 -0
  711. package/src/runtime/internal.ts +1 -0
  712. package/src/runtime/locale.ts +26 -0
  713. package/src/runtime/public-origin.ts +33 -0
  714. package/src/runtime/resolve-definitions.ts +28 -1
  715. package/src/runtime/sixb.ts +14 -3
  716. package/src/runtime/types.ts +51 -5
  717. package/src/scheduler/runtime.ts +11 -2
  718. package/src/security/builders.ts +49 -5
  719. package/src/security/index.ts +6 -1
  720. package/src/security/markings.ts +313 -0
  721. package/src/security/redactions.ts +6 -0
  722. package/src/security/registry.ts +21 -1
  723. package/src/security/types.ts +26 -0
  724. package/src/security/validation.ts +59 -2
  725. package/src/storage/agents/provider.ts +11 -0
  726. package/src/storage/agents/types.ts +15 -7
  727. package/src/storage/ai-cost/analytics.ts +2 -0
  728. package/src/storage/ai-cost/codec.ts +2 -1
  729. package/src/storage/ai-cost/types.ts +1 -0
  730. package/src/storage/ai-cost/validation.ts +21 -8
  731. package/src/storage/ai-limits/in-memory.ts +10 -2
  732. package/src/storage/ai-limits/provider.ts +29 -2
  733. package/src/storage/ai-limits/types.ts +3 -0
  734. package/src/storage/ai-usage/record.ts +9 -0
  735. package/src/storage/ai-usage/types.ts +8 -4
  736. package/src/storage/ai-usage/usage.ts +2 -0
  737. package/src/storage/file-download-grants/in-memory.ts +73 -0
  738. package/src/storage/file-download-grants/index.ts +8 -0
  739. package/src/storage/file-download-grants/record.ts +47 -0
  740. package/src/storage/file-download-grants/types.ts +48 -0
  741. package/src/storage/in-memory/index.ts +13 -2
  742. package/src/storage/index.ts +32 -13
  743. package/src/storage/internal.ts +1 -0
  744. package/src/storage/migrations/index.ts +1 -0
  745. package/src/storage/migrations/migrate-storage.ts +36 -12
  746. package/src/storage/migrations/types.ts +8 -0
  747. package/src/storage/objects/in-memory/query.ts +2 -0
  748. package/src/storage/objects/in-memory/selected-reader.ts +1 -0
  749. package/src/storage/objects/in-memory/storage.ts +1 -0
  750. package/src/storage/objects/query-preparation.ts +77 -0
  751. package/src/storage/objects/types.ts +9 -0
  752. package/src/storage/ontology/commits.ts +1 -6
  753. package/src/storage/ontology/in-memory/index.ts +28 -9
  754. package/src/storage/ontology/in-memory/materializations-finalization.ts +35 -68
  755. package/src/storage/ontology/in-memory/materializations-state.ts +0 -22
  756. package/src/storage/ontology/in-memory/materializations-work.ts +0 -45
  757. package/src/storage/ontology/in-memory/materializations.ts +172 -653
  758. package/src/storage/ontology/in-memory/outbox.ts +37 -29
  759. package/src/storage/ontology/in-memory/replacement-plans.ts +697 -0
  760. package/src/storage/ontology/in-memory/shared-state.ts +24 -2
  761. package/src/storage/ontology/in-memory/source-roots.ts +7 -2
  762. package/src/storage/ontology/in-memory/sources.ts +7 -33
  763. package/src/storage/ontology/in-memory/state-reader.ts +245 -0
  764. package/src/storage/ontology/index.ts +19 -13
  765. package/src/storage/ontology/materializations.ts +45 -74
  766. package/src/storage/ontology/outbox.ts +4 -7
  767. package/src/storage/ontology/provider-header-validation.ts +0 -57
  768. package/src/storage/ontology/provider-work.ts +381 -90
  769. package/src/storage/ontology/provider.ts +74 -171
  770. package/src/storage/ontology/replacement-plans.ts +117 -0
  771. package/src/storage/ontology/sources.ts +0 -12
  772. package/src/storage/operation-scope.ts +33 -1
  773. package/src/storage/projection-runs/in-memory.ts +7 -1
  774. package/src/storage/projection-runs/types.ts +2 -0
  775. package/src/storage/types.ts +2 -0
  776. package/src/testing/ai-cost-storage-contract.ts +1 -0
  777. package/src/testing/ai-limit-storage-contract.ts +62 -0
  778. package/src/testing/ai-usage-storage-contract.ts +31 -0
  779. package/src/testing/file-download-grant-storage-contract.ts +139 -0
  780. package/src/testing/index.ts +4 -0
  781. package/src/testing/lake-storage-contract.ts +87 -1
  782. package/src/testing/materializer-storage-contract.ts +1008 -1
  783. package/src/testing/object-read-scope-contract.ts +1 -0
  784. package/src/testing/ontology-contract-fixture.ts +11 -87
  785. package/src/testing/ontology-storage-contract.ts +70 -39
  786. package/src/testing/projection-run-storage-contract.ts +14 -0
  787. package/src/testing/queues-contract.ts +59 -0
  788. package/src/workers/queue-worker.ts +19 -16
  789. package/src/workflows/builders.ts +24 -1
  790. package/src/workflows/request.ts +3 -0
  791. package/src/workflows/types.ts +6 -3
  792. package/src/workflows/validation.ts +32 -4
  793. package/dist/chunk-3q7z9hd4.js.map +0 -46
  794. package/dist/chunk-667x4drs.js.map +0 -12
  795. package/dist/chunk-69266efg.js.map +0 -12
  796. package/dist/chunk-6z1q7j19.js.map +0 -62
  797. package/dist/chunk-7ytf06d3.js +0 -113
  798. package/dist/chunk-7ytf06d3.js.map +0 -10
  799. package/dist/chunk-8x74221e.js.map +0 -20
  800. package/dist/chunk-91kcnbf0.js.map +0 -10
  801. package/dist/chunk-98cw09sw.js.map +0 -10
  802. package/dist/chunk-9vx5e9g1.js.map +0 -11
  803. package/dist/chunk-a0073121.js.map +0 -12
  804. package/dist/chunk-a7ne02hk.js.map +0 -15
  805. package/dist/chunk-cd234ba4.js.map +0 -14
  806. package/dist/chunk-chdg6eqq.js.map +0 -10
  807. package/dist/chunk-dmn70ztd.js.map +0 -11
  808. package/dist/chunk-f72rbvsb.js.map +0 -19
  809. package/dist/chunk-g4rbm4a6.js.map +0 -15
  810. package/dist/chunk-h044jb97.js.map +0 -15
  811. package/dist/chunk-h3v76ams.js.map +0 -11
  812. package/dist/chunk-h4138ww2.js.map +0 -50
  813. package/dist/chunk-hgqpcmyr.js.map +0 -12
  814. package/dist/chunk-jgwb25gc.js.map +0 -12
  815. package/dist/chunk-k4kkp58d.js.map +0 -11
  816. package/dist/chunk-kttr5ftm.js.map +0 -12
  817. package/dist/chunk-kvysp909.js.map +0 -17
  818. package/dist/chunk-mdnw7nj8.js.map +0 -15
  819. package/dist/chunk-s3csryxe.js.map +0 -11
  820. package/dist/chunk-tnvafr7g.js.map +0 -19
  821. package/dist/chunk-vjqt7q3a.js.map +0 -36
  822. package/dist/chunk-xnx96gfy.js.map +0 -15
  823. package/dist/chunk-z5rnrmz1.js.map +0 -11
  824. package/dist/chunk-zvmr2hqk.js.map +0 -12
  825. package/dist/materializer/execution/plan-stream.d.ts +0 -8
  826. package/dist/materializer/execution/plan-stream.d.ts.map +0 -1
  827. package/src/materializer/execution/plan-stream.ts +0 -121
  828. /package/dist/{chunk-4gmng3vf.js.map → chunk-22v5bpz3.js.map} +0 -0
  829. /package/dist/{chunk-fj1dvp37.js.map → chunk-2vhg6ysa.js.map} +0 -0
  830. /package/dist/{chunk-gmdvns8f.js.map → chunk-48e3cn2d.js.map} +0 -0
  831. /package/dist/{chunk-cq44v1a6.js.map → chunk-7hpdd6r9.js.map} +0 -0
  832. /package/dist/{chunk-rb143ggb.js.map → chunk-bwjcehza.js.map} +0 -0
  833. /package/dist/{chunk-7g2gjvah.js.map → chunk-ex496vct.js.map} +0 -0
  834. /package/dist/{chunk-nvymebc1.js.map → chunk-f1zxad2t.js.map} +0 -0
  835. /package/dist/{chunk-b9y8hcm2.js.map → chunk-mfs23znk.js.map} +0 -0
  836. /package/dist/{chunk-h866d223.js.map → chunk-qkvz64nd.js.map} +0 -0
  837. /package/dist/{chunk-tkdbge6v.js.map → chunk-rt9p8m9t.js.map} +0 -0
  838. /package/dist/{chunk-sbcm1b92.js.map → chunk-v6xpd60t.js.map} +0 -0
  839. /package/dist/{chunk-nj0020ay.js.map → chunk-vgk3hknm.js.map} +0 -0
  840. /package/dist/{chunk-qnd7ehe5.js.map → chunk-vx2yp45y.js.map} +0 -0
  841. /package/dist/{chunk-nkbev3tr.js.map → chunk-yv9czyfr.js.map} +0 -0
  842. /package/dist/{chunk-cxj8y8t0.js.map → chunk-za5yd58j.js.map} +0 -0
  843. /package/dist/{chunk-zb47r1c8.js.map → chunk-zb77kjth.js.map} +0 -0
  844. /package/dist/{chunk-dp7yk20b.js.map → chunk-zxawp1n2.js.map} +0 -0
@@ -1,26 +1,22 @@
1
- import type {
2
- EffectiveChangeCounts,
3
- EffectiveLinkChange,
4
- EffectiveObjectChange,
5
- OntologyMaterializationOrigin,
6
- OntologyObjectRef,
7
- ProjectionSourceRef,
8
- } from "../../materialization/model"
1
+ import type { EffectiveLinkChange, EffectiveObjectChange } from "../../materialization/model"
9
2
  import {
10
3
  linkRefKey,
11
4
  linkRefSortKey,
12
5
  linkScopeSortKey,
13
6
  objectRefKey,
14
7
  objectRefSortKey,
8
+ utf8JsonByteLength,
15
9
  } from "../../materialization/refs"
16
10
  import type {
17
11
  MaterializationPlanWorkItem,
18
- MaterializationSession,
19
12
  MaterializationWorkRecord,
20
- OntologyMaterializationStorage,
13
+ OntologyCommitWrite,
14
+ OntologyReplacementPlanStorage,
15
+ PlannedReplacementIdentity,
16
+ ReplacementPlanRef,
21
17
  SourceReplacementLinkState,
22
18
  SourceReplacementObjectState,
23
- SourceReplacementStatePage,
19
+ StageReplacementPlanInput,
24
20
  } from "../../storage/ontology"
25
21
  import type { MaterializerContext } from "../context"
26
22
  import {
@@ -28,7 +24,6 @@ import {
28
24
  buildObjectMaterializationEventDraft,
29
25
  } from "../effective/build-events"
30
26
  import { diffEffectiveLink, diffEffectiveObject } from "../effective/diff"
31
- import { oneStateRequest } from "../effective/load-state"
32
27
  import {
33
28
  resolveEffectiveLink,
34
29
  resolveEffectiveLinkSlotMember,
@@ -37,8 +32,6 @@ import {
37
32
  usableLinkSlotOverride,
38
33
  } from "../effective/resolve"
39
34
  import { validateEffectiveObject } from "../effective/validate"
40
- import type { MaterializerAttribution } from "../execution/scope"
41
- import { stageWorkBounded, validateStagedCardinality } from "../execution/work-executor"
42
35
  import {
43
36
  appendEffectiveLinkWork,
44
37
  appendEffectiveObjectWork,
@@ -47,72 +40,84 @@ import {
47
40
  planWork,
48
41
  } from "../execution/work-records"
49
42
  import { throwIfAborted } from "../shared/abort"
50
- import type { TimedCommitIdentity } from "../shared/identity"
43
+ import { chunkBySize } from "../shared/chunking"
51
44
 
52
45
  export interface ProjectionReplacementPlanInput {
53
- readonly source: ProjectionSourceRef
54
- readonly materializationId: string
55
46
  readonly projectionKind: "object" | "link"
56
- readonly identity: TimedCommitIdentity
57
- readonly origin: OntologyMaterializationOrigin
58
- readonly correlationId: string
59
- readonly attribution: MaterializerAttribution
47
+ /** The commit the plan carries, timed as the plan was opened. */
48
+ readonly commit: OntologyCommitWrite
60
49
  readonly signal?: AbortSignal
61
50
  }
62
51
 
52
+ /**
53
+ * Plans every identity of the candidate's durable plan still to plan, outside any transaction.
54
+ * Objects come first: a link resolves against the existence its endpoints are planned to have.
55
+ */
63
56
  export async function planProjectionReplacement(
64
57
  context: MaterializerContext,
65
- storage: OntologyMaterializationStorage,
66
- session: MaterializationSession,
58
+ plans: OntologyReplacementPlanStorage,
59
+ plan: ReplacementPlanRef,
67
60
  input: ProjectionReplacementPlanInput
68
- ): Promise<EffectiveChangeCounts> {
69
- const counts = emptyCounts()
61
+ ): Promise<void> {
62
+ const staged = { ...plan, commit: input.commit }
70
63
  if (input.projectionKind === "object") {
71
- await planObjectReplacement(context, storage, session, input, counts)
64
+ for await (const page of plans.streamState({
65
+ ...plan,
66
+ entityKind: "object",
67
+ pageRows: context.batching.statePageRows,
68
+ })) {
69
+ throwIfAborted(input.signal)
70
+ await stagePlanned(
71
+ context,
72
+ plans,
73
+ staged,
74
+ page.objects.map((state) => ({
75
+ identity: { kind: "object", ref: state.ref },
76
+ records: planReplacementObject(context, input, state),
77
+ }))
78
+ )
79
+ }
72
80
  }
73
- await planLinkReplacement(context, storage, session, input, counts)
74
- await validateStagedCardinality(context, storage, session, input.signal)
75
- return counts
76
- }
77
-
78
- async function planObjectReplacement(
79
- context: MaterializerContext,
80
- storage: OntologyMaterializationStorage,
81
- session: MaterializationSession,
82
- input: ProjectionReplacementPlanInput,
83
- counts: MutableCounts
84
- ): Promise<void> {
85
- for await (const page of storage.streamSourceReplacementState({
86
- session,
87
- source: input.source,
88
- candidateMaterializationId: input.materializationId,
89
- entityKind: "object",
81
+ for await (const page of plans.streamState({
82
+ ...plan,
83
+ entityKind: "link",
90
84
  pageRows: context.batching.statePageRows,
91
85
  })) {
92
86
  throwIfAborted(input.signal)
93
- const work = planObjectPage(context, input, page, counts)
94
- await stageWorkBounded(context, storage, session, work)
87
+ const endpoints = new Map(
88
+ page.endpoints.map((endpoint) => [objectRefKey(endpoint.ref), endpoint.exists] as const)
89
+ )
90
+ await stagePlanned(
91
+ context,
92
+ plans,
93
+ staged,
94
+ page.links.map((state) => ({
95
+ identity: { kind: "link", ref: state.ref },
96
+ records: planReplacementLink(context, input, state, endpoints),
97
+ }))
98
+ )
95
99
  }
96
100
  }
97
101
 
98
- function planObjectPage(
99
- context: MaterializerContext,
100
- input: ProjectionReplacementPlanInput,
101
- page: SourceReplacementStatePage,
102
- counts: MutableCounts
103
- ): MaterializationWorkRecord[] {
104
- const work: MaterializationWorkRecord[] = []
105
- for (const state of page.objects) {
106
- work.push(...planReplacementObject(context, input, state, counts))
102
+ async function stagePlanned(
103
+ context: Pick<MaterializerContext, "batching">,
104
+ plans: OntologyReplacementPlanStorage,
105
+ plan: Omit<StageReplacementPlanInput, "planned">,
106
+ planned: readonly PlannedReplacementIdentity[]
107
+ ): Promise<void> {
108
+ for await (const chunk of chunkBySize(planned, {
109
+ maxRows: context.batching.planChunkRows,
110
+ maxBytes: context.batching.planChunkBytes,
111
+ byteLength: (value) => utf8JsonByteLength(value.records),
112
+ })) {
113
+ await plans.stage({ ...plan, planned: chunk })
107
114
  }
108
- return work
109
115
  }
110
116
 
111
117
  function planReplacementObject(
112
118
  context: MaterializerContext,
113
119
  input: ProjectionReplacementPlanInput,
114
- state: SourceReplacementObjectState,
115
- counts: MutableCounts
120
+ state: SourceReplacementObjectState
116
121
  ): MaterializationWorkRecord[] {
117
122
  const resolved = resolveReplacementObject(context, state)
118
123
  if (resolved) validateEffectiveObject(context.ontology, resolved.ref, resolved.properties)
@@ -120,8 +125,8 @@ function planReplacementObject(
120
125
  const change = diffEffectiveObject({
121
126
  before: state.effective,
122
127
  resolved,
123
- commitId: input.identity.commitId,
124
- committedAt: input.identity.committedAt,
128
+ commitId: input.commit.id,
129
+ committedAt: input.commit.committedAt,
125
130
  })
126
131
  const sortKey = objectRefSortKey(state.ref)
127
132
  const work: MaterializationWorkRecord[] = [
@@ -137,131 +142,27 @@ function planReplacementObject(
137
142
  work.push({ kind: "incident-object", recordKey: `incident:${sortKey}`, ref: state.ref })
138
143
  }
139
144
 
140
- if (!change) {
141
- counts.objectsUnchanged += 1
142
- return work
143
- }
144
-
145
- incrementObjectCount(counts, change.kind)
146
- appendObjectChangeWork(work, sortKey, context, input, change)
145
+ if (!change) return work
146
+ appendObjectChangeWork(work, sortKey, change)
147
147
  return work
148
148
  }
149
149
 
150
150
  function appendObjectChangeWork(
151
151
  work: MaterializationWorkRecord[],
152
152
  sortKey: string,
153
- context: Pick<MaterializerContext, "projectId">,
154
- input: ProjectionReplacementPlanInput,
155
153
  change: EffectiveObjectChange
156
154
  ): void {
157
155
  const items: MaterializationPlanWorkItem[] = []
158
156
  appendEffectiveObjectWork(items, change)
159
157
  for (const item of items) work.push(planWork(item, sortKey))
160
- work.push(
161
- eventWork(
162
- buildObjectMaterializationEventDraft({
163
- projectId: context.projectId,
164
- commitId: input.identity.commitId,
165
- committedAt: input.identity.committedAt,
166
- origin: input.origin,
167
- correlationId: input.correlationId,
168
- attribution: input.attribution,
169
- change,
170
- })
171
- )
172
- )
173
- }
174
-
175
- async function planLinkReplacement(
176
- context: MaterializerContext,
177
- storage: OntologyMaterializationStorage,
178
- session: MaterializationSession,
179
- input: ProjectionReplacementPlanInput,
180
- counts: MutableCounts
181
- ): Promise<void> {
182
- for await (const page of storage.streamSourceReplacementState({
183
- session,
184
- source: input.source,
185
- candidateMaterializationId: input.materializationId,
186
- entityKind: "link",
187
- pageRows: context.batching.statePageRows,
188
- })) {
189
- throwIfAborted(input.signal)
190
- const endpointExistence = await loadEndpointExistence(context, storage, session, page)
191
- const work = planLinkPage(context, input, page, endpointExistence, counts)
192
- await stageWorkBounded(context, storage, session, work)
193
- }
194
- }
195
-
196
- async function loadEndpointExistence(
197
- context: MaterializerContext,
198
- storage: OntologyMaterializationStorage,
199
- session: MaterializationSession,
200
- page: SourceReplacementStatePage
201
- ): Promise<ReadonlyMap<string, boolean>> {
202
- const endpointRefs = collectEndpointRefs(page.links)
203
- const endpointExistence = new Map<string, boolean>()
204
- for (const value of await storage.readObjectExistence({
205
- session,
206
- refs: [...endpointRefs.values()],
207
- })) {
208
- endpointExistence.set(objectRefKey(value.ref), value.exists)
209
- }
210
-
211
- const missingEndpoints = [...endpointRefs.values()].filter(
212
- (ref) => !endpointExistence.has(objectRefKey(ref))
213
- )
214
- if (missingEndpoints.length === 0) return endpointExistence
215
-
216
- for await (const endpointPage of storage.streamState({
217
- session,
218
- requests: oneStateRequest({
219
- objects: missingEndpoints,
220
- links: [],
221
- linkScopes: [],
222
- incidentObjects: [],
223
- points: [],
224
- }),
225
- pageRows: context.batching.statePageRows,
226
- })) {
227
- for (const endpoint of endpointPage.objects) {
228
- endpointExistence.set(objectRefKey(endpoint.ref), endpoint.effective !== null)
229
- }
230
- }
231
- return endpointExistence
232
- }
233
-
234
- function collectEndpointRefs(
235
- links: readonly SourceReplacementLinkState[]
236
- ): ReadonlyMap<string, OntologyObjectRef> {
237
- const refs = new Map<string, OntologyObjectRef>()
238
- for (const state of links) {
239
- refs.set(objectRefKey(state.ref.source), state.ref.source)
240
- refs.set(objectRefKey(state.ref.target), state.ref.target)
241
- }
242
- return refs
243
- }
244
-
245
- function planLinkPage(
246
- context: MaterializerContext,
247
- input: ProjectionReplacementPlanInput,
248
- page: SourceReplacementStatePage,
249
- endpointExistence: ReadonlyMap<string, boolean>,
250
- counts: MutableCounts
251
- ): MaterializationWorkRecord[] {
252
- const work: MaterializationWorkRecord[] = []
253
- for (const state of page.links) {
254
- work.push(...planReplacementLink(context, input, state, endpointExistence, counts))
255
- }
256
- return work
158
+ work.push(eventWork(buildObjectMaterializationEventDraft(change)))
257
159
  }
258
160
 
259
161
  function planReplacementLink(
260
162
  context: MaterializerContext,
261
163
  input: ProjectionReplacementPlanInput,
262
164
  state: SourceReplacementLinkState,
263
- endpointExistence: ReadonlyMap<string, boolean>,
264
- counts: MutableCounts
165
+ endpointExistence: ReadonlyMap<string, boolean>
265
166
  ): MaterializationWorkRecord[] {
266
167
  const resolved = resolveReplacementLink(context, state, endpointExistence)
267
168
  const work = cardinalityWork(context, state, resolved !== null)
@@ -270,18 +171,13 @@ function planReplacementLink(
270
171
  const change = diffEffectiveLink({
271
172
  before: state.effective,
272
173
  resolved,
273
- commitId: input.identity.commitId,
274
- committedAt: input.identity.committedAt,
174
+ commitId: input.commit.id,
175
+ committedAt: input.commit.committedAt,
275
176
  })
276
177
  const sortKey = linkRefSortKey(state.ref)
277
178
  work.push(classificationWork("link", linkRefKey(state.ref), sortKey))
278
- if (!change) {
279
- counts.linksUnchanged += 1
280
- return work
281
- }
282
-
283
- incrementLinkCount(counts, change.kind)
284
- appendLinkChangeWork(work, sortKey, context, input, change)
179
+ if (!change) return work
180
+ appendLinkChangeWork(work, sortKey, change)
285
181
  return work
286
182
  }
287
183
 
@@ -348,26 +244,12 @@ function cardinalityWork(
348
244
  function appendLinkChangeWork(
349
245
  work: MaterializationWorkRecord[],
350
246
  sortKey: string,
351
- context: Pick<MaterializerContext, "projectId">,
352
- input: ProjectionReplacementPlanInput,
353
247
  change: EffectiveLinkChange
354
248
  ): void {
355
249
  const items: MaterializationPlanWorkItem[] = []
356
250
  appendEffectiveLinkWork(items, change)
357
251
  for (const item of items) work.push(planWork(item, sortKey))
358
- work.push(
359
- eventWork(
360
- buildLinkMaterializationEventDraft({
361
- projectId: context.projectId,
362
- commitId: input.identity.commitId,
363
- committedAt: input.identity.committedAt,
364
- origin: input.origin,
365
- correlationId: input.correlationId,
366
- attribution: input.attribution,
367
- change,
368
- })
369
- )
370
- )
252
+ work.push(eventWork(buildLinkMaterializationEventDraft(change)))
371
253
  }
372
254
 
373
255
  function resolveReplacementObject(
@@ -383,30 +265,3 @@ function resolveReplacementObject(
383
265
  latestTelemetry: state.latestTelemetry,
384
266
  })
385
267
  }
386
-
387
- function emptyCounts(): MutableCounts {
388
- return {
389
- objectsCreated: 0,
390
- objectsUpdated: 0,
391
- objectsDeleted: 0,
392
- objectsUnchanged: 0,
393
- linksCreated: 0,
394
- linksUpdated: 0,
395
- linksDeleted: 0,
396
- linksUnchanged: 0,
397
- }
398
- }
399
-
400
- type MutableCounts = { -readonly [K in keyof EffectiveChangeCounts]: EffectiveChangeCounts[K] }
401
-
402
- function incrementObjectCount(counts: MutableCounts, kind: EffectiveObjectChange["kind"]): void {
403
- if (kind === "created") counts.objectsCreated += 1
404
- else if (kind === "updated") counts.objectsUpdated += 1
405
- else counts.objectsDeleted += 1
406
- }
407
-
408
- function incrementLinkCount(counts: MutableCounts, kind: EffectiveLinkChange["kind"]): void {
409
- if (kind === "created") counts.linksCreated += 1
410
- else if (kind === "updated") counts.linksUpdated += 1
411
- else counts.linksDeleted += 1
412
- }
@@ -6,6 +6,11 @@ export interface MaterializationBatching {
6
6
  readonly statePageRows: number
7
7
  readonly planChunkRows: number
8
8
  readonly planChunkBytes: number
9
+ /**
10
+ * Stale identities a projection commit plans again inside its own transaction. A refresh that
11
+ * finds more gives them back to a round outside it.
12
+ */
13
+ readonly transactionReplanRows: number
9
14
  }
10
15
 
11
16
  export const DEFAULT_MATERIALIZATION_BATCHING: MaterializationBatching = Object.freeze({
@@ -17,6 +22,8 @@ export const DEFAULT_MATERIALIZATION_BATCHING: MaterializationBatching = Object.
17
22
  statePageRows: 1_000,
18
23
  planChunkRows: 1_000,
19
24
  planChunkBytes: 4 * 1024 * 1024,
25
+ // One state page: a few hundred milliseconds of planning while the commit holds its locks.
26
+ transactionReplanRows: 1_000,
20
27
  })
21
28
 
22
29
  /** Internal test/provider override. Application configuration never exposes these chunk targets. */
@@ -32,7 +32,7 @@ import {
32
32
  type MaterializerExecution,
33
33
  prepareMaterializerExecution,
34
34
  } from "../execution/scope"
35
- import { drainStagedEvents, drainStagedWork } from "../execution/work-executor"
35
+ import { applyStagedWork } from "../execution/work-executor"
36
36
  import type { MaterializerCommand } from "../materializer"
37
37
  import {
38
38
  createProjectionTelemetryIdempotencyKey,
@@ -397,20 +397,9 @@ async function executeTelemetryTransaction(
397
397
  storage.ontology.materializations,
398
398
  session,
399
399
  command.input,
400
- command.identity,
401
- origin,
402
- {
403
- correlationId: command.execution.correlationId,
404
- attribution: command.execution.attribution,
405
- }
406
- )
407
- await drainStagedWork(context, storage, session)
408
- const eventCount = await drainStagedEvents(
409
- context,
410
- storage.ontology.materializations,
411
- session,
412
400
  command.identity
413
401
  )
402
+ const eventCount = await applyStagedWork(context, storage, session)
414
403
  const result: TelemetryCommitResult = {
415
404
  kind: "telemetry",
416
405
  commitId: command.identity.commitId,
@@ -475,7 +464,6 @@ function telemetryCommit(
475
464
  requestHash: command.identity.requestHash,
476
465
  executionId: command.execution.executionId,
477
466
  origin,
478
- ...command.execution.attribution,
479
467
  ontologyRevision: command.ontologyRevision,
480
468
  intent: telemetryCommitIntent(command),
481
469
  committedAt: command.identity.committedAt,
@@ -1,7 +1,6 @@
1
1
  import { stableJsonStringify } from "../../json"
2
2
  import { MaterializationObjectNotFoundError } from "../../materialization/errors"
3
3
  import type {
4
- OntologyMaterializationOrigin,
5
4
  OntologyObjectRef,
6
5
  TelemetryAppend,
7
6
  TelemetryPointWrite,
@@ -29,7 +28,6 @@ import {
29
28
  import { diffEffectiveObject } from "../effective/diff"
30
29
  import { loadState, oneStateRequest } from "../effective/load-state"
31
30
  import { validateEffectiveObject } from "../effective/validate"
32
- import type { MaterializerAttribution } from "../execution/scope"
33
31
  import { stageWorkBounded } from "../execution/work-executor"
34
32
  import {
35
33
  appendEffectiveObjectWork,
@@ -62,13 +60,6 @@ interface TelemetryObjectGroup {
62
60
  interface TelemetryPlanContext {
63
61
  readonly input: TelemetryAppend
64
62
  readonly identity: TimedCommitIdentity
65
- readonly origin: OntologyMaterializationOrigin
66
- readonly event: TelemetryEventContext
67
- }
68
-
69
- interface TelemetryEventContext {
70
- readonly correlationId: string
71
- readonly attribution: MaterializerAttribution
72
63
  }
73
64
 
74
65
  export async function planTelemetryAppend(
@@ -76,12 +67,10 @@ export async function planTelemetryAppend(
76
67
  storage: OntologyMaterializationStorage,
77
68
  session: MaterializationSession,
78
69
  input: TelemetryAppend,
79
- identity: TimedCommitIdentity,
80
- origin: OntologyMaterializationOrigin,
81
- event: TelemetryEventContext
70
+ identity: TimedCommitIdentity
82
71
  ): Promise<TelemetryPlanCounts> {
83
72
  const counts = emptyTelemetryCounts()
84
- const planContext = { input, identity, origin, event }
73
+ const planContext = { input, identity }
85
74
  const objects = await loadTelemetryObjects(context, storage, session, input.points)
86
75
  const existingPoints = await loadExistingPoints(context, storage, session, input.points)
87
76
  for (const group of telemetryObjectGroups(input.points)) {
@@ -137,7 +126,7 @@ async function planTelemetryObject(
137
126
  for (let start = group.start; start < group.end; start += context.batching.statePageRows) {
138
127
  const end = Math.min(group.end, start + context.batching.statePageRows)
139
128
  const points = planContext.input.points.slice(start, end)
140
- const work = planTelemetryChunk(context, planContext, points, existingPoints, latest, counts)
129
+ const work = planTelemetryChunk(planContext, points, existingPoints, latest, counts)
141
130
  await stageWorkBounded(context, storage, session, work)
142
131
  }
143
132
 
@@ -164,7 +153,6 @@ async function loadTelemetryObjects(
164
153
  }
165
154
 
166
155
  function planTelemetryChunk(
167
- context: Pick<MaterializerContext, "projectId">,
168
156
  planContext: TelemetryPlanContext,
169
157
  points: readonly TelemetryPointWrite[],
170
158
  existingPoints: ReadonlyMap<string, StoredTelemetryPoint>,
@@ -173,7 +161,7 @@ function planTelemetryChunk(
173
161
  ): MaterializationWorkRecord[] {
174
162
  const work: MaterializationWorkRecord[] = []
175
163
  for (const point of points) {
176
- work.push(...planTelemetryPoint(context, planContext, point, existingPoints, latest, counts))
164
+ work.push(...planTelemetryPoint(planContext, point, existingPoints, latest, counts))
177
165
  }
178
166
  return work
179
167
  }
@@ -205,7 +193,6 @@ async function loadExistingPoints(
205
193
  }
206
194
 
207
195
  function planTelemetryPoint(
208
- context: Pick<MaterializerContext, "projectId">,
209
196
  planContext: TelemetryPlanContext,
210
197
  point: TelemetryPointWrite,
211
198
  existingPoints: ReadonlyMap<string, StoredTelemetryPoint>,
@@ -223,7 +210,7 @@ function planTelemetryPoint(
223
210
  } else {
224
211
  countTelemetryPointChange(counts, existing)
225
212
  work.push(planWork(telemetryPointUpsert(point, existing, planContext.identity), sortKey))
226
- work.push(eventWork(buildTelemetryEvent(context, planContext, point)))
213
+ work.push(eventWork(buildTelemetryMaterializationEventDraft(point)))
227
214
  }
228
215
 
229
216
  updateLatestPoint(latest, point, existing, unchanged, planContext.identity)
@@ -282,15 +269,6 @@ function storedTelemetryPointWithUnit<T extends object>(
282
269
  return { ...point, unit }
283
270
  }
284
271
 
285
- function buildTelemetryEvent(
286
- context: Pick<MaterializerContext, "projectId">,
287
- planContext: TelemetryPlanContext,
288
- point: TelemetryPointWrite
289
- ) {
290
- const eventContext = telemetryEventContext(context, planContext)
291
- return buildTelemetryMaterializationEventDraft({ ...eventContext, point })
292
- }
293
-
294
272
  function updateLatestPoint(
295
273
  latest: Map<string, StoredTelemetryPoint>,
296
274
  point: TelemetryPointWrite,
@@ -341,26 +319,11 @@ async function stageTelemetryObjectPlan(
341
319
  const items: MaterializationPlanWorkItem[] = []
342
320
  appendEffectiveObjectWork(items, change)
343
321
  work.push(...items.map((item) => planWork(item, sortKey)))
344
- const eventContext = telemetryEventContext(context, planContext)
345
- work.push(eventWork(buildObjectMaterializationEventDraft({ ...eventContext, change })))
322
+ work.push(eventWork(buildObjectMaterializationEventDraft(change)))
346
323
  }
347
324
  await stageWorkBounded(context, storage, session, work)
348
325
  }
349
326
 
350
- function telemetryEventContext(
351
- context: Pick<MaterializerContext, "projectId">,
352
- planContext: TelemetryPlanContext
353
- ) {
354
- return {
355
- projectId: context.projectId,
356
- commitId: planContext.identity.commitId,
357
- committedAt: planContext.identity.committedAt,
358
- origin: planContext.origin,
359
- correlationId: planContext.event.correlationId,
360
- attribution: planContext.event.attribution,
361
- }
362
- }
363
-
364
327
  function emptyTelemetryCounts(): MutableTelemetryPlanCounts {
365
328
  return {
366
329
  pointsCreated: 0,
@@ -0,0 +1,90 @@
1
+ import type { ModelRef } from "../catalog"
2
+ import { indexModelBindings } from "../catalog-index"
3
+ import type { TranscriptionModel } from "./types"
4
+
5
+ export interface TranscriptionModelEntry extends ModelRef {
6
+ readonly model: TranscriptionModel
7
+ }
8
+
9
+ export interface TranscriptionModelCatalog {
10
+ readonly default: TranscriptionModelEntry
11
+ list(): readonly TranscriptionModelEntry[]
12
+ getByRef(ref: ModelRef): TranscriptionModelEntry | null
13
+ }
14
+
15
+ export interface AudioModelCatalog {
16
+ readonly transcription?: TranscriptionModelCatalog
17
+ }
18
+
19
+ export interface AudioModelCatalogInput {
20
+ /** Ordered; the first entry is the default transcriber. */
21
+ readonly transcription?: readonly TranscriptionModel[]
22
+ }
23
+
24
+ export function createAudioCatalog(
25
+ input: AudioModelCatalogInput | undefined
26
+ ): AudioModelCatalog | undefined {
27
+ if (input === undefined) return undefined
28
+ if (
29
+ !input ||
30
+ typeof input !== "object" ||
31
+ Array.isArray(input) ||
32
+ !Array.isArray(input.transcription)
33
+ ) {
34
+ throw new TypeError(
35
+ "[Sixb] models.audio.transcription must be a nonempty array of transcription models."
36
+ )
37
+ }
38
+
39
+ const index = indexModelBindings(
40
+ input.transcription,
41
+ "audio.transcription",
42
+ assertTranscriptionModel
43
+ )
44
+ const [defaultEntry] = index.list()
45
+ if (!defaultEntry) {
46
+ throw new TypeError("[Sixb] models.audio.transcription must contain at least one model.")
47
+ }
48
+
49
+ return Object.freeze({ transcription: Object.freeze({ ...index, default: defaultEntry }) })
50
+ }
51
+
52
+ export function assertTranscriptionModel(model: unknown): asserts model is TranscriptionModel {
53
+ const candidate = model as Partial<TranscriptionModel> | null
54
+ const definition = candidate?.definition
55
+ if (
56
+ !candidate ||
57
+ !isValidId(candidate.providerId) ||
58
+ !isValidId(candidate.modelId) ||
59
+ typeof candidate.transcribe !== "function" ||
60
+ definition?.kind !== "transcription" ||
61
+ definition.providerId !== candidate.providerId ||
62
+ definition.modelId !== candidate.modelId
63
+ ) {
64
+ throw invalidModel()
65
+ }
66
+
67
+ if (!Number.isSafeInteger(definition.maxInputBytes) || definition.maxInputBytes <= 0) {
68
+ throw invalidModel()
69
+ }
70
+
71
+ const mediaTypes = definition.mediaTypes
72
+ if (
73
+ mediaTypes !== undefined &&
74
+ (!Array.isArray(mediaTypes) ||
75
+ mediaTypes.length === 0 ||
76
+ !mediaTypes.every((type) => typeof type === "string" && /^audio\/[a-z0-9.+-]+$/.test(type)))
77
+ ) {
78
+ throw invalidModel()
79
+ }
80
+ }
81
+
82
+ function isValidId(value: unknown): value is string {
83
+ return typeof value === "string" && value.length > 0 && value.trim() === value
84
+ }
85
+
86
+ function invalidModel(): TypeError {
87
+ return new TypeError(
88
+ "[SixbModels] Invalid transcription model identity, definition or input limits."
89
+ )
90
+ }