@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,135 @@
1
+ // @bun
2
+ import"../chunk-x0v3jd47.js";
3
+ import {
4
+ registeredSteps,
5
+ runStepLineages,
6
+ MarkingPropagation,
7
+ validateProjectionMarkings,
8
+ assertProjectionVersionMarkings2,
9
+ describeOrigins,
10
+ getAppliedMarkings2,
11
+ warmAppliedMarkings2,
12
+ getDatasetVersionMarkings2,
13
+ shareDatasetVersionMarkings2
14
+ } from "../chunk-twe4dx8p.js";
15
+ import {
16
+ stepInputColumns2,
17
+ stepReadColumns
18
+ } from "../chunk-g5bvzyyr.js";
19
+ import {
20
+ PipelineError2
21
+ } from "../chunk-hke9aeen.js";
22
+ import {
23
+ SecurityValidationError2
24
+ } from "../chunk-jcfw4h7m.js";
25
+ // src/security/pipeline-markings.ts
26
+ async function checkPipelineMarkings(input) {
27
+ const { definitions, lakeStorage } = input;
28
+ const datasetsById = new Map(definitions.datasets.list().map((dataset) => [dataset.id, dataset]));
29
+ const steps = registeredSteps(definitions.pipelines.list());
30
+ const runLineageOf = runStepLineages(datasetsById);
31
+ const analyzed = new Map;
32
+ const lineageOf = (entry) => runLineageOf(entry) ?? analyzed.get(entry.step) ?? null;
33
+ const markings = new MarkingPropagation(datasetsById, steps).derive(lineageOf);
34
+ for (;; ) {
35
+ const wave = new Map;
36
+ for (const entry of steps) {
37
+ if (entry.step.executor.kind !== "sql" || analyzed.has(entry.step))
38
+ continue;
39
+ if (stepReadColumns(entry.step).some((ref) => markings.of(ref).size > 0)) {
40
+ if (!wave.has(entry.step))
41
+ wave.set(entry.step, entry);
42
+ }
43
+ }
44
+ if (wave.size === 0)
45
+ break;
46
+ await forEachConcurrently([...wave], ANALYSIS_CONCURRENCY, async ([step, entry]) => {
47
+ analyzed.set(step, await analyzeSqlStep(entry, markings, datasetsById, lakeStorage));
48
+ });
49
+ markings.derive(lineageOf);
50
+ }
51
+ validateProjectionMarkings(definitions.projections, definitions.ontology, markings);
52
+ }
53
+ var ANALYSIS_CONCURRENCY = 8;
54
+ async function forEachConcurrently(items, limit, task) {
55
+ const pending = items.values();
56
+ let failed = false;
57
+ const worker = async () => {
58
+ for (const item of pending) {
59
+ if (failed)
60
+ return;
61
+ try {
62
+ await task(item);
63
+ } catch (error) {
64
+ failed = true;
65
+ throw error;
66
+ }
67
+ }
68
+ };
69
+ await Promise.all(Array.from({ length: Math.min(limit, items.length) }, worker));
70
+ }
71
+ async function analyzeSqlStep(entry, markings, datasetsById, lakeStorage) {
72
+ const { step } = entry;
73
+ const subject = `[Sixb] Pipeline '${entry.pipelineId}' step '${step.id}'`;
74
+ if (step.executor.kind !== "sql")
75
+ throw new PipelineError2(`${subject} is not a SQL step.`);
76
+ const sql = "sql" in lakeStorage ? lakeStorage.sql : undefined;
77
+ if (!sql?.analyze) {
78
+ throw new SecurityValidationError2(`${subject} reads ${describeMarkedRead(step, markings)}, but the lake provider cannot analyze SQL to derive the markings of its output. Use a lake provider that analyzes SQL, or pick only unmarked columns.`);
79
+ }
80
+ const inputs = Object.entries(step.inputs);
81
+ let analysis;
82
+ try {
83
+ analysis = await sql.analyze({
84
+ sql: step.executor.sql,
85
+ sources: Object.fromEntries(inputs.map(([name, dataset]) => [
86
+ name,
87
+ {
88
+ dataset: registeredDataset(datasetsById, dataset.id, subject),
89
+ columns: stepInputColumns2(dataset)
90
+ }
91
+ ]))
92
+ });
93
+ } catch (error) {
94
+ const reason = error instanceof Error ? error.message : String(error);
95
+ throw new PipelineError2(`${subject} could not be analyzed: ${reason}`, { cause: error });
96
+ }
97
+ if (!analysis.supported) {
98
+ throw new SecurityValidationError2(`${subject} reads ${describeMarkedRead(step, markings)}, but its SQL cannot be analyzed: ${analysis.reason}. Rewrite that part of the query, or pick only unmarked columns.`);
99
+ }
100
+ const datasetIdBySource = new Map(inputs.map(([name, dataset]) => [name, dataset.id]));
101
+ const toRef = (ref) => {
102
+ const datasetId = datasetIdBySource.get(ref.source);
103
+ if (datasetId === undefined) {
104
+ throw new PipelineError2(`${subject} analysis references unknown source '${ref.source}'.`);
105
+ }
106
+ return { datasetId, column: ref.column };
107
+ };
108
+ return {
109
+ rows: analysis.lineage.rows.map(toRef),
110
+ columns: Object.fromEntries(Object.entries(analysis.lineage.columns).map(([column, refs]) => [column, refs.map(toRef)]))
111
+ };
112
+ }
113
+ function describeMarkedRead(step, markings) {
114
+ const ref = stepReadColumns(step).find((candidate) => markings.of(candidate).size > 0);
115
+ if (!ref)
116
+ return "no marked column";
117
+ const path = `${ref.datasetId}.${ref.column}`;
118
+ return `column '${path}', which carries ${describeOrigins(markings.of(ref), path)}`;
119
+ }
120
+ function registeredDataset(datasetsById, datasetId, subject) {
121
+ const dataset = datasetsById.get(datasetId);
122
+ if (!dataset)
123
+ throw new PipelineError2(`${subject} reads unregistered dataset '${datasetId}'.`);
124
+ return dataset;
125
+ }
126
+ export {
127
+ assertProjectionVersionMarkings2 as assertProjectionVersionMarkings,
128
+ checkPipelineMarkings,
129
+ getAppliedMarkings2 as getAppliedMarkings,
130
+ getDatasetVersionMarkings2 as getDatasetVersionMarkings,
131
+ shareDatasetVersionMarkings2 as shareDatasetVersionMarkings,
132
+ warmAppliedMarkings2 as warmAppliedMarkings
133
+ };
134
+
135
+ //# debugId=02F47B8AEF3C739F64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/security/pipeline-markings.ts"],
4
+ "sourcesContent": [
5
+ "import type { DatasetDefinition } from \"../datasets/types\"\nimport type {\n LakeStorageWithSql,\n SqlTransformAnalysis,\n SqlTransformColumnRef,\n} from \"../lake-storage/sql-transforms\"\nimport type { DatasetColumnLineage, DatasetColumnRef, LakeStorage } from \"../lake-storage/types\"\nimport { PipelineError } from \"../pipelines/errors\"\nimport { stepInputColumns, stepReadColumns } from \"../pipelines/lineage\"\nimport type { PipelineStepDefinition } from \"../pipelines/types\"\nimport type { SixbDefinitions } from \"../runtime/definitions\"\nimport { SecurityValidationError } from \"./errors\"\nimport {\n type DatasetMarkings,\n MarkingPropagation,\n type RegisteredStep,\n registeredSteps,\n runStepLineages,\n} from \"./marking-propagation\"\nimport { describeOrigins, validateProjectionMarkings } from \"./projection-markings\"\n\n/**\n * Derive the markings SQL steps give their outputs and check every projection against them.\n *\n * Startup cannot see through SQL, so this preflight completes it before a host serves traffic. It\n * is a diagnostic: each version records the lineage of the SQL that actually ran, and reads and\n * projections enforce markings from that record whether or not this ran.\n *\n * Only steps that read a marked column are analyzed, each step once. Analyzing a step can mark\n * the inputs of others, so steps are analyzed in waves, a few at a time within a wave. A step whose\n * SQL cannot be analyzed, or a lake provider that cannot analyze SQL, is reported with the step\n * and a marked column it reads.\n */\nexport async function checkPipelineMarkings(input: {\n readonly definitions: Pick<SixbDefinitions, \"ontology\" | \"datasets\" | \"pipelines\" | \"projections\">\n readonly lakeStorage: LakeStorage | LakeStorageWithSql\n}): Promise<void> {\n const { definitions, lakeStorage } = input\n const datasetsById = new Map(definitions.datasets.list().map((dataset) => [dataset.id, dataset]))\n const steps = registeredSteps(definitions.pipelines.list())\n const runLineageOf = runStepLineages(datasetsById)\n const analyzed = new Map<PipelineStepDefinition, DatasetColumnLineage>()\n const lineageOf = (entry: RegisteredStep) =>\n runLineageOf(entry) ?? analyzed.get(entry.step) ?? null\n\n const markings = new MarkingPropagation(datasetsById, steps).derive(lineageOf)\n\n for (;;) {\n const wave = new Map<PipelineStepDefinition, RegisteredStep>()\n for (const entry of steps) {\n if (entry.step.executor.kind !== \"sql\" || analyzed.has(entry.step)) continue\n if (stepReadColumns(entry.step).some((ref) => markings.of(ref).size > 0)) {\n if (!wave.has(entry.step)) wave.set(entry.step, entry)\n }\n }\n\n if (wave.size === 0) break\n\n await forEachConcurrently([...wave], ANALYSIS_CONCURRENCY, async ([step, entry]) => {\n analyzed.set(step, await analyzeSqlStep(entry, markings, datasetsById, lakeStorage))\n })\n markings.derive(lineageOf)\n }\n\n validateProjectionMarkings(definitions.projections, definitions.ontology, markings)\n}\n\n/** Analyses run at once. A provider may open a database per analysis, so a wave is not unbounded. */\nconst ANALYSIS_CONCURRENCY = 8\n\n/** Run `task` on each item, `limit` at a time. Stops starting new tasks once one fails. */\nasync function forEachConcurrently<TItem>(\n items: readonly TItem[],\n limit: number,\n task: (item: TItem) => Promise<void>\n): Promise<void> {\n const pending = items.values()\n let failed = false\n\n const worker = async () => {\n for (const item of pending) {\n if (failed) return\n\n try {\n await task(item)\n } catch (error) {\n failed = true\n throw error\n }\n }\n }\n\n await Promise.all(Array.from({ length: Math.min(limit, items.length) }, worker))\n}\n\nasync function analyzeSqlStep(\n entry: RegisteredStep,\n markings: DatasetMarkings,\n datasetsById: ReadonlyMap<string, DatasetDefinition>,\n lakeStorage: LakeStorage | LakeStorageWithSql\n): Promise<DatasetColumnLineage> {\n const { step } = entry\n const subject = `[Sixb] Pipeline '${entry.pipelineId}' step '${step.id}'`\n\n if (step.executor.kind !== \"sql\") throw new PipelineError(`${subject} is not a SQL step.`)\n\n const sql = \"sql\" in lakeStorage ? lakeStorage.sql : undefined\n if (!sql?.analyze) {\n throw new SecurityValidationError(\n `${subject} reads ${describeMarkedRead(step, markings)}, but the lake provider cannot analyze SQL to derive the markings of its output. Use a lake provider that analyzes SQL, or pick only unmarked columns.`\n )\n }\n\n const inputs = Object.entries(step.inputs)\n let analysis: SqlTransformAnalysis\n try {\n analysis = await sql.analyze({\n sql: step.executor.sql,\n sources: Object.fromEntries(\n inputs.map(([name, dataset]) => [\n name,\n {\n dataset: registeredDataset(datasetsById, dataset.id, subject),\n columns: stepInputColumns(dataset),\n },\n ])\n ),\n })\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error)\n throw new PipelineError(`${subject} could not be analyzed: ${reason}`, { cause: error })\n }\n\n if (!analysis.supported) {\n throw new SecurityValidationError(\n `${subject} reads ${describeMarkedRead(step, markings)}, but its SQL cannot be analyzed: ${analysis.reason}. Rewrite that part of the query, or pick only unmarked columns.`\n )\n }\n\n const datasetIdBySource = new Map(inputs.map(([name, dataset]) => [name, dataset.id]))\n const toRef = (ref: SqlTransformColumnRef): DatasetColumnRef => {\n const datasetId = datasetIdBySource.get(ref.source)\n if (datasetId === undefined) {\n throw new PipelineError(`${subject} analysis references unknown source '${ref.source}'.`)\n }\n\n return { datasetId, column: ref.column }\n }\n\n return {\n rows: analysis.lineage.rows.map(toRef),\n columns: Object.fromEntries(\n Object.entries(analysis.lineage.columns).map(([column, refs]) => [column, refs.map(toRef)])\n ),\n }\n}\n\n/** A marked column the step reads, for messages. */\nfunction describeMarkedRead(step: PipelineStepDefinition, markings: DatasetMarkings): string {\n const ref = stepReadColumns(step).find((candidate) => markings.of(candidate).size > 0)\n if (!ref) return \"no marked column\"\n\n const path = `${ref.datasetId}.${ref.column}`\n return `column '${path}', which carries ${describeOrigins(markings.of(ref), path)}`\n}\n\nfunction registeredDataset(\n datasetsById: ReadonlyMap<string, DatasetDefinition>,\n datasetId: string,\n subject: string\n): DatasetDefinition {\n const dataset = datasetsById.get(datasetId)\n if (!dataset) throw new PipelineError(`${subject} reads unregistered dataset '${datasetId}'.`)\n return dataset\n}\n"
6
+ ],
7
+ "mappings": "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",
8
+ "debugId": "02F47B8AEF3C739F64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,62 @@
1
+ import type { DatasetDefinition } from "../datasets/types";
2
+ import type { DatasetColumnLineage, DatasetColumnRef } from "../lake-storage/types";
3
+ import type { PipelineDefinition, PipelineStepDefinition } from "../pipelines/types";
4
+ /** A step of a registered pipeline. A step reused by two pipelines is two registered steps. */
5
+ export interface RegisteredStep {
6
+ readonly pipelineId: string;
7
+ readonly step: PipelineStepDefinition;
8
+ }
9
+ /** The column that declares a marking, and the steps it went through to reach a column. */
10
+ export interface MarkingOrigin {
11
+ readonly column: DatasetColumnRef;
12
+ /** `pipeline/step`, upstream first. Empty when the column declares the marking itself. */
13
+ readonly steps: readonly string[];
14
+ }
15
+ /** Each marking a column carries, with one path it arrived by. */
16
+ export type ColumnMarkingOrigins = ReadonlyMap<string, MarkingOrigin>;
17
+ /** Markings of every column of every registered dataset, derived from the definitions. */
18
+ export interface DatasetMarkings {
19
+ /** Empty for a column without markings or that is not registered. */
20
+ of(column: DatasetColumnRef): ColumnMarkingOrigins;
21
+ }
22
+ export declare function registeredSteps(pipelines: readonly PipelineDefinition[]): readonly RegisteredStep[];
23
+ /** Lineage of each `run` step, built once per step object; undefined for other steps. */
24
+ export declare function runStepLineages(datasetsById: ReadonlyMap<string, DatasetDefinition>): (entry: RegisteredStep) => DatasetColumnLineage | undefined;
25
+ export declare function stepLabel(entry: RegisteredStep): string;
26
+ /**
27
+ * Markings each column carries according to the registered definitions: the ones it declares, and
28
+ * the ones each step derives from the columns it depends on, once that step's lineage is known.
29
+ *
30
+ * What decided the rows of a step's inputs decides the rows of its output, whether or not the step
31
+ * reads a column of that input: `SELECT count(*) FROM rich` reveals which rows `rich` holds. So
32
+ * each dataset also keeps the markings of its row dependencies, and every output column of a step
33
+ * carries those of every input it reads, as the lineage each version records does.
34
+ *
35
+ * A step may read its own output and a dataset may have several producers, so a step whose output
36
+ * gains a marking queues the steps that read that output, until nothing changes. Lineage can be
37
+ * added in rounds: each round only revisits what the new lineage reaches.
38
+ */
39
+ export declare class MarkingPropagation implements DatasetMarkings {
40
+ private readonly datasetsById;
41
+ /** Marked columns only, by dataset, built when a dataset is first looked at. */
42
+ private readonly markings;
43
+ /** Markings of what decides each dataset's rows, for datasets a step writes. */
44
+ private readonly rowMarkings;
45
+ private readonly ordered;
46
+ private readonly readers;
47
+ private readonly known;
48
+ private readonly queue;
49
+ constructor(datasetsById: ReadonlyMap<string, DatasetDefinition>, steps: readonly RegisteredStep[]);
50
+ of(ref: DatasetColumnRef): ColumnMarkingOrigins;
51
+ /**
52
+ * Derive markings through every step `lineageOf` knows the lineage of. A step it returns null
53
+ * for derives nothing until a later call knows it.
54
+ */
55
+ derive(lineageOf: (entry: RegisteredStep) => DatasetColumnLineage | null): this;
56
+ /** Whether the output's rows or any output column gained a marking. */
57
+ private apply;
58
+ private markedColumns;
59
+ /** Every marking of these columns, each with the first origin found. */
60
+ private union;
61
+ }
62
+ //# sourceMappingURL=marking-propagation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marking-propagation.d.ts","sourceRoot":"","sources":["../../src/security/marking-propagation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAEpF,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;CACtC;AAED,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,kEAAkE;AAClE,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAErE,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,CAAA;CACnD;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,kBAAkB,EAAE,GACvC,SAAS,cAAc,EAAE,CAI3B;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAC7B,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACnD,CAAC,KAAK,EAAE,cAAc,KAAK,oBAAoB,GAAG,SAAS,CAc7D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAEvD;AAYD;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IACrE,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiD;IAC1E,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;gBAGhD,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACpD,KAAK,EAAE,SAAS,cAAc,EAAE;IAYlC,EAAE,CAAC,GAAG,EAAE,gBAAgB,GAAG,oBAAoB;IAI/C;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,oBAAoB,GAAG,IAAI,GAAG,IAAI;IAyB/E,uEAAuE;IACvE,OAAO,CAAC,KAAK;IAmDb,OAAO,CAAC,aAAa;IAiBrB,wEAAwE;IACxE,OAAO,CAAC,KAAK;CASd"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Shared, immutable sets of marking ids.
3
+ *
4
+ * Every column of every resolved version holds one of a handful of distinct sets, so each distinct
5
+ * set is created once and compared by identity.
6
+ */
7
+ export declare class MarkingSets {
8
+ readonly empty: ReadonlySet<string>;
9
+ private readonly sets;
10
+ of(markingIds: Iterable<string> | undefined): ReadonlySet<string>;
11
+ /** The union of sets this instance created. */
12
+ union(sets: Iterable<ReadonlySet<string> | undefined>): ReadonlySet<string>;
13
+ }
14
+ //# sourceMappingURL=marking-sets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marking-sets.d.ts","sourceRoot":"","sources":["../../src/security/marking-sets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2D;IAEhF,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;IAkBjE,+CAA+C;IAC/C,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;CAY5E"}
@@ -5,9 +5,12 @@ import type { ProjectionDefinitionCatalog } from "../projections/registry";
5
5
  /**
6
6
  * Check every marking once at startup.
7
7
  *
8
- * A marking is enforced at read time from the property or column definition alone, so each rule
9
- * here closes a path that would otherwise return the value unredacted or make enforcement
10
- * ambiguous.
8
+ * A marking is enforced at read time from the property or column definition and the lineage of
9
+ * the version read, so each rule here closes a path that would otherwise return the value
10
+ * unredacted or make enforcement ambiguous.
11
+ *
12
+ * Projections are checked against the markings columns declare or inherit through `run` steps.
13
+ * What SQL steps derive needs the lake provider's analysis, which `checkPipelineMarkings` adds.
11
14
  */
12
15
  export declare function validateMarkingsAtStartup(input: {
13
16
  readonly markingIds: ReadonlySet<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"markings.d.ts","sourceRoot":"","sources":["../../src/security/markings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAI1E;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC7D,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAA;CAClD,GAAG,IAAI,CAKP"}
1
+ {"version":3,"file":"markings.d.ts","sourceRoot":"","sources":["../../src/security/markings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAK1E;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC7D,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAA;CAClD,GAAG,IAAI,CAWP"}
@@ -0,0 +1,20 @@
1
+ import type { LakeStorageWithSql } from "../lake-storage/sql-transforms";
2
+ import type { LakeStorage } from "../lake-storage/types";
3
+ import type { SixbDefinitions } from "../runtime/definitions";
4
+ /**
5
+ * Derive the markings SQL steps give their outputs and check every projection against them.
6
+ *
7
+ * Startup cannot see through SQL, so this preflight completes it before a host serves traffic. It
8
+ * is a diagnostic: each version records the lineage of the SQL that actually ran, and reads and
9
+ * projections enforce markings from that record whether or not this ran.
10
+ *
11
+ * Only steps that read a marked column are analyzed, each step once. Analyzing a step can mark
12
+ * the inputs of others, so steps are analyzed in waves, a few at a time within a wave. A step whose
13
+ * SQL cannot be analyzed, or a lake provider that cannot analyze SQL, is reported with the step
14
+ * and a marked column it reads.
15
+ */
16
+ export declare function checkPipelineMarkings(input: {
17
+ readonly definitions: Pick<SixbDefinitions, "ontology" | "datasets" | "pipelines" | "projections">;
18
+ readonly lakeStorage: LakeStorage | LakeStorageWithSql;
19
+ }): Promise<void>;
20
+ //# sourceMappingURL=pipeline-markings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-markings.d.ts","sourceRoot":"","sources":["../../src/security/pipeline-markings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAA0C,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAIhG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAW7D;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC,CAAA;IAClG,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,CAAA;CACvD,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhB"}
@@ -0,0 +1,4 @@
1
+ import type { ProjectReference } from "./types";
2
+ /** Project-wide surfaces used in security grants such as `can.observe(project.logs)`. */
3
+ export declare const project: ProjectReference;
4
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/security/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,yFAAyF;AACzF,eAAO,MAAM,OAAO,EAAE,gBAIpB,CAAA"}
@@ -0,0 +1,71 @@
1
+ import type { DatasetVersion } from "../lake-storage/types";
2
+ import type { OntologyDefinitionCatalog } from "../ontology/registry";
3
+ import type { ProjectionDefinitionCatalog } from "../projections/registry";
4
+ import type { ProjectionDefinition } from "../projections/types";
5
+ import type { VersionClassification } from "./dataset-version-markings";
6
+ import type { ColumnMarkingOrigins, DatasetMarkings } from "./marking-propagation";
7
+ type OntologyLookup = Pick<OntologyDefinitionCatalog, "getObjectTypeById">;
8
+ /** Markings of one column of the projection's dataset. */
9
+ type ColumnMarkingsLookup = (column: string) => readonly string[];
10
+ /** What a marked key column makes unreadable: the objects it identifies, or the link it keys. */
11
+ export type ProjectionKeyTarget = {
12
+ readonly kind: "type";
13
+ readonly objectTypeId: string;
14
+ } | {
15
+ readonly kind: "link";
16
+ readonly objectTypeId: string;
17
+ readonly linkId: string;
18
+ readonly targetObjectTypeId: string;
19
+ };
20
+ /**
21
+ * Objects are read through the ontology, so each projected property declares the markings of its
22
+ * column: the ontology stays the reviewed contract of what each reader receives. Values that
23
+ * identify objects or key links are returned wherever the object or link is, and telemetry does
24
+ * not enforce markings yet, so those columns cannot carry markings.
25
+ *
26
+ * Startup checks it with the markings columns declare or inherit through `run` steps, and the
27
+ * pipeline preflight with the markings SQL steps derive as well.
28
+ */
29
+ export declare function validateProjectionMarkings(projections: ProjectionDefinitionCatalog, ontology: OntologyLookup, markings: DatasetMarkings): void;
30
+ /**
31
+ * Refuse to project a dataset version whose columns carry more markings than the projection
32
+ * allows. A version keeps the markings of the code that produced it, so a version written before
33
+ * the current code can carry markings startup did not see. Call it once per version, before
34
+ * reading its rows; it reads nothing, so what it throws is a refusal that no retry changes.
35
+ */
36
+ export declare function assertProjectionVersionMarkings(input: {
37
+ readonly projection: ProjectionDefinition;
38
+ readonly ontology: OntologyLookup;
39
+ readonly version: DatasetVersion;
40
+ readonly classification: VersionClassification;
41
+ }): void;
42
+ /** Markings an applied version gives a projection's targets beyond what the ontology declares. */
43
+ export interface ProjectionSurplus {
44
+ /** Markings a mapped column carries that its property does not declare. */
45
+ readonly properties: readonly {
46
+ readonly objectTypeId: string;
47
+ readonly propertyId: string;
48
+ readonly column: string;
49
+ readonly markings: readonly string[];
50
+ }[];
51
+ /** Marked key columns, with what each one makes unreadable and why. */
52
+ readonly keys: readonly {
53
+ readonly target: ProjectionKeyTarget;
54
+ readonly column: string;
55
+ readonly role: string;
56
+ readonly markings: readonly string[];
57
+ }[];
58
+ }
59
+ /**
60
+ * What a projection's targets carry beyond their declarations when read from columns with these
61
+ * markings: every rule it breaks, as markings to add to properties and to key targets. A property
62
+ * that keys a link keeps its markings on the property as well.
63
+ */
64
+ export declare function projectionSurplus(projection: ProjectionDefinition, ontology: OntologyLookup, markingsOf: ColumnMarkingsLookup): ProjectionSurplus;
65
+ /**
66
+ * `[financial] from 'raw_invoices.amount' through step 'invoices/normalize'`: each marking with one
67
+ * path it arrived by. Markings the column declares itself have no path.
68
+ */
69
+ export declare function describeOrigins(origins: ColumnMarkingOrigins, columnPath: string): string;
70
+ export {};
71
+ //# sourceMappingURL=projection-markings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-markings.d.ts","sourceRoot":"","sources":["../../src/security/projection-markings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,EAGV,oBAAoB,EAErB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAiB,MAAM,uBAAuB,CAAA;AAEjG,KAAK,cAAc,GAAG,IAAI,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAA;AAE1E,0DAA0D;AAC1D,KAAK,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAA;AAEjE,iGAAiG;AACjG,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;CACpC,CAAA;AAuBL;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,2BAA2B,EACxC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,eAAe,GACxB,IAAI,CA+BN;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;CAC/C,GAAG,IAAI,CAoBP;AAED,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;KACrC,EAAE,CAAA;IACH,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,SAAS;QACtB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;QACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;KACrC,EAAE,CAAA;CACJ;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,oBAAoB,GAC/B,iBAAiB,CAkCnB;AA+MD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOzF"}
@@ -1,8 +1,8 @@
1
1
  // @bun
2
- import"../chunk-gsjm1wms.js";
2
+ import"../chunk-dhdha526.js";
3
3
  import {
4
4
  defineGroup2
5
- } from "../chunk-es1gxsbf.js";
5
+ } from "../chunk-f4pamkt9.js";
6
6
  export {
7
7
  defineGroup2 as defineGroup
8
8
  };
@@ -1,4 +1,7 @@
1
1
  import type { Redactions } from "./types";
2
- /** List the values hidden from a reader that lacks a clearance for their markings. */
2
+ /**
3
+ * List the values hidden from a reader that lacks a clearance for their markings. Deeply frozen,
4
+ * so every row and event redacted the same way can share it.
5
+ */
3
6
  export declare function missingClearanceRedactions(ids: Iterable<string>): Redactions;
4
7
  //# sourceMappingURL=redactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redactions.d.ts","sourceRoot":"","sources":["../../src/security/redactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,sFAAsF;AACtF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAE5E"}
1
+ {"version":3,"file":"redactions.d.ts","sourceRoot":"","sources":["../../src/security/redactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzC;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAE5E"}
@@ -107,8 +107,28 @@ export interface AgentRunGrant {
107
107
  readonly capability: "run";
108
108
  readonly target: "agent";
109
109
  }
110
- export type ObserveGrantTarget = "logs" | "aiUsage";
111
- /** Read the project's logs or its AI usage. Each is one surface, so there is nothing to select. */
110
+ export type ObserveGrantTarget = "logs" | "aiUsage" | "activity";
111
+ /**
112
+ * Project-wide surfaces used in security grants such as `can.observe(project.logs)`. Each member's
113
+ * `kind` is the grant target it selects.
114
+ */
115
+ export interface ProjectReference {
116
+ readonly kind: "project";
117
+ /** The project's captured logs. */
118
+ readonly logs: {
119
+ readonly kind: "logs";
120
+ };
121
+ /** Visits and page views recorded in the project's app. */
122
+ readonly activity: {
123
+ readonly kind: "activity";
124
+ };
125
+ }
126
+ /** Any member of `project`, such as `project.logs`. */
127
+ export type ProjectSurfaceReference = ProjectReference[Exclude<keyof ProjectReference, "kind">];
128
+ /**
129
+ * Read the project's logs, its AI usage or its app activity. Each is one surface, so there is
130
+ * nothing to select.
131
+ */
112
132
  export interface ObserveGrant {
113
133
  readonly kind: "grant";
114
134
  readonly capability: "observe";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"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"}
@@ -1,56 +1,57 @@
1
1
  // @bun
2
2
  import"../chunk-a40ad1ft.js";
3
- import"../chunk-8mx7qw3y.js";
4
- import"../chunk-z3y5kg1x.js";
5
- import"../chunk-b38szspf.js";
3
+ import"../chunk-dvd2fp9q.js";
4
+ import"../chunk-6eqsgvxk.js";
5
+ import"../chunk-dhcv7yxc.js";
6
6
  import {
7
7
  formatSessionCookieValue2,
8
8
  parseSessionCookieValue2
9
- } from "../chunk-vpq4shxz.js";
10
- import"../chunk-gsjm1wms.js";
11
- import"../chunk-d0bqz29d.js";
9
+ } from "../chunk-nn5xnx3s.js";
10
+ import"../chunk-dhdha526.js";
11
+ import"../chunk-6vb4st8k.js";
12
12
  import"../chunk-v4jbb3rs.js";
13
- import"../chunk-jhm3zsa7.js";
14
- import"../chunk-hvsb78a1.js";
15
- import"../chunk-es1gxsbf.js";
16
- import"../chunk-v9xd5wzd.js";
13
+ import"../chunk-wkv3h3q7.js";
14
+ import"../chunk-8frc8a4j.js";
15
+ import"../chunk-f4pamkt9.js";
16
+ import"../chunk-s7jg7pmn.js";
17
17
  import"../chunk-hcbyfxbe.js";
18
18
  import"../chunk-pqajwytd.js";
19
19
  import"../chunk-29yx306f.js";
20
- import"../chunk-gfdh9kqa.js";
21
- import"../chunk-gc4ntf7d.js";
22
- import"../chunk-s54c868q.js";
20
+ import"../chunk-3qct2mdc.js";
23
21
  import"../chunk-ere85b8y.js";
24
22
  import"../chunk-4as3wt1c.js";
25
23
  import"../chunk-h89wz928.js";
26
- import"../chunk-9w055r5b.js";
27
- import"../chunk-tw03bsmb.js";
28
- import"../chunk-d09tj99x.js";
24
+ import"../chunk-d09e3rax.js";
25
+ import"../chunk-tbc1ngpd.js";
26
+ import"../chunk-gfdh9kqa.js";
27
+ import"../chunk-cwdzcv37.js";
28
+ import"../chunk-eptrvnby.js";
29
+ import"../chunk-g257jwnc.js";
29
30
  import"../chunk-7n440zgt.js";
30
- import"../chunk-n33z5bjw.js";
31
+ import"../chunk-918wwnaa.js";
31
32
  import"../chunk-pbcbn83d.js";
32
33
  import"../chunk-qczk96d9.js";
33
34
  import"../chunk-mmagke4x.js";
34
35
  import"../chunk-hn2r7z41.js";
35
- import"../chunk-9ybhtmg4.js";
36
+ import"../chunk-vvxtn22d.js";
36
37
  import"../chunk-jmfet9r4.js";
37
38
  import"../chunk-qf954wje.js";
38
- import"../chunk-rrzt8jdy.js";
39
+ import"../chunk-x0v3jd47.js";
40
+ import"../chunk-9j4jw7as.js";
39
41
  import {
40
42
  intersectShareAccessPlans
41
43
  } from "../chunk-x9v4cx1d.js";
42
44
  import {
43
45
  compileShareAccessPlan
44
- } from "../chunk-fkgc1wt8.js";
46
+ } from "../chunk-z58tm0hm.js";
45
47
  import {
46
48
  snapshotShareAccessPlan
47
49
  } from "../chunk-br3k6qbf.js";
48
50
  import {
49
51
  ShareSessionStorageError2
50
52
  } from "../chunk-z8fx5cgb.js";
51
- import"../chunk-s16apyk9.js";
52
53
  import"../chunk-rj69qcrd.js";
53
- import"../chunk-c85m1hyj.js";
54
+ import"../chunk-447a5c0p.js";
54
55
 
55
56
  // src/shares/session-protocol.ts
56
57
  import { createHash, randomBytes, randomUUID, timingSafeEqual } from "crypto";
@@ -234,4 +235,4 @@ export {
234
235
  SharedSessionProtocol
235
236
  };
236
237
 
237
- //# debugId=34911D02E010DC8E64756E2164756E21
238
+ //# debugId=C3C5BDA4DF19C4DF64756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { createHash, randomBytes, randomUUID, timingSafeEqual } from \"node:crypto\"\nimport { formatSessionCookieValue, parseSessionCookieValue } from \"../auth/sessions\"\nimport type { SixbHostView } from \"../runtime\"\nimport type { ShareGrantRecord, ShareSessionRecord, Storage } from \"../storage\"\nimport { ShareSessionStorageError } from \"../storage\"\nimport { type ShareAccessPlan, snapshotShareAccessPlan } from \"./access-plan\"\nimport { compileShareAccessPlan } from \"./compiler\"\nimport { intersectShareAccessPlans } from \"./intersection\"\n\nexport const DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS = 15 * 60_000\n\nconst MAX_CREATE_ATTEMPTS = 5\nconst SECRET_PATTERN = /^[A-Za-z0-9_-]{43}$/\n\nexport interface SharedSessionContext {\n readonly grantId: string\n readonly sessionId: string\n readonly destinationPath: string\n readonly access: ShareAccessPlan\n readonly expiresAt: Date\n readonly absoluteExpiresAt: Date\n}\n\nexport interface SharedSessionCredential {\n readonly context: SharedSessionContext\n /** Opaque value for the HttpOnly shared-session cookie. */\n readonly cookieValue: string\n}\n\nexport interface SharedSessionProtocolOptions {\n readonly host: SixbHostView\n readonly inactivityTtlMs?: number\n readonly now?: () => Date\n}\n\n/**\n * Framework-owned shared-session lifecycle.\n *\n * Link and session secrets are verified here. Callers receive only an effective access plan built\n * from the issued snapshot intersected with the Share definition registered now.\n */\nexport class SharedSessionProtocol {\n private readonly host: SixbHostView\n private readonly inactivityTtlMs: number\n private readonly now: () => Date\n\n constructor(options: SharedSessionProtocolOptions) {\n if (!options.host.storage.shareGrants || !options.host.storage.shareSessions) {\n throw new Error(\"[Sixb] Shared sessions require share grant and session storage.\")\n }\n const inactivityTtlMs = options.inactivityTtlMs ?? DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS\n if (!Number.isSafeInteger(inactivityTtlMs) || inactivityTtlMs <= 0) {\n throw new Error(\"[Sixb] Shared session inactivity TTL must be a positive integer.\")\n }\n this.host = options.host\n this.inactivityTtlMs = inactivityTtlMs\n this.now = options.now ?? (() => new Date())\n }\n\n async exchange(grantId: string, secret: string): Promise<SharedSessionCredential | null> {\n if (!validIdentifier(grantId) || !validSecret(secret)) return null\n const now = this.currentTime()\n\n for (let attempt = 0; attempt < MAX_CREATE_ATTEMPTS; attempt += 1) {\n const sessionSecret = randomBytes(32).toString(\"base64url\")\n const sessionId = `shs_${randomUUID()}`\n try {\n const result = await this.host.storage.transaction(async (tx) => {\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n const secretMatches = secretMatchesHash(secret, grant?.tokenHash ?? \"\")\n if (!grant || !secretMatches) return null\n const sessions = requireSessions(tx)\n const absoluteExpiresAt = new Date(grant.expiresAt)\n const session = await sessions.create({\n id: sessionId,\n projectId: this.host.projectId,\n grantId: grant.id,\n tokenHash: sha256(sessionSecret),\n createdAt: now,\n expiresAt: inactivityDeadline(now, absoluteExpiresAt, this.inactivityTtlMs),\n absoluteExpiresAt,\n })\n return { grant, session }\n })\n if (!result) return null\n return {\n context: this.context(result.grant, result.session),\n cookieValue: formatSessionCookieValue(sessionId, sessionSecret),\n }\n } catch (error) {\n if (\n error instanceof ShareSessionStorageError &&\n error.code === \"duplicate\" &&\n attempt < MAX_CREATE_ATTEMPTS - 1\n ) {\n continue\n }\n throw error\n }\n }\n\n return null\n }\n\n async resolve(\n grantId: string,\n cookieValue: string | undefined,\n options: { readonly activity?: \"background\" | \"foreground\" } = {}\n ): Promise<SharedSessionContext | null> {\n if (!validIdentifier(grantId) || !validCookieValue(cookieValue)) return null\n const credential = parseSessionCookieValue(cookieValue)\n if (\n !credential ||\n !validIdentifier(credential.sessionId) ||\n !validSecret(credential.sessionSecret)\n ) {\n return null\n }\n const now = this.currentTime()\n const tokenHash = sha256(credential.sessionSecret)\n\n const result = await this.host.storage.transaction(async (tx) => {\n const sessions = requireSessions(tx)\n const current = await sessions.getById({\n projectId: this.host.projectId,\n id: credential.sessionId,\n })\n const secretMatches = secretMatchesHash(credential.sessionSecret, current?.tokenHash ?? \"\")\n if (\n !current ||\n current.grantId !== grantId ||\n current.revokedAt !== undefined ||\n current.expiresAt.getTime() <= now.getTime() ||\n current.absoluteExpiresAt.getTime() <= now.getTime() ||\n !secretMatches\n ) {\n return null\n }\n\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n if (!grant || current.absoluteExpiresAt.getTime() !== grant.expiresAt.getTime()) {\n return null\n }\n\n if (options.activity !== \"foreground\") return { grant, session: current }\n\n const renewed = await sessions.renewIfValid({\n projectId: this.host.projectId,\n id: current.id,\n grantId,\n tokenHash,\n now,\n expiresAt: inactivityDeadline(now, current.absoluteExpiresAt, this.inactivityTtlMs),\n })\n return renewed ? { grant, session: renewed } : null\n })\n\n return result ? this.context(result.grant, result.session) : null\n }\n\n async revoke(context: Pick<SharedSessionContext, \"grantId\" | \"sessionId\">): Promise<void> {\n const revokedAt = this.currentTime()\n await this.host.storage.transaction(async (tx) => {\n const session = await requireSessions(tx).getById({\n projectId: this.host.projectId,\n id: context.sessionId,\n })\n if (!session || session.grantId !== context.grantId) return\n await requireSessions(tx).revoke({\n projectId: this.host.projectId,\n id: context.sessionId,\n revokedAt,\n })\n })\n }\n\n private context(grant: ShareGrantRecord, session: ShareSessionRecord): SharedSessionContext {\n return {\n grantId: grant.id,\n sessionId: session.id,\n destinationPath: grant.destinationPath,\n access: effectiveAccess(this.host, grant),\n expiresAt: new Date(session.expiresAt),\n absoluteExpiresAt: new Date(session.absoluteExpiresAt),\n }\n }\n\n private currentTime(): Date {\n const now = this.now()\n if (!(now instanceof Date) || !Number.isFinite(now.getTime())) {\n throw new Error(\"[Sixb] Shared session clock returned an invalid date.\")\n }\n return new Date(now)\n }\n}\n\nfunction effectiveAccess(host: SixbHostView, grant: ShareGrantRecord): ShareAccessPlan {\n const definition = host.definitions.shares.getById(grant.definitionId)\n if (!definition || definition.target.objectTypeId !== grant.target.objectTypeId) {\n return snapshotShareAccessPlan({ grants: [] })\n }\n const current = compileShareAccessPlan({\n share: definition,\n target: grant.target,\n ontology: host.definitions.ontology,\n actions: host.definitions.actions,\n })\n return intersectShareAccessPlans(grant.authoritySnapshot.access, current)\n}\n\nasync function activeGrant(\n storage: Storage,\n projectId: string,\n grantId: string,\n now: Date\n): Promise<ShareGrantRecord | null> {\n const grant = await storage.shareGrants?.getById({ projectId, id: grantId })\n return !grant || grant.revokedAt !== undefined || grant.expiresAt.getTime() <= now.getTime()\n ? null\n : grant\n}\n\nfunction requireSessions(storage: Storage): NonNullable<Storage[\"shareSessions\"]> {\n if (!storage.shareSessions) {\n throw new Error(\"[Sixb] Shared session storage is not configured.\")\n }\n return storage.shareSessions\n}\n\nfunction inactivityDeadline(now: Date, absolute: Date, ttlMs: number): Date {\n return new Date(Math.min(absolute.getTime(), now.getTime() + ttlMs))\n}\n\nfunction secretMatchesHash(secret: string, expectedHash: string): boolean {\n const actual = createHash(\"sha256\").update(secret).digest()\n const expected = /^[0-9a-f]{64}$/.test(expectedHash)\n ? Buffer.from(expectedHash, \"hex\")\n : Buffer.alloc(actual.length)\n return timingSafeEqual(actual, expected)\n}\n\nfunction sha256(value: string): string {\n return createHash(\"sha256\").update(value).digest(\"hex\")\n}\n\nfunction validIdentifier(value: unknown): value is string {\n return (\n typeof value === \"string\" && value.length > 0 && value.length <= 128 && value.trim() === value\n )\n}\n\nfunction validSecret(value: unknown): value is string {\n return typeof value === \"string\" && SECRET_PATTERN.test(value)\n}\n\nfunction validCookieValue(value: unknown): value is string {\n return typeof value === \"string\" && value.length <= 256\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "34911D02E010DC8E64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "C3C5BDA4DF19C4DF64756E2164756E21",
9
9
  "names": []
10
10
  }