@sixb/core 0.1.19 → 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 (765) 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/cookies.d.ts +2 -4
  98. package/dist/auth/cookies.d.ts.map +1 -1
  99. package/dist/auth/index.d.ts +0 -2
  100. package/dist/auth/index.d.ts.map +1 -1
  101. package/dist/auth/index.js +14 -20
  102. package/dist/auth/index.js.map +1 -1
  103. package/dist/auth/runtime.d.ts +8 -10
  104. package/dist/auth/runtime.d.ts.map +1 -1
  105. package/dist/auth/session-cache.d.ts +1 -5
  106. package/dist/auth/session-cache.d.ts.map +1 -1
  107. package/dist/auth/strategy.js +1 -1
  108. package/dist/auth/types.d.ts +4 -8
  109. package/dist/auth/types.d.ts.map +1 -1
  110. package/dist/auth/validation.d.ts +0 -1
  111. package/dist/auth/validation.d.ts.map +1 -1
  112. package/dist/authorization/decision.d.ts +2 -4
  113. package/dist/authorization/decision.d.ts.map +1 -1
  114. package/dist/authorization/grant-kinds.d.ts +6 -8
  115. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  116. package/dist/authorization/index.d.ts +0 -1
  117. package/dist/authorization/index.d.ts.map +1 -1
  118. package/dist/authorization/index.js +7 -11
  119. package/dist/authorization/index.js.map +1 -1
  120. package/dist/authorization/resolve.d.ts +1 -1
  121. package/dist/authorization/resolve.d.ts.map +1 -1
  122. package/dist/blob-storage/browser.js +1 -1
  123. package/dist/blob-storage/index.js +2 -2
  124. package/dist/blob-storage/internal.d.ts +1 -1
  125. package/dist/blob-storage/internal.d.ts.map +1 -1
  126. package/dist/blob-storage/internal.js +11 -5
  127. package/dist/blob-storage/internal.js.map +1 -1
  128. package/dist/blob-storage/media-type.d.ts +12 -0
  129. package/dist/blob-storage/media-type.d.ts.map +1 -1
  130. package/dist/bootstrap/index.js +54 -48
  131. package/dist/bootstrap/index.js.map +2 -2
  132. package/dist/{chunk-t6vq7bff.js → chunk-0bphap9y.js} +5 -5
  133. package/dist/{chunk-7mbzgd9m.js → chunk-1cc1xaf3.js} +3 -3
  134. package/dist/chunk-3jms7je7.js +14 -0
  135. package/dist/chunk-3jms7je7.js.map +10 -0
  136. package/dist/{chunk-s54c868q.js → chunk-3qct2mdc.js} +3 -13
  137. package/dist/chunk-3qct2mdc.js.map +12 -0
  138. package/dist/{chunk-6gmfggss.js → chunk-431pyp2c.js} +3 -3
  139. package/dist/{chunk-c85m1hyj.js → chunk-447a5c0p.js} +2 -2
  140. package/dist/chunk-48qjhh6v.js +185 -0
  141. package/dist/chunk-48qjhh6v.js.map +13 -0
  142. package/dist/{chunk-80mc0971.js → chunk-561r0yc9.js} +8 -8
  143. package/dist/{chunk-5e43w60z.js → chunk-5948n82c.js} +2 -2
  144. package/dist/{chunk-yzwja0mj.js → chunk-5hx48dnn.js} +2 -2
  145. package/dist/{chunk-tjb1mk5t.js → chunk-5vems3nx.js} +5 -6
  146. package/dist/{chunk-tjb1mk5t.js.map → chunk-5vems3nx.js.map} +3 -3
  147. package/dist/{chunk-aff7cyea.js → chunk-61y5xs4p.js} +563 -167
  148. package/dist/{chunk-aff7cyea.js.map → chunk-61y5xs4p.js.map} +12 -9
  149. package/dist/chunk-65abf64x.js +13 -0
  150. package/dist/chunk-65abf64x.js.map +10 -0
  151. package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
  152. package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
  153. package/dist/chunk-6rqgmkde.js +2028 -0
  154. package/dist/chunk-6rqgmkde.js.map +29 -0
  155. package/dist/{chunk-y7rqfrgg.js → chunk-6vb4st8k.js} +29 -38
  156. package/dist/chunk-6vb4st8k.js.map +23 -0
  157. package/dist/chunk-7q8t23v4.js +467 -0
  158. package/dist/chunk-7q8t23v4.js.map +14 -0
  159. package/dist/{chunk-kyzq4wy9.js → chunk-858emn8m.js} +17 -17
  160. package/dist/chunk-858emn8m.js.map +18 -0
  161. package/dist/{chunk-hvsb78a1.js → chunk-8frc8a4j.js} +26 -26
  162. package/dist/{chunk-hvsb78a1.js.map → chunk-8frc8a4j.js.map} +2 -2
  163. package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
  164. package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
  165. package/dist/{chunk-j2bp5ryw.js → chunk-918wwnaa.js} +495 -28
  166. package/dist/{chunk-j2bp5ryw.js.map → chunk-918wwnaa.js.map} +14 -12
  167. package/dist/{chunk-1f7wpmyp.js → chunk-9j4jw7as.js} +103 -110
  168. package/dist/chunk-9j4jw7as.js.map +14 -0
  169. package/dist/chunk-9kgkfg6v.js +502 -0
  170. package/dist/chunk-9kgkfg6v.js.map +14 -0
  171. package/dist/chunk-a3faa34j.js +74 -0
  172. package/dist/chunk-a3faa34j.js.map +10 -0
  173. package/dist/{chunk-ey3pyej1.js → chunk-akzryx9h.js} +347 -1174
  174. package/dist/{chunk-ey3pyej1.js.map → chunk-akzryx9h.js.map} +19 -25
  175. package/dist/chunk-arns890k.js +10 -0
  176. package/dist/chunk-arns890k.js.map +10 -0
  177. package/dist/{chunk-zrmy8zvw.js → chunk-bk9svbcq.js} +11 -11
  178. package/dist/{chunk-zrmy8zvw.js.map → chunk-bk9svbcq.js.map} +2 -2
  179. package/dist/{chunk-hkc3jct7.js → chunk-c06hmxyy.js} +2 -10
  180. package/dist/chunk-c06hmxyy.js.map +10 -0
  181. package/dist/{chunk-q1vkr2ys.js → chunk-c1rxbz5y.js} +3 -3
  182. package/dist/chunk-cfj9dfbb.js +288 -0
  183. package/dist/chunk-cfj9dfbb.js.map +12 -0
  184. package/dist/{chunk-4tcx876c.js → chunk-cn0fwwhy.js} +19 -19
  185. package/dist/{chunk-4tcx876c.js.map → chunk-cn0fwwhy.js.map} +1 -1
  186. package/dist/{chunk-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
  187. package/dist/{chunk-fa02jy15.js → chunk-cy4mbddw.js} +1 -1
  188. package/dist/{chunk-7kg3k1m9.js → chunk-d09e3rax.js} +1 -1
  189. package/dist/chunk-d5rjr8c0.js +176 -0
  190. package/dist/chunk-d5rjr8c0.js.map +12 -0
  191. package/dist/{chunk-rhg02hxq.js → chunk-d7dnxdep.js} +3 -3
  192. package/dist/{chunk-b38szspf.js → chunk-dhcv7yxc.js} +1 -1
  193. package/dist/{chunk-b38szspf.js.map → chunk-dhcv7yxc.js.map} +1 -1
  194. package/dist/{chunk-enpsx8k5.js → chunk-dhdha526.js} +23 -21
  195. package/dist/chunk-dhdha526.js.map +10 -0
  196. package/dist/{chunk-8mx7qw3y.js → chunk-dvd2fp9q.js} +2 -2
  197. package/dist/{chunk-8mx7qw3y.js.map → chunk-dvd2fp9q.js.map} +3 -3
  198. package/dist/{chunk-bwjcehza.js → chunk-e17zdm62.js} +6 -12
  199. package/dist/{chunk-bwjcehza.js.map → chunk-e17zdm62.js.map} +3 -4
  200. package/dist/{chunk-tpn40322.js → chunk-e6k4thh5.js} +11 -10
  201. package/dist/{chunk-tpn40322.js.map → chunk-e6k4thh5.js.map} +3 -3
  202. package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
  203. package/dist/chunk-eptrvnby.js.map +12 -0
  204. package/dist/{chunk-xt1zt7gv.js → chunk-f4pamkt9.js} +30 -23
  205. package/dist/chunk-f4pamkt9.js.map +12 -0
  206. package/dist/chunk-ff5xkv0p.js +211 -0
  207. package/dist/chunk-ff5xkv0p.js.map +10 -0
  208. package/dist/{chunk-bpgy64fw.js → chunk-g257jwnc.js} +10 -4
  209. package/dist/{chunk-bpgy64fw.js.map → chunk-g257jwnc.js.map} +3 -3
  210. package/dist/chunk-g5bvzyyr.js +32 -0
  211. package/dist/chunk-g5bvzyyr.js.map +10 -0
  212. package/dist/{chunk-2jntasmh.js → chunk-hcbyfxbe.js} +25 -49
  213. package/dist/chunk-hcbyfxbe.js.map +12 -0
  214. package/dist/chunk-hke9aeen.js +9 -0
  215. package/dist/chunk-hke9aeen.js.map +10 -0
  216. package/dist/{chunk-1sr8ryzk.js → chunk-hwksyjks.js} +122 -1
  217. package/dist/{chunk-1sr8ryzk.js.map → chunk-hwksyjks.js.map} +3 -3
  218. package/dist/chunk-jcfw4h7m.js +9 -0
  219. package/dist/chunk-jcfw4h7m.js.map +10 -0
  220. package/dist/{chunk-85yvv5n0.js → chunk-k43ct2ke.js} +20 -11
  221. package/dist/chunk-k43ct2ke.js.map +12 -0
  222. package/dist/{chunk-dnmadg9k.js → chunk-kge7k6ey.js} +40 -8
  223. package/dist/chunk-kge7k6ey.js.map +15 -0
  224. package/dist/{chunk-wz0xs816.js → chunk-ky3j490c.js} +2 -2
  225. package/dist/chunk-mjddfa7k.js +129 -0
  226. package/dist/chunk-mjddfa7k.js.map +12 -0
  227. package/dist/{chunk-3gnrh4ve.js → chunk-nn5xnx3s.js} +86 -111
  228. package/dist/chunk-nn5xnx3s.js.map +40 -0
  229. package/dist/{chunk-rz53yb4v.js → chunk-q5e5tv4b.js} +35 -7
  230. package/dist/{chunk-rz53yb4v.js.map → chunk-q5e5tv4b.js.map} +3 -3
  231. package/dist/{chunk-vyf9kfqf.js → chunk-q7gn29y3.js} +1 -1
  232. package/dist/{chunk-d2ync1v3.js → chunk-rmakanzx.js} +10 -12
  233. package/dist/{chunk-d2ync1v3.js.map → chunk-rmakanzx.js.map} +3 -4
  234. package/dist/{chunk-v9xd5wzd.js → chunk-s7jg7pmn.js} +1 -1
  235. package/dist/chunk-tbc1ngpd.js +642 -0
  236. package/dist/chunk-tbc1ngpd.js.map +18 -0
  237. package/dist/chunk-twe4dx8p.js +676 -0
  238. package/dist/chunk-twe4dx8p.js.map +15 -0
  239. package/dist/{chunk-nre82s12.js → chunk-vf57cr4t.js} +2 -2
  240. package/dist/{chunk-9ybhtmg4.js → chunk-vvxtn22d.js} +1 -1
  241. package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
  242. package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
  243. package/dist/chunk-x0v3jd47.js +124 -0
  244. package/dist/chunk-x0v3jd47.js.map +10 -0
  245. package/dist/{chunk-7t429e3f.js → chunk-xvsc5m8n.js} +1 -1
  246. package/dist/{chunk-kg5j6fct.js → chunk-y5tah2kf.js} +1 -1
  247. package/dist/{chunk-52bk93x8.js → chunk-z58tm0hm.js} +2 -2
  248. package/dist/datasets/builders.d.ts +15 -2
  249. package/dist/datasets/builders.d.ts.map +1 -1
  250. package/dist/datasets/column-index.d.ts +7 -0
  251. package/dist/datasets/column-index.d.ts.map +1 -0
  252. package/dist/datasets/execution.d.ts +3 -2
  253. package/dist/datasets/execution.d.ts.map +1 -1
  254. package/dist/datasets/write.js +8 -8
  255. package/dist/deploy/internal.js +4 -3
  256. package/dist/deploy/internal.js.map +4 -4
  257. package/dist/deploy/services.d.ts.map +1 -1
  258. package/dist/deploy/types.d.ts +1 -2
  259. package/dist/deploy/types.d.ts.map +1 -1
  260. package/dist/error-reporting/internal.js +4 -4
  261. package/dist/errors/internal.d.ts +1 -0
  262. package/dist/errors/internal.d.ts.map +1 -1
  263. package/dist/errors/internal.js +7 -4
  264. package/dist/errors/internal.js.map +1 -1
  265. package/dist/events/execution.d.ts +12 -2
  266. package/dist/events/execution.d.ts.map +1 -1
  267. package/dist/events/index.js +4 -4
  268. package/dist/execution/agent.js +56 -49
  269. package/dist/execution/agent.js.map +1 -1
  270. package/dist/execution/authorization.d.ts.map +1 -1
  271. package/dist/execution/authorized-object-reader.d.ts +52 -11
  272. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  273. package/dist/execution/object-reader-clearance.d.ts +41 -0
  274. package/dist/execution/object-reader-clearance.d.ts.map +1 -0
  275. package/dist/execution/object-reader-ontology.d.ts +12 -0
  276. package/dist/execution/object-reader-ontology.d.ts.map +1 -0
  277. package/dist/execution/object-reader-security.d.ts +45 -0
  278. package/dist/execution/object-reader-security.d.ts.map +1 -0
  279. package/dist/execution/primitive.js +54 -47
  280. package/dist/execution/primitive.js.map +1 -1
  281. package/dist/execution/request.js +49 -42
  282. package/dist/execution/request.js.map +2 -2
  283. package/dist/http/api-routes.d.ts.map +1 -1
  284. package/dist/http/index.js +1 -1
  285. package/dist/index.d.ts +23 -7
  286. package/dist/index.d.ts.map +1 -1
  287. package/dist/index.js +111 -109
  288. package/dist/index.js.map +1 -1
  289. package/dist/lake-storage/in-memory.d.ts +1 -0
  290. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  291. package/dist/lake-storage/index.d.ts +6 -3
  292. package/dist/lake-storage/index.d.ts.map +1 -1
  293. package/dist/lake-storage/index.js +21 -13
  294. package/dist/lake-storage/index.js.map +1 -1
  295. package/dist/lake-storage/lineage.d.ts +94 -0
  296. package/dist/lake-storage/lineage.d.ts.map +1 -0
  297. package/dist/lake-storage/sql-transforms.d.ts +45 -0
  298. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  299. package/dist/lake-storage/types.d.ts +55 -1
  300. package/dist/lake-storage/types.d.ts.map +1 -1
  301. package/dist/lake-storage/version-inputs.d.ts +14 -3
  302. package/dist/lake-storage/version-inputs.d.ts.map +1 -1
  303. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  304. package/dist/materializer/index.js +31 -30
  305. package/dist/materializer/index.js.map +1 -1
  306. package/dist/models/execution/index.js +26 -25
  307. package/dist/models/execution/index.js.map +1 -1
  308. package/dist/objects/clearance-redaction.d.ts +27 -0
  309. package/dist/objects/clearance-redaction.d.ts.map +1 -0
  310. package/dist/objects/index.js +54 -47
  311. package/dist/objects/index.js.map +1 -1
  312. package/dist/objects/link/authorization.d.ts +8 -5
  313. package/dist/objects/link/authorization.d.ts.map +1 -1
  314. package/dist/objects/link/upsert-batch.d.ts.map +1 -1
  315. package/dist/objects/object/delete.d.ts.map +1 -1
  316. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  317. package/dist/objects/object/upsert.d.ts.map +1 -1
  318. package/dist/objects/property-clearance.d.ts +47 -24
  319. package/dist/objects/property-clearance.d.ts.map +1 -1
  320. package/dist/objects/query/clearance-admission.d.ts +10 -0
  321. package/dist/objects/query/clearance-admission.d.ts.map +1 -0
  322. package/dist/objects/query/index.js +29 -28
  323. package/dist/objects/query/index.js.map +1 -1
  324. package/dist/objects/query/link-query-clearance.d.ts +21 -0
  325. package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
  326. package/dist/objects/vectors/handle.d.ts.map +1 -1
  327. package/dist/objects/vectors/profile.d.ts +5 -0
  328. package/dist/objects/vectors/profile.d.ts.map +1 -1
  329. package/dist/ontology/builders.d.ts.map +1 -1
  330. package/dist/ontology/docs-markdown.d.ts +1 -1
  331. package/dist/ontology/docs-markdown.d.ts.map +1 -1
  332. package/dist/ontology/index.js +7 -7
  333. package/dist/ontology/internal.js +4 -4
  334. package/dist/ontology/internal.js.map +1 -1
  335. package/dist/pipelines/index.d.ts +2 -0
  336. package/dist/pipelines/index.d.ts.map +1 -1
  337. package/dist/pipelines/index.js +47 -35
  338. package/dist/pipelines/index.js.map +1 -1
  339. package/dist/pipelines/lineage.d.ts +17 -0
  340. package/dist/pipelines/lineage.d.ts.map +1 -0
  341. package/dist/projections/internal.d.ts +2 -2
  342. package/dist/projections/internal.js +30 -29
  343. package/dist/projections/internal.js.map +1 -1
  344. package/dist/runtime/create.d.ts +3 -0
  345. package/dist/runtime/create.d.ts.map +1 -1
  346. package/dist/runtime/host.d.ts +6 -0
  347. package/dist/runtime/host.d.ts.map +1 -1
  348. package/dist/runtime/internal.d.ts +2 -0
  349. package/dist/runtime/internal.d.ts.map +1 -1
  350. package/dist/runtime/internal.js +46 -42
  351. package/dist/runtime/internal.js.map +1 -1
  352. package/dist/runtime/ontology-mutations.d.ts +2 -0
  353. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  354. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  355. package/dist/runtime/sixb.d.ts +8 -0
  356. package/dist/runtime/sixb.d.ts.map +1 -1
  357. package/dist/sandboxes/auth.d.ts +16 -0
  358. package/dist/sandboxes/auth.d.ts.map +1 -1
  359. package/dist/sandboxes/config.d.ts.map +1 -1
  360. package/dist/sandboxes/configuration.d.ts +26 -0
  361. package/dist/sandboxes/configuration.d.ts.map +1 -1
  362. package/dist/sandboxes/index.d.ts +1 -1
  363. package/dist/sandboxes/index.d.ts.map +1 -1
  364. package/dist/sandboxes/index.js +14 -13
  365. package/dist/sandboxes/index.js.map +1 -1
  366. package/dist/sandboxes/sandbox.d.ts +28 -5
  367. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  368. package/dist/security/applied-markings-contribution.d.ts +58 -0
  369. package/dist/security/applied-markings-contribution.d.ts.map +1 -0
  370. package/dist/security/applied-markings-host.d.ts +10 -0
  371. package/dist/security/applied-markings-host.d.ts.map +1 -0
  372. package/dist/security/applied-markings-snapshot.d.ts +67 -0
  373. package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
  374. package/dist/security/applied-markings.d.ts +73 -0
  375. package/dist/security/applied-markings.d.ts.map +1 -0
  376. package/dist/security/builders.d.ts.map +1 -1
  377. package/dist/security/dataset-version-markings.d.ts +47 -0
  378. package/dist/security/dataset-version-markings.d.ts.map +1 -0
  379. package/dist/security/every.d.ts +1 -4
  380. package/dist/security/every.d.ts.map +1 -1
  381. package/dist/security/grants.d.ts +4 -5
  382. package/dist/security/grants.d.ts.map +1 -1
  383. package/dist/security/index.d.ts +2 -2
  384. package/dist/security/index.d.ts.map +1 -1
  385. package/dist/security/internal.d.ts +15 -0
  386. package/dist/security/internal.d.ts.map +1 -0
  387. package/dist/security/internal.js +135 -0
  388. package/dist/security/internal.js.map +10 -0
  389. package/dist/security/marking-propagation.d.ts +62 -0
  390. package/dist/security/marking-propagation.d.ts.map +1 -0
  391. package/dist/security/marking-sets.d.ts +14 -0
  392. package/dist/security/marking-sets.d.ts.map +1 -0
  393. package/dist/security/markings.d.ts +6 -3
  394. package/dist/security/markings.d.ts.map +1 -1
  395. package/dist/security/membership-policies.d.ts.map +1 -1
  396. package/dist/security/pipeline-markings.d.ts +20 -0
  397. package/dist/security/pipeline-markings.d.ts.map +1 -0
  398. package/dist/security/project.d.ts +4 -0
  399. package/dist/security/project.d.ts.map +1 -0
  400. package/dist/security/projection-markings.d.ts +71 -0
  401. package/dist/security/projection-markings.d.ts.map +1 -0
  402. package/dist/security/public.d.ts +10 -0
  403. package/dist/security/public.d.ts.map +1 -0
  404. package/dist/security/public.js +10 -0
  405. package/dist/security/public.js.map +9 -0
  406. package/dist/security/redactions.d.ts +4 -1
  407. package/dist/security/redactions.d.ts.map +1 -1
  408. package/dist/security/registry.d.ts +0 -1
  409. package/dist/security/registry.d.ts.map +1 -1
  410. package/dist/security/types.d.ts +34 -19
  411. package/dist/security/types.d.ts.map +1 -1
  412. package/dist/security/validation.d.ts +0 -6
  413. package/dist/security/validation.d.ts.map +1 -1
  414. package/dist/shares/internal.js +25 -24
  415. package/dist/shares/internal.js.map +2 -2
  416. package/dist/storage/action-runs/failure.js +3 -3
  417. package/dist/storage/action-runs/in-memory.d.ts +4 -0
  418. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  419. package/dist/storage/action-runs/types.d.ts +8 -0
  420. package/dist/storage/action-runs/types.d.ts.map +1 -1
  421. package/dist/storage/activity/in-memory.d.ts +55 -0
  422. package/dist/storage/activity/in-memory.d.ts.map +1 -0
  423. package/dist/storage/activity/index.d.ts +3 -0
  424. package/dist/storage/activity/index.d.ts.map +1 -0
  425. package/dist/storage/activity/policy.d.ts +96 -0
  426. package/dist/storage/activity/policy.d.ts.map +1 -0
  427. package/dist/storage/activity/types.d.ts +191 -0
  428. package/dist/storage/activity/types.d.ts.map +1 -0
  429. package/dist/storage/agents/in-memory.d.ts +4 -0
  430. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  431. package/dist/storage/agents/provider.d.ts.map +1 -1
  432. package/dist/storage/agents/provider.js +2 -5
  433. package/dist/storage/agents/provider.js.map +1 -1
  434. package/dist/storage/agents/types.d.ts +10 -9
  435. package/dist/storage/agents/types.d.ts.map +1 -1
  436. package/dist/storage/ai-limits/enforcement.js +3 -3
  437. package/dist/storage/artifacts/errors.d.ts +8 -0
  438. package/dist/storage/artifacts/errors.d.ts.map +1 -0
  439. package/dist/storage/artifacts/in-memory.d.ts +34 -0
  440. package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
  441. package/dist/storage/artifacts/index.d.ts +5 -0
  442. package/dist/storage/artifacts/index.d.ts.map +1 -0
  443. package/dist/storage/artifacts/record.d.ts +17 -0
  444. package/dist/storage/artifacts/record.d.ts.map +1 -0
  445. package/dist/storage/artifacts/types.d.ts +184 -0
  446. package/dist/storage/artifacts/types.d.ts.map +1 -0
  447. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  448. package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -1
  449. package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -1
  450. package/dist/storage/auth/in-memory/sessions.d.ts +2 -11
  451. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  452. package/dist/storage/auth/in-memory/shared.d.ts +1 -2
  453. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
  454. package/dist/storage/auth/index.d.ts +1 -1
  455. package/dist/storage/auth/index.d.ts.map +1 -1
  456. package/dist/storage/auth/types.d.ts +20 -17
  457. package/dist/storage/auth/types.d.ts.map +1 -1
  458. package/dist/storage/connector-connections/provider.js +2 -2
  459. package/dist/storage/executions/in-memory.d.ts +2 -1
  460. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  461. package/dist/storage/executions/index.d.ts +1 -1
  462. package/dist/storage/executions/index.d.ts.map +1 -1
  463. package/dist/storage/executions/provider.d.ts +2 -0
  464. package/dist/storage/executions/provider.d.ts.map +1 -1
  465. package/dist/storage/executions/provider.js +9 -223
  466. package/dist/storage/executions/provider.js.map +3 -4
  467. package/dist/storage/executions/types.d.ts +31 -0
  468. package/dist/storage/executions/types.d.ts.map +1 -1
  469. package/dist/storage/file-upload-sessions/provider.js +12 -12
  470. package/dist/storage/in-memory/index.d.ts +8 -0
  471. package/dist/storage/in-memory/index.d.ts.map +1 -1
  472. package/dist/storage/index.d.ts +6 -4
  473. package/dist/storage/index.d.ts.map +1 -1
  474. package/dist/storage/index.js +47 -46
  475. package/dist/storage/index.js.map +1 -1
  476. package/dist/storage/internal.d.ts +3 -0
  477. package/dist/storage/internal.d.ts.map +1 -1
  478. package/dist/storage/internal.js +66 -16
  479. package/dist/storage/internal.js.map +1 -1
  480. package/dist/storage/ontology/in-memory/sources.d.ts +2 -1
  481. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  482. package/dist/storage/ontology/index.d.ts +1 -1
  483. package/dist/storage/ontology/index.d.ts.map +1 -1
  484. package/dist/storage/ontology/sources.d.ts +15 -0
  485. package/dist/storage/ontology/sources.d.ts.map +1 -1
  486. package/dist/storage/projection-runs/provider.js +3 -3
  487. package/dist/storage/share-grants/in-memory.d.ts +2 -1
  488. package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
  489. package/dist/storage/share-grants/index.d.ts +1 -1
  490. package/dist/storage/share-grants/index.d.ts.map +1 -1
  491. package/dist/storage/share-grants/types.d.ts +6 -0
  492. package/dist/storage/share-grants/types.d.ts.map +1 -1
  493. package/dist/storage/types.d.ts +4 -0
  494. package/dist/storage/types.d.ts.map +1 -1
  495. package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
  496. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  497. package/dist/storage/workflow-runs/provider.js +14 -13
  498. package/dist/storage/workflow-runs/provider.js.map +1 -1
  499. package/dist/storage/workflow-runs/types.d.ts +5 -0
  500. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  501. package/dist/syncs/index.js +35 -34
  502. package/dist/syncs/index.js.map +1 -1
  503. package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
  504. package/dist/testing/activity-storage-contract.d.ts +14 -0
  505. package/dist/testing/activity-storage-contract.d.ts.map +1 -0
  506. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  507. package/dist/testing/artifact-storage-contract.d.ts +13 -0
  508. package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
  509. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  510. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  511. package/dist/testing/index.d.ts +2 -0
  512. package/dist/testing/index.d.ts.map +1 -1
  513. package/dist/testing/index.js +4493 -3225
  514. package/dist/testing/index.js.map +14 -12
  515. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  516. package/dist/testing/lake-storage-contract.d.ts +2 -0
  517. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  518. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  519. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
  520. package/dist/webhooks/internal.js +28 -27
  521. package/dist/webhooks/internal.js.map +2 -2
  522. package/dist/workers/index.js +2 -2
  523. package/dist/workflows/builders.d.ts.map +1 -1
  524. package/dist/workflows/index.js +57 -51
  525. package/dist/workflows/index.js.map +1 -1
  526. package/dist/workflows/types.d.ts +9 -0
  527. package/dist/workflows/types.d.ts.map +1 -1
  528. package/dist/workflows/validation.d.ts +7 -0
  529. package/dist/workflows/validation.d.ts.map +1 -1
  530. package/package.json +32 -2
  531. package/src/actions/execution.ts +18 -13
  532. package/src/actions/request.ts +18 -3
  533. package/src/actions/run-authorization.ts +23 -0
  534. package/src/activity/README.md +155 -0
  535. package/src/activity/connection.ts +217 -0
  536. package/src/activity/device.ts +41 -0
  537. package/src/activity/execution.ts +210 -0
  538. package/src/activity/service.ts +274 -0
  539. package/src/activity/shares.ts +62 -0
  540. package/src/activity/timeline.ts +424 -0
  541. package/src/agents/index.ts +8 -3
  542. package/src/agents/request.ts +5 -0
  543. package/src/agents/skills.ts +6 -0
  544. package/src/agents/types.ts +8 -8
  545. package/src/agents/validation.ts +2 -0
  546. package/src/artifacts/address.ts +132 -0
  547. package/src/artifacts/csv.ts +108 -0
  548. package/src/artifacts/errors.ts +21 -0
  549. package/src/artifacts/execution.ts +153 -0
  550. package/src/artifacts/frames/assets.ts +88 -0
  551. package/src/artifacts/frames/grants.ts +124 -0
  552. package/src/artifacts/frames/index.ts +15 -0
  553. package/src/artifacts/frames/kit.ts +392 -0
  554. package/src/artifacts/frames/probe.ts +309 -0
  555. package/src/artifacts/frames/protocol.ts +174 -0
  556. package/src/artifacts/frames/runtime.ts +213 -0
  557. package/src/artifacts/html.ts +25 -0
  558. package/src/artifacts/ids.ts +18 -0
  559. package/src/artifacts/index.ts +61 -0
  560. package/src/artifacts/kinds.ts +8 -0
  561. package/src/artifacts/limits.ts +27 -0
  562. package/src/artifacts/outline.ts +62 -0
  563. package/src/artifacts/publish/files.ts +87 -0
  564. package/src/artifacts/publish/index.ts +12 -0
  565. package/src/artifacts/publish/publish.ts +250 -0
  566. package/src/artifacts/publish/references.ts +130 -0
  567. package/src/artifacts/publish/validate/document.ts +114 -0
  568. package/src/artifacts/publish/validate/file.ts +19 -0
  569. package/src/artifacts/publish/validate/sheet.ts +251 -0
  570. package/src/artifacts/publish/validate/slides.ts +134 -0
  571. package/src/artifacts/references.ts +11 -0
  572. package/src/artifacts/resolve.ts +97 -0
  573. package/src/artifacts/theme.ts +116 -0
  574. package/src/artifacts/warnings.ts +10 -0
  575. package/src/artifacts/workbook.ts +315 -0
  576. package/src/auth/cookies.ts +3 -20
  577. package/src/auth/index.ts +0 -6
  578. package/src/auth/runtime.ts +59 -76
  579. package/src/auth/session-cache.ts +2 -9
  580. package/src/auth/types.ts +4 -8
  581. package/src/auth/validation.ts +0 -2
  582. package/src/authorization/decision.ts +13 -23
  583. package/src/authorization/grant-kinds.ts +33 -28
  584. package/src/authorization/index.ts +0 -1
  585. package/src/authorization/resolve.ts +10 -6
  586. package/src/blob-storage/internal.ts +1 -1
  587. package/src/blob-storage/media-type.ts +69 -0
  588. package/src/datasets/builders.ts +66 -2
  589. package/src/datasets/column-index.ts +19 -0
  590. package/src/datasets/execution.ts +23 -9
  591. package/src/deploy/services.ts +0 -1
  592. package/src/deploy/types.ts +1 -2
  593. package/src/deploy/validation.ts +3 -1
  594. package/src/errors/internal.ts +1 -0
  595. package/src/events/execution.ts +134 -21
  596. package/src/execution/authorization.ts +11 -5
  597. package/src/execution/authorized-object-reader.ts +270 -256
  598. package/src/execution/object-reader-clearance.ts +91 -0
  599. package/src/execution/object-reader-ontology.ts +63 -0
  600. package/src/execution/object-reader-security.ts +146 -0
  601. package/src/http/api-routes.ts +125 -0
  602. package/src/index.ts +72 -17
  603. package/src/lake-storage/in-memory.ts +26 -3
  604. package/src/lake-storage/index.ts +13 -1
  605. package/src/lake-storage/lineage.ts +385 -0
  606. package/src/lake-storage/sql-transforms.ts +45 -0
  607. package/src/lake-storage/types.ts +59 -1
  608. package/src/lake-storage/version-inputs.ts +35 -6
  609. package/src/maintenance/ontology-maintenance.ts +15 -0
  610. package/src/models/execution/embedding.ts +6 -6
  611. package/src/objects/clearance-redaction.ts +138 -0
  612. package/src/objects/link/authorization.ts +27 -7
  613. package/src/objects/link/remove.ts +2 -2
  614. package/src/objects/link/upsert-batch.ts +7 -5
  615. package/src/objects/link/upsert.ts +2 -2
  616. package/src/objects/object/delete.ts +2 -0
  617. package/src/objects/object/upsert-batch.ts +2 -4
  618. package/src/objects/object/upsert.ts +2 -3
  619. package/src/objects/property-clearance.ts +171 -152
  620. package/src/objects/query/clearance-admission.ts +112 -0
  621. package/src/objects/query/link-query-clearance.ts +73 -0
  622. package/src/objects/vectors/README.md +4 -0
  623. package/src/objects/vectors/handle.ts +11 -2
  624. package/src/objects/vectors/indexing-generate.ts +2 -2
  625. package/src/objects/vectors/profile.ts +5 -0
  626. package/src/ontology/builders.ts +12 -1
  627. package/src/ontology/docs-markdown.ts +1 -1
  628. package/src/pipelines/index.ts +2 -0
  629. package/src/pipelines/lineage.ts +45 -0
  630. package/src/projections/internal.ts +2 -2
  631. package/src/runtime/create.ts +4 -0
  632. package/src/runtime/host.ts +55 -0
  633. package/src/runtime/internal.ts +2 -0
  634. package/src/runtime/ontology-mutations.ts +19 -4
  635. package/src/runtime/resolve-definitions.ts +66 -3
  636. package/src/runtime/sixb.ts +18 -1
  637. package/src/sandboxes/README.md +29 -7
  638. package/src/sandboxes/auth.ts +16 -0
  639. package/src/sandboxes/config.ts +2 -7
  640. package/src/sandboxes/configuration.ts +61 -7
  641. package/src/sandboxes/index.ts +1 -0
  642. package/src/sandboxes/sandbox.ts +27 -5
  643. package/src/security/applied-markings-contribution.ts +277 -0
  644. package/src/security/applied-markings-host.ts +41 -0
  645. package/src/security/applied-markings-snapshot.ts +235 -0
  646. package/src/security/applied-markings.ts +405 -0
  647. package/src/security/builders.ts +7 -2
  648. package/src/security/dataset-version-markings.ts +163 -0
  649. package/src/security/every.ts +0 -4
  650. package/src/security/grants.ts +42 -27
  651. package/src/security/index.ts +3 -3
  652. package/src/security/internal.ts +18 -0
  653. package/src/security/marking-propagation.ts +255 -0
  654. package/src/security/marking-sets.ts +42 -0
  655. package/src/security/markings.ts +29 -178
  656. package/src/security/membership-policies.ts +3 -1
  657. package/src/security/pipeline-markings.ts +175 -0
  658. package/src/security/project.ts +8 -0
  659. package/src/security/projection-markings.ts +421 -0
  660. package/src/security/public.ts +10 -0
  661. package/src/security/redactions.ts +7 -2
  662. package/src/security/registry.ts +0 -8
  663. package/src/security/types.ts +38 -26
  664. package/src/security/validation.ts +28 -19
  665. package/src/storage/action-runs/in-memory.ts +18 -0
  666. package/src/storage/action-runs/types.ts +8 -0
  667. package/src/storage/activity/in-memory.ts +374 -0
  668. package/src/storage/activity/index.ts +27 -0
  669. package/src/storage/activity/policy.ts +430 -0
  670. package/src/storage/activity/types.ts +211 -0
  671. package/src/storage/agents/in-memory.ts +10 -0
  672. package/src/storage/agents/provider.ts +2 -13
  673. package/src/storage/agents/types.ts +10 -17
  674. package/src/storage/artifacts/errors.ts +16 -0
  675. package/src/storage/artifacts/in-memory.ts +240 -0
  676. package/src/storage/artifacts/index.ts +30 -0
  677. package/src/storage/artifacts/record.ts +200 -0
  678. package/src/storage/artifacts/types.ts +209 -0
  679. package/src/storage/auth/in-memory/auth-storage.ts +0 -18
  680. package/src/storage/auth/in-memory/magic-links.ts +0 -3
  681. package/src/storage/auth/in-memory/oidc-attempts.ts +0 -3
  682. package/src/storage/auth/in-memory/sessions.ts +22 -25
  683. package/src/storage/auth/in-memory/shared.ts +1 -10
  684. package/src/storage/auth/index.ts +2 -0
  685. package/src/storage/auth/types.ts +20 -18
  686. package/src/storage/executions/in-memory.ts +61 -1
  687. package/src/storage/executions/index.ts +3 -0
  688. package/src/storage/executions/provider.ts +12 -0
  689. package/src/storage/executions/types.ts +30 -0
  690. package/src/storage/in-memory/index.ts +16 -0
  691. package/src/storage/index.ts +63 -0
  692. package/src/storage/internal.ts +30 -0
  693. package/src/storage/ontology/in-memory/sources.ts +23 -0
  694. package/src/storage/ontology/index.ts +2 -0
  695. package/src/storage/ontology/sources.ts +17 -0
  696. package/src/storage/share-grants/in-memory.ts +8 -0
  697. package/src/storage/share-grants/index.ts +1 -0
  698. package/src/storage/share-grants/types.ts +8 -0
  699. package/src/storage/types.ts +4 -0
  700. package/src/storage/workflow-runs/in-memory.ts +16 -0
  701. package/src/storage/workflow-runs/types.ts +5 -0
  702. package/src/testing/action-run-storage-contract.ts +25 -0
  703. package/src/testing/activity-storage-contract.ts +840 -0
  704. package/src/testing/agent-storage-contract.ts +22 -21
  705. package/src/testing/artifact-storage-contract.ts +517 -0
  706. package/src/testing/auth-storage-contract.ts +61 -107
  707. package/src/testing/execution-storage-contract.ts +147 -3
  708. package/src/testing/index.ts +9 -0
  709. package/src/testing/lake-merge-storage-contract.ts +38 -0
  710. package/src/testing/lake-storage-contract.ts +247 -2
  711. package/src/testing/materializer-storage-contract.ts +1 -0
  712. package/src/testing/ontology-storage-contract.ts +57 -2
  713. package/src/testing/share-grant-storage-contract.ts +15 -0
  714. package/src/workflows/builders.ts +14 -0
  715. package/src/workflows/types.ts +9 -0
  716. package/src/workflows/validation.ts +72 -0
  717. package/dist/auth/audience.d.ts +0 -8
  718. package/dist/auth/audience.d.ts.map +0 -1
  719. package/dist/authorization/application-access.d.ts +0 -18
  720. package/dist/authorization/application-access.d.ts.map +0 -1
  721. package/dist/chunk-1f7wpmyp.js.map +0 -14
  722. package/dist/chunk-1k89ecfr.js +0 -85
  723. package/dist/chunk-1k89ecfr.js.map +0 -10
  724. package/dist/chunk-2jntasmh.js.map +0 -13
  725. package/dist/chunk-3gnrh4ve.js.map +0 -40
  726. package/dist/chunk-85yvv5n0.js.map +0 -12
  727. package/dist/chunk-9gyp8hg1.js +0 -363
  728. package/dist/chunk-9gyp8hg1.js.map +0 -14
  729. package/dist/chunk-dnmadg9k.js.map +0 -15
  730. package/dist/chunk-enpsx8k5.js.map +0 -10
  731. package/dist/chunk-hkc3jct7.js.map +0 -10
  732. package/dist/chunk-kyzq4wy9.js.map +0 -18
  733. package/dist/chunk-s16apyk9.js +0 -256
  734. package/dist/chunk-s16apyk9.js.map +0 -16
  735. package/dist/chunk-s54c868q.js.map +0 -12
  736. package/dist/chunk-tw03bsmb.js.map +0 -11
  737. package/dist/chunk-wwdfe68s.js +0 -128
  738. package/dist/chunk-wwdfe68s.js.map +0 -11
  739. package/dist/chunk-xt1zt7gv.js.map +0 -13
  740. package/dist/chunk-y7rqfrgg.js.map +0 -24
  741. package/dist/security/applications.d.ts +0 -15
  742. package/dist/security/applications.d.ts.map +0 -1
  743. package/src/auth/audience.ts +0 -28
  744. package/src/authorization/application-access.ts +0 -34
  745. package/src/security/applications.ts +0 -11
  746. /package/dist/{chunk-t6vq7bff.js.map → chunk-0bphap9y.js.map} +0 -0
  747. /package/dist/{chunk-7mbzgd9m.js.map → chunk-1cc1xaf3.js.map} +0 -0
  748. /package/dist/{chunk-6gmfggss.js.map → chunk-431pyp2c.js.map} +0 -0
  749. /package/dist/{chunk-c85m1hyj.js.map → chunk-447a5c0p.js.map} +0 -0
  750. /package/dist/{chunk-80mc0971.js.map → chunk-561r0yc9.js.map} +0 -0
  751. /package/dist/{chunk-5e43w60z.js.map → chunk-5948n82c.js.map} +0 -0
  752. /package/dist/{chunk-yzwja0mj.js.map → chunk-5hx48dnn.js.map} +0 -0
  753. /package/dist/{chunk-q1vkr2ys.js.map → chunk-c1rxbz5y.js.map} +0 -0
  754. /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
  755. /package/dist/{chunk-fa02jy15.js.map → chunk-cy4mbddw.js.map} +0 -0
  756. /package/dist/{chunk-7kg3k1m9.js.map → chunk-d09e3rax.js.map} +0 -0
  757. /package/dist/{chunk-rhg02hxq.js.map → chunk-d7dnxdep.js.map} +0 -0
  758. /package/dist/{chunk-wz0xs816.js.map → chunk-ky3j490c.js.map} +0 -0
  759. /package/dist/{chunk-vyf9kfqf.js.map → chunk-q7gn29y3.js.map} +0 -0
  760. /package/dist/{chunk-v9xd5wzd.js.map → chunk-s7jg7pmn.js.map} +0 -0
  761. /package/dist/{chunk-nre82s12.js.map → chunk-vf57cr4t.js.map} +0 -0
  762. /package/dist/{chunk-9ybhtmg4.js.map → chunk-vvxtn22d.js.map} +0 -0
  763. /package/dist/{chunk-7t429e3f.js.map → chunk-xvsc5m8n.js.map} +0 -0
  764. /package/dist/{chunk-kg5j6fct.js.map → chunk-y5tah2kf.js.map} +0 -0
  765. /package/dist/{chunk-52bk93x8.js.map → chunk-z58tm0hm.js.map} +0 -0
@@ -0,0 +1,421 @@
1
+ import type { DatasetVersion } from "../lake-storage/types"
2
+ import type { OntologyDefinitionCatalog } from "../ontology/registry"
3
+ import type { ObjectType } from "../ontology/types"
4
+ import type { ProjectionDefinitionCatalog } from "../projections/registry"
5
+ import type {
6
+ LinkProjectionDefinition,
7
+ ObjectProjectionDefinition,
8
+ ProjectionDefinition,
9
+ TelemetryProjectionDefinition,
10
+ } from "../projections/types"
11
+ import type { VersionClassification } from "./dataset-version-markings"
12
+ import { SecurityValidationError } from "./errors"
13
+ import type { ColumnMarkingOrigins, DatasetMarkings, MarkingOrigin } from "./marking-propagation"
14
+
15
+ type OntologyLookup = Pick<OntologyDefinitionCatalog, "getObjectTypeById">
16
+
17
+ /** Markings of one column of the projection's dataset. */
18
+ type ColumnMarkingsLookup = (column: string) => readonly string[]
19
+
20
+ /** What a marked key column makes unreadable: the objects it identifies, or the link it keys. */
21
+ export type ProjectionKeyTarget =
22
+ | { readonly kind: "type"; readonly objectTypeId: string }
23
+ | {
24
+ readonly kind: "link"
25
+ readonly objectTypeId: string
26
+ readonly linkId: string
27
+ readonly targetObjectTypeId: string
28
+ }
29
+
30
+ /** A marking rule a projection breaks. */
31
+ type ProjectionMarkingViolation =
32
+ | {
33
+ readonly kind: "undeclared"
34
+ readonly property: string
35
+ readonly objectTypeId: string
36
+ readonly propertyId: string
37
+ readonly column: string
38
+ readonly missing: readonly string[]
39
+ }
40
+ | {
41
+ readonly kind: "markedKeyColumn"
42
+ readonly column: string
43
+ readonly role: string
44
+ readonly targets: readonly ProjectionKeyTarget[]
45
+ /** The property the column fills, when the key is a property. */
46
+ readonly property?: { readonly objectTypeId: string; readonly propertyId: string }
47
+ }
48
+ | { readonly kind: "markedKeyProperty"; readonly property: string; readonly role: string }
49
+ | { readonly kind: "telemetry"; readonly column: string }
50
+
51
+ /**
52
+ * Objects are read through the ontology, so each projected property declares the markings of its
53
+ * column: the ontology stays the reviewed contract of what each reader receives. Values that
54
+ * identify objects or key links are returned wherever the object or link is, and telemetry does
55
+ * not enforce markings yet, so those columns cannot carry markings.
56
+ *
57
+ * Startup checks it with the markings columns declare or inherit through `run` steps, and the
58
+ * pipeline preflight with the markings SQL steps derive as well.
59
+ */
60
+ export function validateProjectionMarkings(
61
+ projections: ProjectionDefinitionCatalog,
62
+ ontology: OntologyLookup,
63
+ markings: DatasetMarkings
64
+ ): void {
65
+ const all = [
66
+ ...projections.listObjects(),
67
+ ...projections.listLinks(),
68
+ ...projections.listTelemetry(),
69
+ ]
70
+
71
+ for (const projection of all) {
72
+ const originsOf = (column: string) => markings.of({ datasetId: projection.datasetId, column })
73
+ const violation = firstViolation(projection, ontology, (column) => [
74
+ ...originsOf(column).keys(),
75
+ ])
76
+ if (!violation) continue
77
+
78
+ const carries = (column: string): CarriedMarkings => {
79
+ const origins = originsOf(column)
80
+ return {
81
+ text: describeOrigins(origins, `${projection.datasetId}.${column}`),
82
+ inherited: [...origins.values()].some((origin) => origin.steps.length > 0),
83
+ }
84
+ }
85
+
86
+ throw new SecurityValidationError(
87
+ violationMessage(
88
+ `[Sixb] Projection '${projection.id}'`,
89
+ projection.datasetId,
90
+ violation,
91
+ carries
92
+ )
93
+ )
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Refuse to project a dataset version whose columns carry more markings than the projection
99
+ * allows. A version keeps the markings of the code that produced it, so a version written before
100
+ * the current code can carry markings startup did not see. Call it once per version, before
101
+ * reading its rows; it reads nothing, so what it throws is a refusal that no retry changes.
102
+ */
103
+ export function assertProjectionVersionMarkings(input: {
104
+ readonly projection: ProjectionDefinition
105
+ readonly ontology: OntologyLookup
106
+ readonly version: DatasetVersion
107
+ readonly classification: VersionClassification
108
+ }): void {
109
+ const { projection, version, classification } = input
110
+ const markingsOf = (column: string) => [...(classification.columns.get(column) ?? [])].sort()
111
+ const violation = firstViolation(projection, input.ontology, markingsOf)
112
+ if (!violation) return
113
+
114
+ const subject = `[Sixb] Projection '${projection.id}' cannot read version '${version.versionId}' of dataset '${version.datasetId}'`
115
+ const carries = (column: string): CarriedMarkings => ({
116
+ text: `${markingList(markingsOf(column))} in this version`,
117
+ inherited: true,
118
+ })
119
+ const conservative =
120
+ classification.conservative === undefined
121
+ ? ""
122
+ : ` The version was classified with every marking its sources could hold, because ${classification.conservative}.`
123
+ const rerun = `If the code that writes '${version.datasetId}' no longer derives these markings, rerun its pipeline.`
124
+
125
+ throw new Error(
126
+ `${violationMessage(subject, version.datasetId, violation, carries)}${conservative} ${rerun}`
127
+ )
128
+ }
129
+
130
+ /** Markings an applied version gives a projection's targets beyond what the ontology declares. */
131
+ export interface ProjectionSurplus {
132
+ /** Markings a mapped column carries that its property does not declare. */
133
+ readonly properties: readonly {
134
+ readonly objectTypeId: string
135
+ readonly propertyId: string
136
+ readonly column: string
137
+ readonly markings: readonly string[]
138
+ }[]
139
+ /** Marked key columns, with what each one makes unreadable and why. */
140
+ readonly keys: readonly {
141
+ readonly target: ProjectionKeyTarget
142
+ readonly column: string
143
+ readonly role: string
144
+ readonly markings: readonly string[]
145
+ }[]
146
+ }
147
+
148
+ /**
149
+ * What a projection's targets carry beyond their declarations when read from columns with these
150
+ * markings: every rule it breaks, as markings to add to properties and to key targets. A property
151
+ * that keys a link keeps its markings on the property as well.
152
+ */
153
+ export function projectionSurplus(
154
+ projection: ProjectionDefinition,
155
+ ontology: OntologyLookup,
156
+ markingsOf: ColumnMarkingsLookup
157
+ ): ProjectionSurplus {
158
+ const properties: ProjectionSurplus["properties"][number][] = []
159
+ const keys: ProjectionSurplus["keys"][number][] = []
160
+
161
+ for (const violation of projectionMarkingViolations(projection, ontology, markingsOf)) {
162
+ switch (violation.kind) {
163
+ case "undeclared":
164
+ properties.push({
165
+ objectTypeId: violation.objectTypeId,
166
+ propertyId: violation.propertyId,
167
+ column: violation.column,
168
+ markings: violation.missing,
169
+ })
170
+ break
171
+ case "markedKeyColumn": {
172
+ const markings = markingsOf(violation.column)
173
+ for (const target of violation.targets) {
174
+ keys.push({ target, column: violation.column, role: violation.role, markings })
175
+ }
176
+
177
+ const property = violation.property
178
+ if (property && violation.targets.some((target) => target.kind === "link")) {
179
+ properties.push({ ...property, column: violation.column, markings })
180
+ }
181
+ break
182
+ }
183
+ // Startup refuses a marked key property and a marked telemetry column from the code alone.
184
+ case "markedKeyProperty":
185
+ case "telemetry":
186
+ break
187
+ }
188
+ }
189
+
190
+ return { properties, keys }
191
+ }
192
+
193
+ // ── Rules ───────────────────────────────────────────────────
194
+
195
+ function firstViolation(
196
+ projection: ProjectionDefinition,
197
+ ontology: OntologyLookup,
198
+ markingsOf: ColumnMarkingsLookup
199
+ ): ProjectionMarkingViolation | null {
200
+ const first = projectionMarkingViolations(projection, ontology, markingsOf).next()
201
+ return first.done ? null : first.value
202
+ }
203
+
204
+ /** Every marking rule the projection breaks, the first one being the one messages report. */
205
+ function* projectionMarkingViolations(
206
+ projection: ProjectionDefinition,
207
+ ontology: OntologyLookup,
208
+ markingsOf: ColumnMarkingsLookup
209
+ ): Generator<ProjectionMarkingViolation> {
210
+ switch (projection._tag) {
211
+ case "ObjectProjectionDefinition": {
212
+ const objectType = ontology.getObjectTypeById(projection.objectTypeId)
213
+ if (objectType) yield* objectProjectionViolations(projection, objectType, markingsOf)
214
+ return
215
+ }
216
+ case "LinkProjectionDefinition":
217
+ yield* linkProjectionViolations(projection, markingsOf)
218
+ return
219
+ case "TelemetryProjectionDefinition":
220
+ yield* telemetryProjectionViolations(projection, markingsOf)
221
+ return
222
+ }
223
+ }
224
+
225
+ function* objectProjectionViolations(
226
+ projection: ObjectProjectionDefinition,
227
+ objectType: ObjectType,
228
+ markingsOf: ColumnMarkingsLookup
229
+ ): Generator<ProjectionMarkingViolation> {
230
+ const keyRoles = objectProjectionKeyRoles(projection, objectType)
231
+
232
+ for (const [propertyId, column] of Object.entries(projection.properties)) {
233
+ const property = objectType.properties.find((candidate) => candidate.id === propertyId)
234
+ const path = `${objectType.id}.${propertyId}`
235
+ const keyRole = keyRoles.get(propertyId)
236
+
237
+ if (keyRole) {
238
+ if (markingsOf(column).length > 0) {
239
+ yield {
240
+ kind: "markedKeyColumn",
241
+ column,
242
+ role: keyRole.role,
243
+ targets: keyRole.targets,
244
+ property: { objectTypeId: objectType.id, propertyId },
245
+ }
246
+ } else if (property?.markings) {
247
+ yield { kind: "markedKeyProperty", property: path, role: keyRole.role }
248
+ }
249
+ continue
250
+ }
251
+
252
+ const declared = new Set(property?.markings ?? [])
253
+ const missing = markingsOf(column).filter((markingId) => !declared.has(markingId))
254
+ if (missing.length > 0) {
255
+ yield {
256
+ kind: "undeclared",
257
+ property: path,
258
+ objectTypeId: objectType.id,
259
+ propertyId,
260
+ column,
261
+ missing,
262
+ }
263
+ }
264
+ }
265
+
266
+ for (const [linkId, link] of Object.entries(projection.links)) {
267
+ if (link.sourceField === undefined) continue
268
+
269
+ const role = `keys link '${objectType.id}.${linkId}'`
270
+ const target = linkTarget(objectType.id, linkId, link.targetObjectTypeId)
271
+ yield* markedKeyColumn(link.sourceField, role, [target], markingsOf)
272
+ }
273
+
274
+ // The timestamp decides whether the source value or an app edit wins, which reveals how they
275
+ // compare.
276
+ const conflictResolution = projection.conflictResolution
277
+ if (conflictResolution?.strategy === "mostRecent") {
278
+ const role = "decides which value wins under 'mostRecent'"
279
+ const target: ProjectionKeyTarget = { kind: "type", objectTypeId: objectType.id }
280
+ yield* markedKeyColumn(conflictResolution.sourceTimestamp, role, [target], markingsOf)
281
+ }
282
+ }
283
+
284
+ function* linkProjectionViolations(
285
+ projection: LinkProjectionDefinition,
286
+ markingsOf: ColumnMarkingsLookup
287
+ ): Generator<ProjectionMarkingViolation> {
288
+ const role = `keys link '${projection.sourceObjectTypeId}.${projection.linkId}'`
289
+ const targets = [
290
+ linkTarget(projection.sourceObjectTypeId, projection.linkId, projection.targetObjectTypeId),
291
+ ]
292
+ yield* markedKeyColumn(projection.sourceField, role, targets, markingsOf)
293
+ yield* markedKeyColumn(projection.targetField, role, targets, markingsOf)
294
+ }
295
+
296
+ function* telemetryProjectionViolations(
297
+ projection: TelemetryProjectionDefinition,
298
+ markingsOf: ColumnMarkingsLookup
299
+ ): Generator<ProjectionMarkingViolation> {
300
+ const columns = [
301
+ projection.objectIdField,
302
+ projection.atField,
303
+ ...Object.values(projection.properties).flatMap((mapping) =>
304
+ mapping.unitField === undefined
305
+ ? [mapping.valueField]
306
+ : [mapping.valueField, mapping.unitField]
307
+ ),
308
+ ]
309
+
310
+ for (const column of columns) {
311
+ if (markingsOf(column).length > 0) yield { kind: "telemetry", column }
312
+ }
313
+ }
314
+
315
+ interface KeyRole {
316
+ readonly role: string
317
+ readonly targets: readonly ProjectionKeyTarget[]
318
+ }
319
+
320
+ /** Properties whose value becomes an object id or a link key, with the role they play. */
321
+ function objectProjectionKeyRoles(
322
+ projection: ObjectProjectionDefinition,
323
+ objectType: ObjectType
324
+ ): ReadonlyMap<string, KeyRole> {
325
+ const roles = new Map<string, KeyRole>()
326
+
327
+ for (const property of objectType.properties) {
328
+ if (!property.primary) continue
329
+ roles.set(property.id, {
330
+ role: `becomes the id of '${objectType.id}'`,
331
+ targets: [{ kind: "type", objectTypeId: objectType.id }],
332
+ })
333
+ }
334
+
335
+ for (const [linkId, link] of Object.entries(projection.links)) {
336
+ if (link.sourcePropertyId === undefined) continue
337
+ // An id that also keys a link plays both roles; messages name the link.
338
+ roles.set(link.sourcePropertyId, {
339
+ role: `keys link '${objectType.id}.${linkId}'`,
340
+ targets: [
341
+ ...(roles.get(link.sourcePropertyId)?.targets ?? []),
342
+ linkTarget(objectType.id, linkId, link.targetObjectTypeId),
343
+ ],
344
+ })
345
+ }
346
+
347
+ return roles
348
+ }
349
+
350
+ function linkTarget(
351
+ objectTypeId: string,
352
+ linkId: string,
353
+ targetObjectTypeId: string
354
+ ): ProjectionKeyTarget {
355
+ return { kind: "link", objectTypeId, linkId, targetObjectTypeId }
356
+ }
357
+
358
+ function* markedKeyColumn(
359
+ column: string,
360
+ role: string,
361
+ targets: readonly ProjectionKeyTarget[],
362
+ markingsOf: ColumnMarkingsLookup
363
+ ): Generator<ProjectionMarkingViolation> {
364
+ if (markingsOf(column).length > 0) yield { kind: "markedKeyColumn", column, role, targets }
365
+ }
366
+
367
+ // ── Messages ────────────────────────────────────────────────
368
+
369
+ /** What a column carries, for messages, and whether any of it comes from elsewhere. */
370
+ interface CarriedMarkings {
371
+ readonly text: string
372
+ readonly inherited: boolean
373
+ }
374
+
375
+ function violationMessage(
376
+ subject: string,
377
+ datasetId: string,
378
+ violation: ProjectionMarkingViolation,
379
+ carries: (column: string) => CarriedMarkings
380
+ ): string {
381
+ const path = (column: string) => `${datasetId}.${column}`
382
+
383
+ switch (violation.kind) {
384
+ case "undeclared":
385
+ return `${subject}: property '${violation.property}' is projected from column '${path(violation.column)}', which carries ${carries(violation.column).text}. Add markings: ${markingList(violation.missing)} to the property.`
386
+ case "markedKeyColumn": {
387
+ const carried = carries(violation.column)
388
+ const inherited = carried.inherited ? `, but carries ${carried.text}` : ""
389
+ return `${subject}: column '${path(violation.column)}' ${violation.role} and cannot carry markings${inherited}.`
390
+ }
391
+ case "markedKeyProperty":
392
+ return `${subject}: property '${violation.property}' ${violation.role} and cannot carry markings.`
393
+ case "telemetry":
394
+ return `${subject}: column '${path(violation.column)}' carries ${carries(violation.column).text}, and telemetry projections cannot read marked columns yet.`
395
+ }
396
+ }
397
+
398
+ /**
399
+ * `[financial] from 'raw_invoices.amount' through step 'invoices/normalize'`: each marking with one
400
+ * path it arrived by. Markings the column declares itself have no path.
401
+ */
402
+ export function describeOrigins(origins: ColumnMarkingOrigins, columnPath: string): string {
403
+ const groups = new Map<string, string[]>()
404
+ for (const [markingId, origin] of origins) {
405
+ const path = originPath(origin, columnPath)
406
+ groups.set(path, [...(groups.get(path) ?? []), markingId])
407
+ }
408
+ return [...groups].map(([path, markingIds]) => `${markingList(markingIds)}${path}`).join(" and ")
409
+ }
410
+
411
+ function originPath(origin: MarkingOrigin, columnPath: string): string {
412
+ const source = `${origin.column.datasetId}.${origin.column.column}`
413
+ if (origin.steps.length === 0 && source === columnPath) return ""
414
+
415
+ const steps = origin.steps.map((step) => `'${step}'`).join(", ")
416
+ return ` from '${source}' through ${origin.steps.length === 1 ? "step" : "steps"} ${steps}`
417
+ }
418
+
419
+ function markingList(markings: readonly string[]): string {
420
+ return `[${markings.join(", ")}]`
421
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Browser-safe security entrypoint (`@sixb/core/security`).
3
+ *
4
+ * Group files import `defineGroup` from here, because an app layout imports groups to decide who
5
+ * sees which screens, and the browser cannot load the `@sixb/core` root.
6
+ */
7
+
8
+ export type { DefineGroupOptions } from "./builders"
9
+ export { defineGroup } from "./builders"
10
+ export type { GroupDefinition } from "./types"
@@ -1,6 +1,11 @@
1
1
  import type { Redactions } from "./types"
2
2
 
3
- /** List the values hidden from a reader that lacks a clearance for their markings. */
3
+ const MISSING_CLEARANCE = Object.freeze({ reason: "missing_clearance" } as const)
4
+
5
+ /**
6
+ * List the values hidden from a reader that lacks a clearance for their markings. Deeply frozen,
7
+ * so every row and event redacted the same way can share it.
8
+ */
4
9
  export function missingClearanceRedactions(ids: Iterable<string>): Redactions {
5
- return Object.fromEntries([...ids].map((id) => [id, { reason: "missing_clearance" }] as const))
10
+ return Object.freeze(Object.fromEntries([...ids].map((id) => [id, MISSING_CLEARANCE] as const)))
6
11
  }
@@ -1,5 +1,4 @@
1
1
  import { type ResolvedRole, resolveRoleGrants } from "../authorization"
2
- import { APPLICATION_IDS } from "./applications"
3
2
  import type {
4
3
  GroupDefinition,
5
4
  MarkingDefinition,
@@ -26,7 +25,6 @@ export interface SecurityRegistryOptions {
26
25
  readonly groups?: readonly GroupDefinition[]
27
26
  readonly roles?: readonly RoleDefinition[]
28
27
  readonly membershipPolicies?: readonly MembershipPolicyDefinition[]
29
- readonly applicationIds?: ReadonlySet<string>
30
28
  readonly objectTypeIds?: ReadonlySet<string>
31
29
  readonly datasetIds?: ReadonlySet<string>
32
30
  readonly actionIds?: ReadonlySet<string>
@@ -52,7 +50,6 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
52
50
  groups: input.groups ?? [],
53
51
  roles: input.roles ?? [],
54
52
  membershipPolicies: input.membershipPolicies ?? [],
55
- applicationIds: input.applicationIds ?? APPLICATION_IDS,
56
53
  objectTypeIds: input.objectTypeIds,
57
54
  datasetIds: input.datasetIds,
58
55
  actionIds: input.actionIds,
@@ -61,13 +58,10 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
61
58
  pipelineIds: input.pipelineIds,
62
59
  agentAvailable: input.agentAvailable,
63
60
  connectorIds: input.connectorIds,
64
- observableIds: new Set(["logs", "aiUsage"]),
65
- manageableIds: new Set(["aiUsage"]),
66
61
  shareIds: input.shareIds,
67
62
  })
68
63
 
69
64
  const universe = {
70
- applicationIds: input.applicationIds ?? APPLICATION_IDS,
71
65
  objectTypeIds: input.objectTypeIds ?? new Set<string>(),
72
66
  datasetIds: input.datasetIds ?? new Set<string>(),
73
67
  actionIds: input.actionIds ?? new Set<string>(),
@@ -75,8 +69,6 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
75
69
  syncIds: input.syncIds ?? new Set<string>(),
76
70
  pipelineIds: input.pipelineIds ?? new Set<string>(),
77
71
  connectorIds: input.connectorIds ?? new Set<string>(),
78
- observableIds: new Set(["logs", "aiUsage"]),
79
- manageableIds: new Set(["aiUsage"]),
80
72
  shareIds: input.shareIds ?? new Set<string>(),
81
73
  getSubTypes: input.getSubTypes ?? (() => []),
82
74
  }
@@ -1,5 +1,3 @@
1
- import type { AuthSessionAudience } from "../auth/audience"
2
-
3
1
  export interface GroupDefinition<TId extends string = string> {
4
2
  readonly kind: "group"
5
3
  readonly id: TId
@@ -48,19 +46,6 @@ export type Selection =
48
46
  | { readonly all: true; readonly except: readonly string[] }
49
47
  | { readonly all: false; readonly ids: readonly string[] }
50
48
 
51
- export interface ApplicationDefinition<TId extends AuthSessionAudience = AuthSessionAudience> {
52
- readonly kind: "application"
53
- readonly id: TId
54
- readonly label: string
55
- }
56
-
57
- export interface AccessGrant {
58
- readonly kind: "grant"
59
- readonly capability: "access"
60
- readonly target: "application"
61
- readonly selection: Selection
62
- }
63
-
64
49
  export type ViewGrantTarget = "object" | "dataset"
65
50
 
66
51
  export interface ViewGrant<TTarget extends ViewGrantTarget = ViewGrantTarget> {
@@ -131,27 +116,54 @@ export interface AgentRunGrant {
131
116
  readonly target: "agent"
132
117
  }
133
118
 
134
- export type ObserveGrantTarget = "logs" | "aiUsage"
119
+ export type ObserveGrantTarget = "logs" | "aiUsage" | "activity"
120
+
121
+ /**
122
+ * Project-wide surfaces used in security grants such as `can.observe(project.logs)`. Each member's
123
+ * `kind` is the grant target it selects.
124
+ */
125
+ export interface ProjectReference {
126
+ readonly kind: "project"
127
+ /** The project's captured logs. */
128
+ readonly logs: { readonly kind: "logs" }
129
+ /** Visits and page views recorded in the project's app. */
130
+ readonly activity: { readonly kind: "activity" }
131
+ }
132
+
133
+ /** Any member of `project`, such as `project.logs`. */
134
+ export type ProjectSurfaceReference = ProjectReference[Exclude<keyof ProjectReference, "kind">]
135
135
 
136
+ /**
137
+ * Read the project's logs, its AI usage or its app activity. Each is one surface, so there is
138
+ * nothing to select.
139
+ */
136
140
  export interface ObserveGrant {
137
141
  readonly kind: "grant"
138
142
  readonly capability: "observe"
139
143
  readonly target: ObserveGrantTarget
140
- readonly selection: Selection
141
144
  }
142
145
 
143
146
  export type ManageGrantTarget = "connector" | "aiUsage"
144
147
 
145
- /** Manage a selected connector or the project's AI usage-limit policies. */
146
- export interface ManageGrant<TTarget extends ManageGrantTarget = ManageGrantTarget> {
147
- readonly kind: "grant"
148
- readonly capability: "manage"
149
- readonly target: TTarget
150
- readonly selection: Selection
151
- }
148
+ /**
149
+ * Manage the selected connectors, or the project's AI usage-limit policies. AI usage is one
150
+ * surface, so its grant selects nothing.
151
+ */
152
+ export type ManageGrant<TTarget extends ManageGrantTarget = ManageGrantTarget> =
153
+ TTarget extends "connector"
154
+ ? {
155
+ readonly kind: "grant"
156
+ readonly capability: "manage"
157
+ readonly target: TTarget
158
+ readonly selection: Selection
159
+ }
160
+ : {
161
+ readonly kind: "grant"
162
+ readonly capability: "manage"
163
+ readonly target: TTarget
164
+ }
152
165
 
153
166
  export type GrantDefinition =
154
- | AccessGrant
155
167
  | ViewGrant
156
168
  | EditGrant
157
169
  | AppendGrant
@@ -175,7 +187,7 @@ export interface RoleDefinition<TId extends string = string> {
175
187
  readonly clearances?: readonly string[]
176
188
  }
177
189
 
178
- export type MembershipOperation = "invite" | "assignGroups" | "suspend"
190
+ export type MembershipOperation = "invite" | "assignGroups" | "suspend" | "serviceAccounts"
179
191
 
180
192
  export interface MembershipPolicyDefinition<TId extends string = string> {
181
193
  readonly kind: "membershipPolicy"