@keboola/api-client 4.0.0 → 6.0.0

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 (362) hide show
  1. package/README.md +34 -6
  2. package/dist/ai/index.cjs +4 -3
  3. package/dist/ai/index.d.cts +26 -9
  4. package/dist/ai/index.d.ts +26 -9
  5. package/dist/ai/index.js +3 -2
  6. package/dist/ai/types.d.cts +2 -2
  7. package/dist/ai/types.d.ts +2 -2
  8. package/dist/assets/index.cjs +4 -3
  9. package/dist/assets/index.d.cts +2 -2
  10. package/dist/assets/index.d.ts +2 -2
  11. package/dist/assets/index.js +3 -2
  12. package/dist/{authMiddleware-Dcy9gRT9.d.ts → authMiddleware-B0p06GYQ.d.ts} +1 -1
  13. package/dist/{authMiddleware-CeIxAJQ5.d.cts → authMiddleware-vNb2hfLP.d.cts} +1 -1
  14. package/dist/chat/index.cjs +4 -3
  15. package/dist/chat/index.d.cts +4 -4
  16. package/dist/chat/index.d.ts +4 -4
  17. package/dist/chat/index.js +3 -2
  18. package/dist/chat/types.d.cts +2 -2
  19. package/dist/chat/types.d.ts +2 -2
  20. package/dist/{chunk-GLQZHLLN.js → chunk-2Q75RQ3X.js} +7 -5
  21. package/dist/chunk-2Q75RQ3X.js.map +1 -0
  22. package/dist/{chunk-OAKTIIG4.js → chunk-4HORTOGH.js} +4 -3
  23. package/dist/chunk-4HORTOGH.js.map +1 -0
  24. package/dist/chunk-4KJRGFNV.cjs +54 -0
  25. package/dist/chunk-4KJRGFNV.cjs.map +1 -0
  26. package/dist/{chunk-HCH4WXK2.cjs → chunk-4S3EKVQT.cjs} +443 -44
  27. package/dist/chunk-4S3EKVQT.cjs.map +1 -0
  28. package/dist/{chunk-RBGTWJ7G.js → chunk-54N7LIDM.js} +8 -6
  29. package/dist/chunk-54N7LIDM.js.map +1 -0
  30. package/dist/{chunk-KOO3ZG5X.cjs → chunk-5XKPYMQL.cjs} +12 -6
  31. package/dist/chunk-5XKPYMQL.cjs.map +1 -0
  32. package/dist/{chunk-HLGMFFDF.js → chunk-5YTV36EI.js} +7 -5
  33. package/dist/chunk-5YTV36EI.js.map +1 -0
  34. package/dist/{chunk-6TUGEXVX.js → chunk-6S4JS7OJ.js} +3 -3
  35. package/dist/{chunk-6TUGEXVX.js.map → chunk-6S4JS7OJ.js.map} +1 -1
  36. package/dist/{chunk-WMJUK4P4.cjs → chunk-AK4ZHM77.cjs} +8 -6
  37. package/dist/chunk-AK4ZHM77.cjs.map +1 -0
  38. package/dist/{chunk-VLSN55I3.cjs → chunk-AWRMGLMT.cjs} +113 -3
  39. package/dist/chunk-AWRMGLMT.cjs.map +1 -0
  40. package/dist/chunk-BBRS2HLH.cjs +46 -0
  41. package/dist/chunk-BBRS2HLH.cjs.map +1 -0
  42. package/dist/chunk-BZO2GTJP.js +44 -0
  43. package/dist/chunk-BZO2GTJP.js.map +1 -0
  44. package/dist/{chunk-RTD3XWBM.cjs → chunk-CFRR7QPR.cjs} +14 -12
  45. package/dist/chunk-CFRR7QPR.cjs.map +1 -0
  46. package/dist/{chunk-4TENBFWN.cjs → chunk-CONUMVLZ.cjs} +11 -6
  47. package/dist/chunk-CONUMVLZ.cjs.map +1 -0
  48. package/dist/{chunk-QXWPUKK2.js → chunk-D2SWTZFS.js} +4 -20
  49. package/dist/chunk-D2SWTZFS.js.map +1 -0
  50. package/dist/{chunk-T23NVI3Q.js → chunk-EEG7YZUY.js} +7 -5
  51. package/dist/chunk-EEG7YZUY.js.map +1 -0
  52. package/dist/{chunk-ECQZAWH3.cjs → chunk-FB3E7VS6.cjs} +8 -6
  53. package/dist/chunk-FB3E7VS6.cjs.map +1 -0
  54. package/dist/chunk-H5DZOHH7.js +338 -0
  55. package/dist/chunk-H5DZOHH7.js.map +1 -0
  56. package/dist/{chunk-MTFRH3R5.cjs → chunk-IDYRJ4K3.cjs} +4 -23
  57. package/dist/chunk-IDYRJ4K3.cjs.map +1 -0
  58. package/dist/{chunk-PM2FAMWT.js → chunk-J5JUQRPD.js} +7 -5
  59. package/dist/chunk-J5JUQRPD.js.map +1 -0
  60. package/dist/{chunk-5DVEQBCD.cjs → chunk-J7EQLDUU.cjs} +11 -9
  61. package/dist/chunk-J7EQLDUU.cjs.map +1 -0
  62. package/dist/{chunk-RBW5ABSQ.js → chunk-JDFNUP4M.js} +126 -7
  63. package/dist/chunk-JDFNUP4M.js.map +1 -0
  64. package/dist/chunk-KCGEV4ZA.cjs +340 -0
  65. package/dist/chunk-KCGEV4ZA.cjs.map +1 -0
  66. package/dist/{chunk-2ZMZ4KWJ.js → chunk-KQ2QNGRX.js} +113 -3
  67. package/dist/chunk-KQ2QNGRX.js.map +1 -0
  68. package/dist/chunk-MQ554O4E.js +52 -0
  69. package/dist/chunk-MQ554O4E.js.map +1 -0
  70. package/dist/chunk-MRHQJNWF.cjs +8 -0
  71. package/dist/chunk-MRHQJNWF.cjs.map +1 -0
  72. package/dist/chunk-MSI6FVGG.js +6 -0
  73. package/dist/chunk-MSI6FVGG.js.map +1 -0
  74. package/dist/{chunk-LBVYZLWL.js → chunk-N37PZ2MB.js} +3 -3
  75. package/dist/{chunk-LBVYZLWL.js.map → chunk-N37PZ2MB.js.map} +1 -1
  76. package/dist/{chunk-LI3BAYDV.cjs → chunk-NFGQHJVB.cjs} +8 -6
  77. package/dist/chunk-NFGQHJVB.cjs.map +1 -0
  78. package/dist/{chunk-IL2PAEG3.cjs → chunk-OVGB3W3A.cjs} +21 -7
  79. package/dist/chunk-OVGB3W3A.cjs.map +1 -0
  80. package/dist/{chunk-6D3MJRXE.cjs → chunk-PWA6XFXA.cjs} +8 -6
  81. package/dist/chunk-PWA6XFXA.cjs.map +1 -0
  82. package/dist/{chunk-7NX56CKZ.js → chunk-QEQAZPWM.js} +441 -41
  83. package/dist/chunk-QEQAZPWM.js.map +1 -0
  84. package/dist/chunk-R7MQGDLC.cjs +61 -0
  85. package/dist/chunk-R7MQGDLC.cjs.map +1 -0
  86. package/dist/{chunk-ZIVZF6M2.cjs → chunk-RPKKOIYG.cjs} +9 -7
  87. package/dist/chunk-RPKKOIYG.cjs.map +1 -0
  88. package/dist/{chunk-BA2JMZP6.cjs → chunk-S4PI2LUQ.cjs} +4 -4
  89. package/dist/{chunk-BA2JMZP6.cjs.map → chunk-S4PI2LUQ.cjs.map} +1 -1
  90. package/dist/chunk-SI5TFV5M.js +54 -0
  91. package/dist/chunk-SI5TFV5M.js.map +1 -0
  92. package/dist/chunk-TD2PFSP6.js +248 -0
  93. package/dist/chunk-TD2PFSP6.js.map +1 -0
  94. package/dist/{chunk-D2ZTB5R2.cjs → chunk-TWP7DBSZ.cjs} +135 -16
  95. package/dist/chunk-TWP7DBSZ.cjs.map +1 -0
  96. package/dist/{chunk-REXMA2IN.cjs → chunk-TXDMA4CT.cjs} +8 -6
  97. package/dist/chunk-TXDMA4CT.cjs.map +1 -0
  98. package/dist/chunk-UUY6LQT6.cjs +267 -0
  99. package/dist/chunk-UUY6LQT6.cjs.map +1 -0
  100. package/dist/chunk-UYZTOVYS.cjs +252 -0
  101. package/dist/chunk-UYZTOVYS.cjs.map +1 -0
  102. package/dist/{chunk-3DW7RIEB.js → chunk-V2MQG3FZ.js} +20 -6
  103. package/dist/chunk-V2MQG3FZ.js.map +1 -0
  104. package/dist/{chunk-5PUNJJAR.js → chunk-VFZVLZC6.js} +7 -5
  105. package/dist/chunk-VFZVLZC6.js.map +1 -0
  106. package/dist/chunk-VKHQ6BWE.cjs +30 -0
  107. package/dist/chunk-VKHQ6BWE.cjs.map +1 -0
  108. package/dist/{chunk-Q6T6GRDR.js → chunk-VUVBYSYM.js} +12 -5
  109. package/dist/chunk-VUVBYSYM.js.map +1 -0
  110. package/dist/{chunk-5YN6FED2.cjs → chunk-W3AFDHXQ.cjs} +13 -6
  111. package/dist/chunk-W3AFDHXQ.cjs.map +1 -0
  112. package/dist/{chunk-V35JLM5Q.js → chunk-WILFTDTS.js} +11 -5
  113. package/dist/chunk-WILFTDTS.js.map +1 -0
  114. package/dist/{chunk-AYXQJONA.cjs → chunk-XLFQJDYZ.cjs} +4 -4
  115. package/dist/chunk-XLFQJDYZ.cjs.map +1 -0
  116. package/dist/{chunk-ZQPET6GI.js → chunk-Y26EBVMH.js} +10 -5
  117. package/dist/chunk-Y26EBVMH.js.map +1 -0
  118. package/dist/{chunk-6HBXNLB7.cjs → chunk-YGAWVMHH.cjs} +8 -6
  119. package/dist/chunk-YGAWVMHH.cjs.map +1 -0
  120. package/dist/{chunk-76Q2CTFV.js → chunk-YIWAUNKU.js} +7 -5
  121. package/dist/chunk-YIWAUNKU.js.map +1 -0
  122. package/dist/{chunk-X73I4PLK.js → chunk-YLK5KBXD.js} +7 -5
  123. package/dist/chunk-YLK5KBXD.js.map +1 -0
  124. package/dist/chunk-ZOREOLGE.js +264 -0
  125. package/dist/chunk-ZOREOLGE.js.map +1 -0
  126. package/dist/{chunk-CQFZ7PGZ.js → chunk-ZPSPCPDQ.js} +7 -5
  127. package/dist/chunk-ZPSPCPDQ.js.map +1 -0
  128. package/dist/{createGenericFetchClient-Cp2By_KQ.d.ts → createGenericFetchClient-Gpom91V-.d.ts} +1 -1
  129. package/dist/{createGenericFetchClient-DuW7iSRy.d.cts → createGenericFetchClient-yfcpR7qD.d.cts} +1 -1
  130. package/dist/{createOpenapiFetchClient-DhL2gQvd.d.ts → createOpenapiFetchClient-B44nXiti.d.ts} +2 -2
  131. package/dist/{createOpenapiFetchClient-BuKDZcLD.d.cts → createOpenapiFetchClient-Ci0-Qe53.d.cts} +2 -2
  132. package/dist/dataScience/index.cjs +6 -4
  133. package/dist/dataScience/index.d.cts +26 -6
  134. package/dist/dataScience/index.d.ts +26 -6
  135. package/dist/dataScience/index.js +4 -2
  136. package/dist/dataScience/types.d.cts +2 -2
  137. package/dist/dataScience/types.d.ts +2 -2
  138. package/dist/domain/permissions/index.cjs +5 -11
  139. package/dist/domain/permissions/index.cjs.map +1 -1
  140. package/dist/domain/permissions/index.d.cts +3 -2
  141. package/dist/domain/permissions/index.d.ts +3 -2
  142. package/dist/domain/permissions/index.js +1 -7
  143. package/dist/domain/permissions/index.js.map +1 -1
  144. package/dist/domain/storageTable/index.cjs +9 -260
  145. package/dist/domain/storageTable/index.cjs.map +1 -1
  146. package/dist/domain/storageTable/index.js +1 -262
  147. package/dist/domain/storageTable/index.js.map +1 -1
  148. package/dist/editor/index.cjs +4 -3
  149. package/dist/editor/index.d.cts +4 -4
  150. package/dist/editor/index.d.ts +4 -4
  151. package/dist/editor/index.js +3 -2
  152. package/dist/editor/types.d.cts +2 -2
  153. package/dist/editor/types.d.ts +2 -2
  154. package/dist/encryption/index.cjs +4 -3
  155. package/dist/encryption/index.d.cts +6 -3
  156. package/dist/encryption/index.d.ts +6 -3
  157. package/dist/encryption/index.js +3 -2
  158. package/dist/encryption/types.d.cts +62 -3
  159. package/dist/encryption/types.d.ts +62 -3
  160. package/dist/import/index.cjs +4 -3
  161. package/dist/import/index.d.cts +2 -2
  162. package/dist/import/index.d.ts +2 -2
  163. package/dist/import/index.js +3 -2
  164. package/dist/index-DzhQuag5.d.cts +1511 -0
  165. package/dist/index-G9ZyDi7K.d.ts +1511 -0
  166. package/dist/index.cjs +348 -159
  167. package/dist/index.cjs.map +1 -1
  168. package/dist/index.d.cts +6016 -1032
  169. package/dist/index.d.ts +6016 -1032
  170. package/dist/index.js +285 -110
  171. package/dist/index.js.map +1 -1
  172. package/dist/management/index.cjs +6 -5
  173. package/dist/management/index.d.cts +137 -69
  174. package/dist/management/index.d.ts +137 -69
  175. package/dist/management/index.js +4 -3
  176. package/dist/management/types.d.cts +2 -2
  177. package/dist/management/types.d.ts +2 -2
  178. package/dist/metastore/index.cjs +4 -3
  179. package/dist/metastore/index.d.cts +5 -5
  180. package/dist/metastore/index.d.ts +5 -5
  181. package/dist/metastore/index.js +3 -2
  182. package/dist/metastore/types.d.cts +2 -2
  183. package/dist/metastore/types.d.ts +2 -2
  184. package/dist/notifications/index.cjs +14 -0
  185. package/dist/notifications/index.cjs.map +1 -0
  186. package/dist/notifications/index.d.cts +46 -0
  187. package/dist/notifications/index.d.ts +46 -0
  188. package/dist/notifications/index.js +5 -0
  189. package/dist/notifications/index.js.map +1 -0
  190. package/dist/notifications/types.cjs +4 -0
  191. package/dist/notifications/types.cjs.map +1 -0
  192. package/dist/notifications/types.d.cts +2 -0
  193. package/dist/notifications/types.d.ts +2 -0
  194. package/dist/notifications/types.js +3 -0
  195. package/dist/notifications/types.js.map +1 -0
  196. package/dist/oauth/index.cjs +4 -3
  197. package/dist/oauth/index.d.cts +2 -2
  198. package/dist/oauth/index.d.ts +2 -2
  199. package/dist/oauth/index.js +3 -2
  200. package/dist/{project-CYhB6rYN.d.cts → project-C_m_tOgy.d.cts} +1 -1
  201. package/dist/{project-Bzslbq4u.d.ts → project-DQLliCsX.d.ts} +1 -1
  202. package/dist/queryService/index.cjs +4 -3
  203. package/dist/queryService/index.d.cts +4 -4
  204. package/dist/queryService/index.d.ts +4 -4
  205. package/dist/queryService/index.js +3 -2
  206. package/dist/queryService/types.d.cts +2 -2
  207. package/dist/queryService/types.d.ts +2 -2
  208. package/dist/queue/index.cjs +4 -3
  209. package/dist/queue/index.d.cts +4 -4
  210. package/dist/queue/index.d.ts +4 -4
  211. package/dist/queue/index.js +3 -2
  212. package/dist/queue/types.d.cts +2 -2
  213. package/dist/queue/types.d.ts +2 -2
  214. package/dist/registry-Xwk-vCjf.d.cts +417 -0
  215. package/dist/registry-Xwk-vCjf.d.ts +417 -0
  216. package/dist/scheduler/index.cjs +14 -0
  217. package/dist/scheduler/index.cjs.map +1 -0
  218. package/dist/scheduler/index.d.cts +75 -0
  219. package/dist/scheduler/index.d.ts +75 -0
  220. package/dist/scheduler/index.js +5 -0
  221. package/dist/scheduler/index.js.map +1 -0
  222. package/dist/scheduler/types.cjs +4 -0
  223. package/dist/scheduler/types.cjs.map +1 -0
  224. package/dist/scheduler/types.d.cts +372 -0
  225. package/dist/scheduler/types.d.ts +372 -0
  226. package/dist/scheduler/types.js +3 -0
  227. package/dist/scheduler/types.js.map +1 -0
  228. package/dist/sdk/configurations/index.cjs +8 -8
  229. package/dist/sdk/configurations/index.cjs.map +1 -1
  230. package/dist/sdk/configurations/index.d.cts +1257 -10
  231. package/dist/sdk/configurations/index.d.ts +1257 -10
  232. package/dist/sdk/configurations/index.js +3 -9
  233. package/dist/sdk/configurations/index.js.map +1 -1
  234. package/dist/sdk/storage/index.cjs +11 -11
  235. package/dist/sdk/storage/index.d.cts +7 -7
  236. package/dist/sdk/storage/index.d.ts +7 -7
  237. package/dist/sdk/storage/index.js +1 -1
  238. package/dist/sdk/tag/index.d.cts +4 -4
  239. package/dist/sdk/tag/index.d.ts +4 -4
  240. package/dist/sdk/tag/types.d.cts +4 -4
  241. package/dist/sdk/tag/types.d.ts +4 -4
  242. package/dist/sdk/vault/index.d.cts +4 -3
  243. package/dist/sdk/vault/index.d.ts +4 -3
  244. package/dist/status/index.cjs +4 -3
  245. package/dist/status/index.d.cts +2 -2
  246. package/dist/status/index.d.ts +2 -2
  247. package/dist/status/index.js +3 -2
  248. package/dist/storage/index.cjs +4 -7
  249. package/dist/storage/index.d.cts +6 -10
  250. package/dist/storage/index.d.ts +6 -10
  251. package/dist/storage/index.js +3 -2
  252. package/dist/storage/types.d.cts +443 -11638
  253. package/dist/storage/types.d.ts +443 -11638
  254. package/dist/storageSdk-TDISOoqX.d.ts +746 -0
  255. package/dist/storageSdk-VlBWkuF3.d.cts +746 -0
  256. package/dist/stream/index.cjs +14 -0
  257. package/dist/stream/index.cjs.map +1 -0
  258. package/dist/stream/index.d.cts +348 -0
  259. package/dist/stream/index.d.ts +348 -0
  260. package/dist/stream/index.js +5 -0
  261. package/dist/stream/index.js.map +1 -0
  262. package/dist/stream/types.cjs +4 -0
  263. package/dist/stream/types.cjs.map +1 -0
  264. package/dist/stream/types.d.cts +2 -0
  265. package/dist/stream/types.d.ts +2 -0
  266. package/dist/stream/types.js +3 -0
  267. package/dist/stream/types.js.map +1 -0
  268. package/dist/syncActions/index.cjs +4 -3
  269. package/dist/syncActions/index.d.cts +4 -7
  270. package/dist/syncActions/index.d.ts +4 -7
  271. package/dist/syncActions/index.js +3 -2
  272. package/dist/syncActions/types.d.cts +1 -1
  273. package/dist/syncActions/types.d.ts +1 -1
  274. package/dist/telemetry/index.cjs +4 -3
  275. package/dist/telemetry/index.d.cts +3 -3
  276. package/dist/telemetry/index.d.ts +3 -3
  277. package/dist/telemetry/index.js +3 -2
  278. package/dist/types-BG8yQyYt.d.ts +15821 -0
  279. package/dist/types-BVldT2vs.d.cts +404 -0
  280. package/dist/{types-CNkgmuhe.d.cts → types-Bc-H4gfv.d.cts} +1 -1
  281. package/dist/{types-CRSKcua9.d.cts → types-BxjcUj-y.d.cts} +1 -1
  282. package/dist/{types-CqWXdTMg.d.ts → types-CFd7q2ed.d.ts} +1 -1
  283. package/dist/types-CS8MYc2k.d.ts +404 -0
  284. package/dist/{types-DBVQGCI1.d.cts → types-CWebeQXy.d.cts} +1 -1
  285. package/dist/{types-Brx8PoEB.d.cts → types-CfEvz7zi.d.cts} +2 -1
  286. package/dist/{types-Dws8mFNY.d.cts → types-CvHPHNH0.d.cts} +5 -2
  287. package/dist/{types-B51cQMrX.d.ts → types-D3Kkh6yW.d.ts} +5 -2
  288. package/dist/{types-DJkU9gvB.d.cts → types-D9cNOf-3.d.cts} +1 -1
  289. package/dist/types-DFWnAftN.d.cts +7523 -0
  290. package/dist/types-DJbXfC2q.d.cts +15821 -0
  291. package/dist/types-DMC601TE.d.cts +14375 -0
  292. package/dist/types-DMC601TE.d.ts +14375 -0
  293. package/dist/{types-C-bd4ArM.d.cts → types-DTkxk0fW.d.cts} +1 -1
  294. package/dist/{types-cH0_hkCW.d.ts → types-DacFMc6L.d.ts} +1 -1
  295. package/dist/types-Dv3vN7M9.d.ts +7523 -0
  296. package/dist/{types-Bom8wyth.d.ts → types-DxJD6LIN.d.cts} +1 -0
  297. package/dist/{types-Bom8wyth.d.cts → types-DxJD6LIN.d.ts} +1 -0
  298. package/dist/{types-DzwzVgyG.d.ts → types-JvKRS8Qd.d.ts} +1 -1
  299. package/dist/{types-BY0tjg2Q.d.ts → types-Mghz1gMD.d.ts} +1 -1
  300. package/dist/{types-C7mpAfq-.d.cts → types-jKnx7Tm_.d.cts} +1 -1
  301. package/dist/{types-C7mpAfq-.d.ts → types-jKnx7Tm_.d.ts} +1 -1
  302. package/dist/{types-D4CDCW-Y.d.ts → types-sxxmo6h9.d.ts} +2 -1
  303. package/dist/{types-CGMJT3JL.d.ts → types-yKV1EX6f.d.ts} +1 -1
  304. package/dist/{utils-BNQZiNOu.d.ts → utils-Cl4emy8g.d.ts} +567 -3
  305. package/dist/{utils-DE09pDTi.d.cts → utils-JsCYFmHj.d.cts} +567 -3
  306. package/dist/vault/index.cjs +4 -3
  307. package/dist/vault/index.d.cts +3 -3
  308. package/dist/vault/index.d.ts +3 -3
  309. package/dist/vault/index.js +3 -2
  310. package/dist/vault/types.d.cts +1 -1
  311. package/dist/vault/types.d.ts +1 -1
  312. package/dist/verify/index.cjs +4 -3
  313. package/dist/verify/index.d.cts +2 -1
  314. package/dist/verify/index.d.ts +2 -1
  315. package/dist/verify/index.js +3 -2
  316. package/package.json +82 -2
  317. package/dist/chunk-2ZMZ4KWJ.js.map +0 -1
  318. package/dist/chunk-3DW7RIEB.js.map +0 -1
  319. package/dist/chunk-4TENBFWN.cjs.map +0 -1
  320. package/dist/chunk-5DVEQBCD.cjs.map +0 -1
  321. package/dist/chunk-5PUNJJAR.js.map +0 -1
  322. package/dist/chunk-5YN6FED2.cjs.map +0 -1
  323. package/dist/chunk-6D3MJRXE.cjs.map +0 -1
  324. package/dist/chunk-6FW72PC2.cjs +0 -29
  325. package/dist/chunk-6FW72PC2.cjs.map +0 -1
  326. package/dist/chunk-6HBXNLB7.cjs.map +0 -1
  327. package/dist/chunk-76Q2CTFV.js.map +0 -1
  328. package/dist/chunk-7NX56CKZ.js.map +0 -1
  329. package/dist/chunk-AYXQJONA.cjs.map +0 -1
  330. package/dist/chunk-CQFZ7PGZ.js.map +0 -1
  331. package/dist/chunk-D2ZTB5R2.cjs.map +0 -1
  332. package/dist/chunk-ECQZAWH3.cjs.map +0 -1
  333. package/dist/chunk-GLQZHLLN.js.map +0 -1
  334. package/dist/chunk-HCH4WXK2.cjs.map +0 -1
  335. package/dist/chunk-HLGMFFDF.js.map +0 -1
  336. package/dist/chunk-IL2PAEG3.cjs.map +0 -1
  337. package/dist/chunk-KOO3ZG5X.cjs.map +0 -1
  338. package/dist/chunk-LI3BAYDV.cjs.map +0 -1
  339. package/dist/chunk-MTFRH3R5.cjs.map +0 -1
  340. package/dist/chunk-OAKTIIG4.js.map +0 -1
  341. package/dist/chunk-PM2FAMWT.js.map +0 -1
  342. package/dist/chunk-Q6T6GRDR.js.map +0 -1
  343. package/dist/chunk-QXWPUKK2.js.map +0 -1
  344. package/dist/chunk-RBGTWJ7G.js.map +0 -1
  345. package/dist/chunk-RBW5ABSQ.js.map +0 -1
  346. package/dist/chunk-REXMA2IN.cjs.map +0 -1
  347. package/dist/chunk-RTD3XWBM.cjs.map +0 -1
  348. package/dist/chunk-T23NVI3Q.js.map +0 -1
  349. package/dist/chunk-V35JLM5Q.js.map +0 -1
  350. package/dist/chunk-VLSN55I3.cjs.map +0 -1
  351. package/dist/chunk-WMJUK4P4.cjs.map +0 -1
  352. package/dist/chunk-X73I4PLK.js.map +0 -1
  353. package/dist/chunk-ZIVZF6M2.cjs.map +0 -1
  354. package/dist/chunk-ZQPET6GI.js.map +0 -1
  355. package/dist/storageClient-DTTDHnLM.d.cts +0 -633
  356. package/dist/storageClient-xm0yUrNc.d.ts +0 -633
  357. package/dist/storageSdk-CxNyfe5Z.d.cts +0 -143
  358. package/dist/storageSdk-bwKHEMB4.d.ts +0 -143
  359. package/dist/types-BTcT8Q0T.d.cts +0 -8605
  360. package/dist/types-BTcT8Q0T.d.ts +0 -8605
  361. package/dist/types-DYMMsuU0.d.cts +0 -78
  362. package/dist/types-DYMMsuU0.d.ts +0 -78
@@ -1,17 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var chunkRTD3XWBM_cjs = require('../chunk-RTD3XWBM.cjs');
4
- require('../chunk-MTFRH3R5.cjs');
3
+ var chunkCFRR7QPR_cjs = require('../chunk-CFRR7QPR.cjs');
4
+ require('../chunk-MRHQJNWF.cjs');
5
+ require('../chunk-IDYRJ4K3.cjs');
6
+ require('../chunk-R7MQGDLC.cjs');
5
7
 
6
8
 
7
9
 
8
10
  Object.defineProperty(exports, "createDataScienceClient", {
9
11
  enumerable: true,
10
- get: function () { return chunkRTD3XWBM_cjs.createDataScienceClient; }
12
+ get: function () { return chunkCFRR7QPR_cjs.createDataScienceClient; }
11
13
  });
12
14
  Object.defineProperty(exports, "parseLogLines", {
13
15
  enumerable: true,
14
- get: function () { return chunkRTD3XWBM_cjs.parseLogLines; }
16
+ get: function () { return chunkCFRR7QPR_cjs.parseLogLines; }
15
17
  });
16
18
  //# sourceMappingURL=index.cjs.map
17
19
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
- import { C as ClientInitOptions, A as ApiResponse } from '../types-Bom8wyth.cjs';
2
- import { G as GetDataAppRunsPath, a as GetDataAppRunsQuery, b as GetDataAppRunPath, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, L as LogEntry, f as GetAppsQuery, g as GetDataAppPath, C as CreateDataAppBody, P as PatchDataAppPath, h as PatchDataAppBody, D as DeleteDataAppPath, i as GetDataAppPasswordPath, R as ResetDataAppPasswordPath, j as GetSandboxPath } from '../utils-DE09pDTi.cjs';
3
- export { p as parseLogLines } from '../utils-DE09pDTi.cjs';
1
+ import { C as ClientInitOptions, A as ApiResponse } from '../types-DxJD6LIN.cjs';
2
+ import { G as GetDataAppRunsPath, a as GetDataAppRunsQuery, b as GetDataAppRunPath, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, L as LogEntry, f as GetAppsQuery, g as GetDataAppPath, C as CreateDataAppBody, P as PatchDataAppPath, h as PatchDataAppBody, D as DeleteDataAppPath, i as GetDataAppPasswordPath, R as ResetDataAppPasswordPath, j as GetSandboxPath } from '../utils-JsCYFmHj.cjs';
3
+ export { p as parseLogLines } from '../utils-JsCYFmHj.cjs';
4
4
  import 'qs';
5
- import '../types-C7mpAfq-.cjs';
5
+ import '../types-jKnx7Tm_.cjs';
6
6
 
7
- declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOptions) => {
7
+ declare const createDataScienceClient: ({ baseUrl, middlewares, token }: ClientInitOptions) => {
8
8
  getAppRuns: (appId: GetDataAppRunsPath["appId"], query?: GetDataAppRunsQuery, signal?: AbortSignal) => Promise<{
9
9
  state: "failed" | "starting" | "running" | "finished";
10
10
  id: string;
@@ -15,6 +15,11 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
15
15
  startupLogs?: string | null;
16
16
  runtimeSize?: string | null;
17
17
  configVersion?: string | null;
18
+ failureReason?: {
19
+ reason?: string | null;
20
+ message?: string | null;
21
+ } | null;
22
+ mode: "prod" | "dev";
18
23
  }[]>;
19
24
  getAppRun: (appId: GetDataAppRunPath["appId"], runId: GetDataAppRunPath["runId"], signal?: AbortSignal) => Promise<{
20
25
  state: "failed" | "starting" | "running" | "finished";
@@ -26,6 +31,11 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
26
31
  startupLogs?: string | null;
27
32
  runtimeSize?: string | null;
28
33
  configVersion?: string | null;
34
+ failureReason?: {
35
+ reason?: string | null;
36
+ message?: string | null;
37
+ } | null;
38
+ mode: "prod" | "dev";
29
39
  }>;
30
40
  getAppLogsDownload: (id: GetDataAppLogsDownloadPath["appId"], signal?: AbortSignal) => Promise<{
31
41
  logs: string;
@@ -48,6 +58,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
48
58
  configVersion: string;
49
59
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
50
60
  desiredState: "running" | "stopped" | "deleted";
61
+ mode: "prod" | "dev";
51
62
  lastRequestTimestamp: string | null;
52
63
  lastStartTimestamp?: string | null;
53
64
  url?: string | null;
@@ -55,6 +66,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
55
66
  autoRestartEnabled?: boolean;
56
67
  size?: string | null;
57
68
  provisioningStrategy: "jobQueue" | "operator";
69
+ hasManagedGitRepo?: boolean;
58
70
  }[]>;
59
71
  getApp: (appId: GetDataAppPath["appId"], signal?: AbortSignal) => Promise<{
60
72
  id: string;
@@ -66,6 +78,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
66
78
  configVersion: string;
67
79
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
68
80
  desiredState: "running" | "stopped" | "deleted";
81
+ mode: "prod" | "dev";
69
82
  lastRequestTimestamp: string | null;
70
83
  lastStartTimestamp?: string | null;
71
84
  url?: string | null;
@@ -73,6 +86,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
73
86
  autoRestartEnabled?: boolean;
74
87
  size?: string | null;
75
88
  provisioningStrategy: "jobQueue" | "operator";
89
+ hasManagedGitRepo?: boolean;
76
90
  }>;
77
91
  createApp: (body: CreateDataAppBody, signal?: AbortSignal) => Promise<{
78
92
  id: string;
@@ -84,6 +98,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
84
98
  configVersion: string;
85
99
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
86
100
  desiredState: "running" | "stopped" | "deleted";
101
+ mode: "prod" | "dev";
87
102
  lastRequestTimestamp: string | null;
88
103
  lastStartTimestamp?: string | null;
89
104
  url?: string | null;
@@ -91,6 +106,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
91
106
  autoRestartEnabled?: boolean;
92
107
  size?: string | null;
93
108
  provisioningStrategy: "jobQueue" | "operator";
109
+ hasManagedGitRepo?: boolean;
94
110
  }>;
95
111
  patchApp: (appId: PatchDataAppPath["appId"], body: PatchDataAppBody, signal?: AbortSignal) => Promise<{
96
112
  id: string;
@@ -102,6 +118,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
102
118
  configVersion: string;
103
119
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
104
120
  desiredState: "running" | "stopped" | "deleted";
121
+ mode: "prod" | "dev";
105
122
  lastRequestTimestamp: string | null;
106
123
  lastStartTimestamp?: string | null;
107
124
  url?: string | null;
@@ -109,8 +126,9 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
109
126
  autoRestartEnabled?: boolean;
110
127
  size?: string | null;
111
128
  provisioningStrategy: "jobQueue" | "operator";
129
+ hasManagedGitRepo?: boolean;
112
130
  }>;
113
- deleteApp: (appId: DeleteDataAppPath["appId"], signal?: AbortSignal) => Promise<ApiResponse<unknown>>;
131
+ deleteApp: (appId: DeleteDataAppPath["appId"], signal?: AbortSignal) => Promise<ApiResponse<never>>;
114
132
  getAppPassword: (appId: GetDataAppPasswordPath["appId"], signal?: AbortSignal) => Promise<{
115
133
  password?: string;
116
134
  }>;
@@ -124,6 +142,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
124
142
  configVersion: string;
125
143
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
126
144
  desiredState: "running" | "stopped" | "deleted";
145
+ mode: "prod" | "dev";
127
146
  lastRequestTimestamp: string | null;
128
147
  lastStartTimestamp?: string | null;
129
148
  url?: string | null;
@@ -131,6 +150,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
131
150
  autoRestartEnabled?: boolean;
132
151
  size?: string | null;
133
152
  provisioningStrategy: "jobQueue" | "operator";
153
+ hasManagedGitRepo?: boolean;
134
154
  }>;
135
155
  getRuntimes: (signal?: AbortSignal) => Promise<{
136
156
  description: string;
@@ -1,10 +1,10 @@
1
- import { C as ClientInitOptions, A as ApiResponse } from '../types-Bom8wyth.js';
2
- import { G as GetDataAppRunsPath, a as GetDataAppRunsQuery, b as GetDataAppRunPath, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, L as LogEntry, f as GetAppsQuery, g as GetDataAppPath, C as CreateDataAppBody, P as PatchDataAppPath, h as PatchDataAppBody, D as DeleteDataAppPath, i as GetDataAppPasswordPath, R as ResetDataAppPasswordPath, j as GetSandboxPath } from '../utils-BNQZiNOu.js';
3
- export { p as parseLogLines } from '../utils-BNQZiNOu.js';
1
+ import { C as ClientInitOptions, A as ApiResponse } from '../types-DxJD6LIN.js';
2
+ import { G as GetDataAppRunsPath, a as GetDataAppRunsQuery, b as GetDataAppRunPath, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, L as LogEntry, f as GetAppsQuery, g as GetDataAppPath, C as CreateDataAppBody, P as PatchDataAppPath, h as PatchDataAppBody, D as DeleteDataAppPath, i as GetDataAppPasswordPath, R as ResetDataAppPasswordPath, j as GetSandboxPath } from '../utils-Cl4emy8g.js';
3
+ export { p as parseLogLines } from '../utils-Cl4emy8g.js';
4
4
  import 'qs';
5
- import '../types-C7mpAfq-.js';
5
+ import '../types-jKnx7Tm_.js';
6
6
 
7
- declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOptions) => {
7
+ declare const createDataScienceClient: ({ baseUrl, middlewares, token }: ClientInitOptions) => {
8
8
  getAppRuns: (appId: GetDataAppRunsPath["appId"], query?: GetDataAppRunsQuery, signal?: AbortSignal) => Promise<{
9
9
  state: "failed" | "starting" | "running" | "finished";
10
10
  id: string;
@@ -15,6 +15,11 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
15
15
  startupLogs?: string | null;
16
16
  runtimeSize?: string | null;
17
17
  configVersion?: string | null;
18
+ failureReason?: {
19
+ reason?: string | null;
20
+ message?: string | null;
21
+ } | null;
22
+ mode: "prod" | "dev";
18
23
  }[]>;
19
24
  getAppRun: (appId: GetDataAppRunPath["appId"], runId: GetDataAppRunPath["runId"], signal?: AbortSignal) => Promise<{
20
25
  state: "failed" | "starting" | "running" | "finished";
@@ -26,6 +31,11 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
26
31
  startupLogs?: string | null;
27
32
  runtimeSize?: string | null;
28
33
  configVersion?: string | null;
34
+ failureReason?: {
35
+ reason?: string | null;
36
+ message?: string | null;
37
+ } | null;
38
+ mode: "prod" | "dev";
29
39
  }>;
30
40
  getAppLogsDownload: (id: GetDataAppLogsDownloadPath["appId"], signal?: AbortSignal) => Promise<{
31
41
  logs: string;
@@ -48,6 +58,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
48
58
  configVersion: string;
49
59
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
50
60
  desiredState: "running" | "stopped" | "deleted";
61
+ mode: "prod" | "dev";
51
62
  lastRequestTimestamp: string | null;
52
63
  lastStartTimestamp?: string | null;
53
64
  url?: string | null;
@@ -55,6 +66,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
55
66
  autoRestartEnabled?: boolean;
56
67
  size?: string | null;
57
68
  provisioningStrategy: "jobQueue" | "operator";
69
+ hasManagedGitRepo?: boolean;
58
70
  }[]>;
59
71
  getApp: (appId: GetDataAppPath["appId"], signal?: AbortSignal) => Promise<{
60
72
  id: string;
@@ -66,6 +78,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
66
78
  configVersion: string;
67
79
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
68
80
  desiredState: "running" | "stopped" | "deleted";
81
+ mode: "prod" | "dev";
69
82
  lastRequestTimestamp: string | null;
70
83
  lastStartTimestamp?: string | null;
71
84
  url?: string | null;
@@ -73,6 +86,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
73
86
  autoRestartEnabled?: boolean;
74
87
  size?: string | null;
75
88
  provisioningStrategy: "jobQueue" | "operator";
89
+ hasManagedGitRepo?: boolean;
76
90
  }>;
77
91
  createApp: (body: CreateDataAppBody, signal?: AbortSignal) => Promise<{
78
92
  id: string;
@@ -84,6 +98,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
84
98
  configVersion: string;
85
99
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
86
100
  desiredState: "running" | "stopped" | "deleted";
101
+ mode: "prod" | "dev";
87
102
  lastRequestTimestamp: string | null;
88
103
  lastStartTimestamp?: string | null;
89
104
  url?: string | null;
@@ -91,6 +106,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
91
106
  autoRestartEnabled?: boolean;
92
107
  size?: string | null;
93
108
  provisioningStrategy: "jobQueue" | "operator";
109
+ hasManagedGitRepo?: boolean;
94
110
  }>;
95
111
  patchApp: (appId: PatchDataAppPath["appId"], body: PatchDataAppBody, signal?: AbortSignal) => Promise<{
96
112
  id: string;
@@ -102,6 +118,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
102
118
  configVersion: string;
103
119
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
104
120
  desiredState: "running" | "stopped" | "deleted";
121
+ mode: "prod" | "dev";
105
122
  lastRequestTimestamp: string | null;
106
123
  lastStartTimestamp?: string | null;
107
124
  url?: string | null;
@@ -109,8 +126,9 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
109
126
  autoRestartEnabled?: boolean;
110
127
  size?: string | null;
111
128
  provisioningStrategy: "jobQueue" | "operator";
129
+ hasManagedGitRepo?: boolean;
112
130
  }>;
113
- deleteApp: (appId: DeleteDataAppPath["appId"], signal?: AbortSignal) => Promise<ApiResponse<unknown>>;
131
+ deleteApp: (appId: DeleteDataAppPath["appId"], signal?: AbortSignal) => Promise<ApiResponse<never>>;
114
132
  getAppPassword: (appId: GetDataAppPasswordPath["appId"], signal?: AbortSignal) => Promise<{
115
133
  password?: string;
116
134
  }>;
@@ -124,6 +142,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
124
142
  configVersion: string;
125
143
  state: "created" | "starting" | "restarting" | "running" | "stopping" | "stopped" | "deleting" | "deleted";
126
144
  desiredState: "running" | "stopped" | "deleted";
145
+ mode: "prod" | "dev";
127
146
  lastRequestTimestamp: string | null;
128
147
  lastStartTimestamp?: string | null;
129
148
  url?: string | null;
@@ -131,6 +150,7 @@ declare const createDataScienceClient: ({ baseUrl, middlewares }: ClientInitOpti
131
150
  autoRestartEnabled?: boolean;
132
151
  size?: string | null;
133
152
  provisioningStrategy: "jobQueue" | "operator";
153
+ hasManagedGitRepo?: boolean;
134
154
  }>;
135
155
  getRuntimes: (signal?: AbortSignal) => Promise<{
136
156
  description: string;
@@ -1,4 +1,6 @@
1
- export { createDataScienceClient, parseLogLines } from '../chunk-RBGTWJ7G.js';
2
- import '../chunk-QXWPUKK2.js';
1
+ export { createDataScienceClient, parseLogLines } from '../chunk-54N7LIDM.js';
2
+ import '../chunk-MSI6FVGG.js';
3
+ import '../chunk-D2SWTZFS.js';
4
+ import '../chunk-SI5TFV5M.js';
3
5
  //# sourceMappingURL=index.js.map
4
6
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import '../types-C7mpAfq-.cjs';
2
- export { C as CreateDataAppBody, k as DataApp, l as DataAppRun, D as DeleteDataAppPath, f as GetAppsQuery, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, i as GetDataAppPasswordPath, g as GetDataAppPath, b as GetDataAppRunPath, G as GetDataAppRunsPath, a as GetDataAppRunsQuery, j as GetSandboxPath, L as LogEntry, h as PatchDataAppBody, P as PatchDataAppPath, m as RawAppRun, R as ResetDataAppPasswordPath, n as Runtime, o as RuntimeImageKey, S as Sandbox } from '../utils-DE09pDTi.cjs';
1
+ import '../types-jKnx7Tm_.cjs';
2
+ export { C as CreateDataAppBody, k as DataApp, l as DataAppRun, D as DeleteDataAppPath, f as GetAppsQuery, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, i as GetDataAppPasswordPath, g as GetDataAppPath, b as GetDataAppRunPath, G as GetDataAppRunsPath, a as GetDataAppRunsQuery, j as GetSandboxPath, L as LogEntry, h as PatchDataAppBody, P as PatchDataAppPath, m as RawAppRun, R as ResetDataAppPasswordPath, n as Runtime, o as RuntimeImageKey, S as Sandbox } from '../utils-JsCYFmHj.cjs';
@@ -1,2 +1,2 @@
1
- import '../types-C7mpAfq-.js';
2
- export { C as CreateDataAppBody, k as DataApp, l as DataAppRun, D as DeleteDataAppPath, f as GetAppsQuery, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, i as GetDataAppPasswordPath, g as GetDataAppPath, b as GetDataAppRunPath, G as GetDataAppRunsPath, a as GetDataAppRunsQuery, j as GetSandboxPath, L as LogEntry, h as PatchDataAppBody, P as PatchDataAppPath, m as RawAppRun, R as ResetDataAppPasswordPath, n as Runtime, o as RuntimeImageKey, S as Sandbox } from '../utils-BNQZiNOu.js';
1
+ import '../types-jKnx7Tm_.js';
2
+ export { C as CreateDataAppBody, k as DataApp, l as DataAppRun, D as DeleteDataAppPath, f as GetAppsQuery, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, i as GetDataAppPasswordPath, g as GetDataAppPath, b as GetDataAppRunPath, G as GetDataAppRunsPath, a as GetDataAppRunsQuery, j as GetSandboxPath, L as LogEntry, h as PatchDataAppBody, P as PatchDataAppPath, m as RawAppRun, R as ResetDataAppPasswordPath, n as Runtime, o as RuntimeImageKey, S as Sandbox } from '../utils-Cl4emy8g.js';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkGF4XZK5N_cjs = require('../../chunk-GF4XZK5N.cjs');
4
+ var chunkR7MQGDLC_cjs = require('../../chunk-R7MQGDLC.cjs');
4
5
 
5
6
  // src/domain/permissions/errors.ts
6
7
  var PermissionDeniedError = class extends Error {
@@ -17,18 +18,11 @@ var PermissionDeniedError = class extends Error {
17
18
  };
18
19
 
19
20
  // src/domain/permissions/admin.ts
20
- var AdminRoles = {
21
- ADMIN: "admin",
22
- SHARE: "share",
23
- PRODUCTION_MANAGER: "productionManager",
24
- DEVELOPER: "developer",
25
- REVIEWER: "reviewer"
26
- };
27
21
  var role = (token) => token.admin.role;
28
- var isAdmin = (token) => role(token) === AdminRoles.ADMIN;
29
- var isAdminOrShare = (token) => role(token) === AdminRoles.ADMIN || role(token) === AdminRoles.SHARE;
30
- var isProductionManager = (token) => role(token) === AdminRoles.PRODUCTION_MANAGER;
31
- var isDeveloperOrReviewer = (token) => role(token) === AdminRoles.DEVELOPER || role(token) === AdminRoles.REVIEWER;
22
+ var isAdmin = (token) => role(token) === chunkR7MQGDLC_cjs.AdminRoles.ADMIN;
23
+ var isAdminOrShare = (token) => role(token) === chunkR7MQGDLC_cjs.AdminRoles.ADMIN || role(token) === chunkR7MQGDLC_cjs.AdminRoles.SHARE;
24
+ var isProductionManager = (token) => role(token) === chunkR7MQGDLC_cjs.AdminRoles.PRODUCTION_MANAGER;
25
+ var isDeveloperOrReviewer = (token) => role(token) === chunkR7MQGDLC_cjs.AdminRoles.DEVELOPER || role(token) === chunkR7MQGDLC_cjs.AdminRoles.REVIEWER;
32
26
  var assertCanAdmin = (token) => {
33
27
  if (!isAdmin(token)) {
34
28
  throw new PermissionDeniedError({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { PermissionDeniedError } from './errors';\n\nconst AdminRoles = {\n ADMIN: 'admin',\n SHARE: 'share',\n PRODUCTION_MANAGER: 'productionManager',\n DEVELOPER: 'developer',\n REVIEWER: 'reviewer',\n} as const;\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRoles.ADMIN;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRoles.ADMIN || role(token) === AdminRoles.SHARE;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRoles.PRODUCTION_MANAGER;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRoles.DEVELOPER || role(token) === AdminRoles.REVIEWER;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}
1
+ {"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":["AdminRoles"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRoles } from '../../constants';\n\nimport { PermissionDeniedError } from './errors';\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRoles.ADMIN;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRoles.ADMIN || role(token) === AdminRoles.SHARE;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRoles.PRODUCTION_MANAGER;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRoles.DEVELOPER || role(token) === AdminRoles.REVIEWER;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}
@@ -1,5 +1,6 @@
1
- import { S as StorageToken } from '../../types-DYMMsuU0.cjs';
2
- export { h as hasAdminFeature, a as hasFeature } from '../../project-CYhB6rYN.cjs';
1
+ import { S as StorageToken } from '../../types-DJbXfC2q.cjs';
2
+ export { h as hasAdminFeature, a as hasFeature } from '../../project-C_m_tOgy.cjs';
3
+ import '../../types-jKnx7Tm_.cjs';
3
4
 
4
5
  /**
5
6
  * @module domain/permissions/errors
@@ -1,5 +1,6 @@
1
- import { S as StorageToken } from '../../types-DYMMsuU0.js';
2
- export { h as hasAdminFeature, a as hasFeature } from '../../project-Bzslbq4u.js';
1
+ import { S as StorageToken } from '../../types-BG8yQyYt.js';
2
+ export { h as hasAdminFeature, a as hasFeature } from '../../project-DQLliCsX.js';
3
+ import '../../types-jKnx7Tm_.js';
3
4
 
4
5
  /**
5
6
  * @module domain/permissions/errors
@@ -1,4 +1,5 @@
1
1
  export { hasAdminFeature, hasFeature } from '../../chunk-UABYNGBZ.js';
2
+ import { AdminRoles } from '../../chunk-SI5TFV5M.js';
2
3
 
3
4
  // src/domain/permissions/errors.ts
4
5
  var PermissionDeniedError = class extends Error {
@@ -15,13 +16,6 @@ var PermissionDeniedError = class extends Error {
15
16
  };
16
17
 
17
18
  // src/domain/permissions/admin.ts
18
- var AdminRoles = {
19
- ADMIN: "admin",
20
- SHARE: "share",
21
- PRODUCTION_MANAGER: "productionManager",
22
- DEVELOPER: "developer",
23
- REVIEWER: "reviewer"
24
- };
25
19
  var role = (token) => token.admin.role;
26
20
  var isAdmin = (token) => role(token) === AdminRoles.ADMIN;
27
21
  var isAdminOrShare = (token) => role(token) === AdminRoles.ADMIN || role(token) === AdminRoles.SHARE;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { PermissionDeniedError } from './errors';\n\nconst AdminRoles = {\n ADMIN: 'admin',\n SHARE: 'share',\n PRODUCTION_MANAGER: 'productionManager',\n DEVELOPER: 'developer',\n REVIEWER: 'reviewer',\n} as const;\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRoles.ADMIN;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRoles.ADMIN || role(token) === AdminRoles.SHARE;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRoles.PRODUCTION_MANAGER;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRoles.DEVELOPER || role(token) === AdminRoles.REVIEWER;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}
1
+ {"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRoles } from '../../constants';\n\nimport { PermissionDeniedError } from './errors';\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRoles.ADMIN;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRoles.ADMIN || role(token) === AdminRoles.SHARE;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRoles.PRODUCTION_MANAGER;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRoles.DEVELOPER || role(token) === AdminRoles.REVIEWER;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}