@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,424 @@
1
+ import type { ActionObjectSubject } from "../actions"
2
+ import { unreadableActionRunTypes } from "../actions/run-authorization"
3
+ import { AuthorizationError, canViewActionRun, canViewWorkflowRun } from "../authorization"
4
+ import { resolveExecutionCosts } from "../runtime/ai-cost"
5
+ import type { SixbRuntimeContext } from "../runtime/types"
6
+ import type { ActionRunStatus } from "../storage/action-runs"
7
+ import { ACTIVITY_MAX_VISIT_MS, ACTIVITY_MIN_IDLE_TIMEOUT_MS } from "../storage/activity/policy"
8
+ import type { ActivityVisit, StoredActivityVisitPage } from "../storage/activity/types"
9
+ import type { AgentRunStatus, ConversationAgentRunRecord } from "../storage/agents"
10
+ import type { AiCostSummary } from "../storage/ai-cost"
11
+ import type { ExecutionRecord } from "../storage/executions"
12
+ import { objectBatchKey } from "../storage/objects/keys"
13
+ import type { ShareGrantRecord } from "../storage/share-grants"
14
+ import type { WorkflowRunStatus } from "../storage/workflow-runs"
15
+ import { type ActivityConnection, readActivityConnection } from "./connection"
16
+ import type { ActivityVisitView } from "./shares"
17
+
18
+ /**
19
+ * At most this many page views and interactions together, and as many recorded executions, make a
20
+ * visit's timeline.
21
+ */
22
+ export const ACTIVITY_TIMELINE_LIMIT = 200
23
+
24
+ /**
25
+ * How far around its activity a visit claims its session's executions. A click right after a
26
+ * return reaches the server before the activity that opens the visit, and the last action before
27
+ * leaving may come after the last activity sent. Half the shortest idle timeout keeps the visits of
28
+ * one session from claiming the same execution.
29
+ */
30
+ const SESSION_GRACE_MS = ACTIVITY_MIN_IDLE_TIMEOUT_MS / 2
31
+
32
+ export interface ActivityPageEntry {
33
+ readonly kind: "page"
34
+ readonly at: Date
35
+ readonly sequence: number
36
+ readonly route: string
37
+ }
38
+
39
+ /** An interaction the app marked, on the page it happened on. */
40
+ export interface ActivityInteractionEntry {
41
+ readonly kind: "interaction"
42
+ readonly at: Date
43
+ readonly sequence: number
44
+ readonly name: string
45
+ readonly route: string
46
+ }
47
+
48
+ export interface ActivityActionEntry {
49
+ readonly kind: "action"
50
+ readonly at: Date
51
+ readonly executionId: string
52
+ readonly actionId: string
53
+ readonly runId: string
54
+ /** `incomplete` when no outcome is recorded: the run is in flight, or was interrupted. */
55
+ readonly status: ActionRunStatus | "incomplete"
56
+ /** Whether the viewer may read the run itself, as Observability › Runs shows it. */
57
+ readonly runVisible: boolean
58
+ /** The object it applied to, only when the viewer can read that object. */
59
+ readonly object?: { readonly objectTypeId: string; readonly primaryId: string }
60
+ }
61
+
62
+ export interface ActivityWorkflowEntry {
63
+ readonly kind: "workflow"
64
+ readonly at: Date
65
+ readonly executionId: string
66
+ readonly workflowId: string
67
+ readonly runId: string
68
+ readonly status: WorkflowRunStatus | "incomplete"
69
+ /** Whether the viewer may read the run itself, as Observability › Runs shows it. */
70
+ readonly runVisible: boolean
71
+ }
72
+
73
+ /** A conversation's run: its metadata only, never its title or messages. */
74
+ export interface ActivityAgentEntry {
75
+ readonly kind: "agent"
76
+ readonly at: Date
77
+ readonly executionId: string
78
+ readonly runId: string
79
+ readonly threadId: string
80
+ readonly status: AgentRunStatus
81
+ /** Messages in the thread now, every run's. */
82
+ readonly messages: number
83
+ /** The run's model calls with those of its subagents and tools; absent without any. */
84
+ readonly cost?: AiCostSummary
85
+ }
86
+
87
+ export type ActivityTimelineEntry =
88
+ | ActivityPageEntry
89
+ | ActivityInteractionEntry
90
+ | ActivityActionEntry
91
+ | ActivityWorkflowEntry
92
+ | ActivityAgentEntry
93
+
94
+ export interface ActivityVisitTimeline {
95
+ readonly visit: ActivityVisitView
96
+ /** Absent once the session is gone, or without an auth or share store. */
97
+ readonly connection?: ActivityConnection
98
+ /**
99
+ * By time. Page views and interactions come in their sequence, and before executions at the same
100
+ * instant.
101
+ */
102
+ readonly entries: readonly ActivityTimelineEntry[]
103
+ /**
104
+ * More than {@link ACTIVITY_TIMELINE_LIMIT} page views and interactions, or recorded executions.
105
+ * The timeline then stops at the last page view or interaction, or the last root execution, it
106
+ * could keep.
107
+ */
108
+ readonly truncated: boolean
109
+ }
110
+
111
+ /**
112
+ * A visit's timeline: its page views and interactions, and what its session started while it
113
+ * lasted. One bounded read per source, each batched over the visit; see `README.md`.
114
+ */
115
+ export async function composeActivityTimeline(
116
+ runtime: SixbRuntimeContext,
117
+ input: {
118
+ readonly page: StoredActivityVisitPage
119
+ /** The visit, named by its link's share. */
120
+ readonly visit: ActivityVisitView
121
+ /** That link's grant, read with the name. */
122
+ readonly grant?: ShareGrantRecord
123
+ },
124
+ now: Date
125
+ ): Promise<ActivityVisitTimeline> {
126
+ const { page, visit } = input
127
+ const { storage, projectId } = runtime
128
+
129
+ const [ledger, connection] = await Promise.all([
130
+ storage.executions.listBySession({
131
+ projectId,
132
+ session: { type: visit.actor.type, id: page.sessionId },
133
+ ...sessionWindow(visit),
134
+ limit: ACTIVITY_TIMELINE_LIMIT,
135
+ }),
136
+ readActivityConnection(runtime, page, input.grant, now),
137
+ ])
138
+ const executions = ledger.executions
139
+
140
+ const ofKind = (kind: "action" | "workflow") =>
141
+ executions.flatMap((execution) =>
142
+ execution.executor.type === "primitive" && execution.executor.kind === kind
143
+ ? [execution.id]
144
+ : []
145
+ )
146
+ const agentRunIds = executions.flatMap((execution) =>
147
+ execution.executor.type === "agent" ? [execution.executor.runId] : []
148
+ )
149
+
150
+ // Only what an Agent ran can count toward a conversation's cost.
151
+ const byId = new Map(executions.map((execution) => [execution.id, execution]))
152
+ const withAgent = executions.filter((execution) =>
153
+ lineage(execution, byId).some((ancestor) => ancestor.executor.type === "agent")
154
+ )
155
+
156
+ const [actionRuns, workflowRuns, agentRuns, costs] = await Promise.all([
157
+ storage.actionRuns?.getByExecutionIds({ projectId, executionIds: ofKind("action") }) ?? [],
158
+ storage.workflowRuns?.getByExecutionIds({ projectId, executionIds: ofKind("workflow") }) ?? [],
159
+ storage.agents?.runs.getByIds({ projectId, ids: agentRunIds }) ?? [],
160
+ resolveExecutionCosts({
161
+ storage: storage.aiCosts,
162
+ projectId,
163
+ executionIds: withAgent.map((execution) => execution.id),
164
+ }),
165
+ ])
166
+
167
+ // A subagent's cost goes to the conversation above it. A Workflow's Agent steps have none.
168
+ const conversations = new Map(
169
+ agentRuns.flatMap((run) =>
170
+ run.kind === "conversation" ? [[run.executionId, run] as const] : []
171
+ )
172
+ )
173
+ const subjects = actionRuns.flatMap((run) => (run.subject.kind === "object" ? [run.subject] : []))
174
+
175
+ const [threads, readable, unreadableRunTypes] = await Promise.all([
176
+ storage.agents?.threads.getByIds({
177
+ projectId,
178
+ ids: [...conversations.values()].map((run) => run.threadId),
179
+ }) ?? [],
180
+ readableObjects(runtime, subjects),
181
+ subjects.length > 0 ? unreadableActionRunTypes(runtime.objectReader) : new Set<string>(),
182
+ ])
183
+
184
+ const actionRunByExecution = new Map(actionRuns.map((run) => [run.executionId, run]))
185
+ const workflowRunByExecution = new Map(workflowRuns.map((run) => [run.executionId, run]))
186
+ const messagesByThread = new Map(threads.map((thread) => [thread.id, thread.messageCount]))
187
+ const costByAgent = rollUpCosts(byId, conversations, withAgent, costs)
188
+
189
+ const executionEntries = executions.flatMap((execution): ActivityTimelineEntry[] => {
190
+ const at = new Date(execution.createdAt)
191
+ const executor = execution.executor
192
+ const authority = execution.authorizationRef
193
+
194
+ if (executor.type === "primitive" && authority.type === "trustedPrimitive") {
195
+ if (executor.kind === "action") {
196
+ const run = actionRunByExecution.get(execution.id)
197
+ const subject = run?.subject.kind === "object" ? run.subject : undefined
198
+ const object =
199
+ subject && readable.has(objectBatchKey(subject.objectTypeId, subject.primaryId))
200
+ ? { objectTypeId: subject.objectTypeId, primaryId: subject.primaryId }
201
+ : undefined
202
+
203
+ // As the runs page decides: the action and its subject's type, and the type's markings.
204
+ const runVisible =
205
+ run !== undefined &&
206
+ canViewActionRun(runtime.authorization, run) &&
207
+ (subject === undefined || !unreadableRunTypes.has(subject.objectTypeId))
208
+
209
+ return [
210
+ {
211
+ kind: "action",
212
+ at,
213
+ executionId: execution.id,
214
+ actionId: authority.primitive.id,
215
+ runId: executor.runId,
216
+ status: run?.status ?? "incomplete",
217
+ runVisible,
218
+ ...(object === undefined ? {} : { object }),
219
+ },
220
+ ]
221
+ }
222
+
223
+ if (executor.kind === "workflow") {
224
+ const run = workflowRunByExecution.get(execution.id)
225
+ return [
226
+ {
227
+ kind: "workflow",
228
+ at,
229
+ executionId: execution.id,
230
+ workflowId: authority.primitive.id,
231
+ runId: executor.runId,
232
+ status: run?.status ?? "incomplete",
233
+ runVisible: run !== undefined && canViewWorkflowRun(runtime.authorization, run),
234
+ },
235
+ ]
236
+ }
237
+ }
238
+
239
+ const conversation = conversations.get(execution.id)
240
+ if (conversation) {
241
+ const cost = costByAgent.get(execution.id)
242
+ return [
243
+ {
244
+ kind: "agent",
245
+ at,
246
+ executionId: execution.id,
247
+ runId: conversation.id,
248
+ threadId: conversation.threadId,
249
+ status: conversation.status,
250
+ messages: messagesByThread.get(conversation.threadId) ?? 0,
251
+ ...(cost === undefined ? {} : { cost }),
252
+ },
253
+ ]
254
+ }
255
+
256
+ return []
257
+ })
258
+
259
+ // Recorded entries come first at an equal instant, in their sequence: the sort is stable.
260
+ const recorded = [
261
+ ...page.pageViews.map(
262
+ (pageView): ActivityPageEntry => ({
263
+ kind: "page",
264
+ at: new Date(pageView.receivedAt),
265
+ sequence: pageView.sequence,
266
+ route: pageView.route,
267
+ })
268
+ ),
269
+ ...page.interactions.map(
270
+ (interaction): ActivityInteractionEntry => ({
271
+ kind: "interaction",
272
+ at: new Date(interaction.receivedAt),
273
+ sequence: interaction.sequence,
274
+ name: interaction.name,
275
+ route: interaction.route,
276
+ })
277
+ ),
278
+ ].sort((left, right) => left.sequence - right.sequence)
279
+
280
+ // Past the last page view, interaction or root kept, a source left rows out: the timeline stops
281
+ // there.
282
+ const cutoffs = [
283
+ page.hasMore ? recorded.at(-1)?.at : undefined,
284
+ ledger.truncated
285
+ ? executions.filter((execution) => execution.source.type !== "execution").at(-1)?.createdAt
286
+ : undefined,
287
+ ].flatMap((at) => (at === undefined ? [] : [at.getTime()]))
288
+ const cutoff = cutoffs.length > 0 ? Math.min(...cutoffs) : Number.POSITIVE_INFINITY
289
+
290
+ const entries = [...recorded, ...executionEntries]
291
+ .filter((entry) => entry.at.getTime() <= cutoff)
292
+ .sort((left, right) => left.at.getTime() - right.at.getTime())
293
+
294
+ return {
295
+ visit,
296
+ ...(connection === undefined ? {} : { connection }),
297
+ entries,
298
+ truncated: page.hasMore || ledger.truncated,
299
+ }
300
+ }
301
+
302
+ /**
303
+ * Roots created in `[start - grace, last activity + grace)`, cut where the session's next visit
304
+ * may start once this one is a day old.
305
+ */
306
+ function sessionWindow(visit: ActivityVisit): { readonly from: Date; readonly to: Date } {
307
+ const startedAt = visit.startedAt.getTime()
308
+ return {
309
+ from: new Date(startedAt - SESSION_GRACE_MS),
310
+ to: new Date(
311
+ Math.min(
312
+ visit.lastSeenAt.getTime() + SESSION_GRACE_MS,
313
+ startedAt + ACTIVITY_MAX_VISIT_MS - SESSION_GRACE_MS
314
+ )
315
+ ),
316
+ }
317
+ }
318
+
319
+ /** An execution, then its parent and the parent's, as far as the visit's executions go. */
320
+ function lineage(
321
+ execution: ExecutionRecord,
322
+ byId: ReadonlyMap<string, ExecutionRecord>
323
+ ): readonly ExecutionRecord[] {
324
+ const chain: ExecutionRecord[] = []
325
+ let current: ExecutionRecord | undefined = execution
326
+
327
+ while (current) {
328
+ chain.push(current)
329
+ current = current.source.type === "execution" ? byId.get(current.source.executionId) : undefined
330
+ }
331
+ return chain
332
+ }
333
+
334
+ /** Each conversation's cost: its own calls and those of everything below it, each counted once. */
335
+ function rollUpCosts(
336
+ byId: ReadonlyMap<string, ExecutionRecord>,
337
+ conversations: ReadonlyMap<string, ConversationAgentRunRecord>,
338
+ withAgent: readonly ExecutionRecord[],
339
+ costs: readonly (AiCostSummary | undefined)[]
340
+ ): ReadonlyMap<string, AiCostSummary> {
341
+ const grouped = new Map<string, AiCostSummary[]>()
342
+
343
+ withAgent.forEach((execution, index) => {
344
+ const cost = costs[index]
345
+ const owner = lineage(execution, byId).find((ancestor) => conversations.has(ancestor.id))
346
+ if (!cost || !owner) {
347
+ return
348
+ }
349
+
350
+ const summaries = grouped.get(owner.id) ?? []
351
+ summaries.push(cost)
352
+ grouped.set(owner.id, summaries)
353
+ })
354
+
355
+ return new Map(
356
+ [...grouped].flatMap(([owner, summaries]) => {
357
+ const total = addCosts(summaries)
358
+ return total ? [[owner, total] as const] : []
359
+ })
360
+ )
361
+ }
362
+
363
+ function addCosts(summaries: readonly AiCostSummary[]): AiCostSummary | undefined {
364
+ const amounts = new Map<string, bigint>()
365
+ let ratedCallCount = 0
366
+ let unpriceableCallCount = 0
367
+ let unvaluedCallCount = 0
368
+
369
+ for (const summary of summaries) {
370
+ for (const money of summary.amounts) {
371
+ amounts.set(money.currency, (amounts.get(money.currency) ?? 0n) + BigInt(money.amountNanos))
372
+ }
373
+ ratedCallCount += summary.ratedCallCount
374
+ unpriceableCallCount += summary.unpriceableCallCount
375
+ unvaluedCallCount += summary.unvaluedCallCount
376
+ }
377
+
378
+ if (ratedCallCount + unpriceableCallCount + unvaluedCallCount === 0) {
379
+ return undefined
380
+ }
381
+
382
+ return {
383
+ amounts: [...amounts]
384
+ .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
385
+ .map(([currency, amount]) => ({ currency, amountNanos: amount.toString() })),
386
+ ratedCallCount,
387
+ unpriceableCallCount,
388
+ unvaluedCallCount,
389
+ }
390
+ }
391
+
392
+ /**
393
+ * The action subjects the viewer can read, through its own object reader: object type grants,
394
+ * markings and existence alike. One batch per object type, as a type the viewer cannot see fails
395
+ * its whole batch.
396
+ */
397
+ async function readableObjects(
398
+ runtime: SixbRuntimeContext,
399
+ subjects: readonly ActionObjectSubject[]
400
+ ): Promise<ReadonlySet<string>> {
401
+ const byType = new Map<string, Map<string, ActionObjectSubject>>()
402
+ for (const subject of subjects) {
403
+ const items = byType.get(subject.objectTypeId) ?? new Map()
404
+ items.set(subject.primaryId, subject)
405
+ byType.set(subject.objectTypeId, items)
406
+ }
407
+
408
+ const readable = new Set<string>()
409
+ await Promise.all(
410
+ [...byType.values()].map(async (items) => {
411
+ try {
412
+ const rows = await runtime.objectReader.getByPrimaryIdBatch({ items: [...items.values()] })
413
+ for (const key of rows.keys()) {
414
+ readable.add(key)
415
+ }
416
+ } catch (error) {
417
+ if (!(error instanceof AuthorizationError)) {
418
+ throw error
419
+ }
420
+ }
421
+ })
422
+ )
423
+ return readable
424
+ }
@@ -1,4 +1,9 @@
1
1
  export type { PropertyClearance } from "../objects/property-clearance"
2
+ export {
3
+ captureSandboxEnv,
4
+ sandboxCredentialIssue,
5
+ staticSandboxRecipe,
6
+ } from "../sandboxes/configuration"
2
7
  export type {
3
8
  AgentFileDataProjection,
4
9
  AgentFileDataResolverInput,
@@ -156,14 +161,14 @@ export type {
156
161
  AgentDescriptor,
157
162
  AgentReasoning,
158
163
  AgentReference,
159
- AgentToolArtifact,
160
- AgentToolArtifactPutInput,
161
- AgentToolArtifacts,
162
164
  AgentToolAttachments,
163
165
  AgentToolContent,
164
166
  AgentToolDefinition,
165
167
  AgentToolDescriptionBuilder,
168
+ AgentToolFile,
166
169
  AgentToolFileContent,
170
+ AgentToolFilePutInput,
171
+ AgentToolFiles,
167
172
  AgentToolHandler,
168
173
  AgentToolHandlerResult,
169
174
  AgentToolInputBuilder,
@@ -253,6 +253,11 @@ export async function retryAgentRun(
253
253
  threadId: failedRun.threadId,
254
254
  runId: failedRun.id,
255
255
  })
256
+ // What the failed turn published goes with what it said, so the retry starts clean.
257
+ await tx.artifacts?.deleteVersionsByOrigin({
258
+ projectId: runtime.projectId,
259
+ runId: failedRun.id,
260
+ })
256
261
  await tx.executions.create(durableExecution)
257
262
  return agents.runs.create({
258
263
  id: runId,
@@ -50,6 +50,12 @@ export function createAgentSkillCatalog(
50
50
  const skills = Object.freeze([...(definitions ?? [])])
51
51
  const skillsByName = new Map<string, AgentSkillDefinition>()
52
52
  for (const skill of skills) {
53
+ // As discovery refuses them: the worker adds its built-in skills under this prefix.
54
+ if (skill.name.startsWith("sixb-")) {
55
+ throw new RuntimeError(
56
+ `[Sixb] Agent Skill name '${skill.name}' uses the reserved 'sixb-' prefix.`
57
+ )
58
+ }
53
59
  if (skillsByName.has(skill.name)) {
54
60
  throw new RuntimeError(`[Sixb] Duplicate Agent Skill name: ${skill.name}`)
55
61
  }
@@ -80,22 +80,22 @@ export type AgentToolRunInfo =
80
80
  readonly stepId: string
81
81
  }
82
82
 
83
- /** Input accepted by the run-scoped artifact publisher exposed to agent tools. */
84
- export interface AgentToolArtifactPutInput {
83
+ /** Input accepted by the run-scoped file publisher exposed to agent tools. */
84
+ export interface AgentToolFilePutInput {
85
85
  readonly body: BlobBody
86
86
  readonly fileName: string
87
87
  readonly mediaType?: string
88
88
  }
89
89
 
90
- /** A durable artifact and its path inside the current run sandbox. */
91
- export interface AgentToolArtifact {
90
+ /** A file a tool stored durably, and the path of its copy inside the current run sandbox. */
91
+ export interface AgentToolFile {
92
92
  readonly fileRef: FileRef
93
93
  readonly sandboxPath: string
94
94
  }
95
95
 
96
- /** The narrow artifact-writing surface available to an agent tool call. */
97
- export interface AgentToolArtifacts {
98
- put(input: AgentToolArtifactPutInput): Promise<AgentToolArtifact>
96
+ /** The narrow file-writing surface available to an agent tool call. */
97
+ export interface AgentToolFiles {
98
+ put(input: AgentToolFilePutInput): Promise<AgentToolFile>
99
99
  }
100
100
 
101
101
  /**
@@ -159,7 +159,7 @@ export interface AgentToolRunContext<
159
159
  readonly run: AgentToolRunInfo
160
160
  readonly sixb: AgentToolRuntimeFacade
161
161
  readonly logger: Logger
162
- readonly artifacts: AgentToolArtifacts
162
+ readonly files: AgentToolFiles
163
163
  readonly attachments: AgentToolAttachments
164
164
  }
165
165
 
@@ -13,6 +13,8 @@ export const AGENT_RESERVED_TOOL_NAMES = [
13
13
  "view_file",
14
14
  "spawn_agent",
15
15
  "wait_agent",
16
+ "publish_artifact",
17
+ "publish_artifact_version",
16
18
  ] as const
17
19
 
18
20
  export function isAgentToolDefinition(value: unknown): value is AgentToolDefinition {
@@ -0,0 +1,132 @@
1
+ import { isArtifactId } from "./ids"
2
+
3
+ /**
4
+ * An address to an artifact, or to a part of one:
5
+ *
6
+ * ```text
7
+ * artifact:<id>[@<version>][/<file>][#<part>]
8
+ * ```
9
+ *
10
+ * Without a version it follows the latest one. What a part names depends on the target's kind: a
11
+ * sheet (`Summary`), a range of one (`Summary!A1:D12`), a chart (`chart=revenue`), a document's
12
+ * section by its slug (`methodology`), or a slide (`4`).
13
+ */
14
+ export interface ArtifactAddress {
15
+ readonly artifactId: string
16
+ readonly version?: number
17
+ /** A file inside the artifact, by its path. */
18
+ readonly path?: string
19
+ readonly part?: string
20
+ }
21
+
22
+ const SCHEME = "artifact:"
23
+
24
+ /** Whether a URL is written in the `artifact:` scheme, well formed or not. */
25
+ export function isArtifactAddress(value: string): boolean {
26
+ return value.trim().toLowerCase().startsWith(SCHEME)
27
+ }
28
+
29
+ /** Reads an address; `null` when it is not a well-formed `artifact:` address. */
30
+ export function parseArtifactAddress(value: string): ArtifactAddress | null {
31
+ const text = value.trim()
32
+ if (!isArtifactAddress(text)) return null
33
+ const hashAt = text.indexOf("#")
34
+ const head = text.slice(SCHEME.length, hashAt === -1 ? undefined : hashAt)
35
+ const part = hashAt === -1 ? undefined : decode(text.slice(hashAt + 1))
36
+ const slashAt = head.indexOf("/")
37
+ const target = slashAt === -1 ? head : head.slice(0, slashAt)
38
+ const path = slashAt === -1 ? undefined : decodePath(head.slice(slashAt + 1))
39
+ const [artifactId = "", version, ...rest] = target.split("@")
40
+ if (!isArtifactId(artifactId) || rest.length > 0) return null
41
+ if (version !== undefined && !/^[1-9]\d{0,8}$/.test(version)) return null
42
+ if (path === null || part === null || part === "") return null
43
+ return {
44
+ artifactId,
45
+ ...(version === undefined ? {} : { version: Number(version) }),
46
+ ...(path === undefined ? {} : { path }),
47
+ ...(part === undefined ? {} : { part }),
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Writes an address so it survives inside Markdown: spaces and the characters that end a link
53
+ * are escaped, and the rest of a part stays readable (`Q3%20numbers!A1:D12`).
54
+ */
55
+ export function formatArtifactAddress(address: ArtifactAddress): string {
56
+ const escaped = (text: string) =>
57
+ encodeURI(text).replace(
58
+ /[#()[\]<>]/g,
59
+ (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`
60
+ )
61
+ return [
62
+ SCHEME,
63
+ address.artifactId,
64
+ address.version === undefined ? "" : `@${address.version}`,
65
+ address.path === undefined ? "" : `/${address.path.split("/").map(escaped).join("/")}`,
66
+ address.part === undefined ? "" : `#${escaped(address.part)}`,
67
+ ].join("")
68
+ }
69
+
70
+ /** A rectangle of cells, zero-based, where row 0 is the header row (`A1`). */
71
+ export interface CellRange {
72
+ readonly top: number
73
+ readonly left: number
74
+ readonly bottom: number
75
+ readonly right: number
76
+ }
77
+
78
+ /** What a part names in a sheet: a sheet, a range of one, or a chart. */
79
+ export type SheetPart =
80
+ | { readonly type: "sheet"; readonly sheet: string; readonly range?: CellRange }
81
+ | { readonly type: "chart"; readonly chart: string }
82
+
83
+ /** Reads a sheet part: `chart=revenue`, `Summary`, or `Summary!A1:D12`. */
84
+ export function parseSheetPart(part: string): SheetPart | null {
85
+ if (part.startsWith("chart=")) {
86
+ const chart = part.slice("chart=".length)
87
+ return chart ? { type: "chart", chart } : null
88
+ }
89
+ const bangAt = part.lastIndexOf("!")
90
+ if (bangAt === -1) return { type: "sheet", sheet: part }
91
+ const sheet = part.slice(0, bangAt)
92
+ const range = parseCellRange(part.slice(bangAt + 1))
93
+ return sheet && range ? { type: "sheet", sheet, range } : null
94
+ }
95
+
96
+ /** Reads `B2` or `A1:D12`, in either corner order. */
97
+ export function parseCellRange(text: string): CellRange | null {
98
+ const corners = text.split(":")
99
+ if (corners.length > 2) return null
100
+ const cells = corners.map(parseCell)
101
+ const [start, end = start] = cells
102
+ if (!start || !end) return null
103
+ return {
104
+ top: Math.min(start.row, end.row),
105
+ left: Math.min(start.column, end.column),
106
+ bottom: Math.max(start.row, end.row),
107
+ right: Math.max(start.column, end.column),
108
+ }
109
+ }
110
+
111
+ function parseCell(text: string): { readonly row: number; readonly column: number } | null {
112
+ const match = /^([A-Za-z]{1,3})([1-9]\d{0,6})$/.exec(text.trim())
113
+ if (!match?.[1] || !match[2]) return null
114
+ let column = 0
115
+ for (const letter of match[1].toUpperCase()) column = column * 26 + letter.charCodeAt(0) - 64
116
+ return { row: Number(match[2]) - 1, column: column - 1 }
117
+ }
118
+
119
+ function decode(text: string): string | null {
120
+ try {
121
+ return decodeURIComponent(text)
122
+ } catch {
123
+ return null
124
+ }
125
+ }
126
+
127
+ /** A relative file path: no empty, `.`, or `..` segment. */
128
+ function decodePath(text: string): string | null {
129
+ const segments = text.split("/").map(decode)
130
+ if (segments.some((segment) => !segment || segment === "." || segment === "..")) return null
131
+ return segments.join("/")
132
+ }