@keboola/api-client 36.0.0 → 39.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 (257) hide show
  1. package/AGENTS.md +12 -3
  2. package/API-SURFACE.md +14 -1
  3. package/CHANGELOG.md +74 -0
  4. package/README.md +19 -17
  5. package/dist/{ManagementClientAuthError-ey-f03vy.js → ManagementClientAuthError-Cr9IOsnJ.js} +3 -2
  6. package/dist/{ManagementClientAuthError-ey-f03vy.js.map → ManagementClientAuthError-Cr9IOsnJ.js.map} +1 -1
  7. package/dist/{ManagementClientAuthError-DD4u0EU7.cjs → ManagementClientAuthError-FcfMJNhr.cjs} +3 -2
  8. package/dist/{ManagementClientAuthError-DD4u0EU7.cjs.map → ManagementClientAuthError-FcfMJNhr.cjs.map} +1 -1
  9. package/dist/ai/index.cjs +2 -2
  10. package/dist/ai/index.js +2 -2
  11. package/dist/{appLogs-BjfUoWzs.cjs → appLogs-C_zP0lpv.cjs} +2 -2
  12. package/dist/{appLogs-BjfUoWzs.cjs.map → appLogs-C_zP0lpv.cjs.map} +1 -1
  13. package/dist/{appLogs-xsVkTriU.js → appLogs-Cl7Q_MR9.js} +2 -2
  14. package/dist/{appLogs-xsVkTriU.js.map → appLogs-Cl7Q_MR9.js.map} +1 -1
  15. package/dist/apps/index.cjs +3 -3
  16. package/dist/apps/index.js +3 -3
  17. package/dist/assets/index.cjs +1 -1
  18. package/dist/assets/index.js +1 -1
  19. package/dist/auth/index.cjs +1 -1
  20. package/dist/auth/index.js +1 -1
  21. package/dist/{auth-aItmDu45.js → auth-BjmkFOgd.js} +2 -2
  22. package/dist/{auth-aItmDu45.js.map → auth-BjmkFOgd.js.map} +1 -1
  23. package/dist/{auth-JQ33o3nU.cjs → auth-DLWnl18b.cjs} +2 -2
  24. package/dist/{auth-JQ33o3nU.cjs.map → auth-DLWnl18b.cjs.map} +1 -1
  25. package/dist/{authClient-_PpvGgZJ.cjs → authClient-8yU1last.cjs} +5 -5
  26. package/dist/{authClient-_PpvGgZJ.cjs.map → authClient-8yU1last.cjs.map} +1 -1
  27. package/dist/{authClient-D7W9vWPR.js → authClient-BTo4Afm6.js} +5 -5
  28. package/dist/{authClient-D7W9vWPR.js.map → authClient-BTo4Afm6.js.map} +1 -1
  29. package/dist/billing/index.cjs +2 -2
  30. package/dist/billing/index.js +2 -2
  31. package/dist/businessWorkspaceApi/index.cjs +3 -0
  32. package/dist/businessWorkspaceApi/index.d.cts +2 -0
  33. package/dist/businessWorkspaceApi/index.d.ts +2 -0
  34. package/dist/businessWorkspaceApi/index.js +2 -0
  35. package/dist/businessWorkspaceApi/types.cjs +0 -0
  36. package/dist/businessWorkspaceApi/types.d.cts +2 -0
  37. package/dist/businessWorkspaceApi/types.d.ts +2 -0
  38. package/dist/businessWorkspaceApi/types.js +1 -0
  39. package/dist/businessWorkspaceApi-BD-iUj07.js +61 -0
  40. package/dist/businessWorkspaceApi-BD-iUj07.js.map +1 -0
  41. package/dist/businessWorkspaceApi-wyBdbpIJ.cjs +66 -0
  42. package/dist/businessWorkspaceApi-wyBdbpIJ.cjs.map +1 -0
  43. package/dist/businessWorkspaceApiClient-C2WyWN3b.d.ts +529 -0
  44. package/dist/businessWorkspaceApiClient-CRM1U8b-.d.cts +529 -0
  45. package/dist/chat/index.cjs +5 -5
  46. package/dist/chat/index.cjs.map +1 -1
  47. package/dist/chat/index.d.cts +1 -1
  48. package/dist/chat/index.d.ts +1 -1
  49. package/dist/chat/index.js +5 -5
  50. package/dist/chat/index.js.map +1 -1
  51. package/dist/constants/index.cjs +1 -1
  52. package/dist/constants/index.d.cts +2 -2
  53. package/dist/constants/index.d.ts +2 -2
  54. package/dist/constants/index.js +1 -1
  55. package/dist/{constants-wfbFsqqN.js → constants-C2tYAJSj.js} +10 -1
  56. package/dist/constants-C2tYAJSj.js.map +1 -0
  57. package/dist/{constants-C4DlsF_M.cjs → constants-C6xku_Vx.cjs} +10 -1
  58. package/dist/constants-C6xku_Vx.cjs.map +1 -0
  59. package/dist/{createFetchClient-DgMiqTJ8.cjs → createFetchClient-BlgPbjFj.cjs} +14 -2
  60. package/dist/createFetchClient-BlgPbjFj.cjs.map +1 -0
  61. package/dist/{createFetchClient-U-ZrwPl2.js → createFetchClient-C-cadpBx.js} +14 -2
  62. package/dist/createFetchClient-C-cadpBx.js.map +1 -0
  63. package/dist/{createGenericFetchClient-rxvUUbap.js → createGenericFetchClient-Bnf1QK9W.js} +2 -2
  64. package/dist/{createGenericFetchClient-rxvUUbap.js.map → createGenericFetchClient-Bnf1QK9W.js.map} +1 -1
  65. package/dist/{createGenericFetchClient-o3cPJeRn.cjs → createGenericFetchClient-lcozzwk2.cjs} +2 -2
  66. package/dist/{createGenericFetchClient-o3cPJeRn.cjs.map → createGenericFetchClient-lcozzwk2.cjs.map} +1 -1
  67. package/dist/{createOpenapiFetchClient-DhUU3M1W.cjs → createOpenapiFetchClient-C3UmDXpe.cjs} +2 -2
  68. package/dist/{createOpenapiFetchClient-DhUU3M1W.cjs.map → createOpenapiFetchClient-C3UmDXpe.cjs.map} +1 -1
  69. package/dist/{createOpenapiFetchClient-BVSc9ibR.js → createOpenapiFetchClient-COaPeeQ0.js} +2 -2
  70. package/dist/{createOpenapiFetchClient-BVSc9ibR.js.map → createOpenapiFetchClient-COaPeeQ0.js.map} +1 -1
  71. package/dist/{credential-DVWvJFJs.cjs → credential-CAulvfZ-.cjs} +2 -2
  72. package/dist/{credential-DVWvJFJs.cjs.map → credential-CAulvfZ-.cjs.map} +1 -1
  73. package/dist/{credential-CihSf_xs.js → credential-DWXbo4IX.js} +2 -2
  74. package/dist/{credential-CihSf_xs.js.map → credential-DWXbo4IX.js.map} +1 -1
  75. package/dist/dataScience/index.cjs +2 -2
  76. package/dist/dataScience/index.js +2 -2
  77. package/dist/{dataScience-C1gO5zUn.js → dataScience-B_BmnB1m.js} +5 -5
  78. package/dist/{dataScience-C1gO5zUn.js.map → dataScience-B_BmnB1m.js.map} +1 -1
  79. package/dist/{dataScience-0Rl_EuV_.cjs → dataScience-D-hyc4GY.cjs} +5 -5
  80. package/dist/{dataScience-0Rl_EuV_.cjs.map → dataScience-D-hyc4GY.cjs.map} +1 -1
  81. package/dist/developerPortal/index.cjs +1 -1
  82. package/dist/developerPortal/index.js +1 -1
  83. package/dist/{developerPortalClient-ki0XS_OD.cjs → developerPortalClient-CutPqoAa.cjs} +3 -3
  84. package/dist/{developerPortalClient-ki0XS_OD.cjs.map → developerPortalClient-CutPqoAa.cjs.map} +1 -1
  85. package/dist/{developerPortalClient-C_48z8BN.js → developerPortalClient-yHFTkKPb.js} +3 -3
  86. package/dist/{developerPortalClient-C_48z8BN.js.map → developerPortalClient-yHFTkKPb.js.map} +1 -1
  87. package/dist/domain/permissions/index.d.cts +2 -2
  88. package/dist/domain/permissions/index.d.ts +2 -2
  89. package/dist/editor/index.cjs +2 -2
  90. package/dist/editor/index.js +2 -2
  91. package/dist/encryption/index.cjs +1 -1
  92. package/dist/encryption/index.d.cts +1 -1
  93. package/dist/encryption/index.d.ts +1 -1
  94. package/dist/encryption/index.js +1 -1
  95. package/dist/encryption/types.d.cts +1 -1
  96. package/dist/encryption/types.d.ts +1 -1
  97. package/dist/import/index.cjs +1 -1
  98. package/dist/import/index.js +1 -1
  99. package/dist/{import-C83w7BKz.cjs → import-7YyyD_U_.cjs} +3 -3
  100. package/dist/{import-C83w7BKz.cjs.map → import-7YyyD_U_.cjs.map} +1 -1
  101. package/dist/{import-CROEK82b.js → import-xliONVib.js} +3 -3
  102. package/dist/{import-CROEK82b.js.map → import-xliONVib.js.map} +1 -1
  103. package/dist/{index-D8rcUbnk.d.ts → index-1r_CskjU.d.ts} +2 -2
  104. package/dist/{index-BXF-bs2d.d.ts → index-BK-qHT39.d.ts} +8 -4
  105. package/dist/{index-DIAyi-EZ.d.cts → index-CHXnJQ9s.d.cts} +92 -14
  106. package/dist/{index-BDG-LKXj.d.cts → index-CWoEnDJ_.d.cts} +8 -4
  107. package/dist/{index-NaYLwG_h.d.ts → index-DBklbaTp.d.cts} +9 -1
  108. package/dist/{index-NaYLwG_h.d.cts → index-DBklbaTp.d.ts} +9 -1
  109. package/dist/{index-BgLnWTZU.d.cts → index-DVw4Av4b.d.cts} +4 -4
  110. package/dist/{index-DR4QqItd.d.cts → index-DWf6FXOr.d.cts} +2 -2
  111. package/dist/{index-CqgtL2NU.d.ts → index-De5qUWhp.d.ts} +4 -4
  112. package/dist/{index-2JM0gyAf.d.ts → index-GfKzh267.d.ts} +92 -14
  113. package/dist/index.cjs +30 -19
  114. package/dist/index.cjs.map +1 -1
  115. package/dist/index.d.cts +3 -3
  116. package/dist/index.d.ts +3 -3
  117. package/dist/index.js +30 -20
  118. package/dist/index.js.map +1 -1
  119. package/dist/{isLoginPageRedirect-B0EmRsHr.cjs → isLoginPageRedirect-Cm6Pn8Pj.cjs} +2 -2
  120. package/dist/{isLoginPageRedirect-B0EmRsHr.cjs.map → isLoginPageRedirect-Cm6Pn8Pj.cjs.map} +1 -1
  121. package/dist/{isLoginPageRedirect-BTTAedW-.js → isLoginPageRedirect-hyPqyWNX.js} +2 -2
  122. package/dist/{isLoginPageRedirect-BTTAedW-.js.map → isLoginPageRedirect-hyPqyWNX.js.map} +1 -1
  123. package/dist/kaiAgent/index.cjs +1 -1
  124. package/dist/kaiAgent/index.d.cts +1 -1
  125. package/dist/kaiAgent/index.d.ts +1 -1
  126. package/dist/kaiAgent/index.js +1 -1
  127. package/dist/kaiAgent/types.d.cts +2 -2
  128. package/dist/kaiAgent/types.d.ts +2 -2
  129. package/dist/{kaiAgent-8LNzGhZc.js → kaiAgent-CcT2oNip.js} +41 -6
  130. package/dist/kaiAgent-CcT2oNip.js.map +1 -0
  131. package/dist/{kaiAgent-B_TaUPRt.cjs → kaiAgent-DaB6UCsh.cjs} +41 -6
  132. package/dist/kaiAgent-DaB6UCsh.cjs.map +1 -0
  133. package/dist/{kaiAgentClient-BJj_2aqt.d.ts → kaiAgentClient-B5L4gbQ1.d.ts} +8 -3
  134. package/dist/{kaiAgentClient-DhTaM3GC.d.cts → kaiAgentClient-CHpULyeG.d.cts} +8 -3
  135. package/dist/management/index.cjs +1 -1
  136. package/dist/management/index.d.cts +2 -2
  137. package/dist/management/index.d.ts +2 -2
  138. package/dist/management/index.js +1 -1
  139. package/dist/management/types.d.cts +2 -2
  140. package/dist/management/types.d.ts +2 -2
  141. package/dist/{management-BoxlRNg2.cjs → management-DeZiQSlw.cjs} +41 -8
  142. package/dist/management-DeZiQSlw.cjs.map +1 -0
  143. package/dist/{management-Bp440RsV.js → management-ckdnu1dA.js} +41 -8
  144. package/dist/management-ckdnu1dA.js.map +1 -0
  145. package/dist/metastore/index.cjs +1 -1
  146. package/dist/metastore/index.js +1 -1
  147. package/dist/{metastore-BYYWTb3m.cjs → metastore-9AGrwjmN.cjs} +4 -4
  148. package/dist/{metastore-BYYWTb3m.cjs.map → metastore-9AGrwjmN.cjs.map} +1 -1
  149. package/dist/{metastore-VCDRVhUT.js → metastore-B0PolCjQ.js} +4 -4
  150. package/dist/{metastore-VCDRVhUT.js.map → metastore-B0PolCjQ.js.map} +1 -1
  151. package/dist/microsoftGraph/index.cjs +2 -2
  152. package/dist/microsoftGraph/index.js +2 -2
  153. package/dist/notifications/index.cjs +3 -3
  154. package/dist/notifications/index.js +3 -3
  155. package/dist/oauth/index.cjs +1 -1
  156. package/dist/oauth/index.js +1 -1
  157. package/dist/{oauth--asfePw-.js → oauth-BnHVf4cB.js} +5 -5
  158. package/dist/{oauth--asfePw-.js.map → oauth-BnHVf4cB.js.map} +1 -1
  159. package/dist/{oauth-B8yqG6Sy.cjs → oauth-DNtv4Ihb.cjs} +5 -5
  160. package/dist/{oauth-B8yqG6Sy.cjs.map → oauth-DNtv4Ihb.cjs.map} +1 -1
  161. package/dist/omnisearch/index.cjs +2 -2
  162. package/dist/omnisearch/index.js +2 -2
  163. package/dist/{project-hePfzUY0.d.cts → project-BRpzv3yE.d.cts} +2 -2
  164. package/dist/{project-C2wvX0xZ.d.ts → project-DCHOxRWd.d.ts} +2 -2
  165. package/dist/queryService/index.cjs +1 -1
  166. package/dist/queryService/index.d.cts +1 -1
  167. package/dist/queryService/index.d.ts +1 -1
  168. package/dist/queryService/index.js +1 -1
  169. package/dist/{queryService-BVtjkXy1.cjs → queryService-BVwD6Vmc.cjs} +5 -5
  170. package/dist/{queryService-BVtjkXy1.cjs.map → queryService-BVwD6Vmc.cjs.map} +1 -1
  171. package/dist/{queryService-Ca65E5KH.js → queryService-j3XZ2mX6.js} +5 -5
  172. package/dist/{queryService-Ca65E5KH.js.map → queryService-j3XZ2mX6.js.map} +1 -1
  173. package/dist/queue/index.cjs +1 -1
  174. package/dist/queue/index.d.cts +1 -1
  175. package/dist/queue/index.d.ts +1 -1
  176. package/dist/queue/index.js +1 -1
  177. package/dist/{queue-DyotLFJi.js → queue-Dagl0sdP.js} +4 -4
  178. package/dist/{queue-DyotLFJi.js.map → queue-Dagl0sdP.js.map} +1 -1
  179. package/dist/{queue-OJJUUqc2.cjs → queue-e3rMWbmK.cjs} +4 -4
  180. package/dist/{queue-OJJUUqc2.cjs.map → queue-e3rMWbmK.cjs.map} +1 -1
  181. package/dist/scheduler/index.cjs +3 -3
  182. package/dist/scheduler/index.js +3 -3
  183. package/dist/sdk/configurations/index.d.cts +4 -4
  184. package/dist/sdk/configurations/index.d.ts +4 -4
  185. package/dist/sdk/developerPortal/index.cjs +3 -3
  186. package/dist/sdk/developerPortal/index.js +3 -3
  187. package/dist/sdk/queryService/index.d.cts +1 -1
  188. package/dist/sdk/queryService/index.d.ts +1 -1
  189. package/dist/sdk/semanticLayer/index.cjs +1 -1
  190. package/dist/sdk/semanticLayer/index.js +1 -1
  191. package/dist/sdk/storage/index.d.cts +1 -1
  192. package/dist/sdk/storage/index.d.ts +1 -1
  193. package/dist/sdk/vault/index.d.cts +1 -1
  194. package/dist/sdk/vault/index.d.ts +1 -1
  195. package/dist/{semanticLayer-CSqmtHRo.js → semanticLayer-6_gtFxDu.js} +38 -5
  196. package/dist/semanticLayer-6_gtFxDu.js.map +1 -0
  197. package/dist/{semanticLayer-E0Vilu8u.cjs → semanticLayer-9uTaU7UT.cjs} +38 -5
  198. package/dist/semanticLayer-9uTaU7UT.cjs.map +1 -0
  199. package/dist/{serviceIds-DRcoTnSd.d.ts → serviceIds-DC-H6ZD9.d.cts} +2 -1
  200. package/dist/{serviceIds-DRcoTnSd.d.cts → serviceIds-DC-H6ZD9.d.ts} +2 -1
  201. package/dist/status/index.cjs +1 -1
  202. package/dist/status/index.js +1 -1
  203. package/dist/storage/index.cjs +5 -4
  204. package/dist/storage/index.d.cts +2 -2
  205. package/dist/storage/index.d.ts +2 -2
  206. package/dist/storage/index.js +5 -5
  207. package/dist/storage/types.d.cts +3 -3
  208. package/dist/storage/types.d.ts +3 -3
  209. package/dist/{storage-BKm7cztt.cjs → storage-HFUdEy7P.cjs} +43 -6
  210. package/dist/storage-HFUdEy7P.cjs.map +1 -0
  211. package/dist/{storage-LYwFQPNO.js → storage-Ob1LUIDq.js} +38 -7
  212. package/dist/storage-Ob1LUIDq.js.map +1 -0
  213. package/dist/stream/index.cjs +3 -3
  214. package/dist/stream/index.js +3 -3
  215. package/dist/syncActions/index.cjs +1 -1
  216. package/dist/syncActions/index.js +1 -1
  217. package/dist/{syncActions-QeBhIVhG.js → syncActions-B3NS5a0g.js} +5 -5
  218. package/dist/{syncActions-QeBhIVhG.js.map → syncActions-B3NS5a0g.js.map} +1 -1
  219. package/dist/{syncActions-OEZdVffK.cjs → syncActions-D2DhY6pP.cjs} +5 -5
  220. package/dist/{syncActions-OEZdVffK.cjs.map → syncActions-D2DhY6pP.cjs.map} +1 -1
  221. package/dist/telemetry/index.cjs +3 -3
  222. package/dist/telemetry/index.js +3 -3
  223. package/dist/{types-CzsnuPFh.d.cts → types-B-P4vQe0.d.cts} +35 -2
  224. package/dist/{types-DEc55spK.d.ts → types-B95uNQ9o.d.ts} +3 -3
  225. package/dist/{types-BQsOHNI0.d.ts → types-BrPlv-NS.d.ts} +3 -3
  226. package/dist/{types-DjrRmQUe.d.cts → types-CmF3pR2n.d.cts} +3 -3
  227. package/dist/{types-f8W_j6qD.d.cts → types-Crhy0c9m.d.cts} +657 -199
  228. package/dist/{types-DPS8nwkV.d.cts → types-DOyNe7oe.d.cts} +2 -1
  229. package/dist/{types-BuqxXXYP.d.ts → types-DPl8pZsY.d.ts} +35 -2
  230. package/dist/{types-CaYtinmA.d.cts → types-D_j2Uq5X.d.cts} +3 -3
  231. package/dist/{types-BupPADSm.d.ts → types-DrqKICcK.d.ts} +657 -199
  232. package/dist/{types-DBOSvWtD.d.ts → types-gi4Eay19.d.ts} +2 -1
  233. package/dist/{validateConnectionStatus-olE2sQ3U.js → validateConnectionStatus-828HV8WL.js} +4 -3
  234. package/dist/validateConnectionStatus-828HV8WL.js.map +1 -0
  235. package/dist/{validateConnectionStatus-CsvYmCOI.cjs → validateConnectionStatus-CvBKyeDO.cjs} +4 -3
  236. package/dist/validateConnectionStatus-CvBKyeDO.cjs.map +1 -0
  237. package/dist/vault/index.cjs +4 -4
  238. package/dist/vault/index.js +4 -4
  239. package/package.json +28 -2
  240. package/surface/businessWorkspaceApi.md +12 -0
  241. package/surface/chat.md +1 -1
  242. package/surface/kaiAgent.md +5 -2
  243. package/surface/management.md +4 -0
  244. package/dist/constants-C4DlsF_M.cjs.map +0 -1
  245. package/dist/constants-wfbFsqqN.js.map +0 -1
  246. package/dist/createFetchClient-DgMiqTJ8.cjs.map +0 -1
  247. package/dist/createFetchClient-U-ZrwPl2.js.map +0 -1
  248. package/dist/kaiAgent-8LNzGhZc.js.map +0 -1
  249. package/dist/kaiAgent-B_TaUPRt.cjs.map +0 -1
  250. package/dist/management-BoxlRNg2.cjs.map +0 -1
  251. package/dist/management-Bp440RsV.js.map +0 -1
  252. package/dist/semanticLayer-CSqmtHRo.js.map +0 -1
  253. package/dist/semanticLayer-E0Vilu8u.cjs.map +0 -1
  254. package/dist/storage-BKm7cztt.cjs.map +0 -1
  255. package/dist/storage-LYwFQPNO.js.map +0 -1
  256. package/dist/validateConnectionStatus-CsvYmCOI.cjs.map +0 -1
  257. package/dist/validateConnectionStatus-olE2sQ3U.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dataScience-C1gO5zUn.js","names":[],"sources":["../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"sourcesContent":["import type { RawAppRun } from './types';\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 { readAppLogsDownload, readAppLogsTail } from '../../domain/appLogs';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\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 { prepareAppRun } 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 const genericClient = createGenericFetchClient({ baseUrl, middlewares });\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 = (id: GetDataAppLogsDownloadPath['appId'], signal?: AbortSignal) =>\n readAppLogsDownload(() =>\n client.get('/apps/{appId}/logs/download', { path: { appId: id } }, { signal }),\n );\n\n const getAppLogsTail = (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) =>\n readAppLogsTail(() =>\n client.get('/apps/{appId}/logs/tail', { query, path: { appId: id } }, { signal }),\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 const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\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"],"mappings":"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"}
1
+ {"version":3,"file":"dataScience-B_BmnB1m.js","names":[],"sources":["../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"sourcesContent":["import type { RawAppRun } from './types';\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 { readAppLogsDownload, readAppLogsTail } from '../../domain/appLogs';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\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 { prepareAppRun } 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 const genericClient = createGenericFetchClient({ baseUrl, middlewares });\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 = (id: GetDataAppLogsDownloadPath['appId'], signal?: AbortSignal) =>\n readAppLogsDownload(() =>\n client.get('/apps/{appId}/logs/download', { path: { appId: id } }, { signal }),\n );\n\n const getAppLogsTail = (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) =>\n readAppLogsTail(() =>\n client.get('/apps/{appId}/logs/tail', { query, path: { appId: id } }, { signal }),\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 const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\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"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- const require_createGenericFetchClient = require("./createGenericFetchClient-o3cPJeRn.cjs");
2
- const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-DhUU3M1W.cjs");
3
- const require_auth = require("./auth-JQ33o3nU.cjs");
4
- const require_appLogs = require("./appLogs-BjfUoWzs.cjs");
1
+ const require_createGenericFetchClient = require("./createGenericFetchClient-lcozzwk2.cjs");
2
+ const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-C3UmDXpe.cjs");
3
+ const require_auth = require("./auth-DLWnl18b.cjs");
4
+ const require_appLogs = require("./appLogs-C_zP0lpv.cjs");
5
5
  //#region src/clients/dataScience/utils.ts
6
6
  const prepareAppRun = (appRun) => {
7
7
  return {
@@ -111,4 +111,4 @@ Object.defineProperty(exports, "createDataScienceClient", {
111
111
  }
112
112
  });
113
113
 
114
- //# sourceMappingURL=dataScience-0Rl_EuV_.cjs.map
114
+ //# sourceMappingURL=dataScience-D-hyc4GY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataScience-0Rl_EuV_.cjs","names":["createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient","readAppLogsDownload","readAppLogsTail"],"sources":["../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"sourcesContent":["import type { RawAppRun } from './types';\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 { readAppLogsDownload, readAppLogsTail } from '../../domain/appLogs';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\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 { prepareAppRun } 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 const genericClient = createGenericFetchClient({ baseUrl, middlewares });\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 = (id: GetDataAppLogsDownloadPath['appId'], signal?: AbortSignal) =>\n readAppLogsDownload(() =>\n client.get('/apps/{appId}/logs/download', { path: { appId: id } }, { signal }),\n );\n\n const getAppLogsTail = (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) =>\n readAppLogsTail(() =>\n client.get('/apps/{appId}/logs/tail', { query, path: { appId: id } }, { signal }),\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 const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\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"],"mappings":"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"}
1
+ {"version":3,"file":"dataScience-D-hyc4GY.cjs","names":["createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient","readAppLogsDownload","readAppLogsTail"],"sources":["../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"sourcesContent":["import type { RawAppRun } from './types';\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 { readAppLogsDownload, readAppLogsTail } from '../../domain/appLogs';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\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 { prepareAppRun } 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 const genericClient = createGenericFetchClient({ baseUrl, middlewares });\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 = (id: GetDataAppLogsDownloadPath['appId'], signal?: AbortSignal) =>\n readAppLogsDownload(() =>\n client.get('/apps/{appId}/logs/download', { path: { appId: id } }, { signal }),\n );\n\n const getAppLogsTail = (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) =>\n readAppLogsTail(() =>\n client.get('/apps/{appId}/logs/tail', { query, path: { appId: id } }, { signal }),\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 const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\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"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_developerPortalClient = require("../developerPortalClient-ki0XS_OD.cjs");
2
+ const require_developerPortalClient = require("../developerPortalClient-CutPqoAa.cjs");
3
3
  exports.authHeader = require_developerPortalClient.authHeader;
4
4
  exports.createDeveloperPortalClient = require_developerPortalClient.createDeveloperPortalClient;
5
5
  exports.isMfaChallengeResponse = require_developerPortalClient.isMfaChallengeResponse;
@@ -1,2 +1,2 @@
1
- import { i as uploadAppIcon, n as isMfaChallengeResponse, r as authHeader, t as createDeveloperPortalClient } from "../developerPortalClient-C_48z8BN.js";
1
+ import { i as uploadAppIcon, n as isMfaChallengeResponse, r as authHeader, t as createDeveloperPortalClient } from "../developerPortalClient-yHFTkKPb.js";
2
2
  export { authHeader, createDeveloperPortalClient, isMfaChallengeResponse, uploadAppIcon };
@@ -1,5 +1,5 @@
1
- const require_createFetchClient = require("./createFetchClient-DgMiqTJ8.cjs");
2
- const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-DhUU3M1W.cjs");
1
+ const require_createFetchClient = require("./createFetchClient-BlgPbjFj.cjs");
2
+ const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-C3UmDXpe.cjs");
3
3
  //#region src/clients/developerPortal/admin/admin.ts
4
4
  /** Keboola staff only. Every method 403s for a non-admin token; the UI gates on `custom:isAdmin`. */
5
5
  const createAdmin = (client) => {
@@ -505,4 +505,4 @@ Object.defineProperty(exports, "uploadAppIcon", {
505
505
  }
506
506
  });
507
507
 
508
- //# sourceMappingURL=developerPortalClient-ki0XS_OD.cjs.map
508
+ //# sourceMappingURL=developerPortalClient-CutPqoAa.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"developerPortalClient-ki0XS_OD.cjs","names":["HttpHeader","createOpenapiFetchClient"],"sources":["../src/clients/developerPortal/admin/admin.ts","../src/clients/developerPortal/apps/apps.ts","../src/clients/developerPortal/tokens.ts","../src/clients/developerPortal/auth/auth.ts","../src/clients/developerPortal/vendors/vendors.ts","../src/clients/developerPortal/developerPortalClient.ts"],"sourcesContent":["import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n AdminPaginationQuery,\n ApproveVendorInput,\n CreateVendorAsAdminInput,\n GetChangesQuery,\n PaginationQuery,\n RejectAppInput,\n UpdateAppAsAdminInput,\n UpdateVendorAsAdminInput,\n} from '../types';\n\n/** Keboola staff only. Every method 403s for a non-admin token; the UI gates on `custom:isAdmin`. */\nexport const createAdmin = (client: DeveloperPortalFetchClient) => {\n const getStacks = async (signal?: AbortSignal) => {\n const { data } = await client.get('/admin/stacks', {}, { signal });\n return data;\n };\n\n const getChanges = async (query: GetChangesQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/changes', { query }, { signal });\n return data;\n };\n\n const getApps = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps', { query }, { signal });\n return data;\n };\n\n const getApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps/{id}', { path: { id } }, { signal });\n return data;\n };\n\n const updateApp = async (id: string, body: UpdateAppAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.patch('/admin/apps/{id}', { path: { id }, body }, { signal });\n return data;\n };\n\n const publishApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/apps/{id}/publish', { path: { id } }, { signal });\n return data;\n };\n\n const rejectApp = async (id: string, body: RejectAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/admin/apps/{id}/reject',\n { path: { id }, body },\n { signal },\n );\n return data;\n };\n\n const getUsers = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/users', { query }, { signal });\n return data;\n };\n\n const deleteUser = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}', { path: { username } }, { signal });\n };\n\n /** Clears the user's MFA enrolment so they can re-enrol — the account-recovery path. */\n const resetUserMfa = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/mfa', { path: { username } }, { signal });\n };\n\n const addUserToVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.post(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const removeUserFromVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.delete(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const grantUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.post('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const revokeUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const getVendors = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/vendors', { query }, { signal });\n return data;\n };\n\n const createVendor = async (body: CreateVendorAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (\n vendor: string,\n body: UpdateVendorAsAdminInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/admin/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const deleteVendor = async (vendor: string, signal?: AbortSignal) => {\n await client.delete('/admin/vendors/{vendor}', { path: { vendor } }, { signal });\n };\n\n /** Swaps a pending `_v`-prefixed id for the permanent one carried in the body. */\n const approveVendor = async (vendor: string, body: ApproveVendorInput, signal?: AbortSignal) => {\n await client.post('/admin/vendors/{vendor}/approve', { path: { vendor }, body }, { signal });\n };\n\n return {\n getStacks,\n getChanges,\n getApps,\n getApp,\n updateApp,\n publishApp,\n rejectApp,\n getUsers,\n deleteUser,\n resetUserMfa,\n addUserToVendor,\n removeUserFromVendor,\n grantUserAdmin,\n revokeUserAdmin,\n getVendors,\n createVendor,\n updateVendor,\n deleteVendor,\n approveVendor,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateAppInput,\n DeprecateAppInput,\n GetAppsQuery,\n PaginationQuery,\n UpdateAppInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /apps` and `GET /apps/{app}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createApps = ({ client, publicClient }: Deps) => {\n /** The public catalog: scoped server-side to published components. */\n const getPublishedApps = async (query: GetAppsQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps', { query }, { signal });\n return data;\n };\n\n const getPublishedApp = async (app: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps/{app}', { path: { app } }, { signal });\n return data;\n };\n\n const getApps = async (vendor: string, query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const getApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const createApp = async (vendor: string, body: CreateAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const updateApp = async (\n vendor: string,\n app: string,\n body: UpdateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n await client.delete('/vendors/{vendor}/apps/{app}', { path: { vendor, app } }, { signal });\n };\n\n const requestAppPublishing = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/publish',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const deprecateApp = async (\n vendor: string,\n app: string,\n body: DeprecateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/deprecate',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const getAppVersions = async (\n vendor: string,\n app: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions',\n { path: { vendor, app }, query },\n { signal },\n );\n return data;\n };\n\n const getAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions/{version}',\n { path: { vendor, app, version } },\n { signal },\n );\n return data;\n };\n\n const rollbackAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n await client.post(\n '/vendors/{vendor}/apps/{app}/versions/{version}/rollback',\n { path: { vendor, app, version } },\n { signal },\n );\n };\n\n const getAppRepository = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/repository',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n /** Requests a presigned S3 upload link; the upload itself is {@link uploadAppIcon}. */\n const createAppIconUploadLink = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/icon',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n return {\n getPublishedApps,\n getPublishedApp,\n getApps,\n getApp,\n createApp,\n updateApp,\n deleteApp,\n requestAppPublishing,\n deprecateApp,\n getAppVersions,\n getAppVersion,\n rollbackAppVersion,\n getAppRepository,\n createAppIconUploadLink,\n };\n};\n\n/**\n * Uploads the icon to the presigned URL from `createAppIconUploadLink`. Deliberately a bare `fetch`:\n * the URL carries its own signature in the query string, and sending our `Authorization` header to\n * S3 makes it reject the request.\n */\nexport const uploadAppIcon = async (\n uploadUrl: string,\n png: Blob,\n signal?: AbortSignal,\n): Promise<void> => {\n const response = await fetch(uploadUrl, {\n method: 'PUT',\n body: png,\n headers: { 'Content-Type': 'image/png' },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Icon upload failed: ${response.status} ${response.statusText}`);\n }\n};\n","import { HttpHeader } from '../../fetchClient';\n\n/**\n * The Cognito token trio apps-api issues. `token` is the id token: stamped on almost every call, and\n * the header on both MFA calls. `refreshToken` authenticates `GET /auth/token`. `accessToken`\n * authenticates `POST /auth/logout` as a header, and both `POST /auth/mfa` and `/auth/mfa/confirm`\n * in the **body** — which is why those two stay off the refresh-and-replay path.\n */\nexport type DeveloperPortalTokens = {\n token: string;\n accessToken: string;\n refreshToken: string;\n};\n\n/** Raw token, no `Bearer` prefix — see the spec's `bearerAuth` scheme (`type: apiKey`). */\nexport const authHeader = (token: string): Record<string, string> => ({\n [HttpHeader.AUTHORIZATION]: token,\n});\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport { authHeader } from '../tokens';\nimport type {\n ConfirmAccountInput,\n LoginChallenge,\n LoginInput,\n LoginResult,\n ResetPasswordConfirmInput,\n SignUpInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** The spec's `security: []` operations, plus the four that bring their own token. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const isMfaChallengeResponse = (result: LoginResult): result is LoginChallenge =>\n !('token' in result);\n\nexport const createAuth = ({ client, publicClient }: Deps) => {\n const login = async (body: LoginInput, signal?: AbortSignal) => {\n const { data } = await publicClient.post('/auth/login', { body }, { signal });\n return data;\n };\n\n const signUp = async (body: SignUpInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/signup', { body }, { signal });\n };\n\n const confirmAccount = async (body: ConfirmAccountInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm', { body }, { signal });\n };\n\n /** Confirms via the emailed link's path segments, for a consumer echoing that link. */\n const confirmAccountByCode = async (email: string, code: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm/{email}/{code}', { path: { email, code } }, { signal });\n };\n\n /**\n * Rotates the trio, authenticated with the **refresh** token, on the auth-free client so a\n * rotation triggered by the auth middleware cannot recurse into it. The response carries no new\n * refresh token, so the caller carries the one it has forward.\n */\n const refreshTokens = async (refreshToken: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get(\n '/auth/token',\n {},\n { headers: authHeader(refreshToken), signal },\n );\n return data;\n };\n\n /** Authenticated with the **access** token. Clear local state regardless of the outcome. */\n const logout = async (accessToken: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/logout', {}, { headers: authHeader(accessToken), signal });\n };\n\n const getProfile = async (signal?: AbortSignal) => {\n const { data } = await client.get('/auth/profile', {}, { signal });\n return data;\n };\n\n const requestPasswordReset = async (email: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/forgot/{email}', { path: { email } }, { signal });\n };\n\n const confirmPasswordReset = async (\n email: string,\n body: ResetPasswordConfirmInput,\n signal?: AbortSignal,\n ) => {\n await publicClient.post('/auth/forgot/{email}/confirm', { path: { email }, body }, { signal });\n };\n\n // `setupMfa` and `confirmMfa` each take two of the three tokens: the auth token in the header, the\n // access token in the body. Both sit on the auth-free client, which keeps them out of the\n // middleware's refresh-and-replay: restamping a header cannot fix a stale token in a body.\n const setupMfa = async (\n { idToken, accessToken }: { idToken: string; accessToken: string },\n signal?: AbortSignal,\n ) => {\n const { data } = await publicClient.post(\n '/auth/mfa',\n { body: { accessToken } },\n { headers: authHeader(idToken), signal },\n );\n return data;\n };\n\n const confirmMfa = async (\n { idToken, accessToken, code }: { idToken: string; accessToken: string; code: string },\n signal?: AbortSignal,\n ) => {\n await publicClient.post(\n '/auth/mfa/confirm',\n { body: { accessToken, code } },\n { headers: authHeader(idToken), signal },\n );\n };\n\n return {\n login,\n signUp,\n confirmAccount,\n confirmAccountByCode,\n refreshTokens,\n logout,\n getProfile,\n requestPasswordReset,\n confirmPasswordReset,\n setupMfa,\n confirmMfa,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateServiceAccountInput,\n CreateVendorInput,\n GetVendorUsersQuery,\n PaginationQuery,\n UpdateVendorInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /vendors` and `GET /vendors/{vendor}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createVendors = ({ client, publicClient }: Deps) => {\n const getVendors = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors', { query }, { signal });\n return data;\n };\n\n const getVendor = async (vendor: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors/{vendor}', { path: { vendor } }, { signal });\n return data;\n };\n\n /** Self-service registration. The vendor is pending, under a temporary `_v`-prefixed id. */\n const createVendor = async (body: CreateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.post('/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (vendor: string, body: UpdateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.patch(\n '/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const getVendorUsers = async (\n vendor: string,\n query: GetVendorUsersQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n /** Requests membership of a vendor for the signed-in user. */\n const requestVendorMembership = async (vendor: string, signal?: AbortSignal) => {\n await client.post('/vendors/{vendor}/users', { path: { vendor } }, { signal });\n };\n\n const approveVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const removeVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.delete(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const getVendorUserRequests = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/user-requests',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const sendVendorInvitation = async (vendor: string, email: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/invitations/{email}',\n { path: { vendor, email } },\n { signal },\n );\n };\n\n /** `security: []` — the invitee follows the emailed link before they have a session. */\n const acceptVendorInvitation = async (\n vendor: string,\n email: string,\n code: string,\n signal?: AbortSignal,\n ) => {\n await publicClient.get(\n '/vendors/{vendor}/invitations/{email}/{code}',\n { path: { vendor, email, code } },\n { signal },\n );\n };\n\n /** `service=1` filters the member list; there is no distinct endpoint. */\n const getServiceAccounts = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query: { ...query, service: 1 } },\n { signal },\n );\n return data;\n };\n\n /** The returned `password` is shown once and is not retrievable afterwards. */\n const createServiceAccount = async (\n vendor: string,\n body: CreateServiceAccountInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/credentials',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n return {\n getVendors,\n getVendor,\n createVendor,\n updateVendor,\n getVendorUsers,\n requestVendorMembership,\n approveVendorUser,\n removeVendorUser,\n getVendorUserRequests,\n sendVendorInvitation,\n acceptVendorInvitation,\n getServiceAccounts,\n createServiceAccount,\n };\n};\n","import { createOpenapiFetchClient, type MiddlewareFn } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAdmin } from './admin/admin';\nimport { createApps } from './apps/apps';\nimport { createAuth } from './auth/auth';\nimport { createVendors } from './vendors/vendors';\n\nexport type DeveloperPortalFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport type DeveloperPortalClientInitOptions = Omit<ClientInitOptions, 'auth' | 'middlewares'> & {\n middlewares?: MiddlewareFn[];\n /**\n * Stamps the id token. A middleware rather than the `auth: AuthStrategy` other clients take, because\n * apps-api's token rotates and a header baked in at construction would go stale. Supplied by\n * `createDeveloperPortalSdk`; omit it for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * The Developer Portal (apps-api) client. Paths and types are generated from\n * `https://apps-api.keboola.com/docs/openapi.yaml` — see `redocly.yaml` and `pnpm gen:types`.\n *\n * Two fetch clients because the spec splits its operations: `security: []` ones must go out\n * unauthenticated, and four authenticate with the access or refresh token instead of the id token.\n */\nexport const createDeveloperPortalClient = ({\n baseUrl,\n middlewares = [],\n authMiddleware,\n}: DeveloperPortalClientInitOptions) => {\n const publicClient = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({ baseUrl, middlewares: [authMiddleware, ...middlewares] })\n : publicClient;\n\n /** `GET /` — the spec's service index. */\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await publicClient.get('/', {}, { signal });\n return data;\n };\n\n return {\n healthCheck,\n auth: createAuth({ client, publicClient }),\n vendors: createVendors({ client, publicClient }),\n apps: createApps({ client, publicClient }),\n admin: createAdmin(client),\n };\n};\n\nexport type DeveloperPortalClient = ReturnType<typeof createDeveloperPortalClient>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"developerPortalClient-CutPqoAa.cjs","names":["HttpHeader","createOpenapiFetchClient"],"sources":["../src/clients/developerPortal/admin/admin.ts","../src/clients/developerPortal/apps/apps.ts","../src/clients/developerPortal/tokens.ts","../src/clients/developerPortal/auth/auth.ts","../src/clients/developerPortal/vendors/vendors.ts","../src/clients/developerPortal/developerPortalClient.ts"],"sourcesContent":["import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n AdminPaginationQuery,\n ApproveVendorInput,\n CreateVendorAsAdminInput,\n GetChangesQuery,\n PaginationQuery,\n RejectAppInput,\n UpdateAppAsAdminInput,\n UpdateVendorAsAdminInput,\n} from '../types';\n\n/** Keboola staff only. Every method 403s for a non-admin token; the UI gates on `custom:isAdmin`. */\nexport const createAdmin = (client: DeveloperPortalFetchClient) => {\n const getStacks = async (signal?: AbortSignal) => {\n const { data } = await client.get('/admin/stacks', {}, { signal });\n return data;\n };\n\n const getChanges = async (query: GetChangesQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/changes', { query }, { signal });\n return data;\n };\n\n const getApps = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps', { query }, { signal });\n return data;\n };\n\n const getApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps/{id}', { path: { id } }, { signal });\n return data;\n };\n\n const updateApp = async (id: string, body: UpdateAppAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.patch('/admin/apps/{id}', { path: { id }, body }, { signal });\n return data;\n };\n\n const publishApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/apps/{id}/publish', { path: { id } }, { signal });\n return data;\n };\n\n const rejectApp = async (id: string, body: RejectAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/admin/apps/{id}/reject',\n { path: { id }, body },\n { signal },\n );\n return data;\n };\n\n const getUsers = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/users', { query }, { signal });\n return data;\n };\n\n const deleteUser = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}', { path: { username } }, { signal });\n };\n\n /** Clears the user's MFA enrolment so they can re-enrol — the account-recovery path. */\n const resetUserMfa = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/mfa', { path: { username } }, { signal });\n };\n\n const addUserToVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.post(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const removeUserFromVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.delete(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const grantUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.post('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const revokeUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const getVendors = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/vendors', { query }, { signal });\n return data;\n };\n\n const createVendor = async (body: CreateVendorAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (\n vendor: string,\n body: UpdateVendorAsAdminInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/admin/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const deleteVendor = async (vendor: string, signal?: AbortSignal) => {\n await client.delete('/admin/vendors/{vendor}', { path: { vendor } }, { signal });\n };\n\n /** Swaps a pending `_v`-prefixed id for the permanent one carried in the body. */\n const approveVendor = async (vendor: string, body: ApproveVendorInput, signal?: AbortSignal) => {\n await client.post('/admin/vendors/{vendor}/approve', { path: { vendor }, body }, { signal });\n };\n\n return {\n getStacks,\n getChanges,\n getApps,\n getApp,\n updateApp,\n publishApp,\n rejectApp,\n getUsers,\n deleteUser,\n resetUserMfa,\n addUserToVendor,\n removeUserFromVendor,\n grantUserAdmin,\n revokeUserAdmin,\n getVendors,\n createVendor,\n updateVendor,\n deleteVendor,\n approveVendor,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateAppInput,\n DeprecateAppInput,\n GetAppsQuery,\n PaginationQuery,\n UpdateAppInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /apps` and `GET /apps/{app}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createApps = ({ client, publicClient }: Deps) => {\n /** The public catalog: scoped server-side to published components. */\n const getPublishedApps = async (query: GetAppsQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps', { query }, { signal });\n return data;\n };\n\n const getPublishedApp = async (app: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps/{app}', { path: { app } }, { signal });\n return data;\n };\n\n const getApps = async (vendor: string, query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const getApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const createApp = async (vendor: string, body: CreateAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const updateApp = async (\n vendor: string,\n app: string,\n body: UpdateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n await client.delete('/vendors/{vendor}/apps/{app}', { path: { vendor, app } }, { signal });\n };\n\n const requestAppPublishing = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/publish',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const deprecateApp = async (\n vendor: string,\n app: string,\n body: DeprecateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/deprecate',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const getAppVersions = async (\n vendor: string,\n app: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions',\n { path: { vendor, app }, query },\n { signal },\n );\n return data;\n };\n\n const getAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions/{version}',\n { path: { vendor, app, version } },\n { signal },\n );\n return data;\n };\n\n const rollbackAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n await client.post(\n '/vendors/{vendor}/apps/{app}/versions/{version}/rollback',\n { path: { vendor, app, version } },\n { signal },\n );\n };\n\n const getAppRepository = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/repository',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n /** Requests a presigned S3 upload link; the upload itself is {@link uploadAppIcon}. */\n const createAppIconUploadLink = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/icon',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n return {\n getPublishedApps,\n getPublishedApp,\n getApps,\n getApp,\n createApp,\n updateApp,\n deleteApp,\n requestAppPublishing,\n deprecateApp,\n getAppVersions,\n getAppVersion,\n rollbackAppVersion,\n getAppRepository,\n createAppIconUploadLink,\n };\n};\n\n/**\n * Uploads the icon to the presigned URL from `createAppIconUploadLink`. Deliberately a bare `fetch`:\n * the URL carries its own signature in the query string, and sending our `Authorization` header to\n * S3 makes it reject the request.\n */\nexport const uploadAppIcon = async (\n uploadUrl: string,\n png: Blob,\n signal?: AbortSignal,\n): Promise<void> => {\n const response = await fetch(uploadUrl, {\n method: 'PUT',\n body: png,\n headers: { 'Content-Type': 'image/png' },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Icon upload failed: ${response.status} ${response.statusText}`);\n }\n};\n","import { HttpHeader } from '../../fetchClient';\n\n/**\n * The Cognito token trio apps-api issues. `token` is the id token: stamped on almost every call, and\n * the header on both MFA calls. `refreshToken` authenticates `GET /auth/token`. `accessToken`\n * authenticates `POST /auth/logout` as a header, and both `POST /auth/mfa` and `/auth/mfa/confirm`\n * in the **body** — which is why those two stay off the refresh-and-replay path.\n */\nexport type DeveloperPortalTokens = {\n token: string;\n accessToken: string;\n refreshToken: string;\n};\n\n/** Raw token, no `Bearer` prefix — see the spec's `bearerAuth` scheme (`type: apiKey`). */\nexport const authHeader = (token: string): Record<string, string> => ({\n [HttpHeader.AUTHORIZATION]: token,\n});\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport { authHeader } from '../tokens';\nimport type {\n ConfirmAccountInput,\n LoginChallenge,\n LoginInput,\n LoginResult,\n ResetPasswordConfirmInput,\n SignUpInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** The spec's `security: []` operations, plus the four that bring their own token. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const isMfaChallengeResponse = (result: LoginResult): result is LoginChallenge =>\n !('token' in result);\n\nexport const createAuth = ({ client, publicClient }: Deps) => {\n const login = async (body: LoginInput, signal?: AbortSignal) => {\n const { data } = await publicClient.post('/auth/login', { body }, { signal });\n return data;\n };\n\n const signUp = async (body: SignUpInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/signup', { body }, { signal });\n };\n\n const confirmAccount = async (body: ConfirmAccountInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm', { body }, { signal });\n };\n\n /** Confirms via the emailed link's path segments, for a consumer echoing that link. */\n const confirmAccountByCode = async (email: string, code: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm/{email}/{code}', { path: { email, code } }, { signal });\n };\n\n /**\n * Rotates the trio, authenticated with the **refresh** token, on the auth-free client so a\n * rotation triggered by the auth middleware cannot recurse into it. The response carries no new\n * refresh token, so the caller carries the one it has forward.\n */\n const refreshTokens = async (refreshToken: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get(\n '/auth/token',\n {},\n { headers: authHeader(refreshToken), signal },\n );\n return data;\n };\n\n /** Authenticated with the **access** token. Clear local state regardless of the outcome. */\n const logout = async (accessToken: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/logout', {}, { headers: authHeader(accessToken), signal });\n };\n\n const getProfile = async (signal?: AbortSignal) => {\n const { data } = await client.get('/auth/profile', {}, { signal });\n return data;\n };\n\n const requestPasswordReset = async (email: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/forgot/{email}', { path: { email } }, { signal });\n };\n\n const confirmPasswordReset = async (\n email: string,\n body: ResetPasswordConfirmInput,\n signal?: AbortSignal,\n ) => {\n await publicClient.post('/auth/forgot/{email}/confirm', { path: { email }, body }, { signal });\n };\n\n // `setupMfa` and `confirmMfa` each take two of the three tokens: the auth token in the header, the\n // access token in the body. Both sit on the auth-free client, which keeps them out of the\n // middleware's refresh-and-replay: restamping a header cannot fix a stale token in a body.\n const setupMfa = async (\n { idToken, accessToken }: { idToken: string; accessToken: string },\n signal?: AbortSignal,\n ) => {\n const { data } = await publicClient.post(\n '/auth/mfa',\n { body: { accessToken } },\n { headers: authHeader(idToken), signal },\n );\n return data;\n };\n\n const confirmMfa = async (\n { idToken, accessToken, code }: { idToken: string; accessToken: string; code: string },\n signal?: AbortSignal,\n ) => {\n await publicClient.post(\n '/auth/mfa/confirm',\n { body: { accessToken, code } },\n { headers: authHeader(idToken), signal },\n );\n };\n\n return {\n login,\n signUp,\n confirmAccount,\n confirmAccountByCode,\n refreshTokens,\n logout,\n getProfile,\n requestPasswordReset,\n confirmPasswordReset,\n setupMfa,\n confirmMfa,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateServiceAccountInput,\n CreateVendorInput,\n GetVendorUsersQuery,\n PaginationQuery,\n UpdateVendorInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /vendors` and `GET /vendors/{vendor}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createVendors = ({ client, publicClient }: Deps) => {\n const getVendors = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors', { query }, { signal });\n return data;\n };\n\n const getVendor = async (vendor: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors/{vendor}', { path: { vendor } }, { signal });\n return data;\n };\n\n /** Self-service registration. The vendor is pending, under a temporary `_v`-prefixed id. */\n const createVendor = async (body: CreateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.post('/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (vendor: string, body: UpdateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.patch(\n '/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const getVendorUsers = async (\n vendor: string,\n query: GetVendorUsersQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n /** Requests membership of a vendor for the signed-in user. */\n const requestVendorMembership = async (vendor: string, signal?: AbortSignal) => {\n await client.post('/vendors/{vendor}/users', { path: { vendor } }, { signal });\n };\n\n const approveVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const removeVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.delete(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const getVendorUserRequests = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/user-requests',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const sendVendorInvitation = async (vendor: string, email: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/invitations/{email}',\n { path: { vendor, email } },\n { signal },\n );\n };\n\n /** `security: []` — the invitee follows the emailed link before they have a session. */\n const acceptVendorInvitation = async (\n vendor: string,\n email: string,\n code: string,\n signal?: AbortSignal,\n ) => {\n await publicClient.get(\n '/vendors/{vendor}/invitations/{email}/{code}',\n { path: { vendor, email, code } },\n { signal },\n );\n };\n\n /** `service=1` filters the member list; there is no distinct endpoint. */\n const getServiceAccounts = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query: { ...query, service: 1 } },\n { signal },\n );\n return data;\n };\n\n /** The returned `password` is shown once and is not retrievable afterwards. */\n const createServiceAccount = async (\n vendor: string,\n body: CreateServiceAccountInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/credentials',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n return {\n getVendors,\n getVendor,\n createVendor,\n updateVendor,\n getVendorUsers,\n requestVendorMembership,\n approveVendorUser,\n removeVendorUser,\n getVendorUserRequests,\n sendVendorInvitation,\n acceptVendorInvitation,\n getServiceAccounts,\n createServiceAccount,\n };\n};\n","import { createOpenapiFetchClient, type MiddlewareFn } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAdmin } from './admin/admin';\nimport { createApps } from './apps/apps';\nimport { createAuth } from './auth/auth';\nimport { createVendors } from './vendors/vendors';\n\nexport type DeveloperPortalFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport type DeveloperPortalClientInitOptions = Omit<ClientInitOptions, 'auth' | 'middlewares'> & {\n middlewares?: MiddlewareFn[];\n /**\n * Stamps the id token. A middleware rather than the `auth: AuthStrategy` other clients take, because\n * apps-api's token rotates and a header baked in at construction would go stale. Supplied by\n * `createDeveloperPortalSdk`; omit it for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * The Developer Portal (apps-api) client. Paths and types are generated from\n * `https://apps-api.keboola.com/docs/openapi.yaml` — see `redocly.yaml` and `pnpm gen:types`.\n *\n * Two fetch clients because the spec splits its operations: `security: []` ones must go out\n * unauthenticated, and four authenticate with the access or refresh token instead of the id token.\n */\nexport const createDeveloperPortalClient = ({\n baseUrl,\n middlewares = [],\n authMiddleware,\n}: DeveloperPortalClientInitOptions) => {\n const publicClient = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({ baseUrl, middlewares: [authMiddleware, ...middlewares] })\n : publicClient;\n\n /** `GET /` — the spec's service index. */\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await publicClient.get('/', {}, { signal });\n return data;\n };\n\n return {\n healthCheck,\n auth: createAuth({ client, publicClient }),\n vendors: createVendors({ client, publicClient }),\n apps: createApps({ client, publicClient }),\n admin: createAdmin(client),\n };\n};\n\nexport type DeveloperPortalClient = ReturnType<typeof createDeveloperPortalClient>;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { s as HttpHeader } from "./createFetchClient-U-ZrwPl2.js";
2
- import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-BVSc9ibR.js";
1
+ import { s as HttpHeader } from "./createFetchClient-C-cadpBx.js";
2
+ import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-COaPeeQ0.js";
3
3
  //#region src/clients/developerPortal/admin/admin.ts
4
4
  /** Keboola staff only. Every method 403s for a non-admin token; the UI gates on `custom:isAdmin`. */
5
5
  const createAdmin = (client) => {
@@ -482,4 +482,4 @@ const createDeveloperPortalClient = ({ baseUrl, middlewares = [], authMiddleware
482
482
  //#endregion
483
483
  export { uploadAppIcon as i, isMfaChallengeResponse as n, authHeader as r, createDeveloperPortalClient as t };
484
484
 
485
- //# sourceMappingURL=developerPortalClient-C_48z8BN.js.map
485
+ //# sourceMappingURL=developerPortalClient-yHFTkKPb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"developerPortalClient-C_48z8BN.js","names":[],"sources":["../src/clients/developerPortal/admin/admin.ts","../src/clients/developerPortal/apps/apps.ts","../src/clients/developerPortal/tokens.ts","../src/clients/developerPortal/auth/auth.ts","../src/clients/developerPortal/vendors/vendors.ts","../src/clients/developerPortal/developerPortalClient.ts"],"sourcesContent":["import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n AdminPaginationQuery,\n ApproveVendorInput,\n CreateVendorAsAdminInput,\n GetChangesQuery,\n PaginationQuery,\n RejectAppInput,\n UpdateAppAsAdminInput,\n UpdateVendorAsAdminInput,\n} from '../types';\n\n/** Keboola staff only. Every method 403s for a non-admin token; the UI gates on `custom:isAdmin`. */\nexport const createAdmin = (client: DeveloperPortalFetchClient) => {\n const getStacks = async (signal?: AbortSignal) => {\n const { data } = await client.get('/admin/stacks', {}, { signal });\n return data;\n };\n\n const getChanges = async (query: GetChangesQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/changes', { query }, { signal });\n return data;\n };\n\n const getApps = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps', { query }, { signal });\n return data;\n };\n\n const getApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps/{id}', { path: { id } }, { signal });\n return data;\n };\n\n const updateApp = async (id: string, body: UpdateAppAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.patch('/admin/apps/{id}', { path: { id }, body }, { signal });\n return data;\n };\n\n const publishApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/apps/{id}/publish', { path: { id } }, { signal });\n return data;\n };\n\n const rejectApp = async (id: string, body: RejectAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/admin/apps/{id}/reject',\n { path: { id }, body },\n { signal },\n );\n return data;\n };\n\n const getUsers = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/users', { query }, { signal });\n return data;\n };\n\n const deleteUser = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}', { path: { username } }, { signal });\n };\n\n /** Clears the user's MFA enrolment so they can re-enrol — the account-recovery path. */\n const resetUserMfa = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/mfa', { path: { username } }, { signal });\n };\n\n const addUserToVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.post(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const removeUserFromVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.delete(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const grantUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.post('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const revokeUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const getVendors = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/vendors', { query }, { signal });\n return data;\n };\n\n const createVendor = async (body: CreateVendorAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (\n vendor: string,\n body: UpdateVendorAsAdminInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/admin/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const deleteVendor = async (vendor: string, signal?: AbortSignal) => {\n await client.delete('/admin/vendors/{vendor}', { path: { vendor } }, { signal });\n };\n\n /** Swaps a pending `_v`-prefixed id for the permanent one carried in the body. */\n const approveVendor = async (vendor: string, body: ApproveVendorInput, signal?: AbortSignal) => {\n await client.post('/admin/vendors/{vendor}/approve', { path: { vendor }, body }, { signal });\n };\n\n return {\n getStacks,\n getChanges,\n getApps,\n getApp,\n updateApp,\n publishApp,\n rejectApp,\n getUsers,\n deleteUser,\n resetUserMfa,\n addUserToVendor,\n removeUserFromVendor,\n grantUserAdmin,\n revokeUserAdmin,\n getVendors,\n createVendor,\n updateVendor,\n deleteVendor,\n approveVendor,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateAppInput,\n DeprecateAppInput,\n GetAppsQuery,\n PaginationQuery,\n UpdateAppInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /apps` and `GET /apps/{app}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createApps = ({ client, publicClient }: Deps) => {\n /** The public catalog: scoped server-side to published components. */\n const getPublishedApps = async (query: GetAppsQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps', { query }, { signal });\n return data;\n };\n\n const getPublishedApp = async (app: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps/{app}', { path: { app } }, { signal });\n return data;\n };\n\n const getApps = async (vendor: string, query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const getApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const createApp = async (vendor: string, body: CreateAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const updateApp = async (\n vendor: string,\n app: string,\n body: UpdateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n await client.delete('/vendors/{vendor}/apps/{app}', { path: { vendor, app } }, { signal });\n };\n\n const requestAppPublishing = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/publish',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const deprecateApp = async (\n vendor: string,\n app: string,\n body: DeprecateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/deprecate',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const getAppVersions = async (\n vendor: string,\n app: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions',\n { path: { vendor, app }, query },\n { signal },\n );\n return data;\n };\n\n const getAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions/{version}',\n { path: { vendor, app, version } },\n { signal },\n );\n return data;\n };\n\n const rollbackAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n await client.post(\n '/vendors/{vendor}/apps/{app}/versions/{version}/rollback',\n { path: { vendor, app, version } },\n { signal },\n );\n };\n\n const getAppRepository = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/repository',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n /** Requests a presigned S3 upload link; the upload itself is {@link uploadAppIcon}. */\n const createAppIconUploadLink = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/icon',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n return {\n getPublishedApps,\n getPublishedApp,\n getApps,\n getApp,\n createApp,\n updateApp,\n deleteApp,\n requestAppPublishing,\n deprecateApp,\n getAppVersions,\n getAppVersion,\n rollbackAppVersion,\n getAppRepository,\n createAppIconUploadLink,\n };\n};\n\n/**\n * Uploads the icon to the presigned URL from `createAppIconUploadLink`. Deliberately a bare `fetch`:\n * the URL carries its own signature in the query string, and sending our `Authorization` header to\n * S3 makes it reject the request.\n */\nexport const uploadAppIcon = async (\n uploadUrl: string,\n png: Blob,\n signal?: AbortSignal,\n): Promise<void> => {\n const response = await fetch(uploadUrl, {\n method: 'PUT',\n body: png,\n headers: { 'Content-Type': 'image/png' },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Icon upload failed: ${response.status} ${response.statusText}`);\n }\n};\n","import { HttpHeader } from '../../fetchClient';\n\n/**\n * The Cognito token trio apps-api issues. `token` is the id token: stamped on almost every call, and\n * the header on both MFA calls. `refreshToken` authenticates `GET /auth/token`. `accessToken`\n * authenticates `POST /auth/logout` as a header, and both `POST /auth/mfa` and `/auth/mfa/confirm`\n * in the **body** — which is why those two stay off the refresh-and-replay path.\n */\nexport type DeveloperPortalTokens = {\n token: string;\n accessToken: string;\n refreshToken: string;\n};\n\n/** Raw token, no `Bearer` prefix — see the spec's `bearerAuth` scheme (`type: apiKey`). */\nexport const authHeader = (token: string): Record<string, string> => ({\n [HttpHeader.AUTHORIZATION]: token,\n});\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport { authHeader } from '../tokens';\nimport type {\n ConfirmAccountInput,\n LoginChallenge,\n LoginInput,\n LoginResult,\n ResetPasswordConfirmInput,\n SignUpInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** The spec's `security: []` operations, plus the four that bring their own token. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const isMfaChallengeResponse = (result: LoginResult): result is LoginChallenge =>\n !('token' in result);\n\nexport const createAuth = ({ client, publicClient }: Deps) => {\n const login = async (body: LoginInput, signal?: AbortSignal) => {\n const { data } = await publicClient.post('/auth/login', { body }, { signal });\n return data;\n };\n\n const signUp = async (body: SignUpInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/signup', { body }, { signal });\n };\n\n const confirmAccount = async (body: ConfirmAccountInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm', { body }, { signal });\n };\n\n /** Confirms via the emailed link's path segments, for a consumer echoing that link. */\n const confirmAccountByCode = async (email: string, code: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm/{email}/{code}', { path: { email, code } }, { signal });\n };\n\n /**\n * Rotates the trio, authenticated with the **refresh** token, on the auth-free client so a\n * rotation triggered by the auth middleware cannot recurse into it. The response carries no new\n * refresh token, so the caller carries the one it has forward.\n */\n const refreshTokens = async (refreshToken: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get(\n '/auth/token',\n {},\n { headers: authHeader(refreshToken), signal },\n );\n return data;\n };\n\n /** Authenticated with the **access** token. Clear local state regardless of the outcome. */\n const logout = async (accessToken: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/logout', {}, { headers: authHeader(accessToken), signal });\n };\n\n const getProfile = async (signal?: AbortSignal) => {\n const { data } = await client.get('/auth/profile', {}, { signal });\n return data;\n };\n\n const requestPasswordReset = async (email: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/forgot/{email}', { path: { email } }, { signal });\n };\n\n const confirmPasswordReset = async (\n email: string,\n body: ResetPasswordConfirmInput,\n signal?: AbortSignal,\n ) => {\n await publicClient.post('/auth/forgot/{email}/confirm', { path: { email }, body }, { signal });\n };\n\n // `setupMfa` and `confirmMfa` each take two of the three tokens: the auth token in the header, the\n // access token in the body. Both sit on the auth-free client, which keeps them out of the\n // middleware's refresh-and-replay: restamping a header cannot fix a stale token in a body.\n const setupMfa = async (\n { idToken, accessToken }: { idToken: string; accessToken: string },\n signal?: AbortSignal,\n ) => {\n const { data } = await publicClient.post(\n '/auth/mfa',\n { body: { accessToken } },\n { headers: authHeader(idToken), signal },\n );\n return data;\n };\n\n const confirmMfa = async (\n { idToken, accessToken, code }: { idToken: string; accessToken: string; code: string },\n signal?: AbortSignal,\n ) => {\n await publicClient.post(\n '/auth/mfa/confirm',\n { body: { accessToken, code } },\n { headers: authHeader(idToken), signal },\n );\n };\n\n return {\n login,\n signUp,\n confirmAccount,\n confirmAccountByCode,\n refreshTokens,\n logout,\n getProfile,\n requestPasswordReset,\n confirmPasswordReset,\n setupMfa,\n confirmMfa,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateServiceAccountInput,\n CreateVendorInput,\n GetVendorUsersQuery,\n PaginationQuery,\n UpdateVendorInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /vendors` and `GET /vendors/{vendor}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createVendors = ({ client, publicClient }: Deps) => {\n const getVendors = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors', { query }, { signal });\n return data;\n };\n\n const getVendor = async (vendor: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors/{vendor}', { path: { vendor } }, { signal });\n return data;\n };\n\n /** Self-service registration. The vendor is pending, under a temporary `_v`-prefixed id. */\n const createVendor = async (body: CreateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.post('/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (vendor: string, body: UpdateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.patch(\n '/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const getVendorUsers = async (\n vendor: string,\n query: GetVendorUsersQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n /** Requests membership of a vendor for the signed-in user. */\n const requestVendorMembership = async (vendor: string, signal?: AbortSignal) => {\n await client.post('/vendors/{vendor}/users', { path: { vendor } }, { signal });\n };\n\n const approveVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const removeVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.delete(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const getVendorUserRequests = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/user-requests',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const sendVendorInvitation = async (vendor: string, email: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/invitations/{email}',\n { path: { vendor, email } },\n { signal },\n );\n };\n\n /** `security: []` — the invitee follows the emailed link before they have a session. */\n const acceptVendorInvitation = async (\n vendor: string,\n email: string,\n code: string,\n signal?: AbortSignal,\n ) => {\n await publicClient.get(\n '/vendors/{vendor}/invitations/{email}/{code}',\n { path: { vendor, email, code } },\n { signal },\n );\n };\n\n /** `service=1` filters the member list; there is no distinct endpoint. */\n const getServiceAccounts = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query: { ...query, service: 1 } },\n { signal },\n );\n return data;\n };\n\n /** The returned `password` is shown once and is not retrievable afterwards. */\n const createServiceAccount = async (\n vendor: string,\n body: CreateServiceAccountInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/credentials',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n return {\n getVendors,\n getVendor,\n createVendor,\n updateVendor,\n getVendorUsers,\n requestVendorMembership,\n approveVendorUser,\n removeVendorUser,\n getVendorUserRequests,\n sendVendorInvitation,\n acceptVendorInvitation,\n getServiceAccounts,\n createServiceAccount,\n };\n};\n","import { createOpenapiFetchClient, type MiddlewareFn } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAdmin } from './admin/admin';\nimport { createApps } from './apps/apps';\nimport { createAuth } from './auth/auth';\nimport { createVendors } from './vendors/vendors';\n\nexport type DeveloperPortalFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport type DeveloperPortalClientInitOptions = Omit<ClientInitOptions, 'auth' | 'middlewares'> & {\n middlewares?: MiddlewareFn[];\n /**\n * Stamps the id token. A middleware rather than the `auth: AuthStrategy` other clients take, because\n * apps-api's token rotates and a header baked in at construction would go stale. Supplied by\n * `createDeveloperPortalSdk`; omit it for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * The Developer Portal (apps-api) client. Paths and types are generated from\n * `https://apps-api.keboola.com/docs/openapi.yaml` — see `redocly.yaml` and `pnpm gen:types`.\n *\n * Two fetch clients because the spec splits its operations: `security: []` ones must go out\n * unauthenticated, and four authenticate with the access or refresh token instead of the id token.\n */\nexport const createDeveloperPortalClient = ({\n baseUrl,\n middlewares = [],\n authMiddleware,\n}: DeveloperPortalClientInitOptions) => {\n const publicClient = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({ baseUrl, middlewares: [authMiddleware, ...middlewares] })\n : publicClient;\n\n /** `GET /` — the spec's service index. */\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await publicClient.get('/', {}, { signal });\n return data;\n };\n\n return {\n healthCheck,\n auth: createAuth({ client, publicClient }),\n vendors: createVendors({ client, publicClient }),\n apps: createApps({ client, publicClient }),\n admin: createAdmin(client),\n };\n};\n\nexport type DeveloperPortalClient = ReturnType<typeof createDeveloperPortalClient>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"developerPortalClient-yHFTkKPb.js","names":[],"sources":["../src/clients/developerPortal/admin/admin.ts","../src/clients/developerPortal/apps/apps.ts","../src/clients/developerPortal/tokens.ts","../src/clients/developerPortal/auth/auth.ts","../src/clients/developerPortal/vendors/vendors.ts","../src/clients/developerPortal/developerPortalClient.ts"],"sourcesContent":["import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n AdminPaginationQuery,\n ApproveVendorInput,\n CreateVendorAsAdminInput,\n GetChangesQuery,\n PaginationQuery,\n RejectAppInput,\n UpdateAppAsAdminInput,\n UpdateVendorAsAdminInput,\n} from '../types';\n\n/** Keboola staff only. Every method 403s for a non-admin token; the UI gates on `custom:isAdmin`. */\nexport const createAdmin = (client: DeveloperPortalFetchClient) => {\n const getStacks = async (signal?: AbortSignal) => {\n const { data } = await client.get('/admin/stacks', {}, { signal });\n return data;\n };\n\n const getChanges = async (query: GetChangesQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/changes', { query }, { signal });\n return data;\n };\n\n const getApps = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps', { query }, { signal });\n return data;\n };\n\n const getApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/apps/{id}', { path: { id } }, { signal });\n return data;\n };\n\n const updateApp = async (id: string, body: UpdateAppAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.patch('/admin/apps/{id}', { path: { id }, body }, { signal });\n return data;\n };\n\n const publishApp = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/apps/{id}/publish', { path: { id } }, { signal });\n return data;\n };\n\n const rejectApp = async (id: string, body: RejectAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/admin/apps/{id}/reject',\n { path: { id }, body },\n { signal },\n );\n return data;\n };\n\n const getUsers = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/users', { query }, { signal });\n return data;\n };\n\n const deleteUser = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}', { path: { username } }, { signal });\n };\n\n /** Clears the user's MFA enrolment so they can re-enrol — the account-recovery path. */\n const resetUserMfa = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/mfa', { path: { username } }, { signal });\n };\n\n const addUserToVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.post(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const removeUserFromVendor = async (username: string, vendor: string, signal?: AbortSignal) => {\n await client.delete(\n '/admin/users/{username}/vendors/{vendor}',\n { path: { username, vendor } },\n { signal },\n );\n };\n\n const grantUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.post('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const revokeUserAdmin = async (username: string, signal?: AbortSignal) => {\n await client.delete('/admin/users/{username}/admin', { path: { username } }, { signal });\n };\n\n const getVendors = async (query: AdminPaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/admin/vendors', { query }, { signal });\n return data;\n };\n\n const createVendor = async (body: CreateVendorAsAdminInput, signal?: AbortSignal) => {\n const { data } = await client.post('/admin/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (\n vendor: string,\n body: UpdateVendorAsAdminInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/admin/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const deleteVendor = async (vendor: string, signal?: AbortSignal) => {\n await client.delete('/admin/vendors/{vendor}', { path: { vendor } }, { signal });\n };\n\n /** Swaps a pending `_v`-prefixed id for the permanent one carried in the body. */\n const approveVendor = async (vendor: string, body: ApproveVendorInput, signal?: AbortSignal) => {\n await client.post('/admin/vendors/{vendor}/approve', { path: { vendor }, body }, { signal });\n };\n\n return {\n getStacks,\n getChanges,\n getApps,\n getApp,\n updateApp,\n publishApp,\n rejectApp,\n getUsers,\n deleteUser,\n resetUserMfa,\n addUserToVendor,\n removeUserFromVendor,\n grantUserAdmin,\n revokeUserAdmin,\n getVendors,\n createVendor,\n updateVendor,\n deleteVendor,\n approveVendor,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateAppInput,\n DeprecateAppInput,\n GetAppsQuery,\n PaginationQuery,\n UpdateAppInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /apps` and `GET /apps/{app}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createApps = ({ client, publicClient }: Deps) => {\n /** The public catalog: scoped server-side to published components. */\n const getPublishedApps = async (query: GetAppsQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps', { query }, { signal });\n return data;\n };\n\n const getPublishedApp = async (app: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/apps/{app}', { path: { app } }, { signal });\n return data;\n };\n\n const getApps = async (vendor: string, query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const getApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const createApp = async (vendor: string, body: CreateAppInput, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const updateApp = async (\n vendor: string,\n app: string,\n body: UpdateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/vendors/{vendor}/apps/{app}',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (vendor: string, app: string, signal?: AbortSignal) => {\n await client.delete('/vendors/{vendor}/apps/{app}', { path: { vendor, app } }, { signal });\n };\n\n const requestAppPublishing = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/publish',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n const deprecateApp = async (\n vendor: string,\n app: string,\n body: DeprecateAppInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/deprecate',\n { path: { vendor, app }, body },\n { signal },\n );\n return data;\n };\n\n const getAppVersions = async (\n vendor: string,\n app: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions',\n { path: { vendor, app }, query },\n { signal },\n );\n return data;\n };\n\n const getAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/versions/{version}',\n { path: { vendor, app, version } },\n { signal },\n );\n return data;\n };\n\n const rollbackAppVersion = async (\n vendor: string,\n app: string,\n version: string,\n signal?: AbortSignal,\n ) => {\n await client.post(\n '/vendors/{vendor}/apps/{app}/versions/{version}/rollback',\n { path: { vendor, app, version } },\n { signal },\n );\n };\n\n const getAppRepository = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/vendors/{vendor}/apps/{app}/repository',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n /** Requests a presigned S3 upload link; the upload itself is {@link uploadAppIcon}. */\n const createAppIconUploadLink = async (vendor: string, app: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/vendors/{vendor}/apps/{app}/icon',\n { path: { vendor, app } },\n { signal },\n );\n return data;\n };\n\n return {\n getPublishedApps,\n getPublishedApp,\n getApps,\n getApp,\n createApp,\n updateApp,\n deleteApp,\n requestAppPublishing,\n deprecateApp,\n getAppVersions,\n getAppVersion,\n rollbackAppVersion,\n getAppRepository,\n createAppIconUploadLink,\n };\n};\n\n/**\n * Uploads the icon to the presigned URL from `createAppIconUploadLink`. Deliberately a bare `fetch`:\n * the URL carries its own signature in the query string, and sending our `Authorization` header to\n * S3 makes it reject the request.\n */\nexport const uploadAppIcon = async (\n uploadUrl: string,\n png: Blob,\n signal?: AbortSignal,\n): Promise<void> => {\n const response = await fetch(uploadUrl, {\n method: 'PUT',\n body: png,\n headers: { 'Content-Type': 'image/png' },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Icon upload failed: ${response.status} ${response.statusText}`);\n }\n};\n","import { HttpHeader } from '../../fetchClient';\n\n/**\n * The Cognito token trio apps-api issues. `token` is the id token: stamped on almost every call, and\n * the header on both MFA calls. `refreshToken` authenticates `GET /auth/token`. `accessToken`\n * authenticates `POST /auth/logout` as a header, and both `POST /auth/mfa` and `/auth/mfa/confirm`\n * in the **body** — which is why those two stay off the refresh-and-replay path.\n */\nexport type DeveloperPortalTokens = {\n token: string;\n accessToken: string;\n refreshToken: string;\n};\n\n/** Raw token, no `Bearer` prefix — see the spec's `bearerAuth` scheme (`type: apiKey`). */\nexport const authHeader = (token: string): Record<string, string> => ({\n [HttpHeader.AUTHORIZATION]: token,\n});\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport { authHeader } from '../tokens';\nimport type {\n ConfirmAccountInput,\n LoginChallenge,\n LoginInput,\n LoginResult,\n ResetPasswordConfirmInput,\n SignUpInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** The spec's `security: []` operations, plus the four that bring their own token. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const isMfaChallengeResponse = (result: LoginResult): result is LoginChallenge =>\n !('token' in result);\n\nexport const createAuth = ({ client, publicClient }: Deps) => {\n const login = async (body: LoginInput, signal?: AbortSignal) => {\n const { data } = await publicClient.post('/auth/login', { body }, { signal });\n return data;\n };\n\n const signUp = async (body: SignUpInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/signup', { body }, { signal });\n };\n\n const confirmAccount = async (body: ConfirmAccountInput, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm', { body }, { signal });\n };\n\n /** Confirms via the emailed link's path segments, for a consumer echoing that link. */\n const confirmAccountByCode = async (email: string, code: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/confirm/{email}/{code}', { path: { email, code } }, { signal });\n };\n\n /**\n * Rotates the trio, authenticated with the **refresh** token, on the auth-free client so a\n * rotation triggered by the auth middleware cannot recurse into it. The response carries no new\n * refresh token, so the caller carries the one it has forward.\n */\n const refreshTokens = async (refreshToken: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get(\n '/auth/token',\n {},\n { headers: authHeader(refreshToken), signal },\n );\n return data;\n };\n\n /** Authenticated with the **access** token. Clear local state regardless of the outcome. */\n const logout = async (accessToken: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/logout', {}, { headers: authHeader(accessToken), signal });\n };\n\n const getProfile = async (signal?: AbortSignal) => {\n const { data } = await client.get('/auth/profile', {}, { signal });\n return data;\n };\n\n const requestPasswordReset = async (email: string, signal?: AbortSignal) => {\n await publicClient.post('/auth/forgot/{email}', { path: { email } }, { signal });\n };\n\n const confirmPasswordReset = async (\n email: string,\n body: ResetPasswordConfirmInput,\n signal?: AbortSignal,\n ) => {\n await publicClient.post('/auth/forgot/{email}/confirm', { path: { email }, body }, { signal });\n };\n\n // `setupMfa` and `confirmMfa` each take two of the three tokens: the auth token in the header, the\n // access token in the body. Both sit on the auth-free client, which keeps them out of the\n // middleware's refresh-and-replay: restamping a header cannot fix a stale token in a body.\n const setupMfa = async (\n { idToken, accessToken }: { idToken: string; accessToken: string },\n signal?: AbortSignal,\n ) => {\n const { data } = await publicClient.post(\n '/auth/mfa',\n { body: { accessToken } },\n { headers: authHeader(idToken), signal },\n );\n return data;\n };\n\n const confirmMfa = async (\n { idToken, accessToken, code }: { idToken: string; accessToken: string; code: string },\n signal?: AbortSignal,\n ) => {\n await publicClient.post(\n '/auth/mfa/confirm',\n { body: { accessToken, code } },\n { headers: authHeader(idToken), signal },\n );\n };\n\n return {\n login,\n signUp,\n confirmAccount,\n confirmAccountByCode,\n refreshTokens,\n logout,\n getProfile,\n requestPasswordReset,\n confirmPasswordReset,\n setupMfa,\n confirmMfa,\n };\n};\n","import type { DeveloperPortalFetchClient } from '../developerPortalClient';\nimport type {\n CreateServiceAccountInput,\n CreateVendorInput,\n GetVendorUsersQuery,\n PaginationQuery,\n UpdateVendorInput,\n} from '../types';\n\ntype Deps = {\n client: DeveloperPortalFetchClient;\n /** `GET /vendors` and `GET /vendors/{vendor}` are `security: []` in the spec. */\n publicClient: DeveloperPortalFetchClient;\n};\n\nexport const createVendors = ({ client, publicClient }: Deps) => {\n const getVendors = async (query: PaginationQuery = {}, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors', { query }, { signal });\n return data;\n };\n\n const getVendor = async (vendor: string, signal?: AbortSignal) => {\n const { data } = await publicClient.get('/vendors/{vendor}', { path: { vendor } }, { signal });\n return data;\n };\n\n /** Self-service registration. The vendor is pending, under a temporary `_v`-prefixed id. */\n const createVendor = async (body: CreateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.post('/vendors', { body }, { signal });\n return data;\n };\n\n const updateVendor = async (vendor: string, body: UpdateVendorInput, signal?: AbortSignal) => {\n const { data } = await client.patch(\n '/vendors/{vendor}',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n const getVendorUsers = async (\n vendor: string,\n query: GetVendorUsersQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n /** Requests membership of a vendor for the signed-in user. */\n const requestVendorMembership = async (vendor: string, signal?: AbortSignal) => {\n await client.post('/vendors/{vendor}/users', { path: { vendor } }, { signal });\n };\n\n const approveVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const removeVendorUser = async (vendor: string, username: string, signal?: AbortSignal) => {\n await client.delete(\n '/vendors/{vendor}/users/{username}',\n { path: { vendor, username } },\n { signal },\n );\n };\n\n const getVendorUserRequests = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/user-requests',\n { path: { vendor }, query },\n { signal },\n );\n return data;\n };\n\n const sendVendorInvitation = async (vendor: string, email: string, signal?: AbortSignal) => {\n await client.post(\n '/vendors/{vendor}/invitations/{email}',\n { path: { vendor, email } },\n { signal },\n );\n };\n\n /** `security: []` — the invitee follows the emailed link before they have a session. */\n const acceptVendorInvitation = async (\n vendor: string,\n email: string,\n code: string,\n signal?: AbortSignal,\n ) => {\n await publicClient.get(\n '/vendors/{vendor}/invitations/{email}/{code}',\n { path: { vendor, email, code } },\n { signal },\n );\n };\n\n /** `service=1` filters the member list; there is no distinct endpoint. */\n const getServiceAccounts = async (\n vendor: string,\n query: PaginationQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/vendors/{vendor}/users',\n { path: { vendor }, query: { ...query, service: 1 } },\n { signal },\n );\n return data;\n };\n\n /** The returned `password` is shown once and is not retrievable afterwards. */\n const createServiceAccount = async (\n vendor: string,\n body: CreateServiceAccountInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/vendors/{vendor}/credentials',\n { path: { vendor }, body },\n { signal },\n );\n return data;\n };\n\n return {\n getVendors,\n getVendor,\n createVendor,\n updateVendor,\n getVendorUsers,\n requestVendorMembership,\n approveVendorUser,\n removeVendorUser,\n getVendorUserRequests,\n sendVendorInvitation,\n acceptVendorInvitation,\n getServiceAccounts,\n createServiceAccount,\n };\n};\n","import { createOpenapiFetchClient, type MiddlewareFn } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAdmin } from './admin/admin';\nimport { createApps } from './apps/apps';\nimport { createAuth } from './auth/auth';\nimport { createVendors } from './vendors/vendors';\n\nexport type DeveloperPortalFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport type DeveloperPortalClientInitOptions = Omit<ClientInitOptions, 'auth' | 'middlewares'> & {\n middlewares?: MiddlewareFn[];\n /**\n * Stamps the id token. A middleware rather than the `auth: AuthStrategy` other clients take, because\n * apps-api's token rotates and a header baked in at construction would go stale. Supplied by\n * `createDeveloperPortalSdk`; omit it for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * The Developer Portal (apps-api) client. Paths and types are generated from\n * `https://apps-api.keboola.com/docs/openapi.yaml` — see `redocly.yaml` and `pnpm gen:types`.\n *\n * Two fetch clients because the spec splits its operations: `security: []` ones must go out\n * unauthenticated, and four authenticate with the access or refresh token instead of the id token.\n */\nexport const createDeveloperPortalClient = ({\n baseUrl,\n middlewares = [],\n authMiddleware,\n}: DeveloperPortalClientInitOptions) => {\n const publicClient = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({ baseUrl, middlewares: [authMiddleware, ...middlewares] })\n : publicClient;\n\n /** `GET /` — the spec's service index. */\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await publicClient.get('/', {}, { signal });\n return data;\n };\n\n return {\n healthCheck,\n auth: createAuth({ client, publicClient }),\n vendors: createVendors({ client, publicClient }),\n apps: createApps({ client, publicClient }),\n admin: createAdmin(client),\n };\n};\n\nexport type DeveloperPortalClient = ReturnType<typeof createDeveloperPortalClient>;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { l as StorageToken } from "../../types-DPS8nwkV.cjs";
2
- import { n as hasAdminFeature, r as hasFeature } from "../../project-hePfzUY0.cjs";
1
+ import { l as StorageToken } from "../../types-DOyNe7oe.cjs";
2
+ import { n as hasAdminFeature, r as hasFeature } from "../../project-BRpzv3yE.cjs";
3
3
  //#region src/domain/permissions/errors.d.ts
4
4
  /**
5
5
  * @module domain/permissions/errors
@@ -1,5 +1,5 @@
1
- import { l as StorageToken } from "../../types-DBOSvWtD.js";
2
- import { n as hasAdminFeature, r as hasFeature } from "../../project-C2wvX0xZ.js";
1
+ import { l as StorageToken } from "../../types-gi4Eay19.js";
2
+ import { n as hasAdminFeature, r as hasFeature } from "../../project-DCHOxRWd.js";
3
3
  //#region src/domain/permissions/errors.d.ts
4
4
  /**
5
5
  * @module domain/permissions/errors
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DhUU3M1W.cjs");
3
- const require_auth = require("../auth-JQ33o3nU.cjs");
2
+ const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-C3UmDXpe.cjs");
3
+ const require_auth = require("../auth-DLWnl18b.cjs");
4
4
  //#region src/clients/editor/editorClient.ts
5
5
  const createEditorClient = ({ baseUrl, middlewares, auth }) => {
6
6
  const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
@@ -1,5 +1,5 @@
1
- import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-BVSc9ibR.js";
2
- import { t as createAuthHeaders } from "../auth-aItmDu45.js";
1
+ import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-COaPeeQ0.js";
2
+ import { t as createAuthHeaders } from "../auth-BjmkFOgd.js";
3
3
  //#region src/clients/editor/editorClient.ts
4
4
  const createEditorClient = ({ baseUrl, middlewares, auth }) => {
5
5
  const client = createOpenapiFetchClient({
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_createGenericFetchClient = require("../createGenericFetchClient-o3cPJeRn.cjs");
2
+ const require_createGenericFetchClient = require("../createGenericFetchClient-lcozzwk2.cjs");
3
3
  //#region src/clients/encryption/encryptionClient.ts
4
4
  const createEncryptionClient = ({ baseUrl, middlewares }) => {
5
5
  const client = require_createGenericFetchClient.createGenericFetchClient({
@@ -1,2 +1,2 @@
1
- import { t as createEncryptionClient } from "../index-DR4QqItd.cjs";
1
+ import { t as createEncryptionClient } from "../index-DWf6FXOr.cjs";
2
2
  export { createEncryptionClient };
@@ -1,2 +1,2 @@
1
- import { t as createEncryptionClient } from "../index-D8rcUbnk.js";
1
+ import { t as createEncryptionClient } from "../index-1r_CskjU.js";
2
2
  export { createEncryptionClient };
@@ -1,4 +1,4 @@
1
- import { t as createGenericFetchClient } from "../createGenericFetchClient-rxvUUbap.js";
1
+ import { t as createGenericFetchClient } from "../createGenericFetchClient-Bnf1QK9W.js";
2
2
  //#region src/clients/encryption/encryptionClient.ts
3
3
  const createEncryptionClient = ({ baseUrl, middlewares }) => {
4
4
  const client = createGenericFetchClient({
@@ -1,2 +1,2 @@
1
- import { a as EncryptQuery, i as EncryptParamsByScope, n as EncryptBody, o as EncryptionScope, r as EncryptParams, s as ScopedSecrets, t as BranchType } from "../types-CaYtinmA.cjs";
1
+ import { a as EncryptQuery, i as EncryptParamsByScope, n as EncryptBody, o as EncryptionScope, r as EncryptParams, s as ScopedSecrets, t as BranchType } from "../types-D_j2Uq5X.cjs";
2
2
  export { BranchType, EncryptBody, EncryptParams, EncryptParamsByScope, EncryptQuery, EncryptionScope, ScopedSecrets };
@@ -1,2 +1,2 @@
1
- import { a as EncryptQuery, i as EncryptParamsByScope, n as EncryptBody, o as EncryptionScope, r as EncryptParams, s as ScopedSecrets, t as BranchType } from "../types-BQsOHNI0.js";
1
+ import { a as EncryptQuery, i as EncryptParamsByScope, n as EncryptBody, o as EncryptionScope, r as EncryptParams, s as ScopedSecrets, t as BranchType } from "../types-BrPlv-NS.js";
2
2
  export { BranchType, EncryptBody, EncryptParams, EncryptParamsByScope, EncryptQuery, EncryptionScope, ScopedSecrets };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_import = require("../import-C83w7BKz.cjs");
2
+ const require_import = require("../import-7YyyD_U_.cjs");
3
3
  exports.createImportClient = require_import.createImportClient;
@@ -1,2 +1,2 @@
1
- import { t as createImportClient } from "../import-CROEK82b.js";
1
+ import { t as createImportClient } from "../import-xliONVib.js";
2
2
  export { createImportClient };
@@ -1,5 +1,5 @@
1
- const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-DhUU3M1W.cjs");
2
- const require_auth = require("./auth-JQ33o3nU.cjs");
1
+ const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-C3UmDXpe.cjs");
2
+ const require_auth = require("./auth-DLWnl18b.cjs");
3
3
  //#region src/fetchClient/xhrFetch.ts
4
4
  const parseResponseHeaders = (raw) => {
5
5
  const headers = new Headers();
@@ -118,4 +118,4 @@ Object.defineProperty(exports, "createImportClient", {
118
118
  }
119
119
  });
120
120
 
121
- //# sourceMappingURL=import-C83w7BKz.cjs.map
121
+ //# sourceMappingURL=import-7YyyD_U_.cjs.map