@keboola/api-client 21.0.0 → 24.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 (375) hide show
  1. package/API-SURFACE.md +72 -1
  2. package/README.md +43 -2
  3. package/dist/{ManagementClientAuthError-CJu_hpGi.d.cts → ManagementClientAuthError-BuqHAOBO.d.cts} +1 -1
  4. package/dist/{ManagementClientAuthError-B3PZRWBU.d.ts → ManagementClientAuthError-C7q1Jd9I.d.ts} +1 -1
  5. package/dist/ai/index.cjs +4 -4
  6. package/dist/ai/index.d.cts +4 -3
  7. package/dist/ai/index.d.ts +4 -3
  8. package/dist/ai/index.js +3 -3
  9. package/dist/ai/types.d.cts +2 -2
  10. package/dist/ai/types.d.ts +2 -2
  11. package/dist/assets/index.cjs +19 -4
  12. package/dist/assets/index.cjs.map +1 -1
  13. package/dist/assets/index.d.cts +18 -3
  14. package/dist/assets/index.d.ts +18 -3
  15. package/dist/assets/index.js +18 -3
  16. package/dist/assets/index.js.map +1 -1
  17. package/dist/assets/schema.cjs +16 -0
  18. package/dist/assets/schema.cjs.map +1 -0
  19. package/dist/assets/schema.d.cts +28 -0
  20. package/dist/assets/schema.d.ts +28 -0
  21. package/dist/assets/schema.js +3 -0
  22. package/dist/assets/schema.js.map +1 -0
  23. package/dist/auth/index.cjs +22 -10
  24. package/dist/auth/index.d.cts +40 -5
  25. package/dist/auth/index.d.ts +40 -5
  26. package/dist/auth/index.js +2 -2
  27. package/dist/auth/types.d.cts +4 -8
  28. package/dist/auth/types.d.ts +4 -8
  29. package/dist/chat/index.cjs +4 -4
  30. package/dist/chat/index.d.cts +4 -8
  31. package/dist/chat/index.d.ts +4 -8
  32. package/dist/chat/index.js +3 -3
  33. package/dist/chat/types.d.cts +2 -2
  34. package/dist/chat/types.d.ts +2 -2
  35. package/dist/chunk-22E6IGXR.js +6 -0
  36. package/dist/chunk-22E6IGXR.js.map +1 -0
  37. package/dist/chunk-2CFM7K4U.cjs +55 -0
  38. package/dist/chunk-2CFM7K4U.cjs.map +1 -0
  39. package/dist/{chunk-CWD66KRM.js → chunk-34GM6NXB.js} +4 -4
  40. package/dist/{chunk-CWD66KRM.js.map → chunk-34GM6NXB.js.map} +1 -1
  41. package/dist/{chunk-CBVGOANJ.cjs → chunk-35MODDCL.cjs} +6 -7
  42. package/dist/chunk-35MODDCL.cjs.map +1 -0
  43. package/dist/{chunk-IWNJ47CV.js → chunk-3BFPNM2J.js} +14 -5
  44. package/dist/chunk-3BFPNM2J.js.map +1 -0
  45. package/dist/{chunk-V6QQZLEU.js → chunk-3MTY6I2W.js} +4 -4
  46. package/dist/{chunk-V6QQZLEU.js.map → chunk-3MTY6I2W.js.map} +1 -1
  47. package/dist/{chunk-ZHNOZHJG.js → chunk-3PVERYSF.js} +3 -3
  48. package/dist/{chunk-ZHNOZHJG.js.map → chunk-3PVERYSF.js.map} +1 -1
  49. package/dist/chunk-3YWQQ3OG.cjs +79 -0
  50. package/dist/chunk-3YWQQ3OG.cjs.map +1 -0
  51. package/dist/chunk-4VVF2PIX.js +110 -0
  52. package/dist/chunk-4VVF2PIX.js.map +1 -0
  53. package/dist/{chunk-ZCODWFCC.js → chunk-5XWVWFTC.js} +4 -4
  54. package/dist/{chunk-ZCODWFCC.js.map → chunk-5XWVWFTC.js.map} +1 -1
  55. package/dist/chunk-6YZQIMML.cjs +163 -0
  56. package/dist/chunk-6YZQIMML.cjs.map +1 -0
  57. package/dist/{chunk-P6OWDUN7.js → chunk-77LILJYX.js} +4 -4
  58. package/dist/{chunk-P6OWDUN7.js.map → chunk-77LILJYX.js.map} +1 -1
  59. package/dist/{chunk-X6BQTEIT.cjs → chunk-7R22VKV7.cjs} +7 -7
  60. package/dist/{chunk-X6BQTEIT.cjs.map → chunk-7R22VKV7.cjs.map} +1 -1
  61. package/dist/chunk-7RO6PKZ4.cjs +16 -0
  62. package/dist/{chunk-UQWVZTEA.cjs.map → chunk-7RO6PKZ4.cjs.map} +1 -1
  63. package/dist/{chunk-OZMUKLXN.cjs → chunk-7YXL4FKN.cjs} +6 -6
  64. package/dist/{chunk-OZMUKLXN.cjs.map → chunk-7YXL4FKN.cjs.map} +1 -1
  65. package/dist/{chunk-R2FAPJMZ.js → chunk-7Z4MU7ZB.js} +498 -132
  66. package/dist/chunk-7Z4MU7ZB.js.map +1 -0
  67. package/dist/{chunk-FDISA5KO.cjs → chunk-AFJGNBVM.cjs} +16 -7
  68. package/dist/chunk-AFJGNBVM.cjs.map +1 -0
  69. package/dist/{chunk-4WX5W7YU.js → chunk-AXEANGGK.js} +4 -4
  70. package/dist/{chunk-4WX5W7YU.js.map → chunk-AXEANGGK.js.map} +1 -1
  71. package/dist/chunk-BCZPCMGL.cjs +49 -0
  72. package/dist/chunk-BCZPCMGL.cjs.map +1 -0
  73. package/dist/{chunk-NRJTA5P3.cjs → chunk-BR6WZE3O.cjs} +4 -4
  74. package/dist/{chunk-NRJTA5P3.cjs.map → chunk-BR6WZE3O.cjs.map} +1 -1
  75. package/dist/{chunk-EXNR4FGV.js → chunk-BZA3FGO6.js} +3 -3
  76. package/dist/{chunk-EXNR4FGV.js.map → chunk-BZA3FGO6.js.map} +1 -1
  77. package/dist/{chunk-LFLFNQMQ.js → chunk-CV2JGHBN.js} +4 -4
  78. package/dist/{chunk-LFLFNQMQ.js.map → chunk-CV2JGHBN.js.map} +1 -1
  79. package/dist/{chunk-WWICQYOY.cjs → chunk-CWCUQACX.cjs} +4 -4
  80. package/dist/{chunk-WWICQYOY.cjs.map → chunk-CWCUQACX.cjs.map} +1 -1
  81. package/dist/{chunk-LGWRJM5X.cjs → chunk-CWUQ6ZAO.cjs} +6 -6
  82. package/dist/{chunk-LGWRJM5X.cjs.map → chunk-CWUQ6ZAO.cjs.map} +1 -1
  83. package/dist/{chunk-Z76DIRLA.cjs → chunk-D3ZZQIY2.cjs} +9 -2
  84. package/dist/{chunk-4IEIVLYT.js.map → chunk-D3ZZQIY2.cjs.map} +1 -1
  85. package/dist/{chunk-4IEIVLYT.js → chunk-D6O5C67S.js} +9 -2
  86. package/dist/chunk-D6O5C67S.js.map +1 -0
  87. package/dist/{chunk-XPQBE77T.cjs → chunk-DRNOCC6W.cjs} +61 -8
  88. package/dist/chunk-DRNOCC6W.cjs.map +1 -0
  89. package/dist/{chunk-6JXSO3AR.js → chunk-EDX5D6UY.js} +3 -3
  90. package/dist/{chunk-6JXSO3AR.js.map → chunk-EDX5D6UY.js.map} +1 -1
  91. package/dist/chunk-FPB6OGTV.js +26 -0
  92. package/dist/chunk-FPB6OGTV.js.map +1 -0
  93. package/dist/{chunk-YVC4NGW2.js → chunk-G66EP527.js} +4 -4
  94. package/dist/{chunk-YVC4NGW2.js.map → chunk-G66EP527.js.map} +1 -1
  95. package/dist/chunk-HMCZUHR7.js +53 -0
  96. package/dist/chunk-HMCZUHR7.js.map +1 -0
  97. package/dist/{chunk-YHMW7CZF.cjs → chunk-HY7J3OD3.cjs} +508 -142
  98. package/dist/chunk-HY7J3OD3.cjs.map +1 -0
  99. package/dist/{chunk-SB7AVZQU.cjs → chunk-IDWGBCSB.cjs} +6 -6
  100. package/dist/{chunk-SB7AVZQU.cjs.map → chunk-IDWGBCSB.cjs.map} +1 -1
  101. package/dist/{chunk-3GTRQFWA.cjs → chunk-J3NLKXQ5.cjs} +9 -9
  102. package/dist/{chunk-3GTRQFWA.cjs.map → chunk-J3NLKXQ5.cjs.map} +1 -1
  103. package/dist/{chunk-6BYHD5DG.js → chunk-KH6BHTXN.js} +3 -4
  104. package/dist/chunk-KH6BHTXN.js.map +1 -0
  105. package/dist/{chunk-4HBUVR57.cjs → chunk-KUYVBCUM.cjs} +82 -6
  106. package/dist/chunk-KUYVBCUM.cjs.map +1 -0
  107. package/dist/{chunk-AFIQYB2O.cjs → chunk-L262THNK.cjs} +9 -9
  108. package/dist/{chunk-AFIQYB2O.cjs.map → chunk-L262THNK.cjs.map} +1 -1
  109. package/dist/chunk-LD3JERYP.js +77 -0
  110. package/dist/chunk-LD3JERYP.js.map +1 -0
  111. package/dist/chunk-LIXSIM3H.cjs +113 -0
  112. package/dist/chunk-LIXSIM3H.cjs.map +1 -0
  113. package/dist/{chunk-IUN2ZSU3.cjs → chunk-MMOAH3EH.cjs} +72 -6
  114. package/dist/chunk-MMOAH3EH.cjs.map +1 -0
  115. package/dist/{chunk-DAAHTUXU.cjs → chunk-NVQ6LGDO.cjs} +6 -6
  116. package/dist/{chunk-DAAHTUXU.cjs.map → chunk-NVQ6LGDO.cjs.map} +1 -1
  117. package/dist/{chunk-U7CANHDD.js → chunk-NVRVPWNY.js} +16 -5
  118. package/dist/chunk-NVRVPWNY.js.map +1 -0
  119. package/dist/{chunk-KF5EI2IB.js → chunk-OUSPQ55W.js} +57 -7
  120. package/dist/chunk-OUSPQ55W.js.map +1 -0
  121. package/dist/{chunk-C5R6ITYD.cjs → chunk-PPQF7LTS.cjs} +24 -7
  122. package/dist/chunk-PPQF7LTS.cjs.map +1 -0
  123. package/dist/chunk-PSR3N4NC.js +136 -0
  124. package/dist/chunk-PSR3N4NC.js.map +1 -0
  125. package/dist/chunk-QHD4LPAQ.cjs +8 -0
  126. package/dist/chunk-QHD4LPAQ.cjs.map +1 -0
  127. package/dist/{chunk-S5XEXK36.cjs → chunk-QZKDBVAU.cjs} +9 -9
  128. package/dist/{chunk-S5XEXK36.cjs.map → chunk-QZKDBVAU.cjs.map} +1 -1
  129. package/dist/{chunk-5FDQYOJD.js → chunk-S4JK7DKM.js} +22 -5
  130. package/dist/chunk-S4JK7DKM.js.map +1 -0
  131. package/dist/{chunk-DAS5UQN6.cjs → chunk-T242YFMT.cjs} +19 -8
  132. package/dist/chunk-T242YFMT.cjs.map +1 -0
  133. package/dist/{chunk-M2LJZXVR.js → chunk-UP5SEEYZ.js} +73 -7
  134. package/dist/chunk-UP5SEEYZ.js.map +1 -0
  135. package/dist/{chunk-RTQEMQIC.cjs → chunk-UWQUHP3T.cjs} +6 -6
  136. package/dist/{chunk-RTQEMQIC.cjs.map → chunk-UWQUHP3T.cjs.map} +1 -1
  137. package/dist/{chunk-NV3P6XBU.js → chunk-WFXW4XU3.js} +4 -4
  138. package/dist/{chunk-NV3P6XBU.js.map → chunk-WFXW4XU3.js.map} +1 -1
  139. package/dist/{chunk-RK2VGHJE.js → chunk-XHDYLUM4.js} +71 -7
  140. package/dist/chunk-XHDYLUM4.js.map +1 -0
  141. package/dist/{chunk-WXGYFLFX.js → chunk-XIIER7QQ.js} +4 -4
  142. package/dist/{chunk-WXGYFLFX.js.map → chunk-XIIER7QQ.js.map} +1 -1
  143. package/dist/{chunk-DJ5LXAG3.js → chunk-XKIENBIE.js} +4 -4
  144. package/dist/{chunk-DJ5LXAG3.js.map → chunk-XKIENBIE.js.map} +1 -1
  145. package/dist/{chunk-HJQYMALV.cjs → chunk-Y44G2VDC.cjs} +6 -6
  146. package/dist/{chunk-HJQYMALV.cjs.map → chunk-Y44G2VDC.cjs.map} +1 -1
  147. package/dist/constants/index.cjs +20 -6
  148. package/dist/constants/index.cjs.map +1 -1
  149. package/dist/constants/index.d.cts +1 -0
  150. package/dist/constants/index.d.ts +1 -0
  151. package/dist/constants/index.js +16 -2
  152. package/dist/constants/index.js.map +1 -1
  153. package/dist/{createGenericFetchClient-DJ-oaxPj.d.cts → createGenericFetchClient-Df_wFqT8.d.cts} +1 -1
  154. package/dist/{createGenericFetchClient-B2Gp1a8f.d.ts → createGenericFetchClient-Sl1DH71J.d.ts} +1 -1
  155. package/dist/{createOpenapiFetchClient-BMaILWyq.d.ts → createOpenapiFetchClient-BSy6dVM5.d.ts} +2 -2
  156. package/dist/{createOpenapiFetchClient-DQL2ZYNb.d.cts → createOpenapiFetchClient-GZxZgYHd.d.cts} +2 -2
  157. package/dist/dataScience/index.cjs +5 -5
  158. package/dist/dataScience/index.d.cts +4 -9
  159. package/dist/dataScience/index.d.ts +4 -9
  160. package/dist/dataScience/index.js +3 -3
  161. package/dist/dataScience/types.d.cts +2 -2
  162. package/dist/dataScience/types.d.ts +2 -2
  163. package/dist/domain/permissions/index.cjs +106 -122
  164. package/dist/domain/permissions/index.cjs.map +1 -1
  165. package/dist/domain/permissions/index.d.cts +42 -5
  166. package/dist/domain/permissions/index.d.ts +42 -5
  167. package/dist/domain/permissions/index.js +2 -106
  168. package/dist/domain/permissions/index.js.map +1 -1
  169. package/dist/editor/index.cjs +4 -4
  170. package/dist/editor/index.d.cts +3 -3
  171. package/dist/editor/index.d.ts +3 -3
  172. package/dist/editor/index.js +3 -3
  173. package/dist/editor/types.d.cts +2 -2
  174. package/dist/editor/types.d.ts +2 -2
  175. package/dist/encryption/index.cjs +3 -3
  176. package/dist/encryption/index.d.cts +3 -3
  177. package/dist/encryption/index.d.ts +3 -3
  178. package/dist/encryption/index.js +2 -2
  179. package/dist/encryption/types.d.cts +2 -2
  180. package/dist/encryption/types.d.ts +2 -2
  181. package/dist/import/index.cjs +4 -4
  182. package/dist/import/index.d.cts +37 -3
  183. package/dist/import/index.d.ts +37 -3
  184. package/dist/import/index.js +3 -3
  185. package/dist/index.cjs +136 -103
  186. package/dist/index.cjs.map +1 -1
  187. package/dist/index.d.cts +493 -81
  188. package/dist/index.d.ts +493 -81
  189. package/dist/index.js +63 -33
  190. package/dist/index.js.map +1 -1
  191. package/dist/management/index.cjs +5 -5
  192. package/dist/management/index.d.cts +597 -99
  193. package/dist/management/index.d.ts +597 -99
  194. package/dist/management/index.js +3 -3
  195. package/dist/management/types.d.cts +3 -2
  196. package/dist/management/types.d.ts +3 -2
  197. package/dist/metastore/index.cjs +4 -4
  198. package/dist/metastore/index.d.cts +4 -4
  199. package/dist/metastore/index.d.ts +4 -4
  200. package/dist/metastore/index.js +3 -3
  201. package/dist/metastore/types.d.cts +2 -2
  202. package/dist/metastore/types.d.ts +2 -2
  203. package/dist/notifications/index.cjs +5 -4
  204. package/dist/notifications/index.d.cts +30 -17
  205. package/dist/notifications/index.d.ts +30 -17
  206. package/dist/notifications/index.js +4 -3
  207. package/dist/notifications/types.d.cts +2 -2
  208. package/dist/notifications/types.d.ts +2 -2
  209. package/dist/oauth/index.cjs +4 -4
  210. package/dist/oauth/index.d.cts +46 -6
  211. package/dist/oauth/index.d.ts +46 -6
  212. package/dist/oauth/index.js +3 -3
  213. package/dist/oauth/types.d.cts +718 -27
  214. package/dist/oauth/types.d.ts +718 -27
  215. package/dist/{project-DEFMKeAm.d.cts → project-CSJzVylj.d.cts} +1 -1
  216. package/dist/{project-BpTHlKfO.d.ts → project-DmC8vKnh.d.ts} +1 -1
  217. package/dist/queryService/index.cjs +4 -4
  218. package/dist/queryService/index.d.cts +3 -3
  219. package/dist/queryService/index.d.ts +3 -3
  220. package/dist/queryService/index.js +3 -3
  221. package/dist/queryService/types.d.cts +2 -2
  222. package/dist/queryService/types.d.ts +2 -2
  223. package/dist/queue/index.cjs +5 -4
  224. package/dist/queue/index.d.cts +207 -3
  225. package/dist/queue/index.d.ts +207 -3
  226. package/dist/queue/index.js +4 -3
  227. package/dist/queue/types.d.cts +2 -2
  228. package/dist/queue/types.d.ts +2 -2
  229. package/dist/{registry-v_1krdcs.d.cts → registry-CcKlB-yY.d.ts} +15 -2
  230. package/dist/{registry-v_1krdcs.d.ts → registry-Cg0Yng1z.d.cts} +15 -2
  231. package/dist/scheduler/index.cjs +5 -4
  232. package/dist/scheduler/index.d.cts +3 -2
  233. package/dist/scheduler/index.d.ts +3 -2
  234. package/dist/scheduler/index.js +4 -3
  235. package/dist/scheduler/types.d.cts +1 -1
  236. package/dist/scheduler/types.d.ts +1 -1
  237. package/dist/sdk/configurations/index.cjs +4 -2
  238. package/dist/sdk/configurations/index.d.cts +12 -11
  239. package/dist/sdk/configurations/index.d.ts +12 -11
  240. package/dist/sdk/configurations/index.js +3 -1
  241. package/dist/sdk/semanticLayer/index.cjs +43 -3
  242. package/dist/sdk/semanticLayer/index.d.cts +121 -6
  243. package/dist/sdk/semanticLayer/index.d.ts +121 -6
  244. package/dist/sdk/semanticLayer/index.js +1 -1
  245. package/dist/sdk/semanticLayer/types.d.cts +4 -4
  246. package/dist/sdk/semanticLayer/types.d.ts +4 -4
  247. package/dist/sdk/storage/index.cjs +12 -11
  248. package/dist/sdk/storage/index.d.cts +7 -7
  249. package/dist/sdk/storage/index.d.ts +7 -7
  250. package/dist/sdk/storage/index.js +2 -1
  251. package/dist/sdk/tag/index.d.cts +4 -4
  252. package/dist/sdk/tag/index.d.ts +4 -4
  253. package/dist/sdk/tag/types.d.cts +4 -4
  254. package/dist/sdk/tag/types.d.ts +4 -4
  255. package/dist/sdk/vault/index.d.cts +4 -4
  256. package/dist/sdk/vault/index.d.ts +4 -4
  257. package/dist/status/index.cjs +2 -2
  258. package/dist/status/index.d.cts +1 -1
  259. package/dist/status/index.d.ts +1 -1
  260. package/dist/status/index.js +1 -1
  261. package/dist/storage/index.cjs +12 -12
  262. package/dist/storage/index.d.cts +7 -7
  263. package/dist/storage/index.d.ts +7 -7
  264. package/dist/storage/index.js +5 -5
  265. package/dist/storage/types.d.cts +4 -4
  266. package/dist/storage/types.d.ts +4 -4
  267. package/dist/{storageClient-BONJnuhr.d.ts → storageClient-B4OooGB9.d.ts} +4 -4
  268. package/dist/{storageClient-BxgbulPW.d.cts → storageClient-CdFqTbn3.d.cts} +4 -4
  269. package/dist/{storageSdk-CUnp67LN.d.ts → storageSdk-DA7U-1Hy.d.ts} +1 -1
  270. package/dist/{storageSdk-uCojVKkr.d.cts → storageSdk-U45zMbUb.d.cts} +1 -1
  271. package/dist/stream/index.cjs +4 -4
  272. package/dist/stream/index.d.cts +3 -3
  273. package/dist/stream/index.d.ts +3 -3
  274. package/dist/stream/index.js +3 -3
  275. package/dist/stream/types.d.cts +2 -2
  276. package/dist/stream/types.d.ts +2 -2
  277. package/dist/syncActions/index.cjs +4 -4
  278. package/dist/syncActions/index.d.cts +3 -3
  279. package/dist/syncActions/index.d.ts +3 -3
  280. package/dist/syncActions/index.js +3 -3
  281. package/dist/syncActions/types.d.cts +1 -10
  282. package/dist/syncActions/types.d.ts +1 -10
  283. package/dist/telemetry/index.cjs +4 -4
  284. package/dist/telemetry/index.d.cts +2 -2
  285. package/dist/telemetry/index.d.ts +2 -2
  286. package/dist/telemetry/index.js +3 -3
  287. package/dist/{types-CWebeQXy.d.cts → types-B-vmDlWB.d.cts} +1 -1
  288. package/dist/{types-Do0nBZbY.d.ts → types-B30y9Lhc.d.ts} +1 -1
  289. package/dist/{types-GRfGXouy.d.cts → types-BEnE7LHB.d.cts} +2 -2
  290. package/dist/{types-BxjcUj-y.d.cts → types-BX1xr4CX.d.cts} +27 -4
  291. package/dist/types-BfuVN8Pk.d.cts +468 -0
  292. package/dist/{types-BogOtZre.d.ts → types-BhlJw2f2.d.ts} +500 -44
  293. package/dist/{types-Dv3vN7M9.d.ts → types-BieLFMW1.d.cts} +1 -1
  294. package/dist/{types-BM3xJvzM.d.ts → types-Brc6lq7i.d.ts} +1 -1
  295. package/dist/{types-BjcRP8q1.d.cts → types-CM1zHzgm.d.ts} +585 -6
  296. package/dist/{types-VK3k4Z6R.d.cts → types-CSZoV4lM.d.cts} +1 -1
  297. package/dist/{types-CbEJaobw.d.ts → types-Cgh3jqrV.d.cts} +585 -6
  298. package/dist/{types-DFWnAftN.d.cts → types-CiJ5ULtS.d.ts} +1 -1
  299. package/dist/{types-D3Kkh6yW.d.ts → types-CrLjE5xf.d.ts} +3 -545
  300. package/dist/{types-D9cNOf-3.d.cts → types-D-MuJHwl.d.cts} +10 -1
  301. package/dist/{types-CFd7q2ed.d.ts → types-DHXZZKb3.d.ts} +1 -1
  302. package/dist/{types-DqxZDbM1.d.ts → types-DNg4M5JV.d.cts} +2 -0
  303. package/dist/{types-DqxZDbM1.d.cts → types-DNg4M5JV.d.ts} +2 -0
  304. package/dist/{types-B9SJ0cIc.d.cts → types-DVhcwrwN.d.cts} +500 -44
  305. package/dist/{types-CvHPHNH0.d.cts → types-DYnHIm7m.d.cts} +3 -545
  306. package/dist/{types-BbeZapCu.d.ts → types-DbAO-Tgk.d.ts} +2 -2
  307. package/dist/{types-yKV1EX6f.d.ts → types-DeS-oVdn.d.ts} +10 -1
  308. package/dist/{types-DJLceKR0.d.ts → types-DeoA45gz.d.cts} +679 -89
  309. package/dist/{types-CS8MYc2k.d.ts → types-DgSyBwP3.d.cts} +21 -17
  310. package/dist/{types-BVldT2vs.d.cts → types-DpUcInCX.d.ts} +21 -17
  311. package/dist/{types-DacFMc6L.d.ts → types-DwMezEHT.d.ts} +27 -4
  312. package/dist/{types-DJLceKR0.d.cts → types-Hj1CaKtV.d.ts} +679 -89
  313. package/dist/{types-C6gjiVpQ.d.cts → types-WGZN6XLN.d.cts} +1 -1
  314. package/dist/types-YzkNUuYo.d.ts +468 -0
  315. package/dist/{types-jKnx7Tm_.d.ts → types-gcShAmmi.d.cts} +27 -1
  316. package/dist/{types-jKnx7Tm_.d.cts → types-gcShAmmi.d.ts} +27 -1
  317. package/dist/{utils-C7eSJKtG.d.ts → utils-B_SOM1XR.d.ts} +997 -168
  318. package/dist/{utils-DDERw8dM.d.cts → utils-DK7uJcmR.d.cts} +997 -168
  319. package/dist/vault/index.cjs +4 -4
  320. package/dist/vault/index.d.cts +2 -2
  321. package/dist/vault/index.d.ts +2 -2
  322. package/dist/vault/index.js +3 -3
  323. package/dist/vault/types.d.cts +4 -10
  324. package/dist/vault/types.d.ts +4 -10
  325. package/package.json +10 -10
  326. package/surface/ai.md +2 -2
  327. package/surface/auth.md +13 -1
  328. package/surface/dataScience.md +5 -5
  329. package/surface/import.md +2 -1
  330. package/surface/kaiAgent.md +3 -3
  331. package/surface/management.md +86 -29
  332. package/surface/notifications.md +6 -4
  333. package/surface/oauth.md +4 -4
  334. package/surface/queue.md +6 -1
  335. package/surface/scheduler.md +1 -0
  336. package/surface/sdk.md +2 -0
  337. package/surface/storage.md +1 -1
  338. package/dist/assets/types.cjs +0 -4
  339. package/dist/assets/types.cjs.map +0 -1
  340. package/dist/assets/types.d.cts +0 -8
  341. package/dist/assets/types.d.ts +0 -8
  342. package/dist/assets/types.js +0 -3
  343. package/dist/assets/types.js.map +0 -1
  344. package/dist/chunk-4HBUVR57.cjs.map +0 -1
  345. package/dist/chunk-5FDQYOJD.js.map +0 -1
  346. package/dist/chunk-6BYHD5DG.js.map +0 -1
  347. package/dist/chunk-C5R6ITYD.cjs.map +0 -1
  348. package/dist/chunk-CBVGOANJ.cjs.map +0 -1
  349. package/dist/chunk-DAS5UQN6.cjs.map +0 -1
  350. package/dist/chunk-FDISA5KO.cjs.map +0 -1
  351. package/dist/chunk-HHULC5GT.cjs +0 -44
  352. package/dist/chunk-HHULC5GT.cjs.map +0 -1
  353. package/dist/chunk-HUNYAVJJ.cjs +0 -78
  354. package/dist/chunk-HUNYAVJJ.cjs.map +0 -1
  355. package/dist/chunk-IUN2ZSU3.cjs.map +0 -1
  356. package/dist/chunk-IWNJ47CV.js.map +0 -1
  357. package/dist/chunk-KF5EI2IB.js.map +0 -1
  358. package/dist/chunk-M2LJZXVR.js.map +0 -1
  359. package/dist/chunk-MUC6XWII.js +0 -42
  360. package/dist/chunk-MUC6XWII.js.map +0 -1
  361. package/dist/chunk-NZN6OX4H.cjs +0 -38
  362. package/dist/chunk-NZN6OX4H.cjs.map +0 -1
  363. package/dist/chunk-QNDU44PQ.js +0 -36
  364. package/dist/chunk-QNDU44PQ.js.map +0 -1
  365. package/dist/chunk-R2FAPJMZ.js.map +0 -1
  366. package/dist/chunk-RK2VGHJE.js.map +0 -1
  367. package/dist/chunk-U7CANHDD.js.map +0 -1
  368. package/dist/chunk-UQWVZTEA.cjs +0 -16
  369. package/dist/chunk-VTC3FL4B.js +0 -76
  370. package/dist/chunk-VTC3FL4B.js.map +0 -1
  371. package/dist/chunk-XPQBE77T.cjs.map +0 -1
  372. package/dist/chunk-YHMW7CZF.cjs.map +0 -1
  373. package/dist/chunk-Z76DIRLA.cjs.map +0 -1
  374. package/dist/types-Dg1tEsVR.d.cts +0 -17
  375. package/dist/types-Dg1tEsVR.d.ts +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdks/semanticLayer/semanticLayerSdk.ts","../src/sdks/semanticLayer/schemas.ts"],"names":["generateUUID","concurrent","z"],"mappings":"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","file":"chunk-KUYVBCUM.cjs","sourcesContent":["import { concurrent, generateUUID } from '../../utils';\n\nimport type {\n CreateSemanticObjectMeta,\n MetastoreClient,\n SemanticChildObjectDataMap,\n SemanticChildObjectType,\n SemanticConstraintType,\n SemanticModelData,\n SemanticObject,\n SemanticObjectMeta,\n SemanticObjectType,\n UpdateSemanticObjectMeta,\n} from './types';\n\nexport const SEMANTIC_OBJECT_TYPE = {\n MODEL: 'semantic-model',\n DATASET: 'semantic-dataset',\n METRIC: 'semantic-metric',\n RELATIONSHIP: 'semantic-relationship',\n GLOSSARY: 'semantic-glossary',\n CONSTRAINT: 'semantic-constraint',\n} as const satisfies Record<string, SemanticObjectType>;\n\n/**\n * `readonly` because this drives `createModelTree`, `listModelChildren` and `deleteModel` —\n * a consumer-side `.push()` would silently change what a cascade delete touches.\n */\nexport const MODEL_CHILD_OBJECT_TYPES: readonly SemanticChildObjectType[] = [\n SEMANTIC_OBJECT_TYPE.DATASET,\n SEMANTIC_OBJECT_TYPE.METRIC,\n SEMANTIC_OBJECT_TYPE.RELATIONSHIP,\n SEMANTIC_OBJECT_TYPE.GLOSSARY,\n SEMANTIC_OBJECT_TYPE.CONSTRAINT,\n] as const;\n\n/**\n * The dialects the metastore accepts, exactly as it spells them. A lowercase value is\n * rejected with `422 value must be one of 'Snowflake', 'BigQuery'`, which surfaces only as a\n * generic \"Validation failed\" — so callers need the real set rather than a bare `string`.\n *\n * `SemanticModelData.sql_dialect` stays `string` for now: narrowing it would break any caller\n * passing a `string` variable, which is a major bump. Validate against this instead.\n */\nexport const SQL_DIALECTS = ['Snowflake', 'BigQuery'] as const;\n\n/** The metastore's constraint kinds. Runtime counterpart to `SemanticConstraintType`. */\nexport const CONSTRAINT_TYPES = [\n 'inequality',\n 'equality',\n 'range',\n 'composition',\n 'exclusion',\n 'temporal',\n 'conditional',\n] as const satisfies readonly SemanticConstraintType[];\n\nconst DEFAULT_BRANCH = 'main';\n\n// The metastore has no bulk endpoint; large semantic-layer inits are written as\n// concurrent single POSTs (the same approach the ai-kit sl-toolkit importer uses).\nconst WRITE_CONCURRENCY = 5;\n\n// The live metastore envelope: `attributes` carries the object's data payload directly,\n// the UUID is the top-level `id`, and revision/branch/audit fields live in `meta`. The\n// legacy wrapper types in clients/metastore/repository/types.ts do not match this shape.\ntype RawSemanticObject<TData> = {\n type: string;\n id: string;\n attributes: TData;\n meta: SemanticObjectMeta;\n};\n\nconst mapObject = <TData>(item: RawSemanticObject<TData>): SemanticObject<TData> => ({\n uuid: item.id,\n data: item.attributes,\n meta: item.meta,\n});\n\nconst deriveOptionalObjectName = (data: Record<string, unknown>): string | undefined => {\n if (typeof data.name === 'string') return data.name;\n if (typeof data.term === 'string') return data.term;\n return undefined;\n};\n\nconst deriveObjectName = (data: Record<string, unknown>) =>\n deriveOptionalObjectName(data) ?? generateUUID();\n\n/**\n * The label a UI shows for an object, as opposed to the identifier it is addressed by.\n *\n * Constraints carry an optional `displayName`; kbc-ui's constraint tables already render\n * `displayName ?? name`, so a confirmation listing what a cascade delete would destroy has to\n * agree with them or it names objects the user can't find on screen.\n *\n * Deliberately **not** used for lookup: `displayName` is optional and not unique, so matching on\n * it would make `findObjectsByName` ambiguous for callers that resolve a write target by name.\n */\nconst deriveObjectLabel = (data: Record<string, unknown>): string | undefined => {\n if (typeof data.displayName === 'string' && data.displayName !== '') return data.displayName;\n return deriveOptionalObjectName(data);\n};\n\ntype Options = {\n metastoreClient: MetastoreClient;\n};\n\nexport const createSemanticLayerSdk = ({ metastoreClient }: Options) => {\n const _listObjects = async <TData extends Record<string, unknown>>(\n objectType: SemanticObjectType,\n signal?: AbortSignal,\n ) => {\n const response = await metastoreClient.repository.getMetaObjects<TData>({ objectType }, signal);\n return (response.data as unknown as RawSemanticObject<TData>[]).map(mapObject);\n };\n\n const listModels = async (signal?: AbortSignal) =>\n _listObjects<SemanticModelData>(SEMANTIC_OBJECT_TYPE.MODEL, signal);\n\n const createModel = async (data: SemanticModelData, meta: CreateSemanticObjectMeta = {}) => {\n const response = await metastoreClient.repository.createMetaObject<SemanticModelData>({\n objectType: SEMANTIC_OBJECT_TYPE.MODEL,\n data,\n branch: DEFAULT_BRANCH,\n ...meta,\n // Derived name wins over meta so the metastore name stays in sync with the payload.\n name: data.name,\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticModelData>);\n };\n\n const updateModel = async (\n modelUUID: string,\n data: Partial<SemanticModelData>,\n meta: UpdateSemanticObjectMeta = {},\n ) => {\n const response = await metastoreClient.repository.updateMetaObject<SemanticModelData>({\n objectType: SEMANTIC_OBJECT_TYPE.MODEL,\n UUID: modelUUID,\n data,\n ...meta,\n // Derived rename wins over meta so the metastore name stays in sync with the payload.\n ...(data.name ? { name: data.name } : {}),\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticModelData>);\n };\n\n const listObjects = async <T extends SemanticChildObjectType>(\n objectType: T,\n modelUUID: string,\n signal?: AbortSignal,\n ) => {\n const objects = await _listObjects<SemanticChildObjectDataMap[T]>(objectType, signal);\n return objects.filter((object) => object.data.modelUUID === modelUUID);\n };\n\n /**\n * Find a model's child objects by their user-facing name.\n *\n * Returns every match rather than resolving to one, because a name is not unique: the caller\n * decides whether that's an error (an agent needs an unambiguous target) or a choice to offer\n * (a UI can render a picker). Glossary entries key on `term`, so both are matched.\n */\n const findObjectsByName = async <T extends SemanticChildObjectType>(\n objectType: T,\n name: string,\n modelUUID: string,\n signal?: AbortSignal,\n ) => {\n const objects = await listObjects(objectType, modelUUID, signal);\n return objects.filter((object) => deriveOptionalObjectName(object.data) === name);\n };\n\n const createObject = async <T extends SemanticChildObjectType>(\n objectType: T,\n data: SemanticChildObjectDataMap[T],\n meta: CreateSemanticObjectMeta = {},\n ) => {\n const response = await metastoreClient.repository.createMetaObject<\n SemanticChildObjectDataMap[T]\n >({\n objectType,\n data,\n branch: DEFAULT_BRANCH,\n ...meta,\n // Derived name wins over meta so the metastore name stays in sync with the payload.\n name: deriveObjectName(data),\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticChildObjectDataMap[T]>);\n };\n\n const createObjects = async <T extends SemanticChildObjectType>(\n objectType: T,\n items: SemanticChildObjectDataMap[T][],\n meta: CreateSemanticObjectMeta = {},\n ) =>\n concurrent({\n items,\n process: async (data) => createObject(objectType, data, meta),\n concurrency: WRITE_CONCURRENCY,\n });\n\n // Create a model and all its child objects in one call: the model first (so its\n // UUID exists), then every child concurrently with the modelUUID injected.\n const createModelTree = async (\n model: SemanticModelData,\n children: Partial<{\n [T in SemanticChildObjectType]: Omit<SemanticChildObjectDataMap[T], 'modelUUID'>[];\n }>,\n meta: CreateSemanticObjectMeta = {},\n ) => {\n const createdModel = await createModel(model, meta);\n\n const items = MODEL_CHILD_OBJECT_TYPES.flatMap((objectType) =>\n (children[objectType] ?? []).map((data) => ({\n objectType,\n data: {\n ...data,\n modelUUID: createdModel.uuid,\n } satisfies SemanticChildObjectDataMap[typeof objectType],\n })),\n );\n\n const createdChildren = await concurrent({\n items,\n process: async ({ objectType, data }) => createObject(objectType, data, meta),\n concurrency: WRITE_CONCURRENCY,\n });\n\n return { model: createdModel, children: createdChildren };\n };\n\n const updateObject = async <T extends SemanticChildObjectType>(\n objectType: T,\n objectUUID: string,\n data: Partial<SemanticChildObjectDataMap[T]>,\n meta: UpdateSemanticObjectMeta = {},\n ) => {\n const name = deriveOptionalObjectName(data);\n const response = await metastoreClient.repository.updateMetaObject<\n SemanticChildObjectDataMap[T]\n >({\n objectType,\n UUID: objectUUID,\n data,\n ...meta,\n // Derived rename wins over meta so the metastore name stays in sync with the payload.\n ...(name ? { name } : {}),\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticChildObjectDataMap[T]>);\n };\n\n const deleteObject = async (objectType: SemanticChildObjectType, objectUUID: string) => {\n await metastoreClient.repository.deleteMetaObject({\n objectType,\n UUID: objectUUID,\n });\n };\n\n /**\n * Every child object of a model, across all five types, flattened.\n *\n * `deleteModel` uses this to find what to remove; callers can use it to say what a delete\n * would destroy *before* asking the user to confirm. Each entry's `name` is the object's\n * display label (a constraint's `displayName` in preference to its `name`, matching what the\n * SL tables render), so a confirmation lists objects as the user sees them on screen.\n *\n * Costs five list requests: the metastore has no per-model filter, so `listObjects`\n * fetches each collection and filters client-side.\n */\n const listModelChildren = async (modelUUID: string, signal?: AbortSignal) => {\n const childrenByType = await Promise.all(\n MODEL_CHILD_OBJECT_TYPES.map(async (objectType) => {\n const objects = await listObjects(objectType, modelUUID, signal);\n return objects.map((object) => ({\n objectType,\n objectUUID: object.uuid,\n name: deriveObjectLabel(object.data),\n }));\n }),\n );\n\n return childrenByType.flat();\n };\n\n const deleteModel = async (modelUUID: string) => {\n const children = await listModelChildren(modelUUID);\n\n await concurrent({\n items: children,\n process: async ({ objectType, objectUUID }) => deleteObject(objectType, objectUUID),\n concurrency: WRITE_CONCURRENCY,\n });\n\n await metastoreClient.repository.deleteMetaObject({\n objectType: SEMANTIC_OBJECT_TYPE.MODEL,\n UUID: modelUUID,\n });\n };\n\n return {\n // models\n listModels,\n createModel,\n updateModel,\n deleteModel,\n listModelChildren,\n\n // child objects (datasets, metrics, relationships, glossary, constraints)\n listObjects,\n findObjectsByName,\n createObject,\n createObjects,\n createModelTree,\n updateObject,\n deleteObject,\n };\n};\n","import { z } from 'zod';\n\nimport { CONSTRAINT_TYPES, SQL_DIALECTS } from './semanticLayerSdk';\n\n/**\n * Runtime validators for the semantic-layer payload shapes.\n *\n * These exist because the metastore's validation errors are opaque — a missing or misspelled\n * field surfaces only as a generic \"Validation failed\", and a wrong `sql_dialect` casing as a\n * 422 that names neither the field nor the accepted values. Parsing first turns those into a\n * message that says what is wrong.\n *\n * **Only the fields the SDK types mark as required are declared.** The metastore owns each\n * object type's full schema, so every schema is a `looseObject`: unknown fields pass through\n * untouched rather than being stripped or rejected. Re-declaring the optional fields here\n * would create a second source of truth that silently drops whatever the metastore adds next.\n *\n * The SDK does **not** parse on its own writes — these are for callers that accept untrusted\n * or hand-authored input (an agent's tool call, a form submission) and want to fail early.\n * `modelUUID` is omitted throughout: the SDK injects it, so callers never supply it.\n */\n\nexport const semanticModelSchema = z.looseObject({\n name: z.string().min(1),\n sql_dialect: z.enum(SQL_DIALECTS),\n});\n\nexport const semanticDatasetSchema = z.looseObject({\n name: z.string().min(1),\n tableId: z.string().min(1),\n fqn: z.string().min(1),\n});\n\nexport const semanticMetricSchema = z.looseObject({\n name: z.string().min(1),\n sql: z.string().min(1),\n});\n\nexport const semanticRelationshipSchema = z.looseObject({\n from: z.string().min(1),\n to: z.string().min(1),\n on: z.string().min(1),\n});\n\nexport const semanticGlossarySchema = z.looseObject({\n term: z.string().min(1),\n definition: z.string().min(1),\n});\n\nexport const semanticConstraintSchema = z.looseObject({\n name: z.string().min(1),\n constraintType: z.enum(CONSTRAINT_TYPES),\n metrics: z.array(z.string()),\n rule: z.string().min(1),\n});\n\n/** Keyed by object type so a caller can pick the schema from a `SemanticChildObjectType`. */\nexport const SEMANTIC_CHILD_OBJECT_SCHEMAS = {\n 'semantic-dataset': semanticDatasetSchema,\n 'semantic-metric': semanticMetricSchema,\n 'semantic-relationship': semanticRelationshipSchema,\n 'semantic-glossary': semanticGlossarySchema,\n 'semantic-constraint': semanticConstraintSchema,\n} as const;\n"]}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkMRHQJNWF_cjs = require('./chunk-MRHQJNWF.cjs');
4
- var chunkUQWVZTEA_cjs = require('./chunk-UQWVZTEA.cjs');
5
- var chunkIUN2ZSU3_cjs = require('./chunk-IUN2ZSU3.cjs');
4
+ var chunk7RO6PKZ4_cjs = require('./chunk-7RO6PKZ4.cjs');
5
+ var chunkMMOAH3EH_cjs = require('./chunk-MMOAH3EH.cjs');
6
6
  var z = require('zod');
7
7
  var dayjs = require('dayjs');
8
8
  var utc = require('dayjs/plugin/utc.js');
@@ -121,10 +121,10 @@ var prepareAppRun = (appRun) => {
121
121
 
122
122
  // src/clients/dataScience/dataScienceClient.ts
123
123
  var createDataScienceClient = ({ baseUrl, middlewares, auth }) => {
124
- const client = chunkIUN2ZSU3_cjs.createOpenapiFetchClient({
124
+ const client = chunkMMOAH3EH_cjs.createOpenapiFetchClient({
125
125
  baseUrl,
126
126
  middlewares,
127
- headers: chunkUQWVZTEA_cjs.createAuthHeaders(auth)
127
+ headers: chunk7RO6PKZ4_cjs.createAuthHeaders(auth)
128
128
  });
129
129
  const getAppRuns = async (appId, query, signal) => {
130
130
  const { data } = await client.get("/apps/{appId}/runs", { path: { appId }, query }, { signal });
@@ -144,8 +144,8 @@ var createDataScienceClient = ({ baseUrl, middlewares, auth }) => {
144
144
  { path: { appId: id } },
145
145
  { signal }
146
146
  );
147
- const contentDisposition = chunkIUN2ZSU3_cjs.parseContentDispositionHeader(
148
- response.headers.get(chunkIUN2ZSU3_cjs.HttpHeader.CONTENT_DISPOSITION)
147
+ const contentDisposition = chunkMMOAH3EH_cjs.parseContentDispositionHeader(
148
+ response.headers.get(chunkMMOAH3EH_cjs.HttpHeader.CONTENT_DISPOSITION)
149
149
  );
150
150
  return {
151
151
  logs: data,
@@ -174,7 +174,7 @@ var createDataScienceClient = ({ baseUrl, middlewares, auth }) => {
174
174
  nextLogTimestamp
175
175
  };
176
176
  } catch (error) {
177
- if (chunkIUN2ZSU3_cjs.isApiError(error) && error.response.status === chunkIUN2ZSU3_cjs.HttpStatus.BAD_REQUEST && TailError.safeParse(error.data).data?.context?.code === "apps.appNotRunning") {
177
+ if (chunkMMOAH3EH_cjs.isApiError(error) && error.response.status === chunkMMOAH3EH_cjs.HttpStatus.BAD_REQUEST && TailError.safeParse(error.data).data?.context?.code === "apps.appNotRunning") {
178
178
  return { entries: [], nextLogTimestamp: null };
179
179
  }
180
180
  throw error;
@@ -249,5 +249,5 @@ var createDataScienceClient = ({ baseUrl, middlewares, auth }) => {
249
249
 
250
250
  exports.createDataScienceClient = createDataScienceClient;
251
251
  exports.parseLogLines = parseLogLines;
252
- //# sourceMappingURL=chunk-AFIQYB2O.cjs.map
253
- //# sourceMappingURL=chunk-AFIQYB2O.cjs.map
252
+ //# sourceMappingURL=chunk-L262THNK.cjs.map
253
+ //# sourceMappingURL=chunk-L262THNK.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/dataScience/schemas.ts","../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"names":["z","dayjs","utc","isPlainObject","createOpenapiFetchClient","createAuthHeaders","parseContentDispositionHeader","HttpHeader","isApiError","HttpStatus"],"mappings":"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","file":"chunk-AFIQYB2O.cjs","sourcesContent":["import * as z from 'zod';\n\nexport const TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc.js';\n\nimport { isPlainObject } from '../../utils/isPlainObject';\n\nimport type { RawAppRun } from './types';\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const parseLastLogTimestamp = (logs: unknown) => {\n const entries = parseLogLines(logs);\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nexport const calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\nexport const prepareAppRun = (appRun: RawAppRun) => {\n return {\n ...appRun,\n state: appRun.state ?? (appRun.stoppedAt ? 'finished' : 'running'), // fallback state for historic non migrated runs\n };\n};\n","import {\n createOpenapiFetchClient,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { HttpStatus } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { TailError } from './schemas';\nimport type {\n CreateDataAppBody,\n DeleteDataAppPath,\n DeleteSandboxPath,\n GetAppsQuery,\n GetDataAppLogsDownloadPath,\n GetDataAppLogsTailPath,\n GetDataAppLogsTailQuery,\n GetDataAppPasswordPath,\n GetDataAppPath,\n GetDataAppRunPath,\n GetDataAppRunsPath,\n GetDataAppRunsQuery,\n GetSandboxPath,\n PatchDataAppBody,\n PatchDataAppPath,\n ResetDataAppPasswordPath,\n} from './types';\nimport {\n calculateNextLogTimestamp,\n parseLastLogTimestamp,\n parseLogLines,\n prepareAppRun,\n} from './utils';\n\nexport const createDataScienceClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getAppRuns = async (\n appId: GetDataAppRunsPath['appId'],\n query?: GetDataAppRunsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get('/apps/{appId}/runs', { path: { appId }, query }, { signal });\n\n return data.map(prepareAppRun);\n };\n\n const getAppRun = async (\n appId: GetDataAppRunPath['appId'],\n runId: GetDataAppRunPath['runId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/apps/{appId}/runs/{runId}',\n { path: { appId, runId } },\n { signal },\n );\n\n return prepareAppRun(data);\n };\n\n const getAppLogsDownload = async (\n id: GetDataAppLogsDownloadPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data, response } = await client.get(\n '/apps/{appId}/logs/download',\n { path: { appId: id } },\n { signal },\n );\n\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition?.filename ?? 'logs.txt',\n };\n };\n\n const getAppLogsTail = async (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) => {\n try {\n const { data } = await client.get(\n '/apps/{appId}/logs/tail',\n {\n query,\n path: {\n appId: id,\n },\n },\n {\n signal,\n },\n );\n\n const logs = data === '' ? null : data;\n const lastLogTimestamp = parseLastLogTimestamp(logs);\n const nextLogTimestamp = calculateNextLogTimestamp(lastLogTimestamp);\n\n return {\n entries: parseLogLines(logs),\n nextLogTimestamp: nextLogTimestamp,\n };\n } catch (error) {\n if (\n isApiError(error) &&\n error.response.status === HttpStatus.BAD_REQUEST &&\n TailError.safeParse(error.data).data?.context?.code === 'apps.appNotRunning'\n ) {\n return { entries: [], nextLogTimestamp: null };\n }\n throw error;\n }\n };\n\n const getApps = async (query: GetAppsQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/apps', { query }, { signal });\n\n return data;\n };\n\n const getApp = async (appId: GetDataAppPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n const createApp = async (body: CreateDataAppBody, signal?: AbortSignal) => {\n const { data } = await client.post('/apps', { body }, { signal });\n\n return data;\n };\n\n const patchApp = async (\n appId: PatchDataAppPath['appId'],\n body: PatchDataAppBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/apps/{appId}',\n {\n path: { appId: appId },\n body: body,\n },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (appId: DeleteDataAppPath['appId'], signal?: AbortSignal) => {\n return client.delete('/apps/{appId}', { path: { appId } }, { signal });\n };\n\n const getAppPassword = async (appId: GetDataAppPasswordPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}/password', { path: { appId } }, { signal });\n\n return data;\n };\n\n const resetAppPassword = async (\n appId: ResetDataAppPasswordPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/apps/{appId}/reset-password',\n { path: { appId } },\n { signal },\n );\n\n return data;\n };\n\n const getRuntimes = async (signal?: AbortSignal) => {\n const { data } = await client.get('/runtimes', {}, { signal });\n\n return data;\n };\n\n const getSandbox = async (appId: GetSandboxPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/sandboxes/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n const deleteSandbox = async (appId: DeleteSandboxPath['appId'], signal?: AbortSignal) => {\n return client.delete('/sandboxes/{appId}', { path: { appId } }, { signal });\n };\n\n return {\n getAppRuns,\n getAppRun,\n getAppLogsDownload,\n getAppLogsTail,\n getApps,\n getApp,\n createApp,\n patchApp,\n deleteApp,\n getAppPassword,\n resetAppPassword,\n getRuntimes,\n getSandbox,\n deleteSandbox,\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/clients/dataScience/schemas.ts","../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"names":["z","dayjs","utc","isPlainObject","createOpenapiFetchClient","createAuthHeaders","parseContentDispositionHeader","HttpHeader","isApiError","HttpStatus"],"mappings":"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","file":"chunk-L262THNK.cjs","sourcesContent":["import * as z from 'zod';\n\nexport const TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc.js';\n\nimport { isPlainObject } from '../../utils/isPlainObject';\n\nimport type { RawAppRun } from './types';\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const parseLastLogTimestamp = (logs: unknown) => {\n const entries = parseLogLines(logs);\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nexport const calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\nexport const prepareAppRun = (appRun: RawAppRun) => {\n return {\n ...appRun,\n state: appRun.state ?? (appRun.stoppedAt ? 'finished' : 'running'), // fallback state for historic non migrated runs\n };\n};\n","import {\n createOpenapiFetchClient,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { HttpStatus } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { TailError } from './schemas';\nimport type {\n CreateDataAppBody,\n DeleteDataAppPath,\n DeleteSandboxPath,\n GetAppsQuery,\n GetDataAppLogsDownloadPath,\n GetDataAppLogsTailPath,\n GetDataAppLogsTailQuery,\n GetDataAppPasswordPath,\n GetDataAppPath,\n GetDataAppRunPath,\n GetDataAppRunsPath,\n GetDataAppRunsQuery,\n GetSandboxPath,\n PatchDataAppBody,\n PatchDataAppPath,\n ResetDataAppPasswordPath,\n} from './types';\nimport {\n calculateNextLogTimestamp,\n parseLastLogTimestamp,\n parseLogLines,\n prepareAppRun,\n} from './utils';\n\nexport const createDataScienceClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getAppRuns = async (\n appId: GetDataAppRunsPath['appId'],\n query?: GetDataAppRunsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get('/apps/{appId}/runs', { path: { appId }, query }, { signal });\n\n return data.map(prepareAppRun);\n };\n\n const getAppRun = async (\n appId: GetDataAppRunPath['appId'],\n runId: GetDataAppRunPath['runId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/apps/{appId}/runs/{runId}',\n { path: { appId, runId } },\n { signal },\n );\n\n return prepareAppRun(data);\n };\n\n const getAppLogsDownload = async (\n id: GetDataAppLogsDownloadPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data, response } = await client.get(\n '/apps/{appId}/logs/download',\n { path: { appId: id } },\n { signal },\n );\n\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition?.filename ?? 'logs.txt',\n };\n };\n\n const getAppLogsTail = async (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) => {\n try {\n const { data } = await client.get(\n '/apps/{appId}/logs/tail',\n {\n query,\n path: {\n appId: id,\n },\n },\n {\n signal,\n },\n );\n\n const logs = data === '' ? null : data;\n const lastLogTimestamp = parseLastLogTimestamp(logs);\n const nextLogTimestamp = calculateNextLogTimestamp(lastLogTimestamp);\n\n return {\n entries: parseLogLines(logs),\n nextLogTimestamp: nextLogTimestamp,\n };\n } catch (error) {\n if (\n isApiError(error) &&\n error.response.status === HttpStatus.BAD_REQUEST &&\n TailError.safeParse(error.data).data?.context?.code === 'apps.appNotRunning'\n ) {\n return { entries: [], nextLogTimestamp: null };\n }\n throw error;\n }\n };\n\n const getApps = async (query: GetAppsQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/apps', { query }, { signal });\n\n return data;\n };\n\n const getApp = async (appId: GetDataAppPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n const createApp = async (body: CreateDataAppBody, signal?: AbortSignal) => {\n const { data } = await client.post('/apps', { body }, { signal });\n\n return data;\n };\n\n const patchApp = async (\n appId: PatchDataAppPath['appId'],\n body: PatchDataAppBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/apps/{appId}',\n {\n path: { appId: appId },\n body: body,\n },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (appId: DeleteDataAppPath['appId'], signal?: AbortSignal) => {\n return client.delete('/apps/{appId}', { path: { appId } }, { signal });\n };\n\n const getAppPassword = async (appId: GetDataAppPasswordPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}/password', { path: { appId } }, { signal });\n\n return data;\n };\n\n const resetAppPassword = async (\n appId: ResetDataAppPasswordPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/apps/{appId}/reset-password',\n { path: { appId } },\n { signal },\n );\n\n return data;\n };\n\n const getRuntimes = async (signal?: AbortSignal) => {\n const { data } = await client.get('/runtimes', {}, { signal });\n\n return data;\n };\n\n const getSandbox = async (appId: GetSandboxPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/sandboxes/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n const deleteSandbox = async (appId: DeleteSandboxPath['appId'], signal?: AbortSignal) => {\n return client.delete('/sandboxes/{appId}', { path: { appId } }, { signal });\n };\n\n return {\n getAppRuns,\n getAppRun,\n getAppLogsDownload,\n getAppLogsTail,\n getApps,\n getApp,\n createApp,\n patchApp,\n deleteApp,\n getAppPassword,\n resetAppPassword,\n getRuntimes,\n getSandbox,\n deleteSandbox,\n };\n};\n"]}
@@ -0,0 +1,77 @@
1
+ import { createAuthHeaders } from './chunk-EDX5D6UY.js';
2
+ import { createOpenapiFetchClient, isApiError, HttpStatus } from './chunk-XHDYLUM4.js';
3
+
4
+ // src/clients/oauth/utils.ts
5
+ var encodeCredentialsData = (data, format) => format === "encrypted" ? { "#data": JSON.stringify(data) } : { data };
6
+ var getScopedBranchId = (scope) => {
7
+ switch (scope.scope) {
8
+ case "all":
9
+ return void 0;
10
+ case "branchless":
11
+ return "null";
12
+ case "branched":
13
+ return scope.branchId;
14
+ }
15
+ };
16
+
17
+ // src/clients/oauth/oauthClient.ts
18
+ var createOauthClient = ({ baseUrl, middlewares, auth }) => {
19
+ const client = createOpenapiFetchClient({
20
+ baseUrl,
21
+ middlewares,
22
+ headers: createAuthHeaders(auth)
23
+ });
24
+ const getCredentials = async (scope, signal) => {
25
+ const { data } = await client.get(
26
+ "/credentials",
27
+ { query: { branchId: getScopedBranchId(scope), componentId: scope.componentId } },
28
+ { signal }
29
+ );
30
+ return data;
31
+ };
32
+ const getCredential = async ({ componentId, id }, signal) => {
33
+ const { data } = await client.get(
34
+ "/credentials/{componentId}/{name}",
35
+ { path: { componentId, name: id } },
36
+ { signal }
37
+ );
38
+ return data;
39
+ };
40
+ const createCredential = async ({ componentId, data, ...rest }, signal) => {
41
+ const post = (format) => client.post(
42
+ "/credentials/{componentId}",
43
+ {
44
+ path: { componentId },
45
+ // The plain shape predates the spec, so no schema can describe it. It borrows the
46
+ // encrypted field's type to get past the generated body — the one assertion here.
47
+ body: { ...rest, ...encodeCredentialsData(data, format) }
48
+ },
49
+ { signal }
50
+ ).then((response) => response.data);
51
+ try {
52
+ return await post("plain");
53
+ } catch (error) {
54
+ if (isApiError(error) && error.response.status === HttpStatus.UNPROCESSABLE_ENTITY) {
55
+ return post("encrypted");
56
+ }
57
+ throw error;
58
+ }
59
+ };
60
+ const deleteCredential = async ({ componentId, id }, signal) => {
61
+ await client.delete(
62
+ "/credentials/{componentId}/{name}",
63
+ { path: { componentId, name: id } },
64
+ { signal }
65
+ );
66
+ };
67
+ return {
68
+ getCredentials,
69
+ getCredential,
70
+ createCredential,
71
+ deleteCredential
72
+ };
73
+ };
74
+
75
+ export { createOauthClient };
76
+ //# sourceMappingURL=chunk-LD3JERYP.js.map
77
+ //# sourceMappingURL=chunk-LD3JERYP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/oauth/utils.ts","../src/clients/oauth/oauthClient.ts"],"names":[],"mappings":";;;;AA+BO,IAAM,qBAAA,GAAwB,CACnC,IAAA,EACA,MAAA,KACI,WAAW,WAAA,GAAc,EAAE,OAAA,EAAS,IAAA,CAAK,SAAA,CAAU,IAAI,CAAA,EAAE,GAAI,EAAE,IAAA,EAAK;AAEnE,IAAM,iBAAA,GAAoB,CAAC,KAAA,KAA+B;AAC/D,EAAA,QAAQ,MAAM,KAAA;AAAO,IACnB,KAAK,KAAA;AACH,MAAA,OAAO,MAAA;AAAA,IACT,KAAK,YAAA;AACH,MAAA,OAAO,MAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA,CAAM,QAAA;AAAA;AAEnB,CAAA;;;ACnCO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACtF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,OAAO,KAAA,EAA4B,MAAA,KAAyB;AACjF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA,EAAE,KAAA,EAAO,EAAE,QAAA,EAAU,iBAAA,CAAkB,KAAK,CAAA,EAAG,WAAA,EAAa,KAAA,CAAM,WAAA,EAAY,EAAE;AAAA,MAChF,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAgB,OAAO,EAAE,WAAA,EAAa,EAAA,IAAuB,MAAA,KAAyB;AAC1F,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,mCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAA,EAAM,IAAG,EAAE;AAAA,MAClC,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,EAAE,WAAA,EAAa,MAAM,GAAG,IAAA,IACxB,MAAA,KACG;AACH,IAAA,MAAM,IAAA,GAAO,CAAC,MAAA,KACZ,MAAA,CACG,IAAA;AAAA,MACC,4BAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,WAAA,EAAY;AAAA;AAAA;AAAA,QAGpB,IAAA,EAAM,EAAE,GAAG,IAAA,EAAM,GAAI,qBAAA,CAAsB,IAAA,EAAM,MAAM,CAAA;AAA0B,OACnF;AAAA,MACA,EAAE,MAAA;AAAO,KACX,CACC,IAAA,CAAK,CAAC,QAAA,KAAa,SAAS,IAAI,CAAA;AAErC,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,KAAK,OAAO,CAAA;AAAA,IAC3B,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,WAAW,KAAK,CAAA,IAAK,MAAM,QAAA,CAAS,MAAA,KAAW,WAAW,oBAAA,EAAsB;AAClF,QAAA,OAAO,KAAK,WAAW,CAAA;AAAA,MACzB;AACA,MAAA,MAAM,KAAA;AAAA,IACR;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,mBAAmB,OAAO,EAAE,WAAA,EAAa,EAAA,IAAuB,MAAA,KAAyB;AAC7F,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAA,EAAM,IAAG,EAAE;AAAA,MAClC,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-LD3JERYP.js","sourcesContent":["/**\n * Which credentials to list:\n *\n * - `all` — the whole project: branch-scoped and branchless alike.\n * - `branchless` — only what is tied to no branch at all, not even the default one.\n * - `branched` — only the branch whose id it carries.\n *\n * Discriminated on `scope`, not on `branchId` being present: a `string | 'all' | 'branchless'` union\n * collapses to `string`, so a mistyped scope would silently become a branch-id filter.\n */\nexport type GetCredentialsInput =\n | { scope: 'all'; componentId?: string }\n | { scope: 'branchless'; componentId?: string }\n | { scope: 'branched'; branchId: string; componentId?: string };\n\n/**\n * All three scopes ride the one `branchId` query parameter:\n *\n * - `all` → omitted, which the service reads as no filter.\n * - `branchless` → the literal string `'null'`, which it reads as `branchId IS NULL`.\n * - `branched` → the branch id itself.\n */\nexport type CredentialsDataFormat = 'encrypted' | 'plain';\n\n/**\n * The credentials payload rides one of two fields, and only one of them is in the current spec:\n *\n * - `encrypted` — `#data`, the payload serialized to a string. The `#` marks it for the service to\n * encrypt at rest.\n * - `plain` — `data`, the payload as an object. Only services predating the spec accept it.\n */\nexport const encodeCredentialsData = (\n data: Record<string, unknown>,\n format: CredentialsDataFormat,\n) => (format === 'encrypted' ? { '#data': JSON.stringify(data) } : { data });\n\nexport const getScopedBranchId = (scope: GetCredentialsInput) => {\n switch (scope.scope) {\n case 'all':\n return undefined;\n case 'branchless':\n return 'null';\n case 'branched':\n return scope.branchId;\n }\n};\n","import { createOpenapiFetchClient, isApiError } from '../../fetchClient';\nimport { HttpStatus } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { CreateCredentialInput, CredentialInput } from './types';\nimport type { CredentialsDataFormat, GetCredentialsInput } from './utils';\nimport { encodeCredentialsData, getScopedBranchId } from './utils';\n\nexport const createOauthClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getCredentials = async (scope: GetCredentialsInput, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/credentials',\n { query: { branchId: getScopedBranchId(scope), componentId: scope.componentId } },\n { signal },\n );\n return data;\n };\n\n const getCredential = async ({ componentId, id }: CredentialInput, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/credentials/{componentId}/{name}',\n { path: { componentId, name: id } },\n { signal },\n );\n return data;\n };\n\n const createCredential = async (\n { componentId, data, ...rest }: CreateCredentialInput,\n signal?: AbortSignal,\n ) => {\n const post = (format: CredentialsDataFormat) =>\n client\n .post(\n '/credentials/{componentId}',\n {\n path: { componentId },\n // The plain shape predates the spec, so no schema can describe it. It borrows the\n // encrypted field's type to get past the generated body — the one assertion here.\n body: { ...rest, ...(encodeCredentialsData(data, format) as { '#data': string }) },\n },\n { signal },\n )\n .then((response) => response.data);\n\n try {\n return await post('plain');\n } catch (error) {\n if (isApiError(error) && error.response.status === HttpStatus.UNPROCESSABLE_ENTITY) {\n return post('encrypted');\n }\n throw error;\n }\n };\n\n const deleteCredential = async ({ componentId, id }: CredentialInput, signal?: AbortSignal) => {\n await client.delete(\n '/credentials/{componentId}/{name}',\n { path: { componentId, name: id } },\n { signal },\n );\n };\n\n return {\n getCredentials,\n getCredential,\n createCredential,\n deleteCredential,\n };\n};\n"]}
@@ -0,0 +1,113 @@
1
+ 'use strict';
2
+
3
+ var chunkQHD4LPAQ_cjs = require('./chunk-QHD4LPAQ.cjs');
4
+ var chunk7RO6PKZ4_cjs = require('./chunk-7RO6PKZ4.cjs');
5
+ var chunkMMOAH3EH_cjs = require('./chunk-MMOAH3EH.cjs');
6
+
7
+ // src/utils/async/collect.ts
8
+ var collect = async ({
9
+ fetchFrom,
10
+ pageSize,
11
+ limit,
12
+ signal
13
+ }) => {
14
+ if (signal?.aborted) throw chunkQHD4LPAQ_cjs.createAbortError(signal.reason);
15
+ if (limit !== void 0 && limit < 0) throw new Error("Invalid collect limit");
16
+ if (pageSize !== void 0 && pageSize < 1) throw new Error("Invalid collect pageSize");
17
+ const items = [];
18
+ if (limit === 0) return items;
19
+ let offset = 0;
20
+ while (true) {
21
+ const batch = await fetchFrom(offset, pageSize, signal);
22
+ items.push(...batch);
23
+ offset += batch.length;
24
+ if (limit !== void 0 && items.length >= limit) return items.slice(0, limit);
25
+ if (pageSize === void 0 ? batch.length === 0 : batch.length < pageSize) return items;
26
+ }
27
+ };
28
+
29
+ // src/clients/queue/queueClient.ts
30
+ var createQueueClient = ({ baseUrl, middlewares, auth }) => {
31
+ const client = chunkMMOAH3EH_cjs.createOpenapiFetchClient({
32
+ baseUrl,
33
+ middlewares,
34
+ headers: chunk7RO6PKZ4_cjs.createAuthHeaders(auth)
35
+ });
36
+ const getJob = async (jobId, signal) => {
37
+ const { data } = await client.get(
38
+ "/jobs/{jobId}",
39
+ {
40
+ path: { jobId }
41
+ },
42
+ { signal }
43
+ );
44
+ return data;
45
+ };
46
+ const searchJobs = async (query, signal) => {
47
+ const { data } = await client.get(
48
+ "/search/jobs",
49
+ {
50
+ query
51
+ },
52
+ { signal }
53
+ );
54
+ return data;
55
+ };
56
+ const searchAllJobs = (query, signal) => {
57
+ return collect({
58
+ pageSize: query.limit,
59
+ signal,
60
+ fetchFrom: (offset, pageSize, batchSignal) => {
61
+ return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);
62
+ }
63
+ });
64
+ };
65
+ const createJob = async (body, signal) => {
66
+ const { data } = await client.post("/jobs", { body }, { signal });
67
+ return data;
68
+ };
69
+ const killJob = async (jobId, signal) => {
70
+ const { data } = await client.post(
71
+ "/jobs/{jobId}/kill",
72
+ {
73
+ path: { jobId }
74
+ },
75
+ { signal }
76
+ );
77
+ return data;
78
+ };
79
+ const searchGroupedJobs = async (query, signal) => {
80
+ const { data } = await client.get(
81
+ "/search/grouped-jobs",
82
+ {
83
+ query
84
+ },
85
+ { signal }
86
+ );
87
+ return data;
88
+ };
89
+ const getOrchestrationRerunPlan = async (jobId, signal) => {
90
+ const { data } = await client.get(
91
+ "/orchestration-rerun-plan/{jobId}",
92
+ {
93
+ path: { jobId }
94
+ },
95
+ { signal }
96
+ );
97
+ return data;
98
+ };
99
+ return {
100
+ getJob,
101
+ searchJobs,
102
+ searchAllJobs,
103
+ createJob,
104
+ killJob,
105
+ searchGroupedJobs,
106
+ getOrchestrationRerunPlan
107
+ };
108
+ };
109
+
110
+ exports.collect = collect;
111
+ exports.createQueueClient = createQueueClient;
112
+ //# sourceMappingURL=chunk-LIXSIM3H.cjs.map
113
+ //# sourceMappingURL=chunk-LIXSIM3H.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/async/collect.ts","../src/clients/queue/queueClient.ts"],"names":["createAbortError","createOpenapiFetchClient","createAuthHeaders"],"mappings":"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","file":"chunk-LIXSIM3H.cjs","sourcesContent":["import { createAbortError } from '../createAbortError';\n\nexport type CollectOptions<T> = {\n fetchFrom: (offset: number, pageSize?: number, signal?: AbortSignal) => Promise<T[]>;\n pageSize?: number;\n limit?: number;\n signal?: AbortSignal;\n};\n\n/**\n * Collects items from an offset-paginated endpoint — up to `limit` of them, or all of them when\n * `limit` is omitted. Calls `fetchFrom` sequentially with the offset advancing by the number of\n * items received, and hands it `pageSize` so the request and the traversal agree on one value.\n *\n * Traversal ends on a page shorter than `pageSize`, or — when `pageSize` is omitted — only on an\n * empty page. Passing it therefore saves the trailing request, at the cost of stopping early if the\n * endpoint returns fewer items per page than asked for.\n */\nexport const collect = async <T>({\n fetchFrom,\n pageSize,\n limit,\n signal,\n}: CollectOptions<T>): Promise<T[]> => {\n if (signal?.aborted) throw createAbortError(signal.reason);\n if (limit !== undefined && limit < 0) throw new Error('Invalid collect limit');\n if (pageSize !== undefined && pageSize < 1) throw new Error('Invalid collect pageSize');\n\n const items: T[] = [];\n\n if (limit === 0) return items;\n\n let offset = 0;\n\n while (true) {\n const batch = await fetchFrom(offset, pageSize, signal);\n\n items.push(...batch);\n offset += batch.length;\n\n if (limit !== undefined && items.length >= limit) return items.slice(0, limit);\n if (pageSize === undefined ? batch.length === 0 : batch.length < pageSize) return items;\n }\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport { collect } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateJobBody,\n GetQueueJobPath,\n KillJobPath,\n OrchestrationRerunPlanPath,\n SearchAllJobsQuery,\n SearchGroupedJobsQuery,\n SearchJobsQuery,\n} from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const searchAllJobs = (query: SearchAllJobsQuery, signal?: AbortSignal) => {\n return collect({\n pageSize: query.limit,\n signal,\n fetchFrom: (offset, pageSize, batchSignal) => {\n return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);\n },\n });\n };\n\n const createJob = async (body: CreateJobBody, signal?: AbortSignal) => {\n const { data } = await client.post('/jobs', { body }, { signal });\n\n return data;\n };\n\n const killJob = async (jobId: KillJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.post(\n '/jobs/{jobId}/kill',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchGroupedJobs = async (query: SearchGroupedJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/grouped-jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const getOrchestrationRerunPlan = async (\n jobId: OrchestrationRerunPlanPath['jobId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/orchestration-rerun-plan/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getJob,\n searchJobs,\n searchAllJobs,\n createJob,\n killJob,\n searchGroupedJobs,\n getOrchestrationRerunPlan,\n };\n};\n"]}
@@ -131,9 +131,16 @@ var createFetchRequest = ({
131
131
  baseUrl,
132
132
  validateStatus: defValidateStatus = defaultValidateStatus,
133
133
  headers: defaultHeaders,
134
+ fetchFn: defaultFetchFn,
134
135
  ...restDefaultOptions
135
136
  } = defaultOptions;
136
- const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = options;
137
+ const {
138
+ validateStatus,
139
+ queryArrayFormat,
140
+ headers: endpointHeaders,
141
+ fetchFn,
142
+ ...restOptions
143
+ } = options;
137
144
  const headers = createHeaders(defaultHeaders, endpointHeaders);
138
145
  const path = createPath(url, params.path);
139
146
  const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });
@@ -147,14 +154,18 @@ var createFetchRequest = ({
147
154
  method: method.toUpperCase(),
148
155
  body
149
156
  });
150
- return { request, validateStatus: validateStatus ?? defValidateStatus };
157
+ return {
158
+ request,
159
+ validateStatus: validateStatus ?? defValidateStatus,
160
+ fetchFn: fetchFn ?? defaultFetchFn
161
+ };
151
162
  };
152
163
 
153
164
  // src/fetchClient/createFetchClient/createFetchClient.ts
154
165
  var isApiError = (error) => error instanceof ApiError;
155
166
  var isAbortError = (error) => error instanceof DOMException && error.name === "AbortError";
156
167
  var isFetchClientError = (error) => error instanceof TypeError || error instanceof SyntaxError || isApiError(error);
157
- var createCoreFetch = (fetchFn) => async ({ request, validateStatus }) => {
168
+ var coreFetch = async ({ request, validateStatus, fetchFn = fetch }) => {
158
169
  const response = await fetchFn(request);
159
170
  const data = await parseData(response);
160
171
  const apiResponse = {
@@ -171,7 +182,6 @@ var createFetchClient = ({
171
182
  middlewares = [],
172
183
  ...defaultOptions
173
184
  }) => {
174
- const coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);
175
185
  const fetchWithMiddlewares = middlewares.reduceRight(
176
186
  (next, middleware) => middleware(next),
177
187
  coreFetch
@@ -202,6 +212,60 @@ var createFetchClient = ({
202
212
  // src/fetchClient/createGenericFetchClient.ts
203
213
  var createGenericFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
204
214
 
215
+ // src/fetchClient/xhrFetch.ts
216
+ var parseResponseHeaders = (raw) => {
217
+ const headers = new Headers();
218
+ for (const line of raw.trim().split(/[\r\n]+/)) {
219
+ const separator = line.indexOf(":");
220
+ if (separator < 0) continue;
221
+ headers.append(line.slice(0, separator).trim(), line.slice(separator + 1).trim());
222
+ }
223
+ return headers;
224
+ };
225
+ var createAbortError = () => new DOMException("The operation was aborted.", "AbortError");
226
+ var BODILESS_STATUSES = [204, 205];
227
+ var BODILESS_METHODS = ["GET", "HEAD"];
228
+ var xhrFetch = (onProgress) => {
229
+ return async (input, init) => {
230
+ if (typeof XMLHttpRequest === "undefined") return fetch(input, init);
231
+ const request = new Request(input, init);
232
+ const body = BODILESS_METHODS.includes(request.method) ? null : await request.blob();
233
+ if (request.signal.aborted) throw createAbortError();
234
+ const { promise, resolve, reject } = Promise.withResolvers();
235
+ const xhr = new XMLHttpRequest();
236
+ const handleProgress = (event) => {
237
+ if (!event.lengthComputable) return;
238
+ onProgress({
239
+ loaded: event.loaded,
240
+ total: event.total,
241
+ percent: event.loaded / event.total * 100
242
+ });
243
+ };
244
+ const handleLoad = () => {
245
+ resolve(
246
+ new Response(BODILESS_STATUSES.includes(xhr.status) ? null : xhr.response, {
247
+ status: xhr.status,
248
+ statusText: xhr.statusText,
249
+ headers: parseResponseHeaders(xhr.getAllResponseHeaders())
250
+ })
251
+ );
252
+ };
253
+ const handleError = () => reject(new TypeError("Failed to fetch"));
254
+ const handleAbort = () => reject(createAbortError());
255
+ xhr.open(request.method, request.url, true);
256
+ xhr.responseType = "blob";
257
+ xhr.withCredentials = request.credentials === "include";
258
+ request.headers.forEach((value, name) => xhr.setRequestHeader(name, value));
259
+ xhr.upload.addEventListener("progress", handleProgress);
260
+ xhr.addEventListener("load", handleLoad);
261
+ xhr.addEventListener("error", handleError);
262
+ xhr.addEventListener("abort", handleAbort);
263
+ request.signal.addEventListener("abort", () => xhr.abort(), { once: true });
264
+ xhr.send(body);
265
+ return promise;
266
+ };
267
+ };
268
+
205
269
  // src/fetchClient/createOpenapiFetchClient.ts
206
270
  var createOpenapiFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
207
271
 
@@ -217,6 +281,8 @@ exports.defaultValidateStatus = defaultValidateStatus;
217
281
  exports.isAbortError = isAbortError;
218
282
  exports.isApiError = isApiError;
219
283
  exports.isFetchClientError = isFetchClientError;
284
+ exports.normalizeBaseUrl = normalizeBaseUrl;
220
285
  exports.parseContentDispositionHeader = parseContentDispositionHeader;
221
- //# sourceMappingURL=chunk-IUN2ZSU3.cjs.map
222
- //# sourceMappingURL=chunk-IUN2ZSU3.cjs.map
286
+ exports.xhrFetch = xhrFetch;
287
+ //# sourceMappingURL=chunk-MMOAH3EH.cjs.map
288
+ //# sourceMappingURL=chunk-MMOAH3EH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors/ApiError.ts","../src/internal.ts","../src/fetchClient/createFetchClient/utils.ts","../src/fetchClient/createFetchClient/createFetchClient.ts","../src/fetchClient/createGenericFetchClient.ts","../src/fetchClient/xhrFetch.ts","../src/fetchClient/createOpenapiFetchClient.ts"],"names":["qs"],"mappings":"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","file":"chunk-MMOAH3EH.cjs","sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nexport class ApiError extends Error {\n response: Response;\n request: Request;\n data: unknown;\n\n constructor({ response, request, data }: ApiResponse) {\n super(response.statusText);\n this.response = response;\n this.request = request;\n this.data = data;\n }\n}\n","// Package-internal constants. Not part of the public\n// `@keboola/api-client/constants` sub-path (that is the `constants/` directory).\n\nexport const KeboolaHttpHeader = {\n STORAGE_API_TOKEN: 'X-StorageApi-Token',\n MANAGEMENT_API_TOKEN: 'X-Kbc-Manageapitoken',\n STORAGE_API_URL: 'x-storageapi-url',\n PROJECT_ID: 'X-KBC-ProjectId',\n} as const;\n\nexport const HttpStatus = {\n NO_CONTENT: 204,\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n} as const;\n\nexport const ENCRYPTED_VALUE_PREFIX = 'KBC::';\n","import type { IStringifyOptions } from 'qs';\nimport qs from 'qs';\n\nimport { HttpStatus } from '../../internal';\n\nimport type { BodyParam, CreateFetchRequestFn, PathParam, ValidateStatusFn } from './types';\n\n/**\n * Strips trailing slashes from a base URL so concatenating a leading-slash\n * path (e.g. `/v2/storage`) never produces a double slash.\n *\n * Without this, callers that pass `https://connection.keboola.com/` end up\n * issuing requests to `https://connection.keboola.com//v2/storage/...`, which\n * the Storage API rejects with a 404.\n */\nexport const normalizeBaseUrl = (baseUrl: string): string => baseUrl.replace(/\\/+$/, '');\n\nexport const HttpHeader = {\n CONTENT_TYPE: 'content-type',\n CONTENT_DISPOSITION: 'content-disposition',\n AUTHORIZATION: 'Authorization',\n};\n\nexport const HttpContentType = {\n JSON: 'application/json',\n TEXT_PLAIN: 'text/plain',\n FORM_DATA: 'multipart/form-data',\n TEXT_HTML: 'text/html',\n};\n\nexport const defaultValidateStatus: ValidateStatusFn = ({ response }) =>\n response.status >= 200 && response.status <= 299;\n\nfunction removeUndefined(obj: Record<string, string>) {\n const objCopy = { ...obj };\n for (const [key, value] of Object.entries(objCopy)) {\n if (value == null) delete objCopy[key];\n }\n return objCopy;\n}\n\nexport const parseData = async (response: Response) => {\n if (response.status === HttpStatus.NO_CONTENT) return null;\n\n // headers indicates that the content is JSON, so parse it.\n const contentType = response.headers.get(HttpHeader.CONTENT_TYPE);\n if (contentType && contentType == HttpContentType.JSON) {\n return response.json();\n }\n\n // try JSON parsing on the text\n // If it fails, return the string. The headers does not have a content type.\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch {\n return text;\n }\n};\n\n// Header instance serialize undefined value as `undefined`, we do not want that\nconst cleanHeadersInit = (headersInit: HeadersInit | undefined) => {\n if (Array.isArray(headersInit)) return headersInit;\n if (headersInit instanceof Headers) return headersInit;\n if (headersInit == null) return headersInit;\n\n return removeUndefined(headersInit);\n};\n\nconst createHeaders = (\n headersInitA: HeadersInit | undefined,\n headersInitB: HeadersInit | undefined,\n) => {\n const headersA = new Headers(cleanHeadersInit(headersInitA));\n const headersB = new Headers(cleanHeadersInit(headersInitB));\n\n headersB.forEach((value, key) => {\n headersA.set(key, value);\n });\n\n return headersA;\n};\n\nexport const createPath = (path: string, pathParam: PathParam = {}) =>\n path.replace(/\\{([^}]+)}/g, (_, key) => {\n if (!(key in pathParam))\n throw new Error(`Path parameter \"${key}\" is missing in the path \"${path}\"`);\n\n return encodeURIComponent(pathParam[key]!);\n });\n\nexport const createSearch = (\n query: Record<string, unknown>,\n options: Pick<IStringifyOptions, 'arrayFormat'> = {},\n) => {\n return qs.stringify(query, {\n encodeValuesOnly: true,\n skipNulls: true,\n ...options,\n });\n};\n\nexport const createBody = (body: BodyParam, headers: Headers) => {\n if (body == null) return null;\n if (body instanceof FormData) return body; // fetch automatically sets content-type header\n if (typeof body === 'string') return body; // fetch automatically sets content-type header\n\n const stringifyBody = JSON.stringify(body);\n const stringBody = stringifyBody === '{}' ? null : stringifyBody;\n if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);\n\n return stringBody;\n};\n\nexport const parseContentDispositionHeader = (contentDisposition?: string | null) => {\n // extract the type ('inline' or 'attachment'), default the type to 'unknown'\n const type = (() => {\n const typeMatch = contentDisposition?.match(/^\\s*(inline|attachment)\\s*;/i);\n return (typeMatch?.[1]?.toLowerCase() ?? 'unknown') as 'inline' | 'attachment' | 'unknown';\n })();\n\n // extract the filename, default the type to null\n const filename = (() => {\n const filenameMatch = contentDisposition?.match(/filename=\"([^\"]+)\"/i);\n if (filenameMatch) return filenameMatch[1];\n\n // If no filename=\"...\", check for encoded filename*=UTF-8''\n const encodedFilenameMatch = contentDisposition?.match(/filename\\*=(?:UTF-8'')?([^;]+)/i);\n if (encodedFilenameMatch?.[1]) return decodeURIComponent(encodedFilenameMatch[1]);\n\n // Check for unquoted filenames (rare but possible)\n const unquotedFilenameMatch = contentDisposition?.match(/filename=([^;]+)/i);\n return unquotedFilenameMatch?.[1] ?? null;\n })();\n\n // Return the parsed result\n return { type, filename };\n};\n\nexport const createFetchRequest: CreateFetchRequestFn = ({\n url,\n method,\n params,\n options = {},\n defaultOptions,\n}) => {\n const {\n baseUrl,\n validateStatus: defValidateStatus = defaultValidateStatus,\n headers: defaultHeaders,\n fetchFn: defaultFetchFn,\n ...restDefaultOptions\n } = defaultOptions;\n const {\n validateStatus,\n queryArrayFormat,\n headers: endpointHeaders,\n fetchFn,\n ...restOptions\n } = options;\n\n const headers = createHeaders(defaultHeaders, endpointHeaders);\n const path = createPath(url, params.path);\n const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });\n const body = createBody(params.body, headers);\n\n const urlInstance = new URL(normalizeBaseUrl(baseUrl) + path);\n urlInstance.search = search;\n\n const request = new Request(urlInstance, {\n ...restDefaultOptions,\n ...restOptions,\n headers,\n method: method.toUpperCase(),\n body,\n });\n\n return {\n request,\n validateStatus: validateStatus ?? defValidateStatus,\n fetchFn: fetchFn ?? defaultFetchFn,\n };\n};\n","import { ApiError } from '../../errors';\n\nimport type {\n BaseFetchParams,\n CoreFetchFn,\n CreateFetchClientOptions,\n FetchClientOptions,\n HttpMethod,\n} from './types';\nimport { createFetchRequest, parseData } from './utils';\n\nexport type FetchClientError = TypeError | ApiError | SyntaxError | DOMException;\n\nexport const isApiError = (error: unknown): error is ApiError => error instanceof ApiError;\n\nexport const isAbortError = (error: unknown): error is DOMException =>\n error instanceof DOMException && error.name === 'AbortError';\n\nexport const isFetchClientError = (error: unknown): error is FetchClientError =>\n error instanceof TypeError || error instanceof SyntaxError || isApiError(error);\n\n// `fetchFn` is resolved per request by `createFetchRequest` (endpoint option beats client option),\n// so a single request can swap the transport without rebuilding the client.\nconst coreFetch: CoreFetchFn = async ({ request, validateStatus, fetchFn = fetch }) => {\n const response = await fetchFn(request);\n const data = await parseData(response);\n\n const apiResponse = {\n request,\n response,\n data,\n };\n\n const boolOrError = validateStatus(apiResponse);\n if (isApiError(boolOrError)) throw boolOrError;\n if (!boolOrError) throw new ApiError(apiResponse);\n\n return apiResponse;\n};\n\nexport const createFetchClient = ({\n middlewares = [],\n ...defaultOptions\n}: CreateFetchClientOptions) => {\n const fetchWithMiddlewares = middlewares.reduceRight(\n (next, middleware) => middleware(next),\n coreFetch,\n );\n\n const createFetchMethod =\n (method: HttpMethod) =>\n async (url: string, params: BaseFetchParams, options: FetchClientOptions = {}) => {\n const request = createFetchRequest({\n url,\n method,\n params,\n defaultOptions,\n options,\n });\n\n const methodMiddlewares = options?.middlewares ?? [];\n\n return methodMiddlewares.reduceRight(\n (next, middleware) => middleware(next),\n fetchWithMiddlewares,\n )(request);\n };\n\n return {\n get: createFetchMethod('get'),\n post: createFetchMethod('post'),\n put: createFetchMethod('put'),\n patch: createFetchMethod('patch'),\n delete: createFetchMethod('delete'),\n };\n};\n","import type {\n ApiResponse,\n BodyParam,\n CreateFetchClientOptions,\n FetchClientOptions,\n PathParam,\n QueryParam,\n} from './createFetchClient';\nimport { createFetchClient } from './createFetchClient';\n\ntype FetchParams<Path = PathParam, Query = QueryParam, Body = BodyParam> = {\n path?: Path;\n query?: Query;\n body?: Body;\n};\n\ntype FetchMethod = <Data, Path = PathParam, Query = QueryParam, Body = BodyParam>(\n url: string,\n params: FetchParams<Path, Query, Body>,\n options?: FetchClientOptions,\n) => Promise<ApiResponse<Data>>;\n\ntype FetchClient = {\n get: FetchMethod;\n post: FetchMethod;\n put: FetchMethod;\n patch: FetchMethod;\n delete: FetchMethod;\n};\n\nexport const createGenericFetchClient = (defaultOptions: CreateFetchClientOptions) =>\n createFetchClient(defaultOptions) as FetchClient;\n","import type { FetchFn } from './createFetchClient';\n\nexport type UploadProgress = {\n loaded: number;\n total: number;\n percent: number;\n};\n\nconst parseResponseHeaders = (raw: string) => {\n const headers = new Headers();\n\n for (const line of raw.trim().split(/[\\r\\n]+/)) {\n const separator = line.indexOf(':');\n if (separator < 0) continue;\n\n headers.append(line.slice(0, separator).trim(), line.slice(separator + 1).trim());\n }\n\n return headers;\n};\n\nconst createAbortError = () => new DOMException('The operation was aborted.', 'AbortError');\n\n// `new Response(body)` throws for these statuses even when the body is empty.\nconst BODILESS_STATUSES = [204, 205];\n\nconst BODILESS_METHODS = ['GET', 'HEAD'];\n\n/**\n * A `fetch` implementation backed by XHR, for the `fetchFn` escape hatch: `fetch` cannot observe\n * request-body upload progress outside Chromium, `xhr.upload.onprogress` can.\n */\nexport const xhrFetch = (onProgress: (progress: UploadProgress) => void): FetchFn => {\n return async (input, init) => {\n // Node has no XHR, and asking for progress is not worth failing an upload over — the caller\n // simply gets no progress events there.\n if (typeof XMLHttpRequest === 'undefined') return fetch(input, init);\n\n const request = new Request(input, init);\n const body = BODILESS_METHODS.includes(request.method) ? null : await request.blob();\n\n if (request.signal.aborted) throw createAbortError();\n\n const { promise, resolve, reject } = Promise.withResolvers<Response>();\n const xhr = new XMLHttpRequest();\n\n const handleProgress = (event: ProgressEvent) => {\n if (!event.lengthComputable) return;\n\n onProgress({\n loaded: event.loaded,\n total: event.total,\n percent: (event.loaded / event.total) * 100,\n });\n };\n\n const handleLoad = () => {\n resolve(\n new Response(BODILESS_STATUSES.includes(xhr.status) ? null : xhr.response, {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseResponseHeaders(xhr.getAllResponseHeaders()),\n }),\n );\n };\n\n // `TypeError` for parity with `fetch` — `isFetchClientError` keys off it.\n const handleError = () => reject(new TypeError('Failed to fetch'));\n const handleAbort = () => reject(createAbortError());\n\n xhr.open(request.method, request.url, true);\n xhr.responseType = 'blob';\n xhr.withCredentials = request.credentials === 'include';\n\n // The body we send is the one this `Request` serialized, so its `content-type` — multipart\n // boundary included — describes those exact bytes and can be forwarded as-is.\n request.headers.forEach((value, name) => xhr.setRequestHeader(name, value));\n\n xhr.upload.addEventListener('progress', handleProgress);\n xhr.addEventListener('load', handleLoad);\n xhr.addEventListener('error', handleError);\n xhr.addEventListener('abort', handleAbort);\n request.signal.addEventListener('abort', () => xhr.abort(), { once: true });\n\n xhr.send(body);\n\n return promise;\n };\n};\n","import {\n type ApiResponse,\n createFetchClient,\n type CreateFetchClientOptions,\n type FetchClientOptions,\n type HttpMethod,\n} from './createFetchClient';\nimport type { OpenapiParametersType, OpenapiReturnType } from './types';\n\ntype OpenapiPaths<Paths> = {\n [P in keyof Paths]: {\n [M in HttpMethod]?: unknown;\n };\n};\n\ntype PathsWithMethod<Paths extends OpenapiPaths<Paths>, PathnameMethod extends HttpMethod> = {\n [Pathname in keyof Paths]: Paths[Pathname] extends {\n [K in PathnameMethod]: any;\n }\n ? Pathname\n : never;\n}[keyof Paths];\n\ntype FetchMethod<Paths extends OpenapiPaths<Paths>, Method extends HttpMethod> = <\n Path extends PathsWithMethod<Paths, Method>,\n>(\n url: Path,\n params: OpenapiParametersType<Paths[Path][Method]>,\n options?: FetchClientOptions,\n) => Promise<ApiResponse<OpenapiReturnType<Paths[Path][Method]>>>;\n\ntype FetchClient<Paths extends OpenapiPaths<Paths>> = {\n get: FetchMethod<Paths, 'get'>;\n post: FetchMethod<Paths, 'post'>;\n put: FetchMethod<Paths, 'put'>;\n patch: FetchMethod<Paths, 'patch'>;\n delete: FetchMethod<Paths, 'delete'>;\n};\n\nexport const createOpenapiFetchClient = <Paths extends OpenapiPaths<Paths>>(\n defaultOptions: CreateFetchClientOptions,\n) => createFetchClient(defaultOptions) as FetchClient<Paths>;\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkUQWVZTEA_cjs = require('./chunk-UQWVZTEA.cjs');
4
- var chunkIUN2ZSU3_cjs = require('./chunk-IUN2ZSU3.cjs');
3
+ var chunk7RO6PKZ4_cjs = require('./chunk-7RO6PKZ4.cjs');
4
+ var chunkMMOAH3EH_cjs = require('./chunk-MMOAH3EH.cjs');
5
5
 
6
6
  // src/clients/telemetry/provisioning/provisioning.ts
7
7
  var createProvisioning = (client) => {
@@ -20,10 +20,10 @@ var createProvisioning = (client) => {
20
20
 
21
21
  // src/clients/telemetry/telemetryClient.ts
22
22
  var createTelemetryClient = ({ baseUrl, middlewares, auth }) => {
23
- const client = chunkIUN2ZSU3_cjs.createGenericFetchClient({
23
+ const client = chunkMMOAH3EH_cjs.createGenericFetchClient({
24
24
  baseUrl,
25
25
  middlewares,
26
- headers: chunkUQWVZTEA_cjs.createAuthHeaders(auth)
26
+ headers: chunk7RO6PKZ4_cjs.createAuthHeaders(auth)
27
27
  });
28
28
  return {
29
29
  provisioning: createProvisioning(client)
@@ -31,5 +31,5 @@ var createTelemetryClient = ({ baseUrl, middlewares, auth }) => {
31
31
  };
32
32
 
33
33
  exports.createTelemetryClient = createTelemetryClient;
34
- //# sourceMappingURL=chunk-DAAHTUXU.cjs.map
35
- //# sourceMappingURL=chunk-DAAHTUXU.cjs.map
34
+ //# sourceMappingURL=chunk-NVQ6LGDO.cjs.map
35
+ //# sourceMappingURL=chunk-NVQ6LGDO.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/telemetry/provisioning/provisioning.ts","../src/clients/telemetry/telemetryClient.ts"],"names":["createGenericFetchClient","createAuthHeaders"],"mappings":";;;;;;AAIO,IAAM,kBAAA,GAAqB,CAAC,MAAA,KAA+B;AAChE,EAAA,MAAM,iBAAA,GAAoB,OAAO,IAAA,EAA6B,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,yBAAA;AAAA,MACA,EAAE,IAAA,EAAK;AAAA,MACP,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF,CAAA;;;ACVO,IAAM,wBAAwB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AAC1F,EAAA,MAAM,SAASA,0CAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAASC,oCAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,YAAA,EAAc,mBAAmB,MAAM;AAAA,GACzC;AACF","file":"chunk-DAAHTUXU.cjs","sourcesContent":["import type { GenericFetchClient } from '../telemetryClient';\n\nimport type { CreateCredentialsBody, WorkspaceData } from './types';\n\nexport const createProvisioning = (client: GenericFetchClient) => {\n const createCredentials = async (body: CreateCredentialsBody, signal?: AbortSignal) => {\n const { data } = await client.post<WorkspaceData, void, void, CreateCredentialsBody>(\n '/provisioning/workspace',\n { body },\n { signal },\n );\n\n return data;\n };\n\n return {\n createCredentials,\n };\n};\n","import { createGenericFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport { createProvisioning } from './provisioning/provisioning';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\n\nexport const createTelemetryClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n return {\n provisioning: createProvisioning(client),\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/clients/telemetry/provisioning/provisioning.ts","../src/clients/telemetry/telemetryClient.ts"],"names":["createGenericFetchClient","createAuthHeaders"],"mappings":";;;;;;AAIO,IAAM,kBAAA,GAAqB,CAAC,MAAA,KAA+B;AAChE,EAAA,MAAM,iBAAA,GAAoB,OAAO,IAAA,EAA6B,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,yBAAA;AAAA,MACA,EAAE,IAAA,EAAK;AAAA,MACP,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF,CAAA;;;ACVO,IAAM,wBAAwB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AAC1F,EAAA,MAAM,SAASA,0CAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAASC,oCAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,YAAA,EAAc,mBAAmB,MAAM;AAAA,GACzC;AACF","file":"chunk-NVQ6LGDO.cjs","sourcesContent":["import type { GenericFetchClient } from '../telemetryClient';\n\nimport type { CreateCredentialsBody, WorkspaceData } from './types';\n\nexport const createProvisioning = (client: GenericFetchClient) => {\n const createCredentials = async (body: CreateCredentialsBody, signal?: AbortSignal) => {\n const { data } = await client.post<WorkspaceData, void, void, CreateCredentialsBody>(\n '/provisioning/workspace',\n { body },\n { signal },\n );\n\n return data;\n };\n\n return {\n createCredentials,\n };\n};\n","import { createGenericFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport { createProvisioning } from './provisioning/provisioning';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\n\nexport const createTelemetryClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n return {\n provisioning: createProvisioning(client),\n };\n};\n"]}