@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
@@ -0,0 +1,91 @@
1
+ import type { RerankingModel } from "../../models/reranking-model"
2
+ import { validateRerankingResults } from "../../models/reranking-model"
3
+ import type { ObjectRow, QueryObjectsResult } from "../../storage"
4
+ import { vectorSources } from "../vectors/profile"
5
+ import { ObjectQueryExecutionError } from "./errors"
6
+ import type { ObjectQuery, ObjectQueryVector } from "./ir"
7
+ import { MAX_RERANK_INPUT_BYTES } from "./reranking-limits"
8
+
9
+ /** Receives only rows from the authorized reader; never rereads unmasked storage. */
10
+ export async function rerankObjectCandidates(input: {
11
+ readonly query: ObjectQuery
12
+ readonly vector: ObjectQueryVector
13
+ readonly candidates: readonly ObjectRow[]
14
+ readonly model: RerankingModel
15
+ readonly signal?: AbortSignal
16
+ readonly includeTotal?: boolean
17
+ }): Promise<QueryObjectsResult> {
18
+ const { vector, candidates, model, signal } = input
19
+ if (typeof vector.vector !== "string" || !vector.source) {
20
+ throw new ObjectQueryExecutionError(
21
+ "invalid_rerank_input",
22
+ "Reranking requires a validated text vector query."
23
+ )
24
+ }
25
+ signal?.throwIfAborted()
26
+ if (candidates.length > vector.k) {
27
+ throw new ObjectQueryExecutionError(
28
+ "rerank_candidate_limit_exceeded",
29
+ "Storage exceeded the admitted vector candidate bound."
30
+ )
31
+ }
32
+ const source = vector.source
33
+ const documents = candidates.map((row) => vectorSources(source, row.properties).text)
34
+ const encoder = new TextEncoder()
35
+ const bytes =
36
+ encoder.encode(vector.vector).byteLength +
37
+ documents.reduce((sum, text) => sum + encoder.encode(text).byteLength, 0)
38
+ if (bytes > MAX_RERANK_INPUT_BYTES) {
39
+ throw new ObjectQueryExecutionError(
40
+ "rerank_input_limit_exceeded",
41
+ "Reranking input exceeds 1 MiB. Use fewer candidates or shorter profile sources."
42
+ )
43
+ }
44
+
45
+ const results =
46
+ documents.length === 0
47
+ ? []
48
+ : (await model.rerank({ query: vector.vector, documents, signal })).results
49
+ signal?.throwIfAborted()
50
+ const ranking = validateRerankingResults(results, candidates.length)
51
+ const rows = ranking.map(({ index, score }) => ({ ...candidates[index]!, score }))
52
+ const shaped = shapeRerankedRows(input.query, rows)
53
+ return {
54
+ objects: shaped.rows,
55
+ hasMore: shaped.hasMore,
56
+ ...(input.includeTotal === false ? {} : { total: shaped.total }),
57
+ }
58
+ }
59
+
60
+ function shapeRerankedRows(
61
+ query: ObjectQuery,
62
+ rows: readonly ObjectRow[]
63
+ ): { rows: readonly ObjectRow[]; total: number; hasMore: boolean } {
64
+ if (query.kind === "rerank") return { rows, total: rows.length, hasMore: false }
65
+ if (query.kind === "limit") {
66
+ const input = shapeRerankedRows(query.input, rows)
67
+ return {
68
+ rows: input.rows.slice(0, query.limit),
69
+ total: input.total,
70
+ hasMore: input.hasMore || query.limit < input.rows.length,
71
+ }
72
+ }
73
+ if (query.kind === "project") {
74
+ const input = shapeRerankedRows(query.input, rows)
75
+ if (!query.properties) return input
76
+ const properties = new Set(query.properties)
77
+ return {
78
+ ...input,
79
+ rows: input.rows.map((row) => ({
80
+ ...row,
81
+ properties: Object.fromEntries(
82
+ Object.entries(row.properties).filter(([key]) => properties.has(key))
83
+ ),
84
+ })),
85
+ }
86
+ }
87
+ throw new ObjectQueryExecutionError(
88
+ "invalid_rerank_composition",
89
+ "Only limit and project may follow reranking."
90
+ )
91
+ }
@@ -0,0 +1,3 @@
1
+ // Bound synchronous inference independently of the storage's vector-search capacity.
2
+ export const MAX_RERANK_CANDIDATES = 100
3
+ export const MAX_RERANK_INPUT_BYTES = 1_048_576
@@ -0,0 +1,8 @@
1
+ import type { ObjectQuery, ObjectQueryRerank } from "./ir"
2
+
3
+ /** Validation permits output shaping only after the explicit reranking stage. */
4
+ export function findQueryReranking(query: ObjectQuery): ObjectQueryRerank | undefined {
5
+ if (query.kind === "rerank") return query
6
+ if (query.kind === "limit" || query.kind === "project") return findQueryReranking(query.input)
7
+ return undefined
8
+ }
@@ -31,6 +31,7 @@ import type {
31
31
  QueryScalarKind,
32
32
  } from "./ir"
33
33
  import { normalizeObjectQuery } from "./normalize"
34
+ import { MAX_RERANK_CANDIDATES } from "./reranking-limits"
34
35
 
35
36
  export interface ObjectQueryValidationIssue {
36
37
  path: string
@@ -41,7 +42,10 @@ export interface ObjectQueryValidationIssue {
41
42
  export interface ValidatedObjectQuery {
42
43
  query: ObjectQuery
43
44
  result: ObjectQueryResultShape
44
- /** Every object type the query touches, including intermediate traversal types. */
45
+ /**
46
+ * Every object type the query touches, including intermediate traversal types and the subtypes
47
+ * an outgoing link can reach.
48
+ */
45
49
  touchedObjectTypeIds: readonly string[]
46
50
  }
47
51
 
@@ -158,6 +162,67 @@ const NOOP_QUERY_ADMISSION: ObjectQuerySemanticAdmission = Object.freeze({
158
162
  input.states[0] ?? NOOP_ADMISSION_STATE,
159
163
  })
160
164
 
165
+ /**
166
+ * Admit a query only when both admissions admit it, each reducing its own state.
167
+ *
168
+ * The first denial wins, in order, so composing keeps each admission's messages unchanged.
169
+ */
170
+ export function composeObjectQueryAdmissions(
171
+ first: ObjectQuerySemanticAdmission,
172
+ second: ObjectQuerySemanticAdmission
173
+ ): ObjectQuerySemanticAdmission {
174
+ const parts = new WeakMap<
175
+ ObjectQueryAdmissionState,
176
+ readonly [ObjectQueryAdmissionState, ObjectQueryAdmissionState]
177
+ >()
178
+ const join = (
179
+ left: ObjectQueryAdmissionState,
180
+ right: ObjectQueryAdmissionState
181
+ ): ObjectQueryAdmissionState => {
182
+ const state = Object.freeze({})
183
+ parts.set(state, [left, right])
184
+ return state
185
+ }
186
+ const split = (state: ObjectQueryAdmissionState) => {
187
+ const pair = parts.get(state)
188
+ if (!pair) throw new Error("[Sixb] Composed query admission received a foreign state.")
189
+ return pair
190
+ }
191
+ const transition = (
192
+ left: ObjectQueryAdmissionTransition,
193
+ right: ObjectQueryAdmissionTransition
194
+ ): ObjectQueryAdmissionTransition => {
195
+ const denial = left.denial ?? right.denial
196
+ return { state: join(left.state, right.state), ...(denial ? { denial } : {}) }
197
+ }
198
+
199
+ const admission: ObjectQuerySemanticAdmission = {
200
+ empty: () => join(first.empty(), second.empty()),
201
+ source: (input) => transition(first.source(input), second.source(input)),
202
+ edge: (input) => {
203
+ const [left, right] = split(input.state)
204
+ return transition(
205
+ first.edge({ ...input, state: left }),
206
+ second.edge({ ...input, state: right })
207
+ )
208
+ },
209
+ property: (input) => {
210
+ const [left, right] = split(input.state)
211
+ return (
212
+ first.property({ ...input, state: left }) ?? second.property({ ...input, state: right })
213
+ )
214
+ },
215
+ set: (input) => {
216
+ const pairs = input.states.map(split)
217
+ return join(
218
+ first.set({ ...input, states: pairs.map(([left]) => left) }),
219
+ second.set({ ...input, states: pairs.map(([, right]) => right) })
220
+ )
221
+ },
222
+ }
223
+ return Object.freeze(admission)
224
+ }
225
+
161
226
  export function validateObjectQuery(
162
227
  query: ObjectQuery,
163
228
  options: ObjectQueryValidationOptions
@@ -223,7 +288,7 @@ function validateVectorComposition(query: ObjectQuery, ctx: QueryValidationConte
223
288
  path: "$",
224
289
  code: "vector.composition",
225
290
  message:
226
- "Vector profiles support one top-k over one concrete type, with filters, traversals or sets before ranking and optional limit/project after it.",
291
+ "Vector profiles support one top-k over one concrete type, with filters, traversals or sets before ranking, optional reranking, then limit/project.",
227
292
  })
228
293
  }
229
294
 
@@ -373,6 +438,37 @@ function dispatchQueryNode(
373
438
  ),
374
439
  }
375
440
  }
441
+ case "rerank": {
442
+ const input = validateQueryNode(query.input, `${path}.input`, ctx)
443
+ if (
444
+ input.query.kind !== "vector" ||
445
+ typeof input.query.vector !== "string" ||
446
+ input.query.k > MAX_RERANK_CANDIDATES
447
+ ) {
448
+ addIssue(
449
+ ctx,
450
+ path,
451
+ "invalid_rerank_input",
452
+ `Reranking requires a text vector query with k at most ${MAX_RERANK_CANDIDATES}, before limit or project.`
453
+ )
454
+ }
455
+ if (
456
+ typeof query.model?.provider !== "string" ||
457
+ !query.model.provider.trim() ||
458
+ query.model.provider.trim() !== query.model.provider ||
459
+ typeof query.model.modelId !== "string" ||
460
+ !query.model.modelId.trim() ||
461
+ query.model.modelId.trim() !== query.model.modelId
462
+ ) {
463
+ addIssue(
464
+ ctx,
465
+ path,
466
+ "invalid_rerank_model",
467
+ "Reranking requires an explicit provider and model ID."
468
+ )
469
+ }
470
+ return { ...input, query: { ...query, model: { ...query.model }, input: input.query } }
471
+ }
376
472
  case "set":
377
473
  return validateSet(query.inputs, query.op, path, ctx)
378
474
  case "sort": {
@@ -498,9 +594,7 @@ function validateStart(
498
594
  return { result: { objectTypeIds: [] }, query: { kind: "start", objectTypeId } }
499
595
  }
500
596
 
501
- const objectTypeIds = includeSubtypes
502
- ? uniqueStrings([objectTypeId, ...ctx.ontology.listSubTypes(objectTypeId)])
503
- : [objectTypeId]
597
+ const objectTypeIds = includeSubtypes ? withSubtypes([objectTypeId], ctx) : [objectTypeId]
504
598
 
505
599
  return { result: { objectTypeIds }, query: { kind: "start", objectTypeId, includeSubtypes } }
506
600
  }
@@ -863,16 +957,15 @@ function validateTextQuery(
863
957
  continue
864
958
  }
865
959
 
866
- if (fieldsByObjectType) fieldsByObjectType[objectType.id] = uniqueStrings(fieldIds)
960
+ const admitted = admitTextFields(fieldIds, fields === undefined, {
961
+ state: admissionState,
962
+ objectTypeId: objectType.id,
963
+ path: `${path}.fields`,
964
+ ctx,
965
+ })
966
+ if (fieldsByObjectType) fieldsByObjectType[objectType.id] = uniqueStrings(admitted)
867
967
 
868
968
  for (const fieldId of fieldIds) {
869
- admitProperty(ctx, {
870
- state: admissionState,
871
- propertyId: fieldId,
872
- objectTypeId: objectType.id,
873
- use: "text",
874
- path: `${path}.fields`,
875
- })
876
969
  const property = getProperty(objectType, fieldId)
877
970
  if (!property) {
878
971
  addIssue(
@@ -901,6 +994,43 @@ function validateTextQuery(
901
994
  return fieldsByObjectType ? { fieldsByObjectType } : {}
902
995
  }
903
996
 
997
+ /**
998
+ * Admit the fields a text query searches. Every explicit field must be admitted. Default fields
999
+ * come from the type's search profile, so a reader that cannot use one searches the others
1000
+ * instead; only a type left with no usable default field is denied.
1001
+ */
1002
+ function admitTextFields(
1003
+ fieldIds: readonly string[],
1004
+ defaults: boolean,
1005
+ input: {
1006
+ readonly state: ObjectQueryAdmissionState
1007
+ readonly objectTypeId: string
1008
+ readonly path: string
1009
+ readonly ctx: QueryValidationContext
1010
+ }
1011
+ ): readonly string[] {
1012
+ const admitted: string[] = []
1013
+ let firstDenial: Error | undefined
1014
+ for (const fieldId of fieldIds) {
1015
+ const denial = input.ctx.admission.property({
1016
+ state: input.state,
1017
+ propertyId: fieldId,
1018
+ objectTypeId: input.objectTypeId,
1019
+ use: "text",
1020
+ path: input.path,
1021
+ })
1022
+ if (!denial) {
1023
+ admitted.push(fieldId)
1024
+ } else if (!defaults) {
1025
+ recordAdmissionDenial(input.ctx, denial)
1026
+ } else {
1027
+ firstDenial ??= denial
1028
+ }
1029
+ }
1030
+ if (admitted.length === 0 && firstDenial) recordAdmissionDenial(input.ctx, firstDenial)
1031
+ return admitted
1032
+ }
1033
+
904
1034
  function validateVectorProfileQuery(
905
1035
  query: ObjectQueryVector,
906
1036
  shape: ObjectQueryResultShape,
@@ -1028,7 +1158,9 @@ function validateOutgoingTraverse(
1028
1158
  }
1029
1159
  }
1030
1160
 
1031
- return { objectTypeIds: uniqueStrings(targetTypeIds) }
1161
+ const objectTypeIds = uniqueStrings(targetTypeIds)
1162
+ touchLinkTargets(objectTypeIds, ctx)
1163
+ return { objectTypeIds }
1032
1164
  }
1033
1165
 
1034
1166
  function validateIncomingTraverse(
@@ -1229,7 +1361,22 @@ function resolveOutgoingExpansionTargets(
1229
1361
  )
1230
1362
  }
1231
1363
 
1232
- return { objectTypeIds: uniqueStrings(targetTypeIds) }
1364
+ const objectTypeIds = uniqueStrings(targetTypeIds)
1365
+ touchLinkTargets(objectTypeIds, ctx)
1366
+ return { objectTypeIds }
1367
+ }
1368
+
1369
+ /**
1370
+ * Following a link outgoing reads every subtype of its declared targets: links accept subtype
1371
+ * targets and storage follows them by link id alone. Authorize those reads like a `start` that
1372
+ * includes subtypes; the result shape keeps the declared targets that later nodes validate against.
1373
+ * Incoming edges already name every source type they can return: storage matches a pinned
1374
+ * `sourceObjectTypeId` exactly, and otherwise subtypes inherit the link.
1375
+ */
1376
+ function touchLinkTargets(objectTypeIds: readonly string[], ctx: QueryValidationContext): void {
1377
+ for (const objectTypeId of withSubtypes(objectTypeIds, ctx)) {
1378
+ ctx.touchedObjectTypeIds.add(objectTypeId)
1379
+ }
1233
1380
  }
1234
1381
 
1235
1382
  function resolveIncomingExpansionTargets(
@@ -1625,6 +1772,10 @@ function uniqueStrings(values: readonly string[]): string[] {
1625
1772
  return [...new Set(values)]
1626
1773
  }
1627
1774
 
1775
+ function withSubtypes(objectTypeIds: readonly string[], ctx: QueryValidationContext): string[] {
1776
+ return uniqueStrings(objectTypeIds.flatMap((id) => [id, ...ctx.ontology.listSubTypes(id)]))
1777
+ }
1778
+
1628
1779
  function admitTransition(
1629
1780
  ctx: QueryValidationContext,
1630
1781
  transition: ObjectQueryAdmissionTransition
@@ -0,0 +1,77 @@
1
+ /**
2
+ * File handle factory for ObjectReadByIdHandle.
3
+ *
4
+ * Opens a `fileRef` property through the object that holds it, the way the object file content
5
+ * route does: the object is read again with the caller's permissions, the FileRef is resolved in
6
+ * that authorized row, then checked against the stored blob before it is opened.
7
+ */
8
+ import { AuthorizationError } from "../../authorization/errors"
9
+ import { jsonPointerSegment, openFileRef, resolveFileRefAtPath } from "../../blob-storage/internal"
10
+ import type { Property } from "../../ontology"
11
+ import { OntologyValidationError } from "../../ontology/errors"
12
+ import type { PropertyToken } from "../../ontology/tokens"
13
+ import { assertPropertyTokenBelongsToObjectType } from "../../ontology/validation"
14
+ import type { ObjectFileHandle } from "../../runtime/types"
15
+ import type { ObjectSetContext } from "../context"
16
+
17
+ export function createObjectFileHandle(
18
+ ctx: ObjectSetContext,
19
+ primaryId: string,
20
+ property: PropertyToken<string, string, Property>,
21
+ index?: number
22
+ ): ObjectFileHandle {
23
+ const { objectType } = ctx
24
+ assertPropertyTokenBelongsToObjectType(objectType, property)
25
+ const registered = ctx.ontology
26
+ .resolveObjectType(objectType.id)
27
+ .properties.find((candidate) => candidate.id === property.id)
28
+ if (!registered) {
29
+ throw new OntologyValidationError(
30
+ `[Sixb] Unknown property '${property.id}' for object type '${objectType.id}'`
31
+ )
32
+ }
33
+ const path = filePropertyPath(objectType.id, registered, index)
34
+
35
+ return {
36
+ async open() {
37
+ const row = await ctx.objectReader.getByPrimaryId({ objectTypeId: objectType.id, primaryId })
38
+ if (!row) return null
39
+ if (row.redactions?.[property.id]) {
40
+ // Redacted, so the registered property has a marking the caller is not cleared for.
41
+ const markings = registered.markings ?? []
42
+ const marking =
43
+ markings.find((markingId) => !ctx.authorization?.clearances?.has(markingId)) ??
44
+ markings[0]
45
+ throw new AuthorizationError(
46
+ `clearance:marking:${marking}`,
47
+ `[Sixb] Cannot open file '${objectType.id}.${property.id}': it requires clearance for marking '${marking}'.`
48
+ )
49
+ }
50
+ const fileRef = resolveFileRefAtPath(row, path)
51
+ return fileRef ? openFileRef(ctx.blobStorage, fileRef) : null
52
+ },
53
+ }
54
+ }
55
+
56
+ /** JSON Pointer to the file in an object row, validated against the property's schema. */
57
+ function filePropertyPath(objectTypeId: string, property: Property, index: number | undefined) {
58
+ const { schema } = property
59
+ const name = `${objectTypeId}.${property.id}`
60
+ if (schema === "fileRef") {
61
+ if (index !== undefined) {
62
+ throw new OntologyValidationError(`[Sixb] Property ${name} holds one file; omit the index.`)
63
+ }
64
+ return `/properties/${jsonPointerSegment(property.id)}`
65
+ }
66
+ if (typeof schema === "object" && schema.type === "array" && schema.items === "fileRef") {
67
+ if (index === undefined || !Number.isSafeInteger(index) || index < 0) {
68
+ throw new OntologyValidationError(
69
+ `[Sixb] Property ${name} holds a list of files; pass the index of the file to open.`
70
+ )
71
+ }
72
+ return `/properties/${jsonPointerSegment(property.id)}/${index}`
73
+ }
74
+ throw new OntologyValidationError(
75
+ `[Sixb] Property ${name} is not a file: file() takes a "fileRef" property or a list of them.`
76
+ )
77
+ }
@@ -5,26 +5,27 @@
5
5
  */
6
6
 
7
7
  import type { ActionDefinition } from "../../actions"
8
- import type { ObjectLink, ObjectRef } from "../../ontology"
8
+ import type { ObjectLink, ObjectRef, Property } from "../../ontology"
9
9
  import { OntologyValidationError } from "../../ontology/errors"
10
- import type { LinkToken, ObjectTypeWithPropertyTokens } from "../../ontology/tokens"
10
+ import type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from "../../ontology/tokens"
11
11
  import { assertLinkTokenBelongsToObjectType } from "../../ontology/validation"
12
12
  import type { ObjectByIdHandle, TwinObject } from "../../runtime/types"
13
13
  import {
14
14
  requestActionAndWait as requestActionAndWaitLeaf,
15
15
  requestAction as requestActionLeaf,
16
16
  } from "../action"
17
- import type { ExecutionObjectContext, ResolvedLinkContext } from "../context"
17
+ import type { ObjectSetContext, ResolvedLinkContext } from "../context"
18
18
  import { removeLink as removeLinkLeaf, upsertLink as upsertLinkLeaf } from "../link"
19
19
  import { deleteObject, restoreObject } from "../object"
20
20
  import { createObjectVectorHandle } from "../vectors/handle"
21
+ import { createObjectFileHandle } from "./file-handle"
21
22
  import { createTelemetryChannel } from "./telemetry-channel"
22
23
 
23
24
  type ObjectRefInput = ObjectRef
24
25
  type AnyLinkToken = LinkToken<string, string, string | readonly string[], ObjectLink>
25
26
 
26
27
  export function createObjectByIdHandle<TObjectType extends ObjectTypeWithPropertyTokens>(
27
- ctx: ExecutionObjectContext,
28
+ ctx: ObjectSetContext,
28
29
  primaryId: string
29
30
  ): ObjectByIdHandle<TObjectType> {
30
31
  const objectHandle = {
@@ -130,6 +131,9 @@ export function createObjectByIdHandle<TObjectType extends ObjectTypeWithPropert
130
131
  },
131
132
 
132
133
  telemetry: createTelemetryChannel<TObjectType>(ctx, primaryId),
134
+
135
+ file: (property: PropertyToken<string, string, Property>, index?: number) =>
136
+ createObjectFileHandle(ctx, primaryId, property, index),
133
137
  }
134
138
 
135
139
  return objectHandle as unknown as ObjectByIdHandle<TObjectType>
@@ -6,6 +6,7 @@
6
6
 
7
7
  import type { ActionDefinition } from "../../actions"
8
8
  import type { AuthorizationContext } from "../../authorization"
9
+ import type { BlobStorage } from "../../blob-storage"
9
10
  import { shareSixbErrorReporter } from "../../error-reporting/capability"
10
11
  import type { ExecutionContext } from "../../execution"
11
12
  import { assertAuthorizedObjectReaderBinding } from "../../execution/authorized-object-reader"
@@ -22,7 +23,7 @@ import {
22
23
  requestActionAndWait as requestActionAndWaitLeaf,
23
24
  requestAction as requestActionLeaf,
24
25
  } from "../action"
25
- import type { ExecutionObjectContext, ResolvedLinkContext } from "../context"
26
+ import type { ObjectSetContext, ResolvedLinkContext } from "../context"
26
27
  import { requireLinkDefinition } from "../context"
27
28
  import { removeLink as removeLinkLeaf, upsertLink as upsertLinkLeaf } from "../link"
28
29
  import { upsertObject as upsertObjectLeaf } from "../object"
@@ -36,6 +37,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
36
37
  readonly execution: ExecutionContext
37
38
  readonly objectType: TObjectType
38
39
  readonly authorization?: AuthorizationContext
40
+ readonly blobStorage: Pick<BlobStorage, "stat" | "open">
39
41
  }
40
42
  ): ObjectSet<TObjectType> {
41
43
  assertAuthorizedObjectReaderBinding({
@@ -67,7 +69,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
67
69
  objectReader,
68
70
  })
69
71
 
70
- const resolvedCtx: ExecutionObjectContext = {
72
+ const resolvedCtx: ObjectSetContext = {
71
73
  embeddingModels: params.embeddingModels,
72
74
  projectId,
73
75
  broker,
@@ -80,6 +82,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
80
82
  runtimeAuthorization,
81
83
  authorization,
82
84
  execution,
85
+ blobStorage: params.blobStorage,
83
86
  objectType,
84
87
  primaryPropertyId,
85
88
  }
@@ -6,6 +6,8 @@
6
6
  * `ObjectQueryExecutor` — the server runtime executor or the HTTP client
7
7
  * executor — so the same builder serves both sides.
8
8
  */
9
+
10
+ import type { RerankingModelRef } from "../../models/reranking-model"
9
11
  import { OntologyValidationError } from "../../ontology/errors"
10
12
  import type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from "../../ontology/tokens"
11
13
  import { RuntimeError } from "../../runtime/errors"
@@ -16,7 +18,7 @@ import type {
16
18
  ObjectExpandOptions,
17
19
  ObjectQueryBuilder,
18
20
  ObjectQueryFacetInput,
19
- ObjectQueryFacetResult,
21
+ ObjectQueryFacetsResult,
20
22
  ObjectQueryListOptions,
21
23
  ObjectWhereBuilder,
22
24
  ObjectWhereClause,
@@ -118,6 +120,17 @@ class ObjectQueryBuilderImpl<TObjectType extends ObjectTypeWithPropertyTokens> {
118
120
  })
119
121
  }
120
122
 
123
+ rerank(options: { model: RerankingModelRef }): ObjectQueryBuilder<TObjectType> {
124
+ if (options.model?.definition?.kind !== "reranking") {
125
+ throw new TypeError("[Sixb] rerank() requires an explicit reranking model.")
126
+ }
127
+ return this.withQuery({
128
+ kind: "rerank",
129
+ input: this.ir,
130
+ model: { provider: options.model.providerId, modelId: options.model.modelId },
131
+ })
132
+ }
133
+
121
134
  traverse(
122
135
  link: LinkToken<TObjectType["id"], string, string>,
123
136
  options?: { direction?: "outgoing" }
@@ -269,7 +282,7 @@ class ObjectQueryBuilderImpl<TObjectType extends ObjectTypeWithPropertyTokens> {
269
282
 
270
283
  async facets(
271
284
  input: readonly ObjectQueryFacetInput<TObjectType>[]
272
- ): Promise<ObjectQueryFacetResult[]> {
285
+ ): Promise<ObjectQueryFacetsResult> {
273
286
  return this.params.executor.facets(
274
287
  this.ir,
275
288
  input.map((facet) => ({
@@ -5,7 +5,7 @@
5
5
  * runtime implements this against storage, and `@sixb/client` implements it
6
6
  * against the HTTP query routes, so both share one builder.
7
7
  */
8
- import type { ObjectQueryFacetResult } from "../../runtime/types"
8
+ import type { ObjectQueryFacetsResult } from "../../runtime/types"
9
9
  import type { ObjectQueryExplanation } from "../query/explain"
10
10
  import type { ObjectQuery } from "../query/ir"
11
11
  import type { ValidatedObjectQuery } from "../query/validate"
@@ -55,7 +55,7 @@ export interface ObjectQueryExecutor {
55
55
  facets(
56
56
  query: ObjectQuery,
57
57
  facets: readonly ObjectQueryExecutorFacetRequest[]
58
- ): Promise<ObjectQueryFacetResult[]>
58
+ ): Promise<ObjectQueryFacetsResult>
59
59
  /** Validation requires ontology access and is unavailable on remote executors. */
60
60
  validate?(query: ObjectQuery): ValidatedObjectQuery
61
61
  /** Explanation requires ontology access and is unavailable on remote executors. */
@@ -46,10 +46,13 @@ export function createRuntimeQueryExecutor(params: {
46
46
 
47
47
  async facets(query: ObjectQuery, facets: readonly ObjectQueryExecutorFacetRequest[]) {
48
48
  const result = await objectReader.facet({ query, facets })
49
- return result.facets.map((facet) => ({
50
- propertyId: facet.propertyId,
51
- buckets: [...facet.buckets],
52
- }))
49
+ return {
50
+ total: result.total,
51
+ facets: result.facets.map((facet) => ({
52
+ propertyId: facet.propertyId,
53
+ buckets: [...facet.buckets],
54
+ })),
55
+ }
53
56
  },
54
57
 
55
58
  validate(query: ObjectQuery) {
@@ -12,7 +12,8 @@ eligible set after link and property authorization; it never filters a global to
12
12
 
13
13
  ```text
14
14
  Effective object change → invalidate stale vector + persist latest intent (one transaction)
15
- ProjectionWorker → durable queue → project AI admission → provider → save result → fenced commit
15
+ Commit wake-up (or API maintenance pass) → durable queue
16
+ ProjectionWorker → project AI admission → provider → save result → fenced commit
16
17
  ```
17
18
 
18
19
  `materializer/effective/vector-indexing.ts` compares effective source fingerprints after projection
@@ -22,7 +23,10 @@ There is no historical scan or configuration-only backfill.
22
23
 
23
24
  The queue owns delivery leases. Ontology storage owns intent keyed by project/object/profile, plus
24
25
  its generation id and `pending → running → ready` state. Dispatch has a separate due time so long
25
- queues cannot starve later entries. Reconciliation can enqueue the same generation safely.
26
+ queues cannot starve later entries. `indexing-dispatch.ts` enqueues due intent after every commit
27
+ in the committing process and pushes its due time 30 seconds out; the API's maintenance pass
28
+ drains the same path, so intent a crash left undispatched waits at most one pass. Enqueueing the
29
+ same generation twice is safe.
26
30
 
27
31
  `indexing.ts` exposes only a core-owned processing capability. Kernel authority cannot bind the
28
32
  public domain SDK. `ontology.indexVectors` authorizes only the persisted results of its work item or durable group.