@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,209 @@
1
+ import type { ArtifactKind } from "../../artifacts/kinds"
2
+ import type { ArtifactOutline } from "../../artifacts/outline"
3
+ import type { ArtifactReference } from "../../artifacts/references"
4
+ import type { Principal } from "../../auth"
5
+ import type { FileRef } from "../../blob-storage"
6
+
7
+ export type { ArtifactKind, ArtifactOutline, ArtifactReference }
8
+
9
+ /** A versioned document, sheet, deck, or file. Its kind never changes. */
10
+ export interface ArtifactRecord {
11
+ readonly projectId: string
12
+ readonly id: string
13
+ readonly kind: ArtifactKind
14
+ /** The latest version's title. */
15
+ readonly title: string
16
+ /** Who created the artifact; reading and publishing are decided from it. */
17
+ readonly owner: Principal
18
+ readonly latestVersion: number
19
+ readonly createdAt: Date
20
+ /** When the latest version was published. */
21
+ readonly updatedAt: Date
22
+ }
23
+
24
+ /** One file of a version, at its path inside the artifact. */
25
+ export interface ArtifactFile {
26
+ /** Relative, with `/` separators and no `.` or `..` segments. */
27
+ readonly path: string
28
+ readonly file: FileRef
29
+ }
30
+
31
+ /** Where a version was published from. Provenance only: reading never depends on it. */
32
+ export interface ArtifactOrigin {
33
+ readonly threadId: string
34
+ readonly runId: string
35
+ }
36
+
37
+ /** One published version. A version never changes once stored. */
38
+ export interface ArtifactVersionRecord {
39
+ readonly projectId: string
40
+ readonly artifactId: string
41
+ readonly version: number
42
+ readonly title: string
43
+ /** The path of the file the kind renders from, one of `files`. */
44
+ readonly entry: string
45
+ readonly files: readonly ArtifactFile[]
46
+ readonly outline: ArtifactOutline
47
+ readonly references: readonly ArtifactReference[]
48
+ /** Who published this version. */
49
+ readonly author: Principal
50
+ readonly origin?: ArtifactOrigin
51
+ readonly createdAt: Date
52
+ }
53
+
54
+ /** A version's content before storage numbers it. */
55
+ export type ArtifactVersionInput = Omit<
56
+ ArtifactVersionRecord,
57
+ "projectId" | "artifactId" | "version"
58
+ >
59
+
60
+ export interface CreateArtifactInput {
61
+ readonly projectId: string
62
+ readonly id: string
63
+ readonly kind: ArtifactKind
64
+ readonly owner: Principal
65
+ /** Becomes version 1. */
66
+ readonly version: ArtifactVersionInput
67
+ }
68
+
69
+ export interface PublishArtifactVersionInput {
70
+ readonly projectId: string
71
+ readonly artifactId: string
72
+ /** Must be the artifact's kind. */
73
+ readonly kind: ArtifactKind
74
+ readonly version: ArtifactVersionInput
75
+ }
76
+
77
+ export interface PublishedArtifactVersion {
78
+ readonly artifact: ArtifactRecord
79
+ readonly version: ArtifactVersionRecord
80
+ }
81
+
82
+ export interface GetArtifactInput {
83
+ readonly projectId: string
84
+ readonly id: string
85
+ }
86
+
87
+ export interface ListArtifactsInput {
88
+ readonly projectId: string
89
+ readonly owner?: Principal
90
+ /** Only artifacts with a version published from this thread. */
91
+ readonly originThreadId?: string
92
+ /** Only artifacts of this kind. */
93
+ readonly kind?: ArtifactKind
94
+ readonly limit?: number
95
+ readonly offset?: number
96
+ }
97
+
98
+ export interface ListArtifactsResult {
99
+ readonly artifacts: readonly ArtifactRecord[]
100
+ readonly hasMore: boolean
101
+ readonly total: number
102
+ }
103
+
104
+ export interface GetArtifactVersionInput {
105
+ readonly projectId: string
106
+ readonly artifactId: string
107
+ readonly version: number
108
+ }
109
+
110
+ export interface ListArtifactVersionsInput {
111
+ readonly projectId: string
112
+ readonly artifactId: string
113
+ readonly limit?: number
114
+ readonly offset?: number
115
+ }
116
+
117
+ export interface ListArtifactVersionsResult {
118
+ readonly versions: readonly ArtifactVersionRecord[]
119
+ readonly hasMore: boolean
120
+ readonly total: number
121
+ }
122
+
123
+ export interface DeleteArtifactInput {
124
+ readonly projectId: string
125
+ readonly id: string
126
+ }
127
+
128
+ export interface ListReferencingVersionsInput {
129
+ readonly projectId: string
130
+ /** The artifact the versions refer to. */
131
+ readonly artifactId: string
132
+ }
133
+
134
+ /**
135
+ * A short-lived link to one version, which a sandboxed frame loads a deck's files through. Only
136
+ * the SHA-256 of the link's token is stored; the token is the credential.
137
+ */
138
+ export interface ArtifactFrameGrantRecord {
139
+ readonly projectId: string
140
+ /** SHA-256 hex of the token. */
141
+ readonly tokenHash: string
142
+ readonly artifactId: string
143
+ readonly version: number
144
+ /** What the frame may show from other artifacts, decided for its reader when it was issued. */
145
+ readonly targets: readonly ArtifactFrameTarget[]
146
+ readonly createdAt: Date
147
+ readonly expiresAt: Date
148
+ }
149
+
150
+ /** An address a version embeds, and the version of its target a frame shows. */
151
+ export interface ArtifactFrameTarget {
152
+ readonly address: string
153
+ readonly artifactId: string
154
+ readonly version: number
155
+ }
156
+
157
+ export interface FindArtifactFrameGrantInput {
158
+ readonly projectId: string
159
+ readonly tokenHash: string
160
+ }
161
+
162
+ export interface DeleteExpiredArtifactFrameGrantsInput {
163
+ readonly projectId: string
164
+ readonly expiredBefore: Date
165
+ readonly limit: number
166
+ }
167
+
168
+ export interface DeleteArtifactVersionsByOriginInput {
169
+ readonly projectId: string
170
+ readonly runId: string
171
+ }
172
+
173
+ /**
174
+ * Persistence only: who may read or publish, and what a version may contain, are decided in Core
175
+ * before a call reaches storage.
176
+ */
177
+ export interface ArtifactStorage {
178
+ /** Creates the artifact with its first version. Throws `artifact_exists` when the id is taken. */
179
+ create(input: CreateArtifactInput): Promise<PublishedArtifactVersion>
180
+ /**
181
+ * Stores the next version and makes it the latest. Throws `artifact_not_found` or
182
+ * `artifact_kind_mismatch`. A version number is never reused, even after its version is deleted.
183
+ */
184
+ publish(input: PublishArtifactVersionInput): Promise<PublishedArtifactVersion>
185
+ get(input: GetArtifactInput): Promise<ArtifactRecord | null>
186
+ /** Most recently updated first. */
187
+ list(input: ListArtifactsInput): Promise<ListArtifactsResult>
188
+ getVersion(input: GetArtifactVersionInput): Promise<ArtifactVersionRecord | null>
189
+ /** Newest first. */
190
+ listVersions(input: ListArtifactVersionsInput): Promise<ListArtifactVersionsResult>
191
+ /**
192
+ * The latest version of each artifact whose latest version has an address to this artifact, so
193
+ * a new version can tell which artifacts it breaks. Ordered by artifact id.
194
+ */
195
+ listReferencingVersions(input: ListReferencingVersionsInput): Promise<ArtifactVersionRecord[]>
196
+ /** Stores a frame grant. Throws `artifact_not_found` when its artifact does not exist. */
197
+ createFrameGrant(record: ArtifactFrameGrantRecord): Promise<void>
198
+ /** Returns expired grants too; the caller decides whether one still serves. */
199
+ findFrameGrant(input: FindArtifactFrameGrantInput): Promise<ArtifactFrameGrantRecord | null>
200
+ /** Deletes up to `limit` grants that expired before `expiredBefore`, and returns the count. */
201
+ deleteExpiredFrameGrants(input: DeleteExpiredArtifactFrameGrantsInput): Promise<number>
202
+ /** Deletes the artifact, every version, and its frame grants. `false` when it does not exist. */
203
+ delete(input: DeleteArtifactInput): Promise<boolean>
204
+ /**
205
+ * Deletes the versions a run published and returns how many. An artifact left without versions
206
+ * is deleted; one that lost its latest version points at its newest remaining one.
207
+ */
208
+ deleteVersionsByOrigin(input: DeleteArtifactVersionsByOriginInput): Promise<number>
209
+ }
@@ -222,7 +222,6 @@ export class InMemoryAuthStorage implements AuthStorage {
222
222
  }
223
223
 
224
224
  validateCompleteSessionInput(this.state, projectId, input.session)
225
- assertSignInSessionAudience(projectId, input.session.audience, magicLink.audience)
226
225
 
227
226
  let newUserId: string | undefined
228
227
  if (shouldCreateUser) {
@@ -353,7 +352,6 @@ export class InMemoryAuthStorage implements AuthStorage {
353
352
  }
354
353
 
355
354
  validateCompleteSessionInput(this.state, projectId, input.session)
356
- assertSignInSessionAudience(projectId, input.session.audience, attempt.audience)
357
355
 
358
356
  let newUserId: string | undefined
359
357
  if (shouldCreateUser) {
@@ -555,7 +553,6 @@ export class InMemoryAuthStorage implements AuthStorage {
555
553
  projectId: input.projectId,
556
554
  userId: input.userId,
557
555
  strategyId: input.strategyId,
558
- audience: input.session.audience,
559
556
  tokenHash: input.session.tokenHash,
560
557
  createdAt: input.session.createdAt,
561
558
  expiresAt: input.session.expiresAt,
@@ -587,18 +584,3 @@ function restoreMap<TKey, TValue>(target: Map<TKey, TValue>, snapshot: Map<TKey,
587
584
  target.set(key, value)
588
585
  }
589
586
  }
590
-
591
- function assertSignInSessionAudience(
592
- projectId: string,
593
- sessionAudience: string,
594
- storedAudience: string
595
- ): void {
596
- if (sessionAudience === storedAudience) {
597
- return
598
- }
599
-
600
- throw new AuthStorageError(
601
- "invalid_input",
602
- `[Sixb] Sign-in session audience '${sessionAudience}' does not match stored auth audience '${storedAudience}' for project '${projectId}'.`
603
- )
604
- }
@@ -1,4 +1,3 @@
1
- import { resolveAuthSessionAudience } from "../../../auth/audience"
2
1
  import { AuthStorageError } from "../errors"
3
2
  import type { AuthMagicLinkStore, CreateAuthMagicLinkInput, MagicLinkRecord } from "../types"
4
3
  import type { AuthStorageState } from "./shared"
@@ -22,7 +21,6 @@ export class InMemoryAuthMagicLinkStore implements AuthMagicLinkStore {
22
21
  const id = assertNonEmpty(input.id, "Magic link id")
23
22
  const projectId = assertNonEmpty(input.projectId, "Project id")
24
23
  const strategyId = assertNonEmpty(input.strategyId, "Strategy id")
25
- const audience = resolveAuthSessionAudience(input.audience)
26
24
  const email = normalizeEmail(input.email)
27
25
  const tokenHash = assertNonEmpty(input.tokenHash, "Magic link token hash")
28
26
  const key = magicLinkKey(projectId, id)
@@ -40,7 +38,6 @@ export class InMemoryAuthMagicLinkStore implements AuthMagicLinkStore {
40
38
  id,
41
39
  projectId,
42
40
  strategyId,
43
- audience,
44
41
  email,
45
42
  tokenHash,
46
43
  returnTo: input.returnTo,
@@ -1,4 +1,3 @@
1
- import { resolveAuthSessionAudience } from "../../../auth/audience"
2
1
  import { AuthStorageError } from "../errors"
3
2
  import type {
4
3
  AuthOidcAuthorizationAttemptStore,
@@ -26,7 +25,6 @@ export class InMemoryAuthOidcAuthorizationAttemptStore
26
25
  const id = assertNonEmpty(input.id, "OIDC authorization attempt id")
27
26
  const projectId = assertNonEmpty(input.projectId, "Project id")
28
27
  const strategyId = assertNonEmpty(input.strategyId, "Strategy id")
29
- const audience = resolveAuthSessionAudience(input.audience)
30
28
  const stateHash = assertNonEmpty(input.stateHash, "OIDC state hash")
31
29
  const nonceHash = assertNonEmpty(input.nonceHash, "OIDC nonce hash")
32
30
  const codeVerifier = assertNonEmpty(input.codeVerifier, "OIDC code verifier")
@@ -43,7 +41,6 @@ export class InMemoryAuthOidcAuthorizationAttemptStore
43
41
  id,
44
42
  projectId,
45
43
  strategyId,
46
- audience,
47
44
  stateHash,
48
45
  nonceHash,
49
46
  codeVerifier,
@@ -1,8 +1,9 @@
1
- import type { AuthSessionAudience } from "../../../auth/audience"
2
1
  import { AuthStorageError } from "../errors"
3
2
  import type {
4
3
  AuthSessionStore,
5
4
  CreateAuthSessionInput,
5
+ ListAuthSessionsInput,
6
+ ListAuthSessionsResult,
6
7
  RotateSessionRefreshTokenResult,
7
8
  SessionRecord,
8
9
  } from "../types"
@@ -11,7 +12,6 @@ import {
11
12
  cloneDate,
12
13
  cloneOptionalRecord,
13
14
  cloneRecord,
14
- compareByCreatedAt,
15
15
  createSessionRecord,
16
16
  isActiveSession,
17
17
  revokeActiveSessionsForUser,
@@ -33,22 +33,6 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
33
33
  return cloneOptionalRecord(record)
34
34
  }
35
35
 
36
- async getActiveByUserId(params: {
37
- readonly projectId: string
38
- readonly userId: string
39
- readonly audience: AuthSessionAudience
40
- readonly now: Date
41
- }): Promise<SessionRecord | null> {
42
- const sessions = [...this.state.sessions.values()]
43
- .filter((session) => session.projectId === params.projectId)
44
- .filter((session) => session.userId === params.userId)
45
- .filter((session) => session.audience === params.audience)
46
- .filter((session) => isActiveSession(session, params.now))
47
- .sort((a, b) => compareByCreatedAt(a, b, "desc"))
48
-
49
- return cloneOptionalRecord(sessions[0] ?? null)
50
- }
51
-
52
36
  async listActiveByUserId(params: {
53
37
  readonly projectId: string
54
38
  readonly userId: string
@@ -68,10 +52,28 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
68
52
  .map(cloneRecord)
69
53
  }
70
54
 
55
+ async listByUserId(params: ListAuthSessionsInput): Promise<ListAuthSessionsResult> {
56
+ const before = params.before
57
+ const offset = before?.skip ?? 0
58
+ const sessions = [...this.state.sessions.values()]
59
+ .filter((session) => session.projectId === params.projectId)
60
+ .filter((session) => session.userId === params.userId)
61
+ .filter((session) => !before || session.createdAt <= before.createdAt)
62
+ .sort((a, b) => {
63
+ const created = b.createdAt.getTime() - a.createdAt.getTime()
64
+ if (created !== 0) return created
65
+ return a.id < b.id ? 1 : a.id > b.id ? -1 : 0
66
+ })
67
+
68
+ return {
69
+ sessions: sessions.slice(offset, offset + params.limit).map(cloneRecord),
70
+ hasMore: sessions.length > offset + params.limit,
71
+ }
72
+ }
73
+
71
74
  async findValidByTokenHash(params: {
72
75
  readonly projectId: string
73
76
  readonly id: string
74
- readonly audience: AuthSessionAudience
75
77
  readonly tokenHash: string
76
78
  readonly now: Date
77
79
  }): Promise<SessionRecord | null> {
@@ -79,7 +81,6 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
79
81
  if (
80
82
  !session ||
81
83
  session.bearer ||
82
- session.audience !== params.audience ||
83
84
  session.tokenHash !== params.tokenHash ||
84
85
  !isActiveSession(session, params.now)
85
86
  ) {
@@ -153,7 +154,6 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
153
154
  async renewIfValid(params: {
154
155
  readonly projectId: string
155
156
  readonly id: string
156
- readonly audience: AuthSessionAudience
157
157
  readonly tokenHash: string
158
158
  readonly now: Date
159
159
  readonly expiresAt: Date
@@ -163,7 +163,6 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
163
163
  if (
164
164
  !session ||
165
165
  session.bearer ||
166
- session.audience !== params.audience ||
167
166
  session.tokenHash !== params.tokenHash ||
168
167
  !isActiveSession(session, params.now)
169
168
  ) {
@@ -208,15 +207,13 @@ export class InMemoryAuthSessionStore implements AuthSessionStore {
208
207
  async revokeActiveForUser(params: {
209
208
  readonly projectId: string
210
209
  readonly userId: string
211
- readonly audience?: AuthSessionAudience
212
210
  readonly revokedAt: Date
213
211
  }): Promise<readonly SessionRecord[]> {
214
212
  return revokeActiveSessionsForUser(
215
213
  this.state,
216
214
  params.projectId,
217
215
  params.userId,
218
- params.revokedAt,
219
- params.audience
216
+ params.revokedAt
220
217
  ).map(cloneRecord)
221
218
  }
222
219
 
@@ -1,4 +1,3 @@
1
- import { type AuthSessionAudience, resolveAuthSessionAudience } from "../../../auth/audience"
2
1
  import { AuthStorageError } from "../errors"
3
2
  import type {
4
3
  AccessTokenRecord,
@@ -213,8 +212,7 @@ export function revokeActiveSessionsForUser(
213
212
  state: AuthStorageState,
214
213
  projectId: string,
215
214
  userId: string,
216
- revokedAt: Date,
217
- audience?: AuthSessionAudience
215
+ revokedAt: Date
218
216
  ): readonly SessionRecord[] {
219
217
  const revoked: SessionRecord[] = []
220
218
 
@@ -223,10 +221,6 @@ export function revokeActiveSessionsForUser(
223
221
  continue
224
222
  }
225
223
 
226
- if (audience !== undefined && session.audience !== audience) {
227
- continue
228
- }
229
-
230
224
  if (!isActiveSession(session, revokedAt)) {
231
225
  continue
232
226
  }
@@ -290,7 +284,6 @@ export function validateCompleteSessionInput(
290
284
  session: CompleteAuthSessionInput
291
285
  ): void {
292
286
  const sessionId = assertNonEmpty(session.id, "Session id")
293
- assertNonEmpty(session.audience, "Session audience")
294
287
  assertNonEmpty(session.tokenHash, "Session token hash")
295
288
  assertSessionIdAvailable(state, projectId, sessionId)
296
289
  }
@@ -303,7 +296,6 @@ export function createSessionRecord(
303
296
  const projectId = assertNonEmpty(input.projectId, "Project id")
304
297
  const userId = assertNonEmpty(input.userId, "User id")
305
298
  const strategyId = assertNonEmpty(input.strategyId, "Strategy id")
306
- const audience = resolveAuthSessionAudience(input.audience)
307
299
  const tokenHash = assertNonEmpty(input.tokenHash, "Session token hash")
308
300
 
309
301
  assertSessionIdAvailable(state, projectId, id)
@@ -313,7 +305,6 @@ export function createSessionRecord(
313
305
  projectId,
314
306
  userId,
315
307
  strategyId,
316
- audience,
317
308
  tokenHash,
318
309
  createdAt: cloneDate(input.createdAt),
319
310
  expiresAt: cloneDate(input.expiresAt),
@@ -42,6 +42,8 @@ export type {
42
42
  ListAuthInvitationsResult,
43
43
  ListAuthServiceAccountsInput,
44
44
  ListAuthServiceAccountsResult,
45
+ ListAuthSessionsInput,
46
+ ListAuthSessionsResult,
45
47
  ListAuthUsersInput,
46
48
  ListAuthUsersResult,
47
49
  MagicLinkRecord,
@@ -1,4 +1,4 @@
1
- import type { AccessTokenKind, AuthSessionAudience, Principal } from "../../auth"
1
+ import type { AccessTokenKind, Principal } from "../../auth"
2
2
  import type { AuthorizablePrincipal } from "../../execution/types"
3
3
 
4
4
  export type UserStatus = "active" | "suspended"
@@ -57,7 +57,6 @@ export interface SessionRecord {
57
57
  readonly userId: string
58
58
  readonly strategyId: string
59
59
  /** The web app a browser session belongs to. A bearer session belongs to none and ignores it. */
60
- readonly audience: AuthSessionAudience
61
60
  readonly tokenHash: string
62
61
  readonly createdAt: Date
63
62
  readonly expiresAt: Date
@@ -142,7 +141,6 @@ export interface MagicLinkRecord {
142
141
  readonly id: string
143
142
  readonly projectId: string
144
143
  readonly strategyId: string
145
- readonly audience: AuthSessionAudience
146
144
  readonly email: string
147
145
  readonly tokenHash: string
148
146
  readonly returnTo?: string
@@ -156,7 +154,6 @@ export interface OidcAuthorizationAttemptRecord {
156
154
  readonly id: string
157
155
  readonly projectId: string
158
156
  readonly strategyId: string
159
- readonly audience: AuthSessionAudience
160
157
  readonly stateHash: string
161
158
  readonly nonceHash: string
162
159
  readonly codeVerifier: string
@@ -288,7 +285,6 @@ export interface CreateAuthSessionInput {
288
285
  readonly projectId: string
289
286
  readonly userId: string
290
287
  readonly strategyId: string
291
- readonly audience: AuthSessionAudience
292
288
  readonly tokenHash: string
293
289
  readonly createdAt: Date
294
290
  readonly expiresAt: Date
@@ -328,9 +324,24 @@ export interface ListAuthAccessTokensResult {
328
324
  readonly total: number
329
325
  }
330
326
 
327
+ export interface ListAuthSessionsInput {
328
+ readonly projectId: string
329
+ readonly userId: string
330
+ readonly limit: number
331
+ /**
332
+ * Continue a list: sessions created at or before `createdAt`, past the first `skip` of those
333
+ * created exactly then, which the previous pages returned.
334
+ */
335
+ readonly before?: { readonly createdAt: Date; readonly skip: number }
336
+ }
337
+
338
+ export interface ListAuthSessionsResult {
339
+ readonly sessions: readonly SessionRecord[]
340
+ readonly hasMore: boolean
341
+ }
342
+
331
343
  export interface CompleteAuthSessionInput {
332
344
  readonly id: string
333
- readonly audience: AuthSessionAudience
334
345
  readonly tokenHash: string
335
346
  readonly createdAt: Date
336
347
  readonly expiresAt: Date
@@ -379,7 +390,6 @@ export interface CreateAuthMagicLinkInput {
379
390
  readonly id: string
380
391
  readonly projectId: string
381
392
  readonly strategyId: string
382
- readonly audience: AuthSessionAudience
383
393
  readonly email: string
384
394
  readonly tokenHash: string
385
395
  readonly returnTo?: string
@@ -391,7 +401,6 @@ export interface CreateOidcAuthorizationAttemptInput {
391
401
  readonly id: string
392
402
  readonly projectId: string
393
403
  readonly strategyId: string
394
- readonly audience: AuthSessionAudience
395
404
  readonly stateHash: string
396
405
  readonly nonceHash: string
397
406
  readonly codeVerifier: string
@@ -536,24 +545,19 @@ export interface AuthSessionStore {
536
545
  readonly projectId: string
537
546
  readonly id: string
538
547
  }): Promise<SessionRecord | null>
539
- getActiveByUserId(params: {
540
- readonly projectId: string
541
- readonly userId: string
542
- readonly audience: AuthSessionAudience
543
- readonly now: Date
544
- }): Promise<SessionRecord | null>
545
- // All active sessions for a user across every audience, most-recently-active
548
+ // All active sessions for a user, most-recently-active
546
549
  // first. Backs the active-sessions view.
547
550
  listActiveByUserId(params: {
548
551
  readonly projectId: string
549
552
  readonly userId: string
550
553
  readonly now: Date
551
554
  }): Promise<readonly SessionRecord[]>
555
+ /** Every session of a user, revoked and expired ones too, newest first: a sign-in history. */
556
+ listByUserId(params: ListAuthSessionsInput): Promise<ListAuthSessionsResult>
552
557
  /** A live browser (cookie) session whose secret hashes to `tokenHash`. */
553
558
  findValidByTokenHash(params: {
554
559
  readonly projectId: string
555
560
  readonly id: string
556
- readonly audience: AuthSessionAudience
557
561
  readonly tokenHash: string
558
562
  readonly now: Date
559
563
  }): Promise<SessionRecord | null>
@@ -585,7 +589,6 @@ export interface AuthSessionStore {
585
589
  renewIfValid(params: {
586
590
  readonly projectId: string
587
591
  readonly id: string
588
- readonly audience: AuthSessionAudience
589
592
  readonly tokenHash: string
590
593
  readonly now: Date
591
594
  readonly expiresAt: Date
@@ -598,7 +601,6 @@ export interface AuthSessionStore {
598
601
  revokeActiveForUser(params: {
599
602
  readonly projectId: string
600
603
  readonly userId: string
601
- readonly audience?: AuthSessionAudience
602
604
  readonly revokedAt: Date
603
605
  }): Promise<readonly SessionRecord[]>
604
606
  touch(params: {
@@ -1,7 +1,14 @@
1
1
  import type { AuthStorage } from "../auth"
2
2
  import type { ShareSessionStorage } from "../share-sessions"
3
3
  import { ExecutionStorageError } from "./errors"
4
- import type { CreateExecutionInput, ExecutionRecord, ExecutionStorage } from "./types"
4
+ import { compareExecutionCreation } from "./provider"
5
+ import type {
6
+ CreateExecutionInput,
7
+ ExecutionRecord,
8
+ ExecutionStorage,
9
+ ListSessionExecutionsInput,
10
+ SessionExecutions,
11
+ } from "./types"
5
12
  import { cloneExecutionRecord, prepareExecutionRecord } from "./validation"
6
13
 
7
14
  type RunRootOperation = <T>(run: () => Promise<T> | T) => Promise<T>
@@ -73,6 +80,59 @@ export class InMemoryExecutionStorage implements ExecutionStorage {
73
80
  return record ? cloneExecutionRecord(record) : null
74
81
  })
75
82
  }
83
+
84
+ async listBySession(input: ListSessionExecutionsInput): Promise<SessionExecutions> {
85
+ return this.runRootOperation(() => {
86
+ const rows = [...this.rows.values()].filter((row) => row.projectId === input.projectId)
87
+
88
+ const roots = rows
89
+ .filter(
90
+ (row) =>
91
+ row.source.type !== "execution" &&
92
+ row.createdAt >= input.from &&
93
+ row.createdAt < input.to &&
94
+ isFromSession(row, input.session)
95
+ )
96
+ .sort(compareExecutionCreation)
97
+ .slice(0, input.limit + 1)
98
+
99
+ // Level by level, as the SQL providers walk the tree, so truncation keeps roots first.
100
+ const found = [...roots]
101
+ let level = roots
102
+ while (level.length > 0 && found.length <= input.limit) {
103
+ const parents = new Set(level.map((row) => row.id))
104
+ level = rows
105
+ .filter((row) => row.source.type === "execution" && parents.has(row.source.executionId))
106
+ .sort(compareExecutionCreation)
107
+ found.push(...level)
108
+ }
109
+
110
+ return {
111
+ executions: found
112
+ .slice(0, input.limit)
113
+ .sort(compareExecutionCreation)
114
+ .map(cloneExecutionRecord),
115
+ truncated: found.length > input.limit,
116
+ }
117
+ })
118
+ }
119
+ }
120
+
121
+ function isFromSession(
122
+ row: ExecutionRecord,
123
+ session: ListSessionExecutionsInput["session"]
124
+ ): boolean {
125
+ const ref = row.authorizationRef
126
+
127
+ if (session.type === "user") {
128
+ return (
129
+ ref.type === "principal" &&
130
+ ref.credential?.type === "session" &&
131
+ ref.credential.id === session.id
132
+ )
133
+ }
134
+
135
+ return ref.type === "delegated" && ref.delegation.sessionId === session.id
76
136
  }
77
137
 
78
138
  export type InMemoryExecutionStorageSnapshot = Map<string, ExecutionRecord>
@@ -12,5 +12,8 @@ export type {
12
12
  DurableExecutionExecutor,
13
13
  DurableExecutionSource,
14
14
  ExecutionRecord,
15
+ ExecutionSessionRef,
15
16
  ExecutionStorage,
17
+ ListSessionExecutionsInput,
18
+ SessionExecutions,
16
19
  } from "./types"
@@ -11,6 +11,18 @@ export {
11
11
  validateExecutionRecordReferences,
12
12
  } from "./validation"
13
13
 
14
+ /** Oldest first, then by id compared byte by byte: the order `listBySession` returns. */
15
+ export function compareExecutionCreation(
16
+ left: Pick<ExecutionRecord, "createdAt" | "id">,
17
+ right: Pick<ExecutionRecord, "createdAt" | "id">
18
+ ): number {
19
+ const byTime = left.createdAt.getTime() - right.createdAt.getTime()
20
+ if (byTime !== 0) {
21
+ return byTime
22
+ }
23
+ return left.id < right.id ? -1 : left.id > right.id ? 1 : 0
24
+ }
25
+
14
26
  /** Provider-neutral flattened representation used by the SQL adapters. */
15
27
  export interface ExecutionStorageRow {
16
28
  readonly projectId: string