@sixb/core 0.1.20 → 0.1.21

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 (681) hide show
  1. package/dist/actions/execution.d.ts.map +1 -1
  2. package/dist/actions/index.js +54 -47
  3. package/dist/actions/index.js.map +1 -1
  4. package/dist/actions/request.d.ts.map +1 -1
  5. package/dist/actions/run-authorization.d.ts +9 -0
  6. package/dist/actions/run-authorization.d.ts.map +1 -1
  7. package/dist/activity/connection.d.ts +62 -0
  8. package/dist/activity/connection.d.ts.map +1 -0
  9. package/dist/activity/device.d.ts +8 -0
  10. package/dist/activity/device.d.ts.map +1 -0
  11. package/dist/activity/execution.d.ts +48 -0
  12. package/dist/activity/execution.d.ts.map +1 -0
  13. package/dist/activity/service.d.ts +79 -0
  14. package/dist/activity/service.d.ts.map +1 -0
  15. package/dist/activity/shares.d.ts +24 -0
  16. package/dist/activity/shares.d.ts.map +1 -0
  17. package/dist/activity/timeline.d.ts +96 -0
  18. package/dist/activity/timeline.d.ts.map +1 -0
  19. package/dist/agents/index.d.ts +2 -1
  20. package/dist/agents/index.d.ts.map +1 -1
  21. package/dist/agents/index.js +63 -50
  22. package/dist/agents/index.js.map +1 -1
  23. package/dist/agents/request.d.ts.map +1 -1
  24. package/dist/agents/skills.d.ts.map +1 -1
  25. package/dist/agents/streams/index.js +3 -3
  26. package/dist/agents/streams/internal.js +3 -3
  27. package/dist/agents/types.d.ts +8 -8
  28. package/dist/agents/types.d.ts.map +1 -1
  29. package/dist/agents/validation.d.ts +1 -1
  30. package/dist/agents/validation.d.ts.map +1 -1
  31. package/dist/artifacts/address.d.ts +48 -0
  32. package/dist/artifacts/address.d.ts.map +1 -0
  33. package/dist/artifacts/csv.d.ts +22 -0
  34. package/dist/artifacts/csv.d.ts.map +1 -0
  35. package/dist/artifacts/errors.d.ts +11 -0
  36. package/dist/artifacts/errors.d.ts.map +1 -0
  37. package/dist/artifacts/execution.d.ts +43 -0
  38. package/dist/artifacts/execution.d.ts.map +1 -0
  39. package/dist/artifacts/frames/assets.d.ts +28 -0
  40. package/dist/artifacts/frames/assets.d.ts.map +1 -0
  41. package/dist/artifacts/frames/grants.d.ts +37 -0
  42. package/dist/artifacts/frames/grants.d.ts.map +1 -0
  43. package/dist/artifacts/frames/index.d.ts +10 -0
  44. package/dist/artifacts/frames/index.d.ts.map +1 -0
  45. package/dist/artifacts/frames/index.js +892 -0
  46. package/dist/artifacts/frames/index.js.map +14 -0
  47. package/dist/artifacts/frames/kit.d.ts +66 -0
  48. package/dist/artifacts/frames/kit.d.ts.map +1 -0
  49. package/dist/artifacts/frames/probe.d.ts +41 -0
  50. package/dist/artifacts/frames/probe.d.ts.map +1 -0
  51. package/dist/artifacts/frames/protocol.d.ts +98 -0
  52. package/dist/artifacts/frames/protocol.d.ts.map +1 -0
  53. package/dist/artifacts/frames/runtime.d.ts +13 -0
  54. package/dist/artifacts/frames/runtime.d.ts.map +1 -0
  55. package/dist/artifacts/html.d.ts +6 -0
  56. package/dist/artifacts/html.d.ts.map +1 -0
  57. package/dist/artifacts/ids.d.ts +5 -0
  58. package/dist/artifacts/ids.d.ts.map +1 -0
  59. package/dist/artifacts/index.d.ts +16 -0
  60. package/dist/artifacts/index.d.ts.map +1 -0
  61. package/dist/artifacts/index.js +125 -0
  62. package/dist/artifacts/index.js.map +10 -0
  63. package/dist/artifacts/kinds.d.ts +5 -0
  64. package/dist/artifacts/kinds.d.ts.map +1 -0
  65. package/dist/artifacts/limits.d.ts +28 -0
  66. package/dist/artifacts/limits.d.ts.map +1 -0
  67. package/dist/artifacts/outline.d.ts +44 -0
  68. package/dist/artifacts/outline.d.ts.map +1 -0
  69. package/dist/artifacts/publish/files.d.ts +15 -0
  70. package/dist/artifacts/publish/files.d.ts.map +1 -0
  71. package/dist/artifacts/publish/index.d.ts +5 -0
  72. package/dist/artifacts/publish/index.d.ts.map +1 -0
  73. package/dist/artifacts/publish/index.js +36 -0
  74. package/dist/artifacts/publish/index.js.map +9 -0
  75. package/dist/artifacts/publish/publish.d.ts +52 -0
  76. package/dist/artifacts/publish/publish.d.ts.map +1 -0
  77. package/dist/artifacts/publish/references.d.ts +27 -0
  78. package/dist/artifacts/publish/references.d.ts.map +1 -0
  79. package/dist/artifacts/publish/validate/document.d.ts +17 -0
  80. package/dist/artifacts/publish/validate/document.d.ts.map +1 -0
  81. package/dist/artifacts/publish/validate/file.d.ts +8 -0
  82. package/dist/artifacts/publish/validate/file.d.ts.map +1 -0
  83. package/dist/artifacts/publish/validate/sheet.d.ts +15 -0
  84. package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -0
  85. package/dist/artifacts/publish/validate/slides.d.ts +21 -0
  86. package/dist/artifacts/publish/validate/slides.d.ts.map +1 -0
  87. package/dist/artifacts/references.d.ts +12 -0
  88. package/dist/artifacts/references.d.ts.map +1 -0
  89. package/dist/artifacts/resolve.d.ts +41 -0
  90. package/dist/artifacts/resolve.d.ts.map +1 -0
  91. package/dist/artifacts/theme.d.ts +19 -0
  92. package/dist/artifacts/theme.d.ts.map +1 -0
  93. package/dist/artifacts/warnings.d.ts +11 -0
  94. package/dist/artifacts/warnings.d.ts.map +1 -0
  95. package/dist/artifacts/workbook.d.ts +64 -0
  96. package/dist/artifacts/workbook.d.ts.map +1 -0
  97. package/dist/auth/index.js +10 -10
  98. package/dist/authorization/decision.d.ts +2 -0
  99. package/dist/authorization/decision.d.ts.map +1 -1
  100. package/dist/authorization/grant-kinds.d.ts +2 -2
  101. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  102. package/dist/authorization/index.js +6 -6
  103. package/dist/blob-storage/browser.js +1 -1
  104. package/dist/blob-storage/index.js +2 -2
  105. package/dist/blob-storage/internal.d.ts +1 -1
  106. package/dist/blob-storage/internal.d.ts.map +1 -1
  107. package/dist/blob-storage/internal.js +11 -5
  108. package/dist/blob-storage/internal.js.map +1 -1
  109. package/dist/blob-storage/media-type.d.ts +12 -0
  110. package/dist/blob-storage/media-type.d.ts.map +1 -1
  111. package/dist/bootstrap/index.js +53 -47
  112. package/dist/bootstrap/index.js.map +2 -2
  113. package/dist/{chunk-xfs8x8m9.js → chunk-0bphap9y.js} +5 -5
  114. package/dist/{chunk-1zq2p6g0.js → chunk-1cc1xaf3.js} +3 -3
  115. package/dist/chunk-3jms7je7.js +14 -0
  116. package/dist/chunk-3jms7je7.js.map +10 -0
  117. package/dist/{chunk-s54c868q.js → chunk-3qct2mdc.js} +3 -13
  118. package/dist/chunk-3qct2mdc.js.map +12 -0
  119. package/dist/{chunk-t7x8dmn0.js → chunk-431pyp2c.js} +3 -3
  120. package/dist/{chunk-c85m1hyj.js → chunk-447a5c0p.js} +2 -2
  121. package/dist/chunk-48qjhh6v.js +185 -0
  122. package/dist/chunk-48qjhh6v.js.map +13 -0
  123. package/dist/{chunk-ren4kg2j.js → chunk-561r0yc9.js} +8 -8
  124. package/dist/{chunk-5e43w60z.js → chunk-5948n82c.js} +2 -2
  125. package/dist/{chunk-yzwja0mj.js → chunk-5hx48dnn.js} +2 -2
  126. package/dist/{chunk-x6m907x7.js → chunk-5vems3nx.js} +5 -6
  127. package/dist/{chunk-x6m907x7.js.map → chunk-5vems3nx.js.map} +3 -3
  128. package/dist/{chunk-0rbyz4qy.js → chunk-61y5xs4p.js} +560 -164
  129. package/dist/{chunk-0rbyz4qy.js.map → chunk-61y5xs4p.js.map} +12 -9
  130. package/dist/chunk-65abf64x.js +13 -0
  131. package/dist/chunk-65abf64x.js.map +10 -0
  132. package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
  133. package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
  134. package/dist/chunk-6rqgmkde.js +2028 -0
  135. package/dist/chunk-6rqgmkde.js.map +29 -0
  136. package/dist/{chunk-d0bqz29d.js → chunk-6vb4st8k.js} +8 -4
  137. package/dist/{chunk-d0bqz29d.js.map → chunk-6vb4st8k.js.map} +3 -3
  138. package/dist/chunk-7q8t23v4.js +467 -0
  139. package/dist/chunk-7q8t23v4.js.map +14 -0
  140. package/dist/{chunk-5j58wjct.js → chunk-858emn8m.js} +6 -6
  141. package/dist/{chunk-hvsb78a1.js → chunk-8frc8a4j.js} +26 -26
  142. package/dist/{chunk-hvsb78a1.js.map → chunk-8frc8a4j.js.map} +2 -2
  143. package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
  144. package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
  145. package/dist/{chunk-n33z5bjw.js → chunk-918wwnaa.js} +490 -24
  146. package/dist/{chunk-n33z5bjw.js.map → chunk-918wwnaa.js.map} +13 -11
  147. package/dist/{chunk-rrzt8jdy.js → chunk-9j4jw7as.js} +103 -110
  148. package/dist/chunk-9j4jw7as.js.map +14 -0
  149. package/dist/chunk-9kgkfg6v.js +502 -0
  150. package/dist/chunk-9kgkfg6v.js.map +14 -0
  151. package/dist/chunk-a3faa34j.js +74 -0
  152. package/dist/chunk-a3faa34j.js.map +10 -0
  153. package/dist/{chunk-6c6sn0bh.js → chunk-akzryx9h.js} +335 -1167
  154. package/dist/{chunk-6c6sn0bh.js.map → chunk-akzryx9h.js.map} +18 -24
  155. package/dist/chunk-arns890k.js +10 -0
  156. package/dist/chunk-arns890k.js.map +10 -0
  157. package/dist/{chunk-hjzdd750.js → chunk-bk9svbcq.js} +11 -11
  158. package/dist/{chunk-hjzdd750.js.map → chunk-bk9svbcq.js.map} +2 -2
  159. package/dist/{chunk-hkc3jct7.js → chunk-c06hmxyy.js} +2 -10
  160. package/dist/chunk-c06hmxyy.js.map +10 -0
  161. package/dist/{chunk-6p49a5cq.js → chunk-c1rxbz5y.js} +3 -3
  162. package/dist/chunk-cfj9dfbb.js +288 -0
  163. package/dist/chunk-cfj9dfbb.js.map +12 -0
  164. package/dist/{chunk-bx9q3cwv.js → chunk-cn0fwwhy.js} +7 -7
  165. package/dist/{chunk-bx9q3cwv.js.map → chunk-cn0fwwhy.js.map} +1 -1
  166. package/dist/{chunk-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
  167. package/dist/{chunk-fa02jy15.js → chunk-cy4mbddw.js} +1 -1
  168. package/dist/{chunk-9w055r5b.js → chunk-d09e3rax.js} +1 -1
  169. package/dist/chunk-d5rjr8c0.js +176 -0
  170. package/dist/chunk-d5rjr8c0.js.map +12 -0
  171. package/dist/{chunk-dk8tkk5f.js → chunk-d7dnxdep.js} +3 -3
  172. package/dist/{chunk-b38szspf.js → chunk-dhcv7yxc.js} +1 -1
  173. package/dist/{chunk-b38szspf.js.map → chunk-dhcv7yxc.js.map} +1 -1
  174. package/dist/{chunk-gsjm1wms.js → chunk-dhdha526.js} +8 -2
  175. package/dist/chunk-dhdha526.js.map +10 -0
  176. package/dist/{chunk-8mx7qw3y.js → chunk-dvd2fp9q.js} +2 -2
  177. package/dist/{chunk-8mx7qw3y.js.map → chunk-dvd2fp9q.js.map} +3 -3
  178. package/dist/{chunk-way52z4h.js → chunk-e17zdm62.js} +6 -12
  179. package/dist/{chunk-way52z4h.js.map → chunk-e17zdm62.js.map} +3 -4
  180. package/dist/{chunk-tpn40322.js → chunk-e6k4thh5.js} +11 -10
  181. package/dist/{chunk-tpn40322.js.map → chunk-e6k4thh5.js.map} +3 -3
  182. package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
  183. package/dist/chunk-eptrvnby.js.map +12 -0
  184. package/dist/{chunk-es1gxsbf.js → chunk-f4pamkt9.js} +8 -10
  185. package/dist/chunk-f4pamkt9.js.map +12 -0
  186. package/dist/chunk-ff5xkv0p.js +211 -0
  187. package/dist/chunk-ff5xkv0p.js.map +10 -0
  188. package/dist/{chunk-d09tj99x.js → chunk-g257jwnc.js} +10 -4
  189. package/dist/{chunk-d09tj99x.js.map → chunk-g257jwnc.js.map} +3 -3
  190. package/dist/chunk-g5bvzyyr.js +32 -0
  191. package/dist/chunk-g5bvzyyr.js.map +10 -0
  192. package/dist/chunk-hke9aeen.js +9 -0
  193. package/dist/chunk-hke9aeen.js.map +10 -0
  194. package/dist/{chunk-1sr8ryzk.js → chunk-hwksyjks.js} +122 -1
  195. package/dist/{chunk-1sr8ryzk.js.map → chunk-hwksyjks.js.map} +3 -3
  196. package/dist/chunk-jcfw4h7m.js +9 -0
  197. package/dist/chunk-jcfw4h7m.js.map +10 -0
  198. package/dist/{chunk-k6q3n2sc.js → chunk-k43ct2ke.js} +20 -11
  199. package/dist/chunk-k43ct2ke.js.map +12 -0
  200. package/dist/{chunk-3t2hgbgd.js → chunk-kge7k6ey.js} +40 -8
  201. package/dist/chunk-kge7k6ey.js.map +15 -0
  202. package/dist/{chunk-tg2cw67r.js → chunk-ky3j490c.js} +2 -2
  203. package/dist/chunk-mjddfa7k.js +129 -0
  204. package/dist/chunk-mjddfa7k.js.map +12 -0
  205. package/dist/{chunk-vpq4shxz.js → chunk-nn5xnx3s.js} +45 -10
  206. package/dist/{chunk-vpq4shxz.js.map → chunk-nn5xnx3s.js.map} +7 -6
  207. package/dist/{chunk-0yh890a4.js → chunk-q5e5tv4b.js} +35 -7
  208. package/dist/{chunk-0yh890a4.js.map → chunk-q5e5tv4b.js.map} +3 -3
  209. package/dist/{chunk-vyf9kfqf.js → chunk-q7gn29y3.js} +1 -1
  210. package/dist/{chunk-yevzdx4y.js → chunk-rmakanzx.js} +10 -12
  211. package/dist/{chunk-yevzdx4y.js.map → chunk-rmakanzx.js.map} +3 -4
  212. package/dist/{chunk-v9xd5wzd.js → chunk-s7jg7pmn.js} +1 -1
  213. package/dist/chunk-tbc1ngpd.js +642 -0
  214. package/dist/chunk-tbc1ngpd.js.map +18 -0
  215. package/dist/chunk-twe4dx8p.js +676 -0
  216. package/dist/chunk-twe4dx8p.js.map +15 -0
  217. package/dist/{chunk-9dmt152s.js → chunk-vf57cr4t.js} +2 -2
  218. package/dist/{chunk-9ybhtmg4.js → chunk-vvxtn22d.js} +1 -1
  219. package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
  220. package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
  221. package/dist/chunk-x0v3jd47.js +124 -0
  222. package/dist/chunk-x0v3jd47.js.map +10 -0
  223. package/dist/{chunk-7t429e3f.js → chunk-xvsc5m8n.js} +1 -1
  224. package/dist/{chunk-z4m0yz8c.js → chunk-y5tah2kf.js} +1 -1
  225. package/dist/{chunk-fkgc1wt8.js → chunk-z58tm0hm.js} +2 -2
  226. package/dist/datasets/builders.d.ts +15 -2
  227. package/dist/datasets/builders.d.ts.map +1 -1
  228. package/dist/datasets/column-index.d.ts +7 -0
  229. package/dist/datasets/column-index.d.ts.map +1 -0
  230. package/dist/datasets/execution.d.ts +3 -2
  231. package/dist/datasets/execution.d.ts.map +1 -1
  232. package/dist/datasets/write.js +8 -8
  233. package/dist/error-reporting/internal.js +4 -4
  234. package/dist/errors/internal.d.ts +1 -0
  235. package/dist/errors/internal.d.ts.map +1 -1
  236. package/dist/errors/internal.js +7 -4
  237. package/dist/errors/internal.js.map +1 -1
  238. package/dist/events/execution.d.ts +12 -2
  239. package/dist/events/execution.d.ts.map +1 -1
  240. package/dist/events/index.js +4 -4
  241. package/dist/execution/agent.js +56 -49
  242. package/dist/execution/agent.js.map +1 -1
  243. package/dist/execution/authorized-object-reader.d.ts +52 -11
  244. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  245. package/dist/execution/object-reader-clearance.d.ts +41 -0
  246. package/dist/execution/object-reader-clearance.d.ts.map +1 -0
  247. package/dist/execution/object-reader-ontology.d.ts +12 -0
  248. package/dist/execution/object-reader-ontology.d.ts.map +1 -0
  249. package/dist/execution/object-reader-security.d.ts +45 -0
  250. package/dist/execution/object-reader-security.d.ts.map +1 -0
  251. package/dist/execution/primitive.js +54 -47
  252. package/dist/execution/primitive.js.map +1 -1
  253. package/dist/execution/request.js +48 -41
  254. package/dist/execution/request.js.map +2 -2
  255. package/dist/http/api-routes.d.ts.map +1 -1
  256. package/dist/http/index.js +1 -1
  257. package/dist/index.d.ts +20 -4
  258. package/dist/index.d.ts.map +1 -1
  259. package/dist/index.js +112 -97
  260. package/dist/index.js.map +1 -1
  261. package/dist/lake-storage/in-memory.d.ts +1 -0
  262. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  263. package/dist/lake-storage/index.d.ts +6 -3
  264. package/dist/lake-storage/index.d.ts.map +1 -1
  265. package/dist/lake-storage/index.js +21 -13
  266. package/dist/lake-storage/index.js.map +1 -1
  267. package/dist/lake-storage/lineage.d.ts +94 -0
  268. package/dist/lake-storage/lineage.d.ts.map +1 -0
  269. package/dist/lake-storage/sql-transforms.d.ts +45 -0
  270. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  271. package/dist/lake-storage/types.d.ts +55 -1
  272. package/dist/lake-storage/types.d.ts.map +1 -1
  273. package/dist/lake-storage/version-inputs.d.ts +14 -3
  274. package/dist/lake-storage/version-inputs.d.ts.map +1 -1
  275. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  276. package/dist/materializer/index.js +31 -30
  277. package/dist/materializer/index.js.map +1 -1
  278. package/dist/models/execution/index.js +25 -24
  279. package/dist/models/execution/index.js.map +1 -1
  280. package/dist/objects/clearance-redaction.d.ts +27 -0
  281. package/dist/objects/clearance-redaction.d.ts.map +1 -0
  282. package/dist/objects/index.js +54 -47
  283. package/dist/objects/index.js.map +1 -1
  284. package/dist/objects/link/authorization.d.ts +8 -5
  285. package/dist/objects/link/authorization.d.ts.map +1 -1
  286. package/dist/objects/link/upsert-batch.d.ts.map +1 -1
  287. package/dist/objects/object/delete.d.ts.map +1 -1
  288. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  289. package/dist/objects/object/upsert.d.ts.map +1 -1
  290. package/dist/objects/property-clearance.d.ts +47 -24
  291. package/dist/objects/property-clearance.d.ts.map +1 -1
  292. package/dist/objects/query/clearance-admission.d.ts +10 -0
  293. package/dist/objects/query/clearance-admission.d.ts.map +1 -0
  294. package/dist/objects/query/index.js +29 -28
  295. package/dist/objects/query/index.js.map +1 -1
  296. package/dist/objects/query/link-query-clearance.d.ts +21 -0
  297. package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
  298. package/dist/ontology/builders.d.ts.map +1 -1
  299. package/dist/ontology/docs-markdown.d.ts +1 -1
  300. package/dist/ontology/docs-markdown.d.ts.map +1 -1
  301. package/dist/ontology/index.js +7 -7
  302. package/dist/ontology/internal.js +4 -4
  303. package/dist/ontology/internal.js.map +1 -1
  304. package/dist/pipelines/index.d.ts +2 -0
  305. package/dist/pipelines/index.d.ts.map +1 -1
  306. package/dist/pipelines/index.js +47 -35
  307. package/dist/pipelines/index.js.map +1 -1
  308. package/dist/pipelines/lineage.d.ts +17 -0
  309. package/dist/pipelines/lineage.d.ts.map +1 -0
  310. package/dist/projections/internal.d.ts +2 -2
  311. package/dist/projections/internal.js +30 -29
  312. package/dist/projections/internal.js.map +1 -1
  313. package/dist/runtime/create.d.ts +3 -0
  314. package/dist/runtime/create.d.ts.map +1 -1
  315. package/dist/runtime/host.d.ts +6 -0
  316. package/dist/runtime/host.d.ts.map +1 -1
  317. package/dist/runtime/internal.d.ts +2 -0
  318. package/dist/runtime/internal.d.ts.map +1 -1
  319. package/dist/runtime/internal.js +46 -42
  320. package/dist/runtime/internal.js.map +1 -1
  321. package/dist/runtime/ontology-mutations.d.ts +2 -0
  322. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  323. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  324. package/dist/runtime/sixb.d.ts +8 -0
  325. package/dist/runtime/sixb.d.ts.map +1 -1
  326. package/dist/sandboxes/auth.d.ts +16 -0
  327. package/dist/sandboxes/auth.d.ts.map +1 -1
  328. package/dist/sandboxes/config.d.ts.map +1 -1
  329. package/dist/sandboxes/configuration.d.ts +26 -0
  330. package/dist/sandboxes/configuration.d.ts.map +1 -1
  331. package/dist/sandboxes/index.d.ts +1 -1
  332. package/dist/sandboxes/index.d.ts.map +1 -1
  333. package/dist/sandboxes/index.js +14 -13
  334. package/dist/sandboxes/index.js.map +1 -1
  335. package/dist/sandboxes/sandbox.d.ts +28 -5
  336. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  337. package/dist/security/applied-markings-contribution.d.ts +58 -0
  338. package/dist/security/applied-markings-contribution.d.ts.map +1 -0
  339. package/dist/security/applied-markings-host.d.ts +10 -0
  340. package/dist/security/applied-markings-host.d.ts.map +1 -0
  341. package/dist/security/applied-markings-snapshot.d.ts +67 -0
  342. package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
  343. package/dist/security/applied-markings.d.ts +73 -0
  344. package/dist/security/applied-markings.d.ts.map +1 -0
  345. package/dist/security/dataset-version-markings.d.ts +47 -0
  346. package/dist/security/dataset-version-markings.d.ts.map +1 -0
  347. package/dist/security/grants.d.ts +3 -2
  348. package/dist/security/grants.d.ts.map +1 -1
  349. package/dist/security/index.d.ts +2 -1
  350. package/dist/security/index.d.ts.map +1 -1
  351. package/dist/security/internal.d.ts +15 -0
  352. package/dist/security/internal.d.ts.map +1 -0
  353. package/dist/security/internal.js +135 -0
  354. package/dist/security/internal.js.map +10 -0
  355. package/dist/security/marking-propagation.d.ts +62 -0
  356. package/dist/security/marking-propagation.d.ts.map +1 -0
  357. package/dist/security/marking-sets.d.ts +14 -0
  358. package/dist/security/marking-sets.d.ts.map +1 -0
  359. package/dist/security/markings.d.ts +6 -3
  360. package/dist/security/markings.d.ts.map +1 -1
  361. package/dist/security/pipeline-markings.d.ts +20 -0
  362. package/dist/security/pipeline-markings.d.ts.map +1 -0
  363. package/dist/security/project.d.ts +4 -0
  364. package/dist/security/project.d.ts.map +1 -0
  365. package/dist/security/projection-markings.d.ts +71 -0
  366. package/dist/security/projection-markings.d.ts.map +1 -0
  367. package/dist/security/public.js +2 -2
  368. package/dist/security/redactions.d.ts +4 -1
  369. package/dist/security/redactions.d.ts.map +1 -1
  370. package/dist/security/types.d.ts +22 -2
  371. package/dist/security/types.d.ts.map +1 -1
  372. package/dist/security/validation.d.ts.map +1 -1
  373. package/dist/shares/internal.js +24 -23
  374. package/dist/shares/internal.js.map +2 -2
  375. package/dist/storage/action-runs/failure.js +3 -3
  376. package/dist/storage/action-runs/in-memory.d.ts +4 -0
  377. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  378. package/dist/storage/action-runs/types.d.ts +8 -0
  379. package/dist/storage/action-runs/types.d.ts.map +1 -1
  380. package/dist/storage/activity/in-memory.d.ts +55 -0
  381. package/dist/storage/activity/in-memory.d.ts.map +1 -0
  382. package/dist/storage/activity/index.d.ts +3 -0
  383. package/dist/storage/activity/index.d.ts.map +1 -0
  384. package/dist/storage/activity/policy.d.ts +96 -0
  385. package/dist/storage/activity/policy.d.ts.map +1 -0
  386. package/dist/storage/activity/types.d.ts +191 -0
  387. package/dist/storage/activity/types.d.ts.map +1 -0
  388. package/dist/storage/agents/in-memory.d.ts +4 -0
  389. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  390. package/dist/storage/agents/provider.d.ts.map +1 -1
  391. package/dist/storage/agents/provider.js +2 -5
  392. package/dist/storage/agents/provider.js.map +1 -1
  393. package/dist/storage/agents/types.d.ts +9 -8
  394. package/dist/storage/agents/types.d.ts.map +1 -1
  395. package/dist/storage/ai-limits/enforcement.js +3 -3
  396. package/dist/storage/artifacts/errors.d.ts +8 -0
  397. package/dist/storage/artifacts/errors.d.ts.map +1 -0
  398. package/dist/storage/artifacts/in-memory.d.ts +34 -0
  399. package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
  400. package/dist/storage/artifacts/index.d.ts +5 -0
  401. package/dist/storage/artifacts/index.d.ts.map +1 -0
  402. package/dist/storage/artifacts/record.d.ts +17 -0
  403. package/dist/storage/artifacts/record.d.ts.map +1 -0
  404. package/dist/storage/artifacts/types.d.ts +184 -0
  405. package/dist/storage/artifacts/types.d.ts.map +1 -0
  406. package/dist/storage/auth/in-memory/sessions.d.ts +2 -1
  407. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  408. package/dist/storage/auth/index.d.ts +1 -1
  409. package/dist/storage/auth/index.d.ts.map +1 -1
  410. package/dist/storage/auth/types.d.ts +19 -0
  411. package/dist/storage/auth/types.d.ts.map +1 -1
  412. package/dist/storage/connector-connections/provider.js +2 -2
  413. package/dist/storage/executions/in-memory.d.ts +2 -1
  414. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  415. package/dist/storage/executions/index.d.ts +1 -1
  416. package/dist/storage/executions/index.d.ts.map +1 -1
  417. package/dist/storage/executions/provider.d.ts +2 -0
  418. package/dist/storage/executions/provider.d.ts.map +1 -1
  419. package/dist/storage/executions/provider.js +9 -223
  420. package/dist/storage/executions/provider.js.map +3 -4
  421. package/dist/storage/executions/types.d.ts +31 -0
  422. package/dist/storage/executions/types.d.ts.map +1 -1
  423. package/dist/storage/file-upload-sessions/provider.js +11 -11
  424. package/dist/storage/in-memory/index.d.ts +8 -0
  425. package/dist/storage/in-memory/index.d.ts.map +1 -1
  426. package/dist/storage/index.d.ts +6 -4
  427. package/dist/storage/index.d.ts.map +1 -1
  428. package/dist/storage/index.js +54 -53
  429. package/dist/storage/index.js.map +1 -1
  430. package/dist/storage/internal.d.ts +3 -0
  431. package/dist/storage/internal.d.ts.map +1 -1
  432. package/dist/storage/internal.js +66 -16
  433. package/dist/storage/internal.js.map +1 -1
  434. package/dist/storage/ontology/in-memory/sources.d.ts +2 -1
  435. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  436. package/dist/storage/ontology/index.d.ts +1 -1
  437. package/dist/storage/ontology/index.d.ts.map +1 -1
  438. package/dist/storage/ontology/sources.d.ts +15 -0
  439. package/dist/storage/ontology/sources.d.ts.map +1 -1
  440. package/dist/storage/projection-runs/provider.js +3 -3
  441. package/dist/storage/share-grants/in-memory.d.ts +2 -1
  442. package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
  443. package/dist/storage/share-grants/index.d.ts +1 -1
  444. package/dist/storage/share-grants/index.d.ts.map +1 -1
  445. package/dist/storage/share-grants/types.d.ts +6 -0
  446. package/dist/storage/share-grants/types.d.ts.map +1 -1
  447. package/dist/storage/types.d.ts +4 -0
  448. package/dist/storage/types.d.ts.map +1 -1
  449. package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
  450. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  451. package/dist/storage/workflow-runs/provider.js +13 -12
  452. package/dist/storage/workflow-runs/provider.js.map +1 -1
  453. package/dist/storage/workflow-runs/types.d.ts +5 -0
  454. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  455. package/dist/syncs/index.js +35 -34
  456. package/dist/syncs/index.js.map +1 -1
  457. package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
  458. package/dist/testing/activity-storage-contract.d.ts +14 -0
  459. package/dist/testing/activity-storage-contract.d.ts.map +1 -0
  460. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  461. package/dist/testing/artifact-storage-contract.d.ts +13 -0
  462. package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
  463. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  464. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  465. package/dist/testing/index.d.ts +2 -0
  466. package/dist/testing/index.d.ts.map +1 -1
  467. package/dist/testing/index.js +4488 -3137
  468. package/dist/testing/index.js.map +14 -12
  469. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  470. package/dist/testing/lake-storage-contract.d.ts +2 -0
  471. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  472. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  473. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
  474. package/dist/webhooks/internal.js +27 -26
  475. package/dist/webhooks/internal.js.map +2 -2
  476. package/dist/workers/index.js +2 -2
  477. package/dist/workflows/builders.d.ts.map +1 -1
  478. package/dist/workflows/index.js +57 -51
  479. package/dist/workflows/index.js.map +1 -1
  480. package/dist/workflows/types.d.ts +9 -0
  481. package/dist/workflows/types.d.ts.map +1 -1
  482. package/dist/workflows/validation.d.ts +7 -0
  483. package/dist/workflows/validation.d.ts.map +1 -1
  484. package/package.json +25 -1
  485. package/src/actions/execution.ts +18 -13
  486. package/src/actions/request.ts +18 -3
  487. package/src/actions/run-authorization.ts +23 -0
  488. package/src/activity/README.md +155 -0
  489. package/src/activity/connection.ts +217 -0
  490. package/src/activity/device.ts +41 -0
  491. package/src/activity/execution.ts +210 -0
  492. package/src/activity/service.ts +274 -0
  493. package/src/activity/shares.ts +62 -0
  494. package/src/activity/timeline.ts +424 -0
  495. package/src/agents/index.ts +8 -3
  496. package/src/agents/request.ts +5 -0
  497. package/src/agents/skills.ts +6 -0
  498. package/src/agents/types.ts +8 -8
  499. package/src/agents/validation.ts +2 -0
  500. package/src/artifacts/address.ts +132 -0
  501. package/src/artifacts/csv.ts +108 -0
  502. package/src/artifacts/errors.ts +21 -0
  503. package/src/artifacts/execution.ts +153 -0
  504. package/src/artifacts/frames/assets.ts +88 -0
  505. package/src/artifacts/frames/grants.ts +124 -0
  506. package/src/artifacts/frames/index.ts +15 -0
  507. package/src/artifacts/frames/kit.ts +392 -0
  508. package/src/artifacts/frames/probe.ts +309 -0
  509. package/src/artifacts/frames/protocol.ts +174 -0
  510. package/src/artifacts/frames/runtime.ts +213 -0
  511. package/src/artifacts/html.ts +25 -0
  512. package/src/artifacts/ids.ts +18 -0
  513. package/src/artifacts/index.ts +61 -0
  514. package/src/artifacts/kinds.ts +8 -0
  515. package/src/artifacts/limits.ts +27 -0
  516. package/src/artifacts/outline.ts +62 -0
  517. package/src/artifacts/publish/files.ts +87 -0
  518. package/src/artifacts/publish/index.ts +12 -0
  519. package/src/artifacts/publish/publish.ts +250 -0
  520. package/src/artifacts/publish/references.ts +130 -0
  521. package/src/artifacts/publish/validate/document.ts +114 -0
  522. package/src/artifacts/publish/validate/file.ts +19 -0
  523. package/src/artifacts/publish/validate/sheet.ts +251 -0
  524. package/src/artifacts/publish/validate/slides.ts +134 -0
  525. package/src/artifacts/references.ts +11 -0
  526. package/src/artifacts/resolve.ts +97 -0
  527. package/src/artifacts/theme.ts +116 -0
  528. package/src/artifacts/warnings.ts +10 -0
  529. package/src/artifacts/workbook.ts +315 -0
  530. package/src/authorization/decision.ts +5 -0
  531. package/src/authorization/grant-kinds.ts +14 -2
  532. package/src/blob-storage/internal.ts +1 -1
  533. package/src/blob-storage/media-type.ts +69 -0
  534. package/src/datasets/builders.ts +66 -2
  535. package/src/datasets/column-index.ts +19 -0
  536. package/src/datasets/execution.ts +23 -9
  537. package/src/errors/internal.ts +1 -0
  538. package/src/events/execution.ts +134 -21
  539. package/src/execution/authorized-object-reader.ts +270 -256
  540. package/src/execution/object-reader-clearance.ts +91 -0
  541. package/src/execution/object-reader-ontology.ts +63 -0
  542. package/src/execution/object-reader-security.ts +146 -0
  543. package/src/http/api-routes.ts +125 -0
  544. package/src/index.ts +71 -3
  545. package/src/lake-storage/in-memory.ts +26 -3
  546. package/src/lake-storage/index.ts +13 -1
  547. package/src/lake-storage/lineage.ts +385 -0
  548. package/src/lake-storage/sql-transforms.ts +45 -0
  549. package/src/lake-storage/types.ts +59 -1
  550. package/src/lake-storage/version-inputs.ts +35 -6
  551. package/src/maintenance/ontology-maintenance.ts +15 -0
  552. package/src/objects/clearance-redaction.ts +138 -0
  553. package/src/objects/link/authorization.ts +27 -7
  554. package/src/objects/link/remove.ts +2 -2
  555. package/src/objects/link/upsert-batch.ts +7 -5
  556. package/src/objects/link/upsert.ts +2 -2
  557. package/src/objects/object/delete.ts +2 -0
  558. package/src/objects/object/upsert-batch.ts +2 -4
  559. package/src/objects/object/upsert.ts +2 -3
  560. package/src/objects/property-clearance.ts +171 -152
  561. package/src/objects/query/clearance-admission.ts +112 -0
  562. package/src/objects/query/link-query-clearance.ts +73 -0
  563. package/src/ontology/builders.ts +12 -1
  564. package/src/ontology/docs-markdown.ts +1 -1
  565. package/src/pipelines/index.ts +2 -0
  566. package/src/pipelines/lineage.ts +45 -0
  567. package/src/projections/internal.ts +2 -2
  568. package/src/runtime/create.ts +4 -0
  569. package/src/runtime/host.ts +55 -0
  570. package/src/runtime/internal.ts +2 -0
  571. package/src/runtime/ontology-mutations.ts +19 -4
  572. package/src/runtime/resolve-definitions.ts +66 -3
  573. package/src/runtime/sixb.ts +18 -1
  574. package/src/sandboxes/README.md +29 -7
  575. package/src/sandboxes/auth.ts +16 -0
  576. package/src/sandboxes/config.ts +2 -7
  577. package/src/sandboxes/configuration.ts +61 -7
  578. package/src/sandboxes/index.ts +1 -0
  579. package/src/sandboxes/sandbox.ts +27 -5
  580. package/src/security/applied-markings-contribution.ts +277 -0
  581. package/src/security/applied-markings-host.ts +41 -0
  582. package/src/security/applied-markings-snapshot.ts +235 -0
  583. package/src/security/applied-markings.ts +405 -0
  584. package/src/security/dataset-version-markings.ts +163 -0
  585. package/src/security/grants.ts +39 -4
  586. package/src/security/index.ts +3 -0
  587. package/src/security/internal.ts +18 -0
  588. package/src/security/marking-propagation.ts +255 -0
  589. package/src/security/marking-sets.ts +42 -0
  590. package/src/security/markings.ts +29 -178
  591. package/src/security/pipeline-markings.ts +175 -0
  592. package/src/security/project.ts +8 -0
  593. package/src/security/projection-markings.ts +421 -0
  594. package/src/security/redactions.ts +7 -2
  595. package/src/security/types.ts +20 -2
  596. package/src/security/validation.ts +11 -4
  597. package/src/storage/action-runs/in-memory.ts +18 -0
  598. package/src/storage/action-runs/types.ts +8 -0
  599. package/src/storage/activity/in-memory.ts +374 -0
  600. package/src/storage/activity/index.ts +27 -0
  601. package/src/storage/activity/policy.ts +430 -0
  602. package/src/storage/activity/types.ts +211 -0
  603. package/src/storage/agents/in-memory.ts +10 -0
  604. package/src/storage/agents/provider.ts +2 -13
  605. package/src/storage/agents/types.ts +9 -16
  606. package/src/storage/artifacts/errors.ts +16 -0
  607. package/src/storage/artifacts/in-memory.ts +240 -0
  608. package/src/storage/artifacts/index.ts +30 -0
  609. package/src/storage/artifacts/record.ts +200 -0
  610. package/src/storage/artifacts/types.ts +209 -0
  611. package/src/storage/auth/in-memory/sessions.ts +21 -0
  612. package/src/storage/auth/index.ts +2 -0
  613. package/src/storage/auth/types.ts +18 -0
  614. package/src/storage/executions/in-memory.ts +61 -1
  615. package/src/storage/executions/index.ts +3 -0
  616. package/src/storage/executions/provider.ts +12 -0
  617. package/src/storage/executions/types.ts +30 -0
  618. package/src/storage/in-memory/index.ts +16 -0
  619. package/src/storage/index.ts +63 -0
  620. package/src/storage/internal.ts +30 -0
  621. package/src/storage/ontology/in-memory/sources.ts +23 -0
  622. package/src/storage/ontology/index.ts +2 -0
  623. package/src/storage/ontology/sources.ts +17 -0
  624. package/src/storage/share-grants/in-memory.ts +8 -0
  625. package/src/storage/share-grants/index.ts +1 -0
  626. package/src/storage/share-grants/types.ts +8 -0
  627. package/src/storage/types.ts +4 -0
  628. package/src/storage/workflow-runs/in-memory.ts +16 -0
  629. package/src/storage/workflow-runs/types.ts +5 -0
  630. package/src/testing/action-run-storage-contract.ts +25 -0
  631. package/src/testing/activity-storage-contract.ts +840 -0
  632. package/src/testing/agent-storage-contract.ts +22 -21
  633. package/src/testing/artifact-storage-contract.ts +517 -0
  634. package/src/testing/auth-storage-contract.ts +47 -0
  635. package/src/testing/execution-storage-contract.ts +147 -1
  636. package/src/testing/index.ts +9 -0
  637. package/src/testing/lake-merge-storage-contract.ts +38 -0
  638. package/src/testing/lake-storage-contract.ts +247 -2
  639. package/src/testing/materializer-storage-contract.ts +1 -0
  640. package/src/testing/ontology-storage-contract.ts +57 -2
  641. package/src/testing/share-grant-storage-contract.ts +15 -0
  642. package/src/workflows/builders.ts +14 -0
  643. package/src/workflows/types.ts +9 -0
  644. package/src/workflows/validation.ts +72 -0
  645. package/dist/chunk-1k89ecfr.js +0 -85
  646. package/dist/chunk-1k89ecfr.js.map +0 -10
  647. package/dist/chunk-3t2hgbgd.js.map +0 -15
  648. package/dist/chunk-4vyr1j8f.js +0 -128
  649. package/dist/chunk-4vyr1j8f.js.map +0 -11
  650. package/dist/chunk-9gyp8hg1.js +0 -363
  651. package/dist/chunk-9gyp8hg1.js.map +0 -14
  652. package/dist/chunk-es1gxsbf.js.map +0 -13
  653. package/dist/chunk-gsjm1wms.js.map +0 -10
  654. package/dist/chunk-hkc3jct7.js.map +0 -10
  655. package/dist/chunk-k6q3n2sc.js.map +0 -12
  656. package/dist/chunk-rrzt8jdy.js.map +0 -14
  657. package/dist/chunk-s16apyk9.js +0 -256
  658. package/dist/chunk-s16apyk9.js.map +0 -16
  659. package/dist/chunk-s54c868q.js.map +0 -12
  660. package/dist/chunk-tw03bsmb.js.map +0 -11
  661. /package/dist/{chunk-xfs8x8m9.js.map → chunk-0bphap9y.js.map} +0 -0
  662. /package/dist/{chunk-1zq2p6g0.js.map → chunk-1cc1xaf3.js.map} +0 -0
  663. /package/dist/{chunk-t7x8dmn0.js.map → chunk-431pyp2c.js.map} +0 -0
  664. /package/dist/{chunk-c85m1hyj.js.map → chunk-447a5c0p.js.map} +0 -0
  665. /package/dist/{chunk-ren4kg2j.js.map → chunk-561r0yc9.js.map} +0 -0
  666. /package/dist/{chunk-5e43w60z.js.map → chunk-5948n82c.js.map} +0 -0
  667. /package/dist/{chunk-yzwja0mj.js.map → chunk-5hx48dnn.js.map} +0 -0
  668. /package/dist/{chunk-5j58wjct.js.map → chunk-858emn8m.js.map} +0 -0
  669. /package/dist/{chunk-6p49a5cq.js.map → chunk-c1rxbz5y.js.map} +0 -0
  670. /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
  671. /package/dist/{chunk-fa02jy15.js.map → chunk-cy4mbddw.js.map} +0 -0
  672. /package/dist/{chunk-9w055r5b.js.map → chunk-d09e3rax.js.map} +0 -0
  673. /package/dist/{chunk-dk8tkk5f.js.map → chunk-d7dnxdep.js.map} +0 -0
  674. /package/dist/{chunk-tg2cw67r.js.map → chunk-ky3j490c.js.map} +0 -0
  675. /package/dist/{chunk-vyf9kfqf.js.map → chunk-q7gn29y3.js.map} +0 -0
  676. /package/dist/{chunk-v9xd5wzd.js.map → chunk-s7jg7pmn.js.map} +0 -0
  677. /package/dist/{chunk-9dmt152s.js.map → chunk-vf57cr4t.js.map} +0 -0
  678. /package/dist/{chunk-9ybhtmg4.js.map → chunk-vvxtn22d.js.map} +0 -0
  679. /package/dist/{chunk-7t429e3f.js.map → chunk-xvsc5m8n.js.map} +0 -0
  680. /package/dist/{chunk-z4m0yz8c.js.map → chunk-y5tah2kf.js.map} +0 -0
  681. /package/dist/{chunk-fkgc1wt8.js.map → chunk-z58tm0hm.js.map} +0 -0
@@ -0,0 +1,91 @@
1
+ import { type PropertyClearance, resolvePropertyClearance } from "../objects/property-clearance"
2
+ import type { OntologyRegistry } from "../ontology"
3
+ import type { AppliedMarkings } from "../security/applied-markings"
4
+ import type { EventOriginRef } from "../security/applied-markings-contribution"
5
+ import type { AppliedMarkingsSnapshot } from "../security/applied-markings-snapshot"
6
+
7
+ /** What one read may not return; `undefined` when it reads everything. */
8
+ export type Clearance = PropertyClearance | undefined
9
+
10
+ /**
11
+ * What one authority cannot read: the markings the code declares, and those the dataset versions
12
+ * projections applied add, for an authority they can affect.
13
+ *
14
+ * A reader they cannot affect, trusted code included, gets the code's clearance as a plain value:
15
+ * awaiting it costs one microtask, not a refresh. Otherwise the clearance is resolved for each
16
+ * snapshot, which rarely changes, so the last one is kept.
17
+ */
18
+ export class ObjectReaderClearance {
19
+ readonly #ontology: OntologyRegistry
20
+ /** What the authority cannot read under the code's markings; absent when it reads everything. */
21
+ readonly #static: Clearance
22
+ /** The authority's clearances; absent when it is unrestricted. */
23
+ readonly #clearances?: ReadonlySet<string>
24
+ /** Present only when applied dataset versions can deny this authority more than the code. */
25
+ readonly #applied?: AppliedMarkings
26
+ #lastSnapshot?: AppliedMarkingsSnapshot
27
+ #lastClearance: Clearance
28
+
29
+ constructor(input: {
30
+ readonly ontology: OntologyRegistry
31
+ readonly clearances: ReadonlySet<string> | undefined
32
+ readonly appliedMarkings?: AppliedMarkings
33
+ }) {
34
+ this.#ontology = input.ontology
35
+ this.#clearances = input.clearances
36
+ this.#static = input.clearances && resolvePropertyClearance(input.ontology, input.clearances)
37
+
38
+ if (input.clearances && input.appliedMarkings?.affects(input.clearances)) {
39
+ this.#applied = input.appliedMarkings
40
+ }
41
+
42
+ Object.freeze(this)
43
+ }
44
+
45
+ /** What the authority cannot read now. */
46
+ current(): Clearance | Promise<Clearance> {
47
+ const applied = this.#applied
48
+ const clearances = this.#clearances
49
+ if (!applied || !clearances) return this.#static
50
+
51
+ return applied.current().then((snapshot) => {
52
+ if (snapshot !== this.#lastSnapshot) {
53
+ this.#lastClearance = resolvePropertyClearance(this.#ontology, clearances, snapshot)
54
+ this.#lastSnapshot = snapshot
55
+ }
56
+ return this.#lastClearance
57
+ })
58
+ }
59
+
60
+ /**
61
+ * What the authority cannot read in an object event. Reads the event's origin version only for
62
+ * an authority its markings affect.
63
+ */
64
+ forEvent(sources: EventSources): Clearance | Promise<Clearance> {
65
+ const applied = this.#applied
66
+ const clearances = this.#clearances
67
+ if (!applied || !clearances) return this.#static
68
+
69
+ return applied
70
+ .current()
71
+ .then((snapshot) =>
72
+ sources.origin ? applied.forEventOrigin(snapshot, sources.origin) : snapshot
73
+ )
74
+ .then((snapshot) =>
75
+ sources.earlier ? applied.forEarlierValues(snapshot, sources.objectTypeId) : snapshot
76
+ )
77
+ .then((snapshot) => resolvePropertyClearance(this.#ontology, clearances, snapshot))
78
+ }
79
+ }
80
+
81
+ /** Where the values of an object event came from. */
82
+ export interface EventSources {
83
+ readonly objectTypeId: string
84
+ /** The projection that emitted the event, and the version it applied. */
85
+ readonly origin?: EventOriginRef
86
+ /**
87
+ * Whether the event holds values from before it, which came from versions applied earlier: an
88
+ * update or a deletion, or a record an action or a direct write took of projected values.
89
+ */
90
+ readonly earlier: boolean
91
+ }
@@ -0,0 +1,63 @@
1
+ import { isAllowed } from "../authorization"
2
+ import {
3
+ type AuthorizedOntologySelection,
4
+ type AuthorizedOntologyView,
5
+ createAuthorizedOntologyView,
6
+ } from "../objects/authorized-ontology-view"
7
+ import type { OntologyRegistry } from "../ontology"
8
+ import { assertObjectReadOutputWithinLimit } from "../storage"
9
+ import type { ResolvedExecutionAuthority } from "./object-reader-security"
10
+
11
+ /** The ontology a reader resolves against, and the part of it its authority may describe. */
12
+ export class ObjectReaderOntology {
13
+ readonly registry: OntologyRegistry
14
+ readonly #authority: ResolvedExecutionAuthority
15
+ #view?: AuthorizedOntologyView
16
+
17
+ constructor(registry: OntologyRegistry, authority: ResolvedExecutionAuthority) {
18
+ this.registry = registry
19
+ this.#authority = authority
20
+ Object.freeze(this)
21
+ }
22
+
23
+ /** Inert metadata for the types the authority may view, built on first use. */
24
+ view(): AuthorizedOntologyView {
25
+ const authority = this.#authority
26
+ this.#view ??= createAuthorizedOntologyView({
27
+ ontology: this.registry,
28
+ selection: selectionForAuthority(authority, this.registry),
29
+ ...(authority.type === "delegated"
30
+ ? {
31
+ assertOutputWithinLimit: (value: unknown) =>
32
+ assertObjectReadOutputWithinLimit(value, authority.objectRead.limits),
33
+ }
34
+ : {}),
35
+ })
36
+ return this.#view
37
+ }
38
+ }
39
+
40
+ function selectionForAuthority(
41
+ authority: ResolvedExecutionAuthority,
42
+ ontology: OntologyRegistry
43
+ ): AuthorizedOntologySelection {
44
+ switch (authority.type) {
45
+ case "unrestricted":
46
+ return { kind: "all" }
47
+ case "principal":
48
+ return {
49
+ kind: "types",
50
+ objectTypeIds: ontology
51
+ .listObjectTypes()
52
+ .filter((objectType) =>
53
+ isAllowed(authority.context, {
54
+ kind: "object.view",
55
+ objectTypeId: objectType.id,
56
+ })
57
+ )
58
+ .map((objectType) => objectType.id),
59
+ }
60
+ case "delegated":
61
+ return { kind: "selected", scope: authority.objectRead.scope }
62
+ }
63
+ }
@@ -0,0 +1,146 @@
1
+ import { assertAuthorized, isAllowed } from "../authorization"
2
+ import { AuthorizationError } from "../authorization/errors"
3
+ import type { AuthorizationContext } from "../authorization/types"
4
+ import { unreadableError } from "../objects/property-clearance"
5
+ import {
6
+ createSelectedObjectQueryAdmission,
7
+ type SelectedObjectQueryAdmission,
8
+ } from "../objects/query/selected-read-admission"
9
+ import type { OntologyRegistry } from "../ontology"
10
+ import type { AppliedMarkings } from "../security/applied-markings"
11
+ import type { CompiledObjectReadStep, ObjectLinkRow } from "../storage"
12
+ import type { resolveExecutionScopeAuthorization } from "./authorization"
13
+ import { type Clearance, ObjectReaderClearance } from "./object-reader-clearance"
14
+ import type { RuntimeAuthorization } from "./types"
15
+
16
+ export type ResolvedExecutionAuthority = ReturnType<typeof resolveExecutionScopeAuthorization>
17
+
18
+ export type RuntimeReadAuthorization = {
19
+ readonly projectId: string
20
+ readonly runtimeAuthorization: RuntimeAuthorization
21
+ readonly authorization?: AuthorizationContext
22
+ }
23
+
24
+ /** What a delegated authority selected: the object types, links, and queries it may read. */
25
+ export interface ObjectReaderDelegation {
26
+ readonly objectTypeIds: ReadonlySet<string>
27
+ readonly linkDefinitions: ReadonlySet<string>
28
+ readonly queryAdmission: SelectedObjectQueryAdmission
29
+ }
30
+
31
+ /**
32
+ * Who reads, and what it may read: the exact execution authority, the selection a delegated one
33
+ * carries, and its clearance. It decides whether an object type or a link is viewable.
34
+ */
35
+ export class ObjectReaderSecurity {
36
+ /** The registered authority the reader is bound to. */
37
+ readonly authorization: RuntimeAuthorization
38
+ readonly authority: ResolvedExecutionAuthority
39
+ /** The authority as generic authorization checks take it. */
40
+ readonly runtime: RuntimeReadAuthorization
41
+ /** Present for delegated authority only. */
42
+ readonly delegation?: ObjectReaderDelegation
43
+ readonly clearance: ObjectReaderClearance
44
+
45
+ constructor(input: {
46
+ readonly authorization: RuntimeAuthorization
47
+ readonly authority: ResolvedExecutionAuthority
48
+ readonly projectId: string
49
+ readonly ontology: OntologyRegistry
50
+ readonly appliedMarkings?: AppliedMarkings
51
+ }) {
52
+ const authority = input.authority
53
+ this.authorization = input.authorization
54
+ this.authority = authority
55
+ this.runtime = Object.freeze({
56
+ projectId: input.projectId,
57
+ runtimeAuthorization: input.authorization,
58
+ ...(authority.type === "principal" ? { authorization: authority.context } : {}),
59
+ })
60
+
61
+ if (authority.type === "delegated") {
62
+ const scope = authority.objectRead.scope
63
+ this.delegation = Object.freeze({
64
+ objectTypeIds: new Set(scope.objects.map((object) => object.objectTypeId)),
65
+ linkDefinitions: new Set(scope.steps.map(delegatedLinkDefinitionKey)),
66
+ queryAdmission: createSelectedObjectQueryAdmission(scope),
67
+ })
68
+ }
69
+
70
+ this.clearance = new ObjectReaderClearance({
71
+ ontology: input.ontology,
72
+ clearances: clearancesForAuthority(authority),
73
+ ...(input.appliedMarkings === undefined ? {} : { appliedMarkings: input.appliedMarkings }),
74
+ })
75
+
76
+ Object.freeze(this)
77
+ }
78
+
79
+ assertObjectTypesViewable(objectTypeIds: readonly string[], clearance: Clearance): void {
80
+ if (this.delegation) {
81
+ for (const objectTypeId of new Set(objectTypeIds)) {
82
+ if (this.delegation.objectTypeIds.has(objectTypeId)) continue
83
+ throw new AuthorizationError(
84
+ `delegated:object.view:${objectTypeId}`,
85
+ `[Sixb] Delegated authorization does not select object type '${objectTypeId}'.`
86
+ )
87
+ }
88
+ } else {
89
+ for (const objectTypeId of new Set(objectTypeIds)) {
90
+ assertAuthorized(this.runtime, { kind: "object.view", objectTypeId })
91
+ }
92
+ }
93
+
94
+ if (!clearance) return
95
+
96
+ for (const objectTypeId of new Set(objectTypeIds)) {
97
+ const unreadable = clearance.unreadableType(objectTypeId)
98
+ if (unreadable) throw unreadableError(unreadable)
99
+ }
100
+ }
101
+
102
+ isObjectTypeViewable(objectTypeId: string, clearance: Clearance): boolean {
103
+ if (clearance?.unreadableType(objectTypeId)) return false
104
+ if (this.delegation) return this.delegation.objectTypeIds.has(objectTypeId)
105
+ return isAllowed(this.runtime.authorization, { kind: "object.view", objectTypeId })
106
+ }
107
+
108
+ isLinkViewable(link: ObjectLinkRow, clearance: Clearance): boolean {
109
+ if (
110
+ !this.isObjectTypeViewable(link.sourceTypeId, clearance) ||
111
+ !this.isObjectTypeViewable(link.targetTypeId, clearance) ||
112
+ clearance?.unreadableLink(link.sourceTypeId, link.linkId)
113
+ ) {
114
+ return false
115
+ }
116
+
117
+ return this.delegation?.linkDefinitions.has(delegatedLinkDefinitionKey(link)) ?? true
118
+ }
119
+ }
120
+
121
+ /**
122
+ * Unrestricted authority reads every property. A principal reads what its roles clear; delegated
123
+ * shared access carries no clearance, so no share can expose a marked property.
124
+ */
125
+ function clearancesForAuthority(
126
+ authority: ResolvedExecutionAuthority
127
+ ): ReadonlySet<string> | undefined {
128
+ switch (authority.type) {
129
+ case "unrestricted":
130
+ return undefined
131
+ case "principal":
132
+ return authority.context.clearances ?? new Set()
133
+ case "delegated":
134
+ return new Set()
135
+ }
136
+ }
137
+
138
+ function delegatedLinkDefinitionKey(
139
+ input:
140
+ | Pick<CompiledObjectReadStep, "sourceObjectTypeId" | "linkId" | "targetObjectTypeId">
141
+ | Pick<ObjectLinkRow, "sourceTypeId" | "linkId" | "targetTypeId">
142
+ ): string {
143
+ return "sourceObjectTypeId" in input
144
+ ? JSON.stringify([input.sourceObjectTypeId, input.linkId, input.targetObjectTypeId])
145
+ : JSON.stringify([input.sourceTypeId, input.linkId, input.targetTypeId])
146
+ }
@@ -430,6 +430,71 @@ export const SIXB_API_ROUTES: readonly SixbApiRoute[] = [
430
430
  accessToken: true,
431
431
  agentApi: false,
432
432
  },
433
+ // Artifacts are reachable with an access token, so the CLI and integrations can publish them. The
434
+ // Agent publishes through its own tool, not the gateway.
435
+ {
436
+ operationId: "listArtifacts",
437
+ method: "GET",
438
+ path: "/api/artifacts",
439
+ accessToken: true,
440
+ agentApi: false,
441
+ },
442
+ {
443
+ operationId: "createArtifact",
444
+ method: "POST",
445
+ path: "/api/artifacts",
446
+ accessToken: true,
447
+ agentApi: false,
448
+ },
449
+ {
450
+ operationId: "getArtifact",
451
+ method: "GET",
452
+ path: "/api/artifacts/:artifactId",
453
+ accessToken: true,
454
+ agentApi: false,
455
+ },
456
+ {
457
+ operationId: "deleteArtifact",
458
+ method: "DELETE",
459
+ path: "/api/artifacts/:artifactId",
460
+ accessToken: true,
461
+ agentApi: false,
462
+ },
463
+ {
464
+ operationId: "publishArtifactVersion",
465
+ method: "POST",
466
+ path: "/api/artifacts/:artifactId/versions",
467
+ accessToken: true,
468
+ agentApi: false,
469
+ },
470
+ {
471
+ operationId: "getArtifactVersion",
472
+ method: "GET",
473
+ path: "/api/artifacts/:artifactId/versions/:version",
474
+ accessToken: true,
475
+ agentApi: false,
476
+ },
477
+ {
478
+ operationId: "createArtifactFrame",
479
+ method: "POST",
480
+ path: "/api/artifacts/:artifactId/versions/:version/frame",
481
+ accessToken: true,
482
+ agentApi: false,
483
+ },
484
+ {
485
+ operationId: "getArtifactFileContent",
486
+ method: "GET",
487
+ path: "/api/artifacts/:artifactId/versions/:version/content",
488
+ accessToken: true,
489
+ agentApi: false,
490
+ },
491
+ {
492
+ operationId: "headArtifactFileContent",
493
+ method: "HEAD",
494
+ path: "/api/artifacts/:artifactId/versions/:version/content",
495
+ accessToken: true,
496
+ agentApi: false,
497
+ },
433
498
  {
434
499
  operationId: "searchObjects",
435
500
  method: "GET",
@@ -452,6 +517,66 @@ export const SIXB_API_ROUTES: readonly SixbApiRoute[] = [
452
517
  accessToken: true,
453
518
  agentApi: false,
454
519
  },
520
+ // A browser records its own activity, signed in or through a shared link. Access tokens never
521
+ // do: a script is not a visit.
522
+ {
523
+ operationId: "getActivityCaptureConfig",
524
+ method: "GET",
525
+ path: "/api/activity/capture-config",
526
+ accessToken: false,
527
+ agentApi: false,
528
+ sharedSession: true,
529
+ },
530
+ {
531
+ operationId: "captureActivity",
532
+ method: "POST",
533
+ path: "/api/activity/events",
534
+ accessToken: false,
535
+ agentApi: false,
536
+ sharedSession: true,
537
+ },
538
+ {
539
+ operationId: "listActivityVisits",
540
+ method: "GET",
541
+ path: "/api/activity/visits",
542
+ accessToken: true,
543
+ agentApi: false,
544
+ },
545
+ {
546
+ operationId: "listActivityUsers",
547
+ method: "GET",
548
+ path: "/api/activity/users",
549
+ accessToken: true,
550
+ agentApi: false,
551
+ },
552
+ {
553
+ operationId: "getActivitySummary",
554
+ method: "GET",
555
+ path: "/api/activity/summary",
556
+ accessToken: true,
557
+ agentApi: false,
558
+ },
559
+ {
560
+ operationId: "getActivityCalendar",
561
+ method: "GET",
562
+ path: "/api/activity/calendar",
563
+ accessToken: true,
564
+ agentApi: false,
565
+ },
566
+ {
567
+ operationId: "getActivityVisitTimeline",
568
+ method: "GET",
569
+ path: "/api/activity/visits/:visitId/timeline",
570
+ accessToken: true,
571
+ agentApi: false,
572
+ },
573
+ {
574
+ operationId: "listActivityConnections",
575
+ method: "GET",
576
+ path: "/api/activity/connections",
577
+ accessToken: true,
578
+ agentApi: false,
579
+ },
455
580
  {
456
581
  operationId: "getAiAccountingOverview",
457
582
  method: "GET",
package/src/index.ts CHANGED
@@ -451,6 +451,8 @@ export type {
451
451
  MembershipPolicyDefinition,
452
452
  ObserveGrant,
453
453
  ObserveGrantTarget,
454
+ ProjectReference,
455
+ ProjectSurfaceReference,
454
456
  RedactionReason,
455
457
  Redactions,
456
458
  RegisteredSecurityDefinitions,
@@ -470,6 +472,7 @@ export {
470
472
  defineMembershipPolicy,
471
473
  defineRole,
472
474
  every,
475
+ project,
473
476
  SecurityValidationError,
474
477
  } from "./security"
475
478
 
@@ -583,6 +586,7 @@ export type {
583
586
  SandboxNetworkPolicy,
584
587
  SandboxNetworkTarget,
585
588
  SandboxRequestCredential,
589
+ SandboxRequestMethod,
586
590
  SandboxSessionOptions,
587
591
  SandboxStatus,
588
592
  } from "./sandboxes"
@@ -859,6 +863,38 @@ export type {
859
863
  // ── Runtime ─────────────────────────────────────────────────
860
864
 
861
865
  export type { ActionRunsRuntime, ActionsRuntime } from "./actions/execution"
866
+ export type {
867
+ ActivityConnection,
868
+ ActivityConnectionStatus,
869
+ ActivityConnectionsPage,
870
+ ActivityConnectionsQuery,
871
+ ActivitySessionConnection,
872
+ ActivityShareConnection,
873
+ ActivityUserConnection,
874
+ } from "./activity/connection"
875
+ export type { ActivityDevice } from "./activity/device"
876
+ export type {
877
+ ActivityRuntime,
878
+ ActivityUsersResult,
879
+ ActivityVisitList,
880
+ } from "./activity/execution"
881
+ export type {
882
+ ActivityCalendar,
883
+ ActivityCalendarQuery,
884
+ ActivityOptions,
885
+ ActivityPageQuery,
886
+ ActivityPeriodQuery,
887
+ } from "./activity/service"
888
+ export type { ActivityVisitActor, ActivityVisitView } from "./activity/shares"
889
+ export type {
890
+ ActivityActionEntry,
891
+ ActivityAgentEntry,
892
+ ActivityInteractionEntry,
893
+ ActivityPageEntry,
894
+ ActivityTimelineEntry,
895
+ ActivityVisitTimeline,
896
+ ActivityWorkflowEntry,
897
+ } from "./activity/timeline"
862
898
  export type {
863
899
  AgentRunListResult,
864
900
  AgentRunsRuntime,
@@ -867,6 +903,18 @@ export type {
867
903
  AgentThreadsRuntime,
868
904
  ExecutionAgentRunResult,
869
905
  } from "./agents/execution"
906
+ export type { ArtifactRequestErrorCode } from "./artifacts/errors"
907
+ export { ArtifactRequestError } from "./artifacts/errors"
908
+ export type {
909
+ ArtifactContentInput,
910
+ ArtifactsRuntime,
911
+ ListArtifactsRuntimeInput,
912
+ } from "./artifacts/execution"
913
+ export type { ArtifactKind } from "./artifacts/kinds"
914
+ export type { ArtifactOutline } from "./artifacts/outline"
915
+ export type { PublishedArtifact } from "./artifacts/publish/publish"
916
+ export type { ArtifactReference } from "./artifacts/references"
917
+ export type { ArtifactWarning } from "./artifacts/warnings"
870
918
  export type { CreateFileDownloadUrlOptions, FileDownloadUrl } from "./blob-storage/download-urls"
871
919
  export type { BlobsRuntime } from "./blob-storage/execution"
872
920
  export type { ConnectorRuntime } from "./connectors/execution"
@@ -990,6 +1038,18 @@ export type {
990
1038
  WebhookRunFailureCode,
991
1039
  WorkflowRunFailureCode,
992
1040
  } from "./storage"
1041
+ export type {
1042
+ ActivityActor,
1043
+ ActivityAttribution,
1044
+ ActivityCursor,
1045
+ ActivityDay,
1046
+ ActivityInteraction,
1047
+ ActivityPageView,
1048
+ ActivitySummary,
1049
+ ActivityUser,
1050
+ ActivityVisit,
1051
+ ActivityVisitsPage,
1052
+ } from "./storage/activity/types"
993
1053
  export type { VectorIndexingFailureCode } from "./storage/ontology/vector-indexing"
994
1054
  export type { SyncRunsRuntime, SyncsRuntime } from "./syncs/execution"
995
1055
  export type {
@@ -1033,9 +1093,6 @@ export type {
1033
1093
  AgentSkillDefinition,
1034
1094
  AgentStepStartPart,
1035
1095
  AgentTextPart,
1036
- AgentToolArtifact,
1037
- AgentToolArtifactPutInput,
1038
- AgentToolArtifacts,
1039
1096
  AgentToolAttachments,
1040
1097
  AgentToolCallPart,
1041
1098
  AgentToolCallState,
@@ -1043,7 +1100,10 @@ export type {
1043
1100
  AgentToolContent,
1044
1101
  AgentToolDefinition,
1045
1102
  AgentToolDescriptionBuilder,
1103
+ AgentToolFile,
1046
1104
  AgentToolFileContent,
1105
+ AgentToolFilePutInput,
1106
+ AgentToolFiles,
1047
1107
  AgentToolHandler,
1048
1108
  AgentToolHandlerResult,
1049
1109
  AgentToolInputBuilder,
@@ -1090,6 +1150,14 @@ export type {
1090
1150
  AgentThreadSandboxState,
1091
1151
  ListAgentThreadsResult,
1092
1152
  } from "./storage/agents"
1153
+ export type {
1154
+ ArtifactFile,
1155
+ ArtifactOrigin,
1156
+ ArtifactRecord,
1157
+ ArtifactVersionRecord,
1158
+ ListArtifactsResult,
1159
+ ListArtifactVersionsResult,
1160
+ } from "./storage/artifacts"
1093
1161
 
1094
1162
  // ── Models ──────────────────────────────────────────────────
1095
1163
 
@@ -5,6 +5,7 @@ import { getDatasetRowValidationFailure } from "../datasets/validation"
5
5
  import { resolveDatasetChangeColumns } from "./changes"
6
6
  import { mergeStrictDatasetDefinition } from "./definition-updates"
7
7
  import { LakeConcurrencyError, LakeStorageError } from "./errors"
8
+ import { lineageAtCommit } from "./lineage"
8
9
  import type {
9
10
  BeginDatasetMergeInput,
10
11
  CommitDatasetMergeInput,
@@ -42,7 +43,7 @@ import type {
42
43
  ReadDatasetChangesInput,
43
44
  ReadDatasetRowsInput,
44
45
  } from "./types"
45
- import { hasDatasetInputChanges } from "./version-inputs"
46
+ import { hasDatasetProvenanceChanges } from "./version-inputs"
46
47
 
47
48
  function cloneDatasetDefinition(definition: DatasetDefinition): DatasetDefinition {
48
49
  return structuredClone(definition)
@@ -230,6 +231,7 @@ class InMemoryLakeMergeSession implements LakeMergeSession {
230
231
  }
231
232
 
232
233
  export class InMemoryLakeStorage implements LakeStorage {
234
+ readonly recordsLineage = true
233
235
  private readonly datasets = new Map<string, DatasetDefinition>()
234
236
  private readonly versionsByDataset = new Map<string, DatasetVersion[]>()
235
237
  private readonly rowsByVersionId = new Map<string, readonly DatasetRow[]>()
@@ -568,6 +570,12 @@ export class InMemoryLakeStorage implements LakeStorage {
568
570
 
569
571
  const visibleRows = [...nextByKey.values()]
570
572
  const versionId = `ver_${randomUUID()}`
573
+ const lineage = lineageAtCommit({
574
+ mode: "merge",
575
+ schema: definition.schema,
576
+ producer: options.merge.producer,
577
+ parent: latestVersion,
578
+ })
571
579
  const version: DatasetVersion = {
572
580
  datasetId: options.merge.dataset.id,
573
581
  versionId,
@@ -577,6 +585,7 @@ export class InMemoryLakeStorage implements LakeStorage {
577
585
  schema: definition.schema,
578
586
  producer: options.merge.producer ? structuredClone(options.merge.producer) : undefined,
579
587
  inputs: options.merge.inputs ? structuredClone(options.merge.inputs) : undefined,
588
+ ...(lineage && { lineage }),
580
589
  rowCount: visibleRows.length,
581
590
  sizeBytes: new TextEncoder().encode(
582
591
  visibleRows.map((row) => JSON.stringify(row)).join("\n")
@@ -623,11 +632,24 @@ export class InMemoryLakeStorage implements LakeStorage {
623
632
 
624
633
  this.assertKeyedWriteIsUnique(mode, options.rows, latestVersion, definition)
625
634
 
635
+ const lineage = lineageAtCommit({
636
+ mode,
637
+ schema: definition.schema,
638
+ producer: options.write.producer,
639
+ written: options.write.lineage,
640
+ parent: latestVersion,
641
+ })
642
+
626
643
  // Content-identical snapshots and empty appends reuse the latest version
627
- // unless explicitly supplied input lineage has changed.
644
+ // unless explicitly supplied provenance has changed.
628
645
  if (
629
646
  latestVersion &&
630
- !hasDatasetInputChanges(latestVersion.inputs, options.write.inputs) &&
647
+ !hasDatasetProvenanceChanges(latestVersion, {
648
+ ...options.write,
649
+ datasetId: definition.id,
650
+ schema: definition.schema,
651
+ lineage,
652
+ }) &&
631
653
  this.isUnchangedWrite(mode, latestVersion, options.rows, definition.schema)
632
654
  ) {
633
655
  return { ...latestVersion, outcome: "unchanged" }
@@ -652,6 +674,7 @@ export class InMemoryLakeStorage implements LakeStorage {
652
674
  schema: definition.schema,
653
675
  producer: options.write.producer ? structuredClone(options.write.producer) : undefined,
654
676
  inputs: options.write.inputs ? structuredClone(options.write.inputs) : undefined,
677
+ ...(lineage && { lineage }),
655
678
  rowCount: visibleRows.length,
656
679
  sizeBytes,
657
680
  }