@keboola/api-client 48.0.0 → 50.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 (574) hide show
  1. package/AGENTS.md +109 -95
  2. package/API-SURFACE.md +14 -32
  3. package/CHANGELOG.md +78 -0
  4. package/README.md +33 -29
  5. package/dist/{ManagementSessionMintError-Cu9beG7j.cjs → ManagementSessionMintError-ByOulHQH.cjs} +4 -6
  6. package/dist/{ManagementSessionMintError-Cu9beG7j.cjs.map → ManagementSessionMintError-ByOulHQH.cjs.map} +1 -1
  7. package/dist/{ManagementSessionMintError-4Pkn5Oob.js → ManagementSessionMintError-DNMbYauw.js} +4 -6
  8. package/dist/{ManagementSessionMintError-4Pkn5Oob.js.map → ManagementSessionMintError-DNMbYauw.js.map} +1 -1
  9. package/dist/{QueryJobError-ZZZ043Nm.js → QueryJobError-Iq9O90Uh.js} +2 -3
  10. package/dist/{QueryJobError-ZZZ043Nm.js.map → QueryJobError-Iq9O90Uh.js.map} +1 -1
  11. package/dist/{QueryJobError-irGiP5zh.cjs → QueryJobError-Oy0fl4aw.cjs} +2 -3
  12. package/dist/{QueryJobError-irGiP5zh.cjs.map → QueryJobError-Oy0fl4aw.cjs.map} +1 -1
  13. package/dist/{QueueJobError-8bThS_Mc.js → QueueJobError-BJNUINXW.js} +2 -3
  14. package/dist/{QueueJobError-8bThS_Mc.js.map → QueueJobError-BJNUINXW.js.map} +1 -1
  15. package/dist/{QueueJobError-6qSEizWo.cjs → QueueJobError-DruZK3tc.cjs} +2 -3
  16. package/dist/{QueueJobError-6qSEizWo.cjs.map → QueueJobError-DruZK3tc.cjs.map} +1 -1
  17. package/dist/{SyncActionError-CoZFsdUk.js → SyncActionError-DuGcDbkd.js} +2 -3
  18. package/dist/{SyncActionError-CoZFsdUk.js.map → SyncActionError-DuGcDbkd.js.map} +1 -1
  19. package/dist/{SyncActionError-BG0zwchi.cjs → SyncActionError-mbpVg63X.cjs} +2 -3
  20. package/dist/{SyncActionError-BG0zwchi.cjs.map → SyncActionError-mbpVg63X.cjs.map} +1 -1
  21. package/dist/{UserError-By_Zckmc.js → UserError-BxoOJJ_u.js} +2 -3
  22. package/dist/{UserError-By_Zckmc.js.map → UserError-BxoOJJ_u.js.map} +1 -1
  23. package/dist/{UserError-CSGO1qII.cjs → UserError-D4P9Tbhf.cjs} +2 -3
  24. package/dist/{UserError-CSGO1qII.cjs.map → UserError-D4P9Tbhf.cjs.map} +1 -1
  25. package/dist/{ValidationError-D65QU0uq.cjs → ValidationError-BXcFX4nD.cjs} +2 -3
  26. package/dist/{ValidationError-D65QU0uq.cjs.map → ValidationError-BXcFX4nD.cjs.map} +1 -1
  27. package/dist/{ValidationError-DjhtNMfZ.js → ValidationError-BsdFDGY2.js} +2 -3
  28. package/dist/{ValidationError-DjhtNMfZ.js.map → ValidationError-BsdFDGY2.js.map} +1 -1
  29. package/dist/{configurations-CL0ouUMa.js → admin-CbMOsfgs.js} +5 -53
  30. package/dist/admin-CbMOsfgs.js.map +1 -0
  31. package/dist/{configurations-D9J3jh3g.cjs → admin-Di-MmGFP.cjs} +4 -124
  32. package/dist/admin-Di-MmGFP.cjs.map +1 -0
  33. package/dist/{adminRoles-DsoGQipO.d.ts → adminRoles-DAwl657q.d.ts} +2 -4
  34. package/dist/{adminRoles-CO7J5qAy.cjs → adminRoles-DnFpO_2W.cjs} +2 -3
  35. package/dist/{adminRoles-CO7J5qAy.cjs.map → adminRoles-DnFpO_2W.cjs.map} +1 -1
  36. package/dist/{adminRoles-BgpaBE7h.d.cts → adminRoles-FFyl7Dyx.d.cts} +2 -4
  37. package/dist/{adminRoles-B40yBcmq.js → adminRoles-asa-MhDD.js} +2 -3
  38. package/dist/{adminRoles-B40yBcmq.js.map → adminRoles-asa-MhDD.js.map} +1 -1
  39. package/dist/ai/index.cjs +3 -4
  40. package/dist/ai/index.d.cts +2 -4
  41. package/dist/ai/index.d.ts +2 -4
  42. package/dist/ai/index.js +3 -4
  43. package/dist/ai/types.d.cts +1 -1
  44. package/dist/ai/types.d.ts +1 -1
  45. package/dist/{appLogs-DpcqeOe5.d.ts → appLogs-CTvZAihm.d.ts} +2 -4
  46. package/dist/{appLogs-SjrflOHk.d.cts → appLogs-CnLNMH7M.d.cts} +2 -4
  47. package/dist/{appLogs-Cix2KWra.cjs → appLogs-CoAWQGxs.cjs} +5 -6
  48. package/dist/{appLogs-Cix2KWra.cjs.map → appLogs-CoAWQGxs.cjs.map} +1 -1
  49. package/dist/{appLogs-KslK7qHr.js → appLogs-DFcPwVk8.js} +4 -5
  50. package/dist/{appLogs-KslK7qHr.js.map → appLogs-DFcPwVk8.js.map} +1 -1
  51. package/dist/apps/index.cjs +29 -6
  52. package/dist/apps/index.cjs.map +1 -1
  53. package/dist/apps/index.d.cts +16 -5
  54. package/dist/apps/index.d.ts +16 -5
  55. package/dist/apps/index.js +29 -6
  56. package/dist/apps/index.js.map +1 -1
  57. package/dist/apps/types.d.cts +3 -3
  58. package/dist/apps/types.d.ts +3 -3
  59. package/dist/assets/index.cjs +2 -3
  60. package/dist/assets/index.d.cts +1 -3
  61. package/dist/assets/index.d.ts +1 -3
  62. package/dist/assets/index.js +2 -3
  63. package/dist/assets/schema.cjs +2 -3
  64. package/dist/assets/schema.d.cts +0 -2
  65. package/dist/assets/schema.d.ts +0 -2
  66. package/dist/assets/schema.js +1 -2
  67. package/dist/auth/index.cjs +1 -1
  68. package/dist/auth/index.d.cts +1 -1
  69. package/dist/auth/index.d.ts +1 -1
  70. package/dist/auth/index.js +1 -2
  71. package/dist/auth/types.d.cts +1 -1
  72. package/dist/auth/types.d.ts +1 -1
  73. package/dist/{auth-C8Pjl0Mu.cjs → auth-CvB4MukT.cjs} +3 -4
  74. package/dist/{auth-C8Pjl0Mu.cjs.map → auth-CvB4MukT.cjs.map} +1 -1
  75. package/dist/{auth-4coY1uwo.js → auth-DYfQMQCs.js} +3 -4
  76. package/dist/{auth-4coY1uwo.js.map → auth-DYfQMQCs.js.map} +1 -1
  77. package/dist/{authClient-DfkKlc-2.cjs → authClient-DcKBpMcU.cjs} +66 -85
  78. package/dist/{authClient-DfkKlc-2.cjs.map → authClient-DcKBpMcU.cjs.map} +1 -1
  79. package/dist/{authClient-BYIGzL_u.d.ts → authClient-Df3U4q_6.d.cts} +4 -16
  80. package/dist/{authClient-D06srBQE.d.cts → authClient-JtMVJWXY.d.ts} +4 -16
  81. package/dist/{authClient-2e8ZmzSP.js → authClient-oB5ydxWp.js} +66 -85
  82. package/dist/{authClient-2e8ZmzSP.js.map → authClient-oB5ydxWp.js.map} +1 -1
  83. package/dist/{backends-DKBz5OxE.d.ts → backends-BHotIdL0.d.cts} +1 -3
  84. package/dist/{backends-DKBz5OxE.d.cts → backends-BHotIdL0.d.ts} +1 -3
  85. package/dist/billing/index.cjs +3 -5
  86. package/dist/billing/index.cjs.map +1 -1
  87. package/dist/billing/index.d.cts +27 -29
  88. package/dist/billing/index.d.ts +27 -29
  89. package/dist/billing/index.js +3 -5
  90. package/dist/billing/index.js.map +1 -1
  91. package/dist/billing/types.d.cts +26 -26
  92. package/dist/billing/types.d.ts +26 -26
  93. package/dist/chat/index.cjs +4 -5
  94. package/dist/chat/index.d.cts +3 -5
  95. package/dist/chat/index.d.ts +3 -5
  96. package/dist/chat/index.js +4 -5
  97. package/dist/chat/suggestions.cjs +1 -2
  98. package/dist/chat/suggestions.d.cts +1 -1
  99. package/dist/chat/suggestions.d.ts +1 -1
  100. package/dist/chat/suggestions.js +1 -2
  101. package/dist/chat/types.cjs +1 -2
  102. package/dist/chat/types.d.cts +1 -1
  103. package/dist/chat/types.d.ts +1 -1
  104. package/dist/chat/types.js +1 -2
  105. package/dist/{collectByOffset-DQsqtmJg.cjs → collectByOffset-DgxJ3zT9.cjs} +3 -4
  106. package/dist/{collectByOffset-DQsqtmJg.cjs.map → collectByOffset-DgxJ3zT9.cjs.map} +1 -1
  107. package/dist/{collectByOffset-2XzJqmvr.js → collectByOffset-i8Tdoze7.js} +3 -4
  108. package/dist/{collectByOffset-2XzJqmvr.js.map → collectByOffset-i8Tdoze7.js.map} +1 -1
  109. package/dist/{componentId-D4jp6a13.cjs → componentId-C8ZTXXDo.cjs} +2 -3
  110. package/dist/{componentId-D4jp6a13.cjs.map → componentId-C8ZTXXDo.cjs.map} +1 -1
  111. package/dist/{componentId-DmHwHG5V.js → componentId-b_qBbJEM.js} +2 -3
  112. package/dist/{componentId-DmHwHG5V.js.map → componentId-b_qBbJEM.js.map} +1 -1
  113. package/dist/componentsMcp/index.cjs +1 -1
  114. package/dist/componentsMcp/index.d.cts +1 -1
  115. package/dist/componentsMcp/index.d.ts +1 -1
  116. package/dist/componentsMcp/index.js +1 -2
  117. package/dist/componentsMcp/types.d.cts +1 -1
  118. package/dist/componentsMcp/types.d.ts +1 -1
  119. package/dist/{componentsMcp-pG-PcQrg.cjs → componentsMcp-BaHy5iLr.cjs} +5 -7
  120. package/dist/{componentsMcp-pG-PcQrg.cjs.map → componentsMcp-BaHy5iLr.cjs.map} +1 -1
  121. package/dist/{componentsMcp-CHobIsuU.js → componentsMcp-BrB4js6b.js} +5 -7
  122. package/dist/{componentsMcp-CHobIsuU.js.map → componentsMcp-BrB4js6b.js.map} +1 -1
  123. package/dist/{concurrent-BacWxPwi.js → concurrent-BtsT10Xe.js} +2 -3
  124. package/dist/{concurrent-BacWxPwi.js.map → concurrent-BtsT10Xe.js.map} +1 -1
  125. package/dist/{concurrent-CdVfR1N5.cjs → concurrent-DnTV_ppY.cjs} +2 -3
  126. package/dist/{concurrent-CdVfR1N5.cjs.map → concurrent-DnTV_ppY.cjs.map} +1 -1
  127. package/dist/configurations-Cd6Nsox-.js +49 -0
  128. package/dist/configurations-Cd6Nsox-.js.map +1 -0
  129. package/dist/configurations-WI8H4zLk.cjs +120 -0
  130. package/dist/configurations-WI8H4zLk.cjs.map +1 -0
  131. package/dist/constants/index.cjs +6 -3
  132. package/dist/constants/index.d.cts +5 -4
  133. package/dist/constants/index.d.ts +5 -4
  134. package/dist/constants/index.js +4 -4
  135. package/dist/{constants-CA4UN2Xv.js → constants-BMSHGwOR.js} +86 -17
  136. package/dist/constants-BMSHGwOR.js.map +1 -0
  137. package/dist/{constants-a0jswUeK.cjs → constants-DhFQWQgy.cjs} +103 -16
  138. package/dist/constants-DhFQWQgy.cjs.map +1 -0
  139. package/dist/{createAbortError-RendOpo7.cjs → createAbortError-Dzc9yObN.cjs} +2 -3
  140. package/dist/{createAbortError-RendOpo7.cjs.map → createAbortError-Dzc9yObN.cjs.map} +1 -1
  141. package/dist/{createAbortError-BxupOt-6.js → createAbortError-c6ekCpRy.js} +2 -3
  142. package/dist/{createAbortError-BxupOt-6.js.map → createAbortError-c6ekCpRy.js.map} +1 -1
  143. package/dist/{createFetchClient-lZ_93Yrb.cjs → createFetchClient-DEkUH662.cjs} +6 -10
  144. package/dist/{createFetchClient-lZ_93Yrb.cjs.map → createFetchClient-DEkUH662.cjs.map} +1 -1
  145. package/dist/{createFetchClient-CkHdS_IG.js → createFetchClient-DlGCbltR.js} +5 -9
  146. package/dist/{createFetchClient-CkHdS_IG.js.map → createFetchClient-DlGCbltR.js.map} +1 -1
  147. package/dist/{createGenericFetchClient-MOx97wi-.cjs → createGenericFetchClient-2oU-PXVo.cjs} +3 -4
  148. package/dist/{createGenericFetchClient-MOx97wi-.cjs.map → createGenericFetchClient-2oU-PXVo.cjs.map} +1 -1
  149. package/dist/createGenericFetchClient-wGxemBwR.js +6 -0
  150. package/dist/{createGenericFetchClient-CQdNcPC3.js.map → createGenericFetchClient-wGxemBwR.js.map} +1 -1
  151. package/dist/createOpenapiFetchClient-Bhz62MUE.js +6 -0
  152. package/dist/{createOpenapiFetchClient-DXiMv9WL.js.map → createOpenapiFetchClient-Bhz62MUE.js.map} +1 -1
  153. package/dist/{createOpenapiFetchClient-DHYo_k3t.cjs → createOpenapiFetchClient-DL9w7vU-.cjs} +3 -4
  154. package/dist/{createOpenapiFetchClient-DHYo_k3t.cjs.map → createOpenapiFetchClient-DL9w7vU-.cjs.map} +1 -1
  155. package/dist/dataScience/index.cjs +2 -2
  156. package/dist/dataScience/index.d.cts +2 -2
  157. package/dist/dataScience/index.d.ts +2 -2
  158. package/dist/dataScience/index.js +2 -2
  159. package/dist/dataScience/types.d.cts +2 -2
  160. package/dist/dataScience/types.d.ts +2 -2
  161. package/dist/{dataScience-AwPMeGfz.js → dataScience-CXmkEOAi.js} +7 -9
  162. package/dist/{dataScience-AwPMeGfz.js.map → dataScience-CXmkEOAi.js.map} +1 -1
  163. package/dist/{dataScience-BjS1p8WO.cjs → dataScience-CufjHPSd.cjs} +7 -9
  164. package/dist/{dataScience-BjS1p8WO.cjs.map → dataScience-CufjHPSd.cjs.map} +1 -1
  165. package/dist/{dedupe-OSnnst2u.cjs → dedupe-Bf0gl9TJ.cjs} +2 -3
  166. package/dist/{dedupe-OSnnst2u.cjs.map → dedupe-Bf0gl9TJ.cjs.map} +1 -1
  167. package/dist/{dedupe-Cky1gSUu.js → dedupe-Bu0d2i_w.js} +2 -3
  168. package/dist/{dedupe-Cky1gSUu.js.map → dedupe-Bu0d2i_w.js.map} +1 -1
  169. package/dist/developerPortal/index.cjs +1 -1
  170. package/dist/developerPortal/index.d.cts +2 -2
  171. package/dist/developerPortal/index.d.ts +2 -2
  172. package/dist/developerPortal/index.js +1 -2
  173. package/dist/developerPortal/types.d.cts +1 -1
  174. package/dist/developerPortal/types.d.ts +1 -1
  175. package/dist/{developerPortalClient-DUerKw-7.cjs → developerPortalClient-BfRxYrWj.cjs} +9 -15
  176. package/dist/{developerPortalClient-DUerKw-7.cjs.map → developerPortalClient-BfRxYrWj.cjs.map} +1 -1
  177. package/dist/{developerPortalClient-Bb2suezr.js → developerPortalClient-D9XOYwWF.js} +9 -15
  178. package/dist/{developerPortalClient-Bb2suezr.js.map → developerPortalClient-D9XOYwWF.js.map} +1 -1
  179. package/dist/domain/permissions/index.cjs +24 -58
  180. package/dist/domain/permissions/index.d.cts +4 -10
  181. package/dist/domain/permissions/index.d.ts +4 -10
  182. package/dist/domain/permissions/index.js +4 -39
  183. package/dist/domain/storageTable/index.cjs +403 -9
  184. package/dist/domain/storageTable/index.cjs.map +1 -0
  185. package/dist/domain/storageTable/index.d.cts +189 -2
  186. package/dist/domain/storageTable/index.d.ts +189 -2
  187. package/dist/domain/storageTable/index.js +395 -1
  188. package/dist/domain/storageTable/index.js.map +1 -0
  189. package/dist/editor/index.cjs +3 -4
  190. package/dist/editor/index.d.cts +2 -4
  191. package/dist/editor/index.d.ts +2 -4
  192. package/dist/editor/index.js +3 -4
  193. package/dist/editor/types.d.cts +1 -1
  194. package/dist/editor/types.d.ts +1 -1
  195. package/dist/{emitter-dLF1Fyfg.d.ts → emitter-raKkIqRp.d.cts} +1 -3
  196. package/dist/{emitter-dLF1Fyfg.d.cts → emitter-raKkIqRp.d.ts} +1 -3
  197. package/dist/encryption/index.cjs +2 -3
  198. package/dist/encryption/index.d.cts +1 -1
  199. package/dist/encryption/index.d.ts +1 -1
  200. package/dist/encryption/index.js +2 -3
  201. package/dist/encryption/types.d.cts +1 -1
  202. package/dist/encryption/types.d.ts +1 -1
  203. package/dist/generateUUID-DE9sNyJF.js +5 -0
  204. package/dist/{generateUUID-Dr8l-aoc.js.map → generateUUID-DE9sNyJF.js.map} +1 -1
  205. package/dist/{generateUUID-C6qKBPIv.cjs → generateUUID-DbSTmvVP.cjs} +2 -3
  206. package/dist/{generateUUID-C6qKBPIv.cjs.map → generateUUID-DbSTmvVP.cjs.map} +1 -1
  207. package/dist/import/index.cjs +1 -1
  208. package/dist/import/index.d.cts +3 -5
  209. package/dist/import/index.d.ts +3 -5
  210. package/dist/import/index.js +1 -2
  211. package/dist/{import-BahNYv91.cjs → import-CABlFMQX.cjs} +6 -9
  212. package/dist/{import-BahNYv91.cjs.map → import-CABlFMQX.cjs.map} +1 -1
  213. package/dist/{import-FWy_wQZ1.js → import-CT1Ce5Rp.js} +6 -9
  214. package/dist/{import-FWy_wQZ1.js.map → import-CT1Ce5Rp.js.map} +1 -1
  215. package/dist/index-24GpnYhn.d.cts +150 -0
  216. package/dist/{index-VlzlOBkc.d.cts → index-AA3MRfRn.d.cts} +71 -13
  217. package/dist/{index-BLvmyehw.d.ts → index-BDPxm9qu.d.ts} +3 -7
  218. package/dist/index-BUZ-vTRt.d.ts +150 -0
  219. package/dist/{index-DzLXtE4Q.d.ts → index-BZDxWvZW.d.ts} +5 -7
  220. package/dist/index-C9iNazAc.d.ts +15103 -0
  221. package/dist/{index-avzO5sLa.d.ts → index-CCcdySOC.d.cts} +5 -7
  222. package/dist/{index-D91RxB_S.d.cts → index-CN0--VsY.d.ts} +5 -7
  223. package/dist/index-CTMnmISl.d.cts +15103 -0
  224. package/dist/{index-m7fX76x3.d.ts → index-CbSh3KFw.d.cts} +4 -12
  225. package/dist/{index-Cc5wSIRJ.d.cts → index-ClIV2Lch.d.cts} +5 -7
  226. package/dist/{index-BIldED4N.d.ts → index-CuI8OI9E.d.ts} +4 -13
  227. package/dist/{index-ChDl6ig5.d.cts → index-D1mduJne.d.cts} +11 -48
  228. package/dist/{index-sDHBkJhU.d.ts → index-D1mduJne.d.ts} +12 -49
  229. package/dist/{index-DlZiWfQb.d.ts → index-DIPMzH--.d.ts} +17 -10
  230. package/dist/{index-Co2Cd-nw.d.cts → index-DQagqTVa.d.cts} +3 -7
  231. package/dist/{index-CIqWOEWD.d.ts → index-DVBQgFg0.d.ts} +4 -6
  232. package/dist/index-DXoN8VwV.d.cts +10 -0
  233. package/dist/{index-BHiJu8LF.d.cts → index-Db266tLz.d.cts} +17 -10
  234. package/dist/{index-ByLCYBaw.d.cts → index-DgGpQsAT.d.cts} +4 -6
  235. package/dist/{index-CzHrIfZS.d.ts → index-DjSthn8d.d.ts} +71 -13
  236. package/dist/index-Xpu7qIZk.d.ts +10 -0
  237. package/dist/{index-BTrxCk90.d.ts → index-lTrNMlj6.d.ts} +3 -5
  238. package/dist/{index-CpGmmJbt.d.cts → index-m9-mN8Gg.d.ts} +4 -12
  239. package/dist/{index-CpUYVB-d.d.cts → index-xX8-Stoq.d.cts} +4 -13
  240. package/dist/{index-BCjU-g9t.d.cts → index-z-2okomN.d.cts} +3 -5
  241. package/dist/index.cjs +434 -1053
  242. package/dist/index.cjs.map +1 -1
  243. package/dist/index.d.cts +9 -8
  244. package/dist/index.d.ts +9 -8
  245. package/dist/index.js +427 -1050
  246. package/dist/index.js.map +1 -1
  247. package/dist/{isLoginPageRedirect-r0Opgc1n.cjs → isLoginPageRedirect-CoUxJi2x.cjs} +3 -4
  248. package/dist/{isLoginPageRedirect-r0Opgc1n.cjs.map → isLoginPageRedirect-CoUxJi2x.cjs.map} +1 -1
  249. package/dist/{isLoginPageRedirect-B4QKSiSa.js → isLoginPageRedirect-D-lqF_kZ.js} +3 -4
  250. package/dist/{isLoginPageRedirect-B4QKSiSa.js.map → isLoginPageRedirect-D-lqF_kZ.js.map} +1 -1
  251. package/dist/{isPlainObject-LYW-03uB.js → isPlainObject-BxsT8_t2.js} +2 -3
  252. package/dist/{isPlainObject-LYW-03uB.js.map → isPlainObject-BxsT8_t2.js.map} +1 -1
  253. package/dist/{isPlainObject-BB3iy87C.cjs → isPlainObject-CcvQt0qB.cjs} +2 -3
  254. package/dist/{isPlainObject-BB3iy87C.cjs.map → isPlainObject-CcvQt0qB.cjs.map} +1 -1
  255. package/dist/kaiAgent/index.cjs +1 -1
  256. package/dist/kaiAgent/index.d.cts +2 -2
  257. package/dist/kaiAgent/index.d.ts +2 -2
  258. package/dist/kaiAgent/index.js +1 -2
  259. package/dist/kaiAgent/types.d.cts +1 -1
  260. package/dist/kaiAgent/types.d.ts +1 -1
  261. package/dist/{kaiAgent-CYvrS8oZ.js → kaiAgent-D2TiMDjW.js} +6 -7
  262. package/dist/{kaiAgent-CYvrS8oZ.js.map → kaiAgent-D2TiMDjW.js.map} +1 -1
  263. package/dist/{kaiAgent-N2qbUFZm.cjs → kaiAgent-gaA7dqki.cjs} +6 -7
  264. package/dist/{kaiAgent-N2qbUFZm.cjs.map → kaiAgent-gaA7dqki.cjs.map} +1 -1
  265. package/dist/{kaiMemory-Qch09f-m.cjs → kaiMemory-CkLQfJXD.cjs} +6 -9
  266. package/dist/{kaiMemory-Qch09f-m.cjs.map → kaiMemory-CkLQfJXD.cjs.map} +1 -1
  267. package/dist/{kaiMemory-C9di17bd.js → kaiMemory-oir_qCo_.js} +6 -9
  268. package/dist/{kaiMemory-C9di17bd.js.map → kaiMemory-oir_qCo_.js.map} +1 -1
  269. package/dist/management/index.cjs +1 -1
  270. package/dist/management/index.d.cts +1 -1
  271. package/dist/management/index.d.ts +1 -1
  272. package/dist/management/index.js +1 -2
  273. package/dist/management/types.cjs +13 -0
  274. package/dist/management/types.cjs.map +1 -0
  275. package/dist/management/types.d.cts +2 -2
  276. package/dist/management/types.d.ts +2 -2
  277. package/dist/management/types.js +11 -1
  278. package/dist/management/types.js.map +1 -0
  279. package/dist/{management-CXHnxVaZ.cjs → management-BEGOEQxM.cjs} +34 -59
  280. package/dist/management-BEGOEQxM.cjs.map +1 -0
  281. package/dist/{management-NYAD6ej4.js → management-BcGHyxAP.js} +34 -59
  282. package/dist/management-BcGHyxAP.js.map +1 -0
  283. package/dist/metastore/index.cjs +1 -1
  284. package/dist/metastore/index.d.cts +1 -1
  285. package/dist/metastore/index.d.ts +1 -1
  286. package/dist/metastore/index.js +1 -2
  287. package/dist/metastore/types.d.cts +1 -1
  288. package/dist/metastore/types.d.ts +1 -1
  289. package/dist/{metastore-Ywq08DBz.js → metastore-CGsgxjng.js} +7 -10
  290. package/dist/{metastore-Ywq08DBz.js.map → metastore-CGsgxjng.js.map} +1 -1
  291. package/dist/{metastore-BXHg33ku.cjs → metastore-DeRQ2VIv.cjs} +7 -10
  292. package/dist/{metastore-BXHg33ku.cjs.map → metastore-DeRQ2VIv.cjs.map} +1 -1
  293. package/dist/microsoftGraph/index.cjs +5 -8
  294. package/dist/microsoftGraph/index.cjs.map +1 -1
  295. package/dist/microsoftGraph/index.d.cts +3 -7
  296. package/dist/microsoftGraph/index.d.ts +3 -7
  297. package/dist/microsoftGraph/index.js +5 -8
  298. package/dist/microsoftGraph/index.js.map +1 -1
  299. package/dist/microsoftGraph/types.d.cts +2 -4
  300. package/dist/microsoftGraph/types.d.ts +2 -4
  301. package/dist/{middleware-GOfx8Apu.js → middleware-8zaJWcyU.js} +3 -5
  302. package/dist/middleware-8zaJWcyU.js.map +1 -0
  303. package/dist/{middleware-CEP6uu_D.cjs → middleware-B9RNuLfD.cjs} +3 -5
  304. package/dist/middleware-B9RNuLfD.cjs.map +1 -0
  305. package/dist/notifications/index.cjs +5 -6
  306. package/dist/notifications/index.d.cts +2 -4
  307. package/dist/notifications/index.d.ts +2 -4
  308. package/dist/notifications/index.js +5 -6
  309. package/dist/notifications/types.d.cts +1 -1
  310. package/dist/notifications/types.d.ts +1 -1
  311. package/dist/oauth/index.cjs +1 -1
  312. package/dist/oauth/index.d.cts +2 -4
  313. package/dist/oauth/index.d.ts +2 -4
  314. package/dist/oauth/index.js +1 -2
  315. package/dist/oauth/types.d.cts +1 -1
  316. package/dist/oauth/types.d.ts +1 -1
  317. package/dist/{oauth-DKZPuUlt.cjs → oauth-B5Biqz21.cjs} +7 -9
  318. package/dist/{oauth-DKZPuUlt.cjs.map → oauth-B5Biqz21.cjs.map} +1 -1
  319. package/dist/{oauth-GXmZ9agP.js → oauth-ByCdISsV.js} +7 -9
  320. package/dist/{oauth-GXmZ9agP.js.map → oauth-ByCdISsV.js.map} +1 -1
  321. package/dist/omnisearch/index.cjs +3 -4
  322. package/dist/omnisearch/index.d.cts +2 -4
  323. package/dist/omnisearch/index.d.ts +2 -4
  324. package/dist/omnisearch/index.js +3 -4
  325. package/dist/omnisearch/types.d.cts +1 -1
  326. package/dist/omnisearch/types.d.ts +1 -1
  327. package/dist/project-DmuC0bMK.js +83 -0
  328. package/dist/project-DmuC0bMK.js.map +1 -0
  329. package/dist/project-Onf-IcPW.cjs +136 -0
  330. package/dist/project-Onf-IcPW.cjs.map +1 -0
  331. package/dist/{project-nbv9yjpl.d.ts → project-UHZGFmmG.d.cts} +6 -9
  332. package/dist/{project-Dzu85cqr.d.cts → project-iBm4cIIR.d.ts} +6 -9
  333. package/dist/queryService/index.cjs +1 -1
  334. package/dist/queryService/index.d.cts +1 -1
  335. package/dist/queryService/index.d.ts +1 -1
  336. package/dist/queryService/index.js +1 -2
  337. package/dist/queryService/types.d.cts +1 -1
  338. package/dist/queryService/types.d.ts +1 -1
  339. package/dist/{queryService-CzK53q94.cjs → queryService-Cg-eMysa.cjs} +9 -11
  340. package/dist/{queryService-CzK53q94.cjs.map → queryService-Cg-eMysa.cjs.map} +1 -1
  341. package/dist/{queryService-C-pZha5p.js → queryService-x8kq8Z2-.js} +9 -11
  342. package/dist/{queryService-C-pZha5p.js.map → queryService-x8kq8Z2-.js.map} +1 -1
  343. package/dist/queue/index.cjs +1 -1
  344. package/dist/queue/index.d.cts +4 -5
  345. package/dist/queue/index.d.ts +4 -5
  346. package/dist/queue/index.js +1 -2
  347. package/dist/queue/types.d.cts +1 -1
  348. package/dist/queue/types.d.ts +1 -1
  349. package/dist/{queue-D6-x4OGF.js → queue-BiIs9fX4.js} +9 -11
  350. package/dist/{queue-D6-x4OGF.js.map → queue-BiIs9fX4.js.map} +1 -1
  351. package/dist/{queue-BJvDWriM.cjs → queue-CBi9Q8vp.cjs} +9 -11
  352. package/dist/{queue-BJvDWriM.cjs.map → queue-CBi9Q8vp.cjs.map} +1 -1
  353. package/dist/{rolldown-runtime-VH7oDXx4.cjs → rolldown-runtime-CmQyd0Gu.cjs} +1 -2
  354. package/dist/scheduler/index.cjs +5 -6
  355. package/dist/scheduler/index.d.cts +2 -4
  356. package/dist/scheduler/index.d.ts +2 -4
  357. package/dist/scheduler/index.js +5 -6
  358. package/dist/scheduler/types.d.cts +1 -1
  359. package/dist/scheduler/types.d.ts +1 -1
  360. package/dist/{schema-BUyMwQnM.d.cts → schema-DLmBEgPM.d.cts} +1 -3
  361. package/dist/{schema-BUyMwQnM.d.ts → schema-DLmBEgPM.d.ts} +1 -3
  362. package/dist/schemaGuidedMerge-C8CqrNGe.cjs +55 -0
  363. package/dist/schemaGuidedMerge-C8CqrNGe.cjs.map +1 -0
  364. package/dist/schemaGuidedMerge-DFNqj9Nz.js +44 -0
  365. package/dist/schemaGuidedMerge-DFNqj9Nz.js.map +1 -0
  366. package/dist/sdk/configurations/index.cjs +634 -2
  367. package/dist/sdk/configurations/index.cjs.map +1 -0
  368. package/dist/sdk/configurations/index.d.cts +1030 -4
  369. package/dist/sdk/configurations/index.d.ts +1030 -4
  370. package/dist/sdk/configurations/index.js +633 -1
  371. package/dist/sdk/configurations/index.js.map +1 -0
  372. package/dist/sdk/developerPortal/index.cjs +9 -13
  373. package/dist/sdk/developerPortal/index.cjs.map +1 -1
  374. package/dist/sdk/developerPortal/index.d.cts +4 -6
  375. package/dist/sdk/developerPortal/index.d.ts +4 -6
  376. package/dist/sdk/developerPortal/index.js +9 -13
  377. package/dist/sdk/developerPortal/index.js.map +1 -1
  378. package/dist/sdk/kaiMemory/index.cjs +1 -1
  379. package/dist/sdk/kaiMemory/index.d.cts +1 -3
  380. package/dist/sdk/kaiMemory/index.d.ts +1 -3
  381. package/dist/sdk/kaiMemory/index.js +1 -2
  382. package/dist/sdk/kaiMemory/types.d.cts +1 -1
  383. package/dist/sdk/kaiMemory/types.d.ts +1 -1
  384. package/dist/sdk/queryService/index.cjs +3 -4
  385. package/dist/sdk/queryService/index.d.cts +1 -1
  386. package/dist/sdk/queryService/index.d.ts +1 -1
  387. package/dist/sdk/queryService/index.js +3 -4
  388. package/dist/sdk/semanticLayer/index.cjs +1 -1
  389. package/dist/sdk/semanticLayer/index.d.cts +1 -7
  390. package/dist/sdk/semanticLayer/index.d.ts +1 -7
  391. package/dist/sdk/semanticLayer/index.js +1 -2
  392. package/dist/sdk/semanticLayer/types.d.cts +1 -1
  393. package/dist/sdk/semanticLayer/types.d.ts +1 -1
  394. package/dist/sdk/storage/index.cjs +3 -6
  395. package/dist/sdk/storage/index.cjs.map +1 -1
  396. package/dist/sdk/storage/index.d.cts +0 -6
  397. package/dist/sdk/storage/index.d.ts +0 -6
  398. package/dist/sdk/storage/index.js +3 -6
  399. package/dist/sdk/storage/index.js.map +1 -1
  400. package/dist/sdk/tag/index.cjs +1 -1
  401. package/dist/sdk/tag/index.d.cts +3 -5
  402. package/dist/sdk/tag/index.d.ts +3 -5
  403. package/dist/sdk/tag/index.js +1 -2
  404. package/dist/sdk/tag/types.d.cts +1 -1
  405. package/dist/sdk/tag/types.d.ts +1 -1
  406. package/dist/sdk/vault/index.cjs +3 -5
  407. package/dist/sdk/vault/index.cjs.map +1 -1
  408. package/dist/sdk/vault/index.d.cts +1 -1
  409. package/dist/sdk/vault/index.d.ts +1 -1
  410. package/dist/sdk/vault/index.js +3 -5
  411. package/dist/sdk/vault/index.js.map +1 -1
  412. package/dist/{semanticLayer-DvjS_nzo.js → semanticLayer-BdPW_wLo.js} +9 -14
  413. package/dist/{semanticLayer-DvjS_nzo.js.map → semanticLayer-BdPW_wLo.js.map} +1 -1
  414. package/dist/{semanticLayer-7BejcMj_.cjs → semanticLayer-djom-J78.cjs} +9 -14
  415. package/dist/{semanticLayer-7BejcMj_.cjs.map → semanticLayer-djom-J78.cjs.map} +1 -1
  416. package/dist/status/index.cjs +2 -3
  417. package/dist/status/index.d.cts +1 -3
  418. package/dist/status/index.d.ts +1 -3
  419. package/dist/status/index.js +2 -3
  420. package/dist/status/types.d.cts +0 -2
  421. package/dist/status/types.d.ts +0 -2
  422. package/dist/storage/index.cjs +12 -9
  423. package/dist/storage/index.d.cts +4 -3
  424. package/dist/storage/index.d.ts +4 -3
  425. package/dist/storage/index.js +10 -10
  426. package/dist/storage/types.d.cts +6 -6
  427. package/dist/storage/types.d.ts +6 -6
  428. package/dist/{storage-BR-Kgi-6.js → storage-BpOLWT6h.js} +73 -85
  429. package/dist/{storage-CVBXivpB.cjs.map → storage-BpOLWT6h.js.map} +1 -1
  430. package/dist/{storage-CVBXivpB.cjs → storage-KJ5Ki_ma.cjs} +90 -84
  431. package/dist/storage-KJ5Ki_ma.cjs.map +1 -0
  432. package/dist/{store-xS-Cu_VS.cjs → store-2OyH1XOP.cjs} +3 -5
  433. package/dist/{store-xS-Cu_VS.cjs.map → store-2OyH1XOP.cjs.map} +1 -1
  434. package/dist/{store-C9FQCHGe.js → store-HP0zRcLz.js} +3 -5
  435. package/dist/{store-C9FQCHGe.js.map → store-HP0zRcLz.js.map} +1 -1
  436. package/dist/stream/index.cjs +4 -5
  437. package/dist/stream/index.d.cts +2 -4
  438. package/dist/stream/index.d.ts +2 -4
  439. package/dist/stream/index.js +4 -5
  440. package/dist/stream/types.d.cts +1 -1
  441. package/dist/stream/types.d.ts +1 -1
  442. package/dist/{suggestions-BH3x7xU7.d.ts → suggestions-xhIjrlvi.d.cts} +1 -3
  443. package/dist/{suggestions-BH3x7xU7.d.cts → suggestions-xhIjrlvi.d.ts} +1 -3
  444. package/dist/syncActions/index.cjs +1 -1
  445. package/dist/syncActions/index.d.cts +2 -2
  446. package/dist/syncActions/index.d.ts +2 -2
  447. package/dist/syncActions/index.js +1 -2
  448. package/dist/syncActions/types.d.cts +2 -2
  449. package/dist/syncActions/types.d.ts +2 -2
  450. package/dist/{syncActions-C1rE4R3f.cjs → syncActions-BcX3jm2E.cjs} +74 -187
  451. package/dist/syncActions-BcX3jm2E.cjs.map +1 -0
  452. package/dist/{syncActions-DM8vP7p3.js → syncActions-giPLTfje.js} +73 -186
  453. package/dist/syncActions-giPLTfje.js.map +1 -0
  454. package/dist/{tag-DHS_soa7.cjs → tag-A5z4tJn1.cjs} +5 -7
  455. package/dist/{tag-DHS_soa7.cjs.map → tag-A5z4tJn1.cjs.map} +1 -1
  456. package/dist/{tag-hh-1nhNr.js → tag-BwjbG3tT.js} +5 -7
  457. package/dist/{tag-hh-1nhNr.js.map → tag-BwjbG3tT.js.map} +1 -1
  458. package/dist/telemetry/index.cjs +4 -5
  459. package/dist/telemetry/index.d.cts +2 -4
  460. package/dist/telemetry/index.d.ts +2 -4
  461. package/dist/telemetry/index.js +4 -5
  462. package/dist/telemetry/types.d.cts +1 -1
  463. package/dist/telemetry/types.d.ts +1 -1
  464. package/dist/{transientRetries-B4iusp69.js → transientRetries-BKqmb85B.js} +13 -22
  465. package/dist/{transientRetries-B4iusp69.js.map → transientRetries-BKqmb85B.js.map} +1 -1
  466. package/dist/{transientRetries-DdJfH9QK.cjs → transientRetries-CM7rAEXQ.cjs} +13 -22
  467. package/dist/{transientRetries-DdJfH9QK.cjs.map → transientRetries-CM7rAEXQ.cjs.map} +1 -1
  468. package/dist/{types-DfJP6Dti.d.ts → types--Rp5wvaz.d.ts} +2 -6
  469. package/dist/{types-DlgqPU_4.d.cts → types-1IBnjBVJ.d.cts} +2 -6
  470. package/dist/{types-BXHZQvGy.d.ts → types-37vwxse4.d.cts} +2 -6
  471. package/dist/{types-QPW-7dPm.d.ts → types-6T04_qUf.d.ts} +2 -6
  472. package/dist/{types-CwQ8_n8q.d.ts → types-B0e-no6u.d.ts} +41 -62
  473. package/dist/{types-C_raqbl-.d.cts → types-B1qe1etN.d.cts} +3 -7
  474. package/dist/{types-Cc4yTEdK.d.ts → types-B3ri-iiC.d.ts} +2 -26
  475. package/dist/{types-0ZAMQhva.d.cts → types-BB49alHP.d.cts} +245 -9
  476. package/dist/{types-NSxpnYW5.d.cts → types-BCGrKW1K.d.cts} +6 -10
  477. package/dist/{types-BaqdM92a.d.ts → types-BE8abIig.d.cts} +2 -6
  478. package/dist/{types-c4h2YDMC.d.ts → types-BWMOK6eL.d.cts} +2 -6
  479. package/dist/{types-VehpPOQX.d.ts → types-Bat0SIZA.d.cts} +16 -97
  480. package/dist/{types-CpWE6Yg2.d.ts → types-Bdl7EFMc.d.ts} +2 -6
  481. package/dist/{types-DgOLSRiy.d.ts → types-BfB-XXLF.d.ts} +245 -9
  482. package/dist/{types-C9VaQSqV.d.ts → types-BiDdBXSm.d.ts} +2 -8
  483. package/dist/{types-EkyQ0_10.d.cts → types-BuclMPeY.d.cts} +2 -26
  484. package/dist/{types-CfZLdfAL.d.ts → types-C9okze_R.d.ts} +3 -7
  485. package/dist/{types-Dn1G-qv4.d.cts → types-CPWjRdnj.d.cts} +41 -62
  486. package/dist/{types-D3mj56iq.d.cts → types-CRubbBcU.d.cts} +2 -6
  487. package/dist/{types-BTy_FFSu.d.ts → types-CWcdaq-K.d.ts} +2 -6
  488. package/dist/{types-Bt8CEZ6K.d.ts → types-CcGp6O3B.d.cts} +3 -7
  489. package/dist/{types-BWYtQkHu.d.ts → types-Cr5lyI99.d.ts} +2 -6
  490. package/dist/{types-CNkQuWnO.d.cts → types-CxEJ77m3.d.cts} +3 -7
  491. package/dist/{types-CrJIILXf.d.cts → types-D-tJt0hQ.d.cts} +2 -6
  492. package/dist/{types-BYFU_6Iz.d.ts → types-D6lre27s.d.ts} +2 -8
  493. package/dist/{types-Cn8I0vcr.d.ts → types-DHMxPJZq.d.cts} +2 -6
  494. package/dist/{types-BtS3DhGu.d.cts → types-DJzTVMu1.d.ts} +2 -6
  495. package/dist/{types-DXF6faow.d.cts → types-DNgazFnF.d.cts} +2 -8
  496. package/dist/{types-UySfduQo.d.ts → types-DRCttnIN.d.ts} +2 -6
  497. package/dist/{types-D3H3EAre.d.ts → types-DUpVIuk7.d.ts} +2 -6
  498. package/dist/{types-Ce5Blzhg.d.ts → types-DeyXJzWz.d.cts} +2 -6
  499. package/dist/{types-sOM2_KPc.d.cts → types-Dryq2GGE.d.cts} +2 -6
  500. package/dist/{types-CwGbiMF-.d.cts → types-DschSZHf.d.cts} +3 -5
  501. package/dist/{types-C-GSYDTN.d.ts → types-DtOfhDzz.d.ts} +3 -5
  502. package/dist/{types-C4eQ-Zcx.d.cts → types-Du5o-tud.d.ts} +16 -97
  503. package/dist/{types-BbwrMl0Q.d.cts → types-DwbTiyhZ.d.cts} +2 -6
  504. package/dist/{types-B7L6uSYb.d.ts → types-Dz9vyloX.d.ts} +6 -10
  505. package/dist/{types-6KabdIyO.d.cts → types-E8tzafsk.d.cts} +3 -7
  506. package/dist/{types-EmIcG-8K.d.cts → types-LconaX98.d.cts} +2 -6
  507. package/dist/{types-Cfc-fYbq.d.cts → types-YpOm4yXE.d.cts} +2 -8
  508. package/dist/{types-CXv_e6xC.d.cts → types-ZZwdKCBl.d.ts} +2 -6
  509. package/dist/{types-D8d5tyGi.d.cts → types-eFi8xJIM.d.cts} +2 -6
  510. package/dist/{types-wNuJUhco.d.cts → types-inG9y3dP.d.ts} +2 -6
  511. package/dist/{types-Vu09EUZs.d.ts → types-ir7T2a9a.d.ts} +3 -7
  512. package/dist/{types-DMpiG2q4.d.cts → types-jjOulnni.d.ts} +2 -6
  513. package/dist/{types-DSBrhK_K.d.cts → types-wYrC2boT.d.ts} +3 -7
  514. package/dist/{types-1LENlL5h.d.ts → types-xzt_2H63.d.ts} +3 -7
  515. package/dist/{types-9d8ihjZh.d.cts → types-zPY-XGnM.d.ts} +2 -6
  516. package/dist/{validateConnectionStatus-BalWEyRk.cjs → validateConnectionStatus-BjemGI1e.cjs} +5 -7
  517. package/dist/{validateConnectionStatus-BalWEyRk.cjs.map → validateConnectionStatus-BjemGI1e.cjs.map} +1 -1
  518. package/dist/{validateConnectionStatus-DyrYpn0G.js → validateConnectionStatus-DYwWeWVo.js} +5 -7
  519. package/dist/{validateConnectionStatus-DyrYpn0G.js.map → validateConnectionStatus-DYwWeWVo.js.map} +1 -1
  520. package/dist/vault/index.cjs +7 -8
  521. package/dist/vault/index.d.cts +1 -1
  522. package/dist/vault/index.d.ts +1 -1
  523. package/dist/vault/index.js +7 -8
  524. package/dist/vault/types.d.cts +1 -1
  525. package/dist/vault/types.d.ts +1 -1
  526. package/package.json +7 -7
  527. package/surface/apps.md +12 -10
  528. package/surface/billing.md +2 -2
  529. package/surface/chat.md +1 -1
  530. package/surface/dataScience.md +1 -1
  531. package/surface/editor.md +5 -5
  532. package/surface/kaiAgent.md +4 -4
  533. package/surface/management.md +3 -2
  534. package/surface/queue.md +3 -3
  535. package/surface/sdk.md +0 -6
  536. package/surface/stack.md +11 -0
  537. package/surface/storage.md +2 -2
  538. package/surface/stream.md +6 -6
  539. package/surface/syncActions.md +1 -2
  540. package/dist/configurations-B2O8AAy0.cjs +0 -735
  541. package/dist/configurations-B2O8AAy0.cjs.map +0 -1
  542. package/dist/configurations-CL0ouUMa.js.map +0 -1
  543. package/dist/configurations-D9J3jh3g.cjs.map +0 -1
  544. package/dist/configurations-DKINmjA3.js +0 -718
  545. package/dist/configurations-DKINmjA3.js.map +0 -1
  546. package/dist/constants-CA4UN2Xv.js.map +0 -1
  547. package/dist/constants-a0jswUeK.cjs.map +0 -1
  548. package/dist/createGenericFetchClient-CQdNcPC3.js +0 -7
  549. package/dist/createOpenapiFetchClient-DXiMv9WL.js +0 -7
  550. package/dist/domain/permissions/index.cjs.map +0 -1
  551. package/dist/domain/permissions/index.js.map +0 -1
  552. package/dist/generateUUID-Dr8l-aoc.js +0 -6
  553. package/dist/index-B3QTeqfL.d.ts +0 -23575
  554. package/dist/index-BfqkgPGI.d.cts +0 -34
  555. package/dist/index-BfqkgPGI.d.ts +0 -34
  556. package/dist/index-C40Fbj-6.d.cts +0 -23575
  557. package/dist/index-P1vR966i.d.cts +0 -199
  558. package/dist/index-P1vR966i.d.ts +0 -199
  559. package/dist/management-CXHnxVaZ.cjs.map +0 -1
  560. package/dist/management-NYAD6ej4.js.map +0 -1
  561. package/dist/middleware-CEP6uu_D.cjs.map +0 -1
  562. package/dist/middleware-GOfx8Apu.js.map +0 -1
  563. package/dist/project-BXLFrWJ6.js +0 -45
  564. package/dist/project-BXLFrWJ6.js.map +0 -1
  565. package/dist/project-CpgplgCr.cjs +0 -62
  566. package/dist/project-CpgplgCr.cjs.map +0 -1
  567. package/dist/storage-BR-Kgi-6.js.map +0 -1
  568. package/dist/storageTable-BNOR2FCh.cjs +0 -442
  569. package/dist/storageTable-BNOR2FCh.cjs.map +0 -1
  570. package/dist/storageTable-BldTNyEk.js +0 -395
  571. package/dist/storageTable-BldTNyEk.js.map +0 -1
  572. package/dist/syncActions-C1rE4R3f.cjs.map +0 -1
  573. package/dist/syncActions-DM8vP7p3.js.map +0 -1
  574. package/surface/context.md +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"developerPortalClient-DUerKw-7.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 per request (it rotates). Omit for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * Percent-encodes a path parameter, leaving the RFC 3986 segment characters `$&+,;=:@` raw.\n *\n * - apps-api never decodes a path parameter, so `%40` fails its email validation.\n */\nconst encodePathParam = (value: string) =>\n encodeURIComponent(value).replace(/%(24|26|2B|2C|3B|3D|3A|40)/g, (match) =>\n decodeURIComponent(match),\n );\n\n/**\n * The Developer Portal (apps-api) client; types generated via `redocly.yaml` / `pnpm gen:types`.\n *\n * - Two fetch clients: `security: []` operations go out unauthenticated, and four use the access or\n * 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, encodePathParam });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: [authMiddleware, ...middlewares],\n encodePathParam,\n })\n : publicClient;\n\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":";;;;AAaA,MAAa,eAAe,WAAuC;CACjE,MAAM,YAAY,OAAO,WAAyB;EAChD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EACjE,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,QAA8B,CAAC,GAAG,WAAyB;EAChF,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,eAAe,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACtE,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,IAAY,WAAyB;EACzD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;EAClF,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,IAAY,MAA6B,WAAyB;EACzF,MAAM,EAAE,SAAS,MAAM,OAAO,MAAM,oBAAoB;GAAE,MAAM,EAAE,GAAG;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;EAC1F,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,IAAY,WAAyB;EAC7D,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,4BAA4B,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;EAC3F,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,IAAY,MAAsB,WAAyB;EAClF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,2BACA;GAAE,MAAM,EAAE,GAAG;GAAG;EAAK,GACrB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,WAAW,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC5E,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,gBAAgB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACvE,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,UAAkB,WAAyB;EACnE,MAAM,OAAO,OAAO,2BAA2B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACnF;;CAGA,MAAM,eAAe,OAAO,UAAkB,WAAyB;EACrE,MAAM,OAAO,OAAO,+BAA+B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACvF;CAEA,MAAM,kBAAkB,OAAO,UAAkB,QAAgB,WAAyB;EACxF,MAAM,OAAO,KACX,4CACA,EAAE,MAAM;GAAE;GAAU;EAAO,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,uBAAuB,OAAO,UAAkB,QAAgB,WAAyB;EAC7F,MAAM,OAAO,OACX,4CACA,EAAE,MAAM;GAAE;GAAU;EAAO,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,iBAAiB,OAAO,UAAkB,WAAyB;EACvE,MAAM,OAAO,KAAK,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACvF;CAEA,MAAM,kBAAkB,OAAO,UAAkB,WAAyB;EACxE,MAAM,OAAO,OAAO,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACzF;CAEA,MAAM,aAAa,OAAO,QAA8B,CAAC,GAAG,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,MAAgC,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,kBAAkB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,eAAe,OACnB,QACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,QAAgB,WAAyB;EACnE,MAAM,OAAO,OAAO,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CACjF;;CAGA,MAAM,gBAAgB,OAAO,QAAgB,MAA0B,WAAyB;EAC9F,MAAM,OAAO,KAAK,mCAAmC;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;CAC7F;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;ACjIA,MAAa,cAAc,EAAE,QAAQ,mBAAyB;;CAE5D,MAAM,mBAAmB,OAAO,QAAsB,CAAC,GAAG,WAAyB;EACjF,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,SAAS,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACtE,OAAO;CACT;CAEA,MAAM,kBAAkB,OAAO,KAAa,WAAyB;EACnE,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC;EACpF,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,QAAgB,QAAyB,CAAC,GAAG,WAAyB;EAC3F,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,0BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,QAAgB,KAAa,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,MAAsB,WAAyB;EACtF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,0BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAChB,QACA,KACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,gCACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAK,GAC9B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,KAAa,WAAyB;EAC7E,MAAM,OAAO,OAAO,gCAAgC,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GAAG,EAAE,OAAO,CAAC;CAC3F;CAEA,MAAM,uBAAuB,OAAO,QAAgB,KAAa,WAAyB;EACxF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,wCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,eAAe,OACnB,QACA,KACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,0CACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAK,GAC9B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,iBAAiB,OACrB,QACA,KACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,yCACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAM,GAC/B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,gBAAgB,OACpB,QACA,KACA,SACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,mDACA,EAAE,MAAM;GAAE;GAAQ;GAAK;EAAQ,EAAE,GACjC,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,qBAAqB,OACzB,QACA,KACA,SACA,WACG;EACH,MAAM,OAAO,KACX,4DACA,EAAE,MAAM;GAAE;GAAQ;GAAK;EAAQ,EAAE,GACjC,EAAE,OAAO,CACX;CACF;CAEA,MAAM,mBAAmB,OAAO,QAAgB,KAAa,WAAyB;EACpF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2CACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,0BAA0B,OAAO,QAAgB,KAAa,WAAyB;EAC3F,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,qCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;AAOA,MAAa,gBAAgB,OAC3B,WACA,KACA,WACkB;CAClB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,QAAQ;EACR,MAAM;EACN,SAAS,EAAE,gBAAgB,YAAY;EACvC;CACF,CAAC;CAED,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,MAAM,uBAAuB,SAAS,OAAO,GAAG,SAAS,YAAY;AAEnF;;;;AClLA,MAAa,cAAc,WAA2C,GACnEA,0BAAAA,WAAW,gBAAgB,MAC9B;;;ACAA,MAAa,0BAA0B,WACrC,EAAE,WAAW;AAEf,MAAa,cAAc,EAAE,QAAQ,mBAAyB;CAC5D,MAAM,QAAQ,OAAO,MAAkB,WAAyB;EAC9D,MAAM,EAAE,SAAS,MAAM,aAAa,KAAK,eAAe,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAC5E,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,MAAmB,WAAyB;EAChE,MAAM,aAAa,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;CAC9D;CAEA,MAAM,iBAAiB,OAAO,MAA2B,WAAyB;EAChF,MAAM,aAAa,KAAK,iBAAiB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;CAC/D;;CAGA,MAAM,uBAAuB,OAAO,OAAe,MAAc,WAAyB;EACxF,MAAM,aAAa,KAAK,gCAAgC,EAAE,MAAM;GAAE;GAAO;EAAK,EAAE,GAAG,EAAE,OAAO,CAAC;CAC/F;;;;;;CAOA,MAAM,gBAAgB,OAAO,cAAsB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,aAAa,IAClC,eACA,CAAC,GACD;GAAE,SAAS,WAAW,YAAY;GAAG;EAAO,CAC9C;EACA,OAAO;CACT;;CAGA,MAAM,SAAS,OAAO,aAAqB,WAAyB;EAClE,MAAM,aAAa,KAAK,gBAAgB,CAAC,GAAG;GAAE,SAAS,WAAW,WAAW;GAAG;EAAO,CAAC;CAC1F;CAEA,MAAM,aAAa,OAAO,WAAyB;EACjD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EACjE,OAAO;CACT;CAEA,MAAM,uBAAuB,OAAO,OAAe,WAAyB;EAC1E,MAAM,aAAa,KAAK,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;CACjF;CAEA,MAAM,uBAAuB,OAC3B,OACA,MACA,WACG;EACH,MAAM,aAAa,KAAK,gCAAgC;GAAE,MAAM,EAAE,MAAM;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;CAC/F;CAKA,MAAM,WAAW,OACf,EAAE,SAAS,eACX,WACG;EACH,MAAM,EAAE,SAAS,MAAM,aAAa,KAClC,aACA,EAAE,MAAM,EAAE,YAAY,EAAE,GACxB;GAAE,SAAS,WAAW,OAAO;GAAG;EAAO,CACzC;EACA,OAAO;CACT;CAEA,MAAM,aAAa,OACjB,EAAE,SAAS,aAAa,QACxB,WACG;EACH,MAAM,aAAa,KACjB,qBACA,EAAE,MAAM;GAAE;GAAa;EAAK,EAAE,GAC9B;GAAE,SAAS,WAAW,OAAO;GAAG;EAAO,CACzC;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;ACnGA,MAAa,iBAAiB,EAAE,QAAQ,mBAAyB;CAC/D,MAAM,aAAa,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,YAAY,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,WAAyB;EAChE,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;EAC7F,OAAO;CACT;;CAGA,MAAM,eAAe,OAAO,MAAyB,WAAyB;EAC5E,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,YAAY,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EACnE,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,QAAgB,MAAyB,WAAyB;EAC5F,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,qBACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,iBAAiB,OACrB,QACA,QAA6B,CAAC,GAC9B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,0BAA0B,OAAO,QAAgB,WAAyB;EAC9E,MAAM,OAAO,KAAK,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CAC/E;CAEA,MAAM,oBAAoB,OAAO,QAAgB,UAAkB,WAAyB;EAC1F,MAAM,OAAO,KACX,sCACA,EAAE,MAAM;GAAE;GAAQ;EAAS,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,mBAAmB,OAAO,QAAgB,UAAkB,WAAyB;EACzF,MAAM,OAAO,OACX,sCACA,EAAE,MAAM;GAAE;GAAQ;EAAS,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,wBAAwB,OAC5B,QACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,mCACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,uBAAuB,OAAO,QAAgB,OAAe,WAAyB;EAC1F,MAAM,OAAO,KACX,yCACA,EAAE,MAAM;GAAE;GAAQ;EAAM,EAAE,GAC1B,EAAE,OAAO,CACX;CACF;;CAGA,MAAM,yBAAyB,OAC7B,QACA,OACA,MACA,WACG;EACH,MAAM,aAAa,IACjB,gDACA,EAAE,MAAM;GAAE;GAAQ;GAAO;EAAK,EAAE,GAChC,EAAE,OAAO,CACX;CACF;;CAGA,MAAM,qBAAqB,OACzB,QACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG,OAAO;IAAE,GAAG;IAAO,SAAS;GAAE;EAAE,GACpD,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,uBAAuB,OAC3B,QACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,iCACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;;;ACjIA,MAAM,mBAAmB,UACvB,mBAAmB,KAAK,CAAC,CAAC,QAAQ,gCAAgC,UAChE,mBAAmB,KAAK,CAC1B;;;;;;;AAQF,MAAa,+BAA+B,EAC1C,SACA,cAAc,CAAC,GACf,qBACsC;CACtC,MAAM,eAAeC,iCAAAA,yBAAgC;EAAE;EAAS;EAAa;CAAgB,CAAC;CAC9F,MAAM,SAAS,iBACXA,iCAAAA,yBAAgC;EAC9B;EACA,aAAa,CAAC,gBAAgB,GAAG,WAAW;EAC5C;CACF,CAAC,IACD;CAEJ,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;EAC3D,OAAO;CACT;CAEA,OAAO;EACL;EACA,MAAM,WAAW;GAAE;GAAQ;EAAa,CAAC;EACzC,SAAS,cAAc;GAAE;GAAQ;EAAa,CAAC;EAC/C,MAAM,WAAW;GAAE;GAAQ;EAAa,CAAC;EACzC,OAAO,YAAY,MAAM;CAC3B;AACF"}
1
+ {"version":3,"file":"developerPortalClient-BfRxYrWj.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 per request (it rotates). Omit for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * Percent-encodes a path parameter, leaving the RFC 3986 segment characters `$&+,;=:@` raw.\n *\n * - apps-api never decodes a path parameter, so `%40` fails its email validation.\n */\nconst encodePathParam = (value: string) =>\n encodeURIComponent(value).replace(/%(24|26|2B|2C|3B|3D|3A|40)/g, (match) =>\n decodeURIComponent(match),\n );\n\n/**\n * The Developer Portal (apps-api) client; types generated via `redocly.yaml` / `pnpm gen:types`.\n *\n * - Two fetch clients: `security: []` operations go out unauthenticated, and four use the access or\n * 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, encodePathParam });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: [authMiddleware, ...middlewares],\n encodePathParam,\n })\n : publicClient;\n\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":";;;;AAaA,MAAa,eAAe,WAAuC;CACjE,MAAM,YAAY,OAAO,WAAyB;EAChD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EACjE,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,QAA8B,CAAC,GAAG,WAAyB;EAChF,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,eAAe,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACtE,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,IAAY,WAAyB;EACzD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;EAClF,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,IAAY,MAA6B,WAAyB;EACzF,MAAM,EAAE,SAAS,MAAM,OAAO,MAAM,oBAAoB;GAAE,MAAM,EAAE,GAAG;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;EAC1F,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,IAAY,WAAyB;EAC7D,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,4BAA4B,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;EAC3F,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,IAAY,MAAsB,WAAyB;EAClF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,2BACA;GAAE,MAAM,EAAE,GAAG;GAAG;EAAK,GACrB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,WAAW,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC5E,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,gBAAgB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACvE,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,UAAkB,WAAyB;EACnE,MAAM,OAAO,OAAO,2BAA2B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACnF;;CAGA,MAAM,eAAe,OAAO,UAAkB,WAAyB;EACrE,MAAM,OAAO,OAAO,+BAA+B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACvF;CAEA,MAAM,kBAAkB,OAAO,UAAkB,QAAgB,WAAyB;EACxF,MAAM,OAAO,KACX,4CACA,EAAE,MAAM;GAAE;GAAU;EAAO,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,uBAAuB,OAAO,UAAkB,QAAgB,WAAyB;EAC7F,MAAM,OAAO,OACX,4CACA,EAAE,MAAM;GAAE;GAAU;EAAO,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,iBAAiB,OAAO,UAAkB,WAAyB;EACvE,MAAM,OAAO,KAAK,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACvF;CAEA,MAAM,kBAAkB,OAAO,UAAkB,WAAyB;EACxE,MAAM,OAAO,OAAO,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACzF;CAEA,MAAM,aAAa,OAAO,QAA8B,CAAC,GAAG,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,MAAgC,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,kBAAkB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,eAAe,OACnB,QACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,QAAgB,WAAyB;EACnE,MAAM,OAAO,OAAO,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CACjF;;CAGA,MAAM,gBAAgB,OAAO,QAAgB,MAA0B,WAAyB;EAC9F,MAAM,OAAO,KAAK,mCAAmC;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;CAC7F;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;ACjIA,MAAa,cAAc,EAAE,QAAQ,mBAAyB;;CAE5D,MAAM,mBAAmB,OAAO,QAAsB,CAAC,GAAG,WAAyB;EACjF,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,SAAS,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACtE,OAAO;CACT;CAEA,MAAM,kBAAkB,OAAO,KAAa,WAAyB;EACnE,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC;EACpF,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,QAAgB,QAAyB,CAAC,GAAG,WAAyB;EAC3F,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,0BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,QAAgB,KAAa,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,MAAsB,WAAyB;EACtF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,0BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAChB,QACA,KACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,gCACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAK,GAC9B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,KAAa,WAAyB;EAC7E,MAAM,OAAO,OAAO,gCAAgC,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GAAG,EAAE,OAAO,CAAC;CAC3F;CAEA,MAAM,uBAAuB,OAAO,QAAgB,KAAa,WAAyB;EACxF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,wCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,eAAe,OACnB,QACA,KACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,0CACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAK,GAC9B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,iBAAiB,OACrB,QACA,KACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,yCACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAM,GAC/B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,gBAAgB,OACpB,QACA,KACA,SACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,mDACA,EAAE,MAAM;GAAE;GAAQ;GAAK;EAAQ,EAAE,GACjC,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,qBAAqB,OACzB,QACA,KACA,SACA,WACG;EACH,MAAM,OAAO,KACX,4DACA,EAAE,MAAM;GAAE;GAAQ;GAAK;EAAQ,EAAE,GACjC,EAAE,OAAO,CACX;CACF;CAEA,MAAM,mBAAmB,OAAO,QAAgB,KAAa,WAAyB;EACpF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2CACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,0BAA0B,OAAO,QAAgB,KAAa,WAAyB;EAC3F,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,qCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;AAOA,MAAa,gBAAgB,OAC3B,WACA,KACA,WACkB;CAClB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,QAAQ;EACR,MAAM;EACN,SAAS,EAAE,gBAAgB,YAAY;EACvC;CACF,CAAC;CAED,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,MAAM,uBAAuB,SAAS,OAAO,GAAG,SAAS,YAAY;AAEnF;;;AClLA,MAAa,cAAc,WAA2C,GACnEA,0BAAAA,WAAW,gBAAgB,MAC9B;;ACAA,MAAa,0BAA0B,WACrC,EAAE,WAAW;AAEf,MAAa,cAAc,EAAE,QAAQ,mBAAyB;CAC5D,MAAM,QAAQ,OAAO,MAAkB,WAAyB;EAC9D,MAAM,EAAE,SAAS,MAAM,aAAa,KAAK,eAAe,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAC5E,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,MAAmB,WAAyB;EAChE,MAAM,aAAa,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;CAC9D;CAEA,MAAM,iBAAiB,OAAO,MAA2B,WAAyB;EAChF,MAAM,aAAa,KAAK,iBAAiB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;CAC/D;;CAGA,MAAM,uBAAuB,OAAO,OAAe,MAAc,WAAyB;EACxF,MAAM,aAAa,KAAK,gCAAgC,EAAE,MAAM;GAAE;GAAO;EAAK,EAAE,GAAG,EAAE,OAAO,CAAC;CAC/F;;;;;;CAOA,MAAM,gBAAgB,OAAO,cAAsB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,aAAa,IAClC,eACA,CAAC,GACD;GAAE,SAAS,WAAW,YAAY;GAAG;EAAO,CAC9C;EACA,OAAO;CACT;;CAGA,MAAM,SAAS,OAAO,aAAqB,WAAyB;EAClE,MAAM,aAAa,KAAK,gBAAgB,CAAC,GAAG;GAAE,SAAS,WAAW,WAAW;GAAG;EAAO,CAAC;CAC1F;CAEA,MAAM,aAAa,OAAO,WAAyB;EACjD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EACjE,OAAO;CACT;CAEA,MAAM,uBAAuB,OAAO,OAAe,WAAyB;EAC1E,MAAM,aAAa,KAAK,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;CACjF;CAEA,MAAM,uBAAuB,OAC3B,OACA,MACA,WACG;EACH,MAAM,aAAa,KAAK,gCAAgC;GAAE,MAAM,EAAE,MAAM;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;CAC/F;CAKA,MAAM,WAAW,OACf,EAAE,SAAS,eACX,WACG;EACH,MAAM,EAAE,SAAS,MAAM,aAAa,KAClC,aACA,EAAE,MAAM,EAAE,YAAY,EAAE,GACxB;GAAE,SAAS,WAAW,OAAO;GAAG;EAAO,CACzC;EACA,OAAO;CACT;CAEA,MAAM,aAAa,OACjB,EAAE,SAAS,aAAa,QACxB,WACG;EACH,MAAM,aAAa,KACjB,qBACA,EAAE,MAAM;GAAE;GAAa;EAAK,EAAE,GAC9B;GAAE,SAAS,WAAW,OAAO;GAAG;EAAO,CACzC;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;ACnGA,MAAa,iBAAiB,EAAE,QAAQ,mBAAyB;CAC/D,MAAM,aAAa,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,YAAY,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,WAAyB;EAChE,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;EAC7F,OAAO;CACT;;CAGA,MAAM,eAAe,OAAO,MAAyB,WAAyB;EAC5E,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,YAAY,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EACnE,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,QAAgB,MAAyB,WAAyB;EAC5F,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,qBACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,iBAAiB,OACrB,QACA,QAA6B,CAAC,GAC9B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,0BAA0B,OAAO,QAAgB,WAAyB;EAC9E,MAAM,OAAO,KAAK,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CAC/E;CAEA,MAAM,oBAAoB,OAAO,QAAgB,UAAkB,WAAyB;EAC1F,MAAM,OAAO,KACX,sCACA,EAAE,MAAM;GAAE;GAAQ;EAAS,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,mBAAmB,OAAO,QAAgB,UAAkB,WAAyB;EACzF,MAAM,OAAO,OACX,sCACA,EAAE,MAAM;GAAE;GAAQ;EAAS,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,wBAAwB,OAC5B,QACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,mCACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,uBAAuB,OAAO,QAAgB,OAAe,WAAyB;EAC1F,MAAM,OAAO,KACX,yCACA,EAAE,MAAM;GAAE;GAAQ;EAAM,EAAE,GAC1B,EAAE,OAAO,CACX;CACF;;CAGA,MAAM,yBAAyB,OAC7B,QACA,OACA,MACA,WACG;EACH,MAAM,aAAa,IACjB,gDACA,EAAE,MAAM;GAAE;GAAQ;GAAO;EAAK,EAAE,GAChC,EAAE,OAAO,CACX;CACF;;CAGA,MAAM,qBAAqB,OACzB,QACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG,OAAO;IAAE,GAAG;IAAO,SAAS;GAAE;EAAE,GACpD,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,uBAAuB,OAC3B,QACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,iCACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;;ACjIA,MAAM,mBAAmB,UACvB,mBAAmB,KAAK,CAAC,CAAC,QAAQ,gCAAgC,UAChE,mBAAmB,KAAK,CAC1B;;;;;;;AAQF,MAAa,+BAA+B,EAC1C,SACA,cAAc,CAAC,GACf,qBACsC;CACtC,MAAM,eAAeC,iCAAAA,yBAAgC;EAAE;EAAS;EAAa;CAAgB,CAAC;CAC9F,MAAM,SAAS,iBACXA,iCAAAA,yBAAgC;EAC9B;EACA,aAAa,CAAC,gBAAgB,GAAG,WAAW;EAC5C;CACF,CAAC,IACD;CAEJ,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;EAC3D,OAAO;CACT;CAEA,OAAO;EACL;EACA,MAAM,WAAW;GAAE;GAAQ;EAAa,CAAC;EACzC,SAAS,cAAc;GAAE;GAAQ;EAAa,CAAC;EAC/C,MAAM,WAAW;GAAE;GAAQ;EAAa,CAAC;EACzC,OAAO,YAAY,MAAM;CAC3B;AACF"}
@@ -1,6 +1,6 @@
1
- import { s as HttpHeader } from "./createFetchClient-CkHdS_IG.js";
2
- import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-DXiMv9WL.js";
3
- //#region src/clients/developerPortal/admin/admin.ts
1
+ import { s as HttpHeader } from "./createFetchClient-DlGCbltR.js";
2
+ import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-Bhz62MUE.js";
3
+ // 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) => {
6
6
  const getStacks = async (signal) => {
@@ -113,8 +113,7 @@ const createAdmin = (client) => {
113
113
  approveVendor
114
114
  };
115
115
  };
116
- //#endregion
117
- //#region src/clients/developerPortal/apps/apps.ts
116
+ // src/clients/developerPortal/apps/apps.ts
118
117
  const createApps = ({ client, publicClient }) => {
119
118
  /** The public catalog: scoped server-side to published components. */
120
119
  const getPublishedApps = async (query = {}, signal) => {
@@ -250,12 +249,10 @@ const uploadAppIcon = async (uploadUrl, png, signal) => {
250
249
  });
251
250
  if (!response.ok) throw new Error(`Icon upload failed: ${response.status} ${response.statusText}`);
252
251
  };
253
- //#endregion
254
- //#region src/clients/developerPortal/tokens.ts
252
+ // src/clients/developerPortal/tokens.ts
255
253
  /** Raw token, no `Bearer` prefix — see the spec's `bearerAuth` scheme (`type: apiKey`). */
256
254
  const authHeader = (token) => ({ [HttpHeader.AUTHORIZATION]: token });
257
- //#endregion
258
- //#region src/clients/developerPortal/auth/auth.ts
255
+ // src/clients/developerPortal/auth/auth.ts
259
256
  const isMfaChallengeResponse = (result) => !("token" in result);
260
257
  const createAuth = ({ client, publicClient }) => {
261
258
  const login = async (body, signal) => {
@@ -337,8 +334,7 @@ const createAuth = ({ client, publicClient }) => {
337
334
  confirmMfa
338
335
  };
339
336
  };
340
- //#endregion
341
- //#region src/clients/developerPortal/vendors/vendors.ts
337
+ // src/clients/developerPortal/vendors/vendors.ts
342
338
  const createVendors = ({ client, publicClient }) => {
343
339
  const getVendors = async (query = {}, signal) => {
344
340
  const { data } = await publicClient.get("/vendors", { query }, { signal });
@@ -439,8 +435,7 @@ const createVendors = ({ client, publicClient }) => {
439
435
  createServiceAccount
440
436
  };
441
437
  };
442
- //#endregion
443
- //#region src/clients/developerPortal/developerPortalClient.ts
438
+ // src/clients/developerPortal/developerPortalClient.ts
444
439
  /**
445
440
  * Percent-encodes a path parameter, leaving the RFC 3986 segment characters `$&+,;=:@` raw.
446
441
  *
@@ -485,7 +480,6 @@ const createDeveloperPortalClient = ({ baseUrl, middlewares = [], authMiddleware
485
480
  admin: createAdmin(client)
486
481
  };
487
482
  };
488
- //#endregion
489
483
  export { uploadAppIcon as i, isMfaChallengeResponse as n, authHeader as r, createDeveloperPortalClient as t };
490
484
 
491
- //# sourceMappingURL=developerPortalClient-Bb2suezr.js.map
485
+ //# sourceMappingURL=developerPortalClient-D9XOYwWF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"developerPortalClient-Bb2suezr.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 per request (it rotates). Omit for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * Percent-encodes a path parameter, leaving the RFC 3986 segment characters `$&+,;=:@` raw.\n *\n * - apps-api never decodes a path parameter, so `%40` fails its email validation.\n */\nconst encodePathParam = (value: string) =>\n encodeURIComponent(value).replace(/%(24|26|2B|2C|3B|3D|3A|40)/g, (match) =>\n decodeURIComponent(match),\n );\n\n/**\n * The Developer Portal (apps-api) client; types generated via `redocly.yaml` / `pnpm gen:types`.\n *\n * - Two fetch clients: `security: []` operations go out unauthenticated, and four use the access or\n * 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, encodePathParam });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: [authMiddleware, ...middlewares],\n encodePathParam,\n })\n : publicClient;\n\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":";;;;AAaA,MAAa,eAAe,WAAuC;CACjE,MAAM,YAAY,OAAO,WAAyB;EAChD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EACjE,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,QAA8B,CAAC,GAAG,WAAyB;EAChF,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,eAAe,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACtE,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,IAAY,WAAyB;EACzD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;EAClF,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,IAAY,MAA6B,WAAyB;EACzF,MAAM,EAAE,SAAS,MAAM,OAAO,MAAM,oBAAoB;GAAE,MAAM,EAAE,GAAG;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;EAC1F,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,IAAY,WAAyB;EAC7D,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,4BAA4B,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;EAC3F,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,IAAY,MAAsB,WAAyB;EAClF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,2BACA;GAAE,MAAM,EAAE,GAAG;GAAG;EAAK,GACrB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,WAAW,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC5E,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,gBAAgB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACvE,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,UAAkB,WAAyB;EACnE,MAAM,OAAO,OAAO,2BAA2B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACnF;;CAGA,MAAM,eAAe,OAAO,UAAkB,WAAyB;EACrE,MAAM,OAAO,OAAO,+BAA+B,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACvF;CAEA,MAAM,kBAAkB,OAAO,UAAkB,QAAgB,WAAyB;EACxF,MAAM,OAAO,KACX,4CACA,EAAE,MAAM;GAAE;GAAU;EAAO,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,uBAAuB,OAAO,UAAkB,QAAgB,WAAyB;EAC7F,MAAM,OAAO,OACX,4CACA,EAAE,MAAM;GAAE;GAAU;EAAO,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,iBAAiB,OAAO,UAAkB,WAAyB;EACvE,MAAM,OAAO,KAAK,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACvF;CAEA,MAAM,kBAAkB,OAAO,UAAkB,WAAyB;EACxE,MAAM,OAAO,OAAO,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;CACzF;CAEA,MAAM,aAAa,OAAO,QAA8B,CAAC,GAAG,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,kBAAkB,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,MAAgC,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,kBAAkB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,eAAe,OACnB,QACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,QAAgB,WAAyB;EACnE,MAAM,OAAO,OAAO,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CACjF;;CAGA,MAAM,gBAAgB,OAAO,QAAgB,MAA0B,WAAyB;EAC9F,MAAM,OAAO,KAAK,mCAAmC;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;CAC7F;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;ACjIA,MAAa,cAAc,EAAE,QAAQ,mBAAyB;;CAE5D,MAAM,mBAAmB,OAAO,QAAsB,CAAC,GAAG,WAAyB;EACjF,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,SAAS,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACtE,OAAO;CACT;CAEA,MAAM,kBAAkB,OAAO,KAAa,WAAyB;EACnE,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC;EACpF,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,QAAgB,QAAyB,CAAC,GAAG,WAAyB;EAC3F,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,0BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,QAAgB,KAAa,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,MAAsB,WAAyB;EACtF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,0BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAChB,QACA,KACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,gCACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAK,GAC9B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,KAAa,WAAyB;EAC7E,MAAM,OAAO,OAAO,gCAAgC,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GAAG,EAAE,OAAO,CAAC;CAC3F;CAEA,MAAM,uBAAuB,OAAO,QAAgB,KAAa,WAAyB;EACxF,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,wCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,eAAe,OACnB,QACA,KACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,0CACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAK,GAC9B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,iBAAiB,OACrB,QACA,KACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,yCACA;GAAE,MAAM;IAAE;IAAQ;GAAI;GAAG;EAAM,GAC/B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,gBAAgB,OACpB,QACA,KACA,SACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,mDACA,EAAE,MAAM;GAAE;GAAQ;GAAK;EAAQ,EAAE,GACjC,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,qBAAqB,OACzB,QACA,KACA,SACA,WACG;EACH,MAAM,OAAO,KACX,4DACA,EAAE,MAAM;GAAE;GAAQ;GAAK;EAAQ,EAAE,GACjC,EAAE,OAAO,CACX;CACF;CAEA,MAAM,mBAAmB,OAAO,QAAgB,KAAa,WAAyB;EACpF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2CACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,0BAA0B,OAAO,QAAgB,KAAa,WAAyB;EAC3F,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,qCACA,EAAE,MAAM;GAAE;GAAQ;EAAI,EAAE,GACxB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;AAOA,MAAa,gBAAgB,OAC3B,WACA,KACA,WACkB;CAClB,MAAM,WAAW,MAAM,MAAM,WAAW;EACtC,QAAQ;EACR,MAAM;EACN,SAAS,EAAE,gBAAgB,YAAY;EACvC;CACF,CAAC;CAED,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,MAAM,uBAAuB,SAAS,OAAO,GAAG,SAAS,YAAY;AAEnF;;;;AClLA,MAAa,cAAc,WAA2C,GACnE,WAAW,gBAAgB,MAC9B;;;ACAA,MAAa,0BAA0B,WACrC,EAAE,WAAW;AAEf,MAAa,cAAc,EAAE,QAAQ,mBAAyB;CAC5D,MAAM,QAAQ,OAAO,MAAkB,WAAyB;EAC9D,MAAM,EAAE,SAAS,MAAM,aAAa,KAAK,eAAe,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAC5E,OAAO;CACT;CAEA,MAAM,SAAS,OAAO,MAAmB,WAAyB;EAChE,MAAM,aAAa,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;CAC9D;CAEA,MAAM,iBAAiB,OAAO,MAA2B,WAAyB;EAChF,MAAM,aAAa,KAAK,iBAAiB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;CAC/D;;CAGA,MAAM,uBAAuB,OAAO,OAAe,MAAc,WAAyB;EACxF,MAAM,aAAa,KAAK,gCAAgC,EAAE,MAAM;GAAE;GAAO;EAAK,EAAE,GAAG,EAAE,OAAO,CAAC;CAC/F;;;;;;CAOA,MAAM,gBAAgB,OAAO,cAAsB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,aAAa,IAClC,eACA,CAAC,GACD;GAAE,SAAS,WAAW,YAAY;GAAG;EAAO,CAC9C;EACA,OAAO;CACT;;CAGA,MAAM,SAAS,OAAO,aAAqB,WAAyB;EAClE,MAAM,aAAa,KAAK,gBAAgB,CAAC,GAAG;GAAE,SAAS,WAAW,WAAW;GAAG;EAAO,CAAC;CAC1F;CAEA,MAAM,aAAa,OAAO,WAAyB;EACjD,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EACjE,OAAO;CACT;CAEA,MAAM,uBAAuB,OAAO,OAAe,WAAyB;EAC1E,MAAM,aAAa,KAAK,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;CACjF;CAEA,MAAM,uBAAuB,OAC3B,OACA,MACA,WACG;EACH,MAAM,aAAa,KAAK,gCAAgC;GAAE,MAAM,EAAE,MAAM;GAAG;EAAK,GAAG,EAAE,OAAO,CAAC;CAC/F;CAKA,MAAM,WAAW,OACf,EAAE,SAAS,eACX,WACG;EACH,MAAM,EAAE,SAAS,MAAM,aAAa,KAClC,aACA,EAAE,MAAM,EAAE,YAAY,EAAE,GACxB;GAAE,SAAS,WAAW,OAAO;GAAG;EAAO,CACzC;EACA,OAAO;CACT;CAEA,MAAM,aAAa,OACjB,EAAE,SAAS,aAAa,QACxB,WACG;EACH,MAAM,aAAa,KACjB,qBACA,EAAE,MAAM;GAAE;GAAa;EAAK,EAAE,GAC9B;GAAE,SAAS,WAAW,OAAO;GAAG;EAAO,CACzC;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;ACnGA,MAAa,iBAAiB,EAAE,QAAQ,mBAAyB;CAC/D,MAAM,aAAa,OAAO,QAAyB,CAAC,GAAG,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,YAAY,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC;EACzE,OAAO;CACT;CAEA,MAAM,YAAY,OAAO,QAAgB,WAAyB;EAChE,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;EAC7F,OAAO;CACT;;CAGA,MAAM,eAAe,OAAO,MAAyB,WAAyB;EAC5E,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,YAAY,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EACnE,OAAO;CACT;CAEA,MAAM,eAAe,OAAO,QAAgB,MAAyB,WAAyB;EAC5F,MAAM,EAAE,SAAS,MAAM,OAAO,MAC5B,qBACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,iBAAiB,OACrB,QACA,QAA6B,CAAC,GAC9B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,0BAA0B,OAAO,QAAgB,WAAyB;EAC9E,MAAM,OAAO,KAAK,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CAC/E;CAEA,MAAM,oBAAoB,OAAO,QAAgB,UAAkB,WAAyB;EAC1F,MAAM,OAAO,KACX,sCACA,EAAE,MAAM;GAAE;GAAQ;EAAS,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,mBAAmB,OAAO,QAAgB,UAAkB,WAAyB;EACzF,MAAM,OAAO,OACX,sCACA,EAAE,MAAM;GAAE;GAAQ;EAAS,EAAE,GAC7B,EAAE,OAAO,CACX;CACF;CAEA,MAAM,wBAAwB,OAC5B,QACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,mCACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAM,GAC1B,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,MAAM,uBAAuB,OAAO,QAAgB,OAAe,WAAyB;EAC1F,MAAM,OAAO,KACX,yCACA,EAAE,MAAM;GAAE;GAAQ;EAAM,EAAE,GAC1B,EAAE,OAAO,CACX;CACF;;CAGA,MAAM,yBAAyB,OAC7B,QACA,OACA,MACA,WACG;EACH,MAAM,aAAa,IACjB,gDACA,EAAE,MAAM;GAAE;GAAQ;GAAO;EAAK,EAAE,GAChC,EAAE,OAAO,CACX;CACF;;CAGA,MAAM,qBAAqB,OACzB,QACA,QAAyB,CAAC,GAC1B,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2BACA;GAAE,MAAM,EAAE,OAAO;GAAG,OAAO;IAAE,GAAG;IAAO,SAAS;GAAE;EAAE,GACpD,EAAE,OAAO,CACX;EACA,OAAO;CACT;;CAGA,MAAM,uBAAuB,OAC3B,QACA,MACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,iCACA;GAAE,MAAM,EAAE,OAAO;GAAG;EAAK,GACzB,EAAE,OAAO,CACX;EACA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;;;ACjIA,MAAM,mBAAmB,UACvB,mBAAmB,KAAK,CAAC,CAAC,QAAQ,gCAAgC,UAChE,mBAAmB,KAAK,CAC1B;;;;;;;AAQF,MAAa,+BAA+B,EAC1C,SACA,cAAc,CAAC,GACf,qBACsC;CACtC,MAAM,eAAe,yBAAgC;EAAE;EAAS;EAAa;CAAgB,CAAC;CAC9F,MAAM,SAAS,iBACX,yBAAgC;EAC9B;EACA,aAAa,CAAC,gBAAgB,GAAG,WAAW;EAC5C;CACF,CAAC,IACD;CAEJ,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,aAAa,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;EAC3D,OAAO;CACT;CAEA,OAAO;EACL;EACA,MAAM,WAAW;GAAE;GAAQ;EAAa,CAAC;EACzC,SAAS,cAAc;GAAE;GAAQ;EAAa,CAAC;EAC/C,MAAM,WAAW;GAAE;GAAQ;EAAa,CAAC;EACzC,OAAO,YAAY,MAAM;CAC3B;AACF"}
1
+ {"version":3,"file":"developerPortalClient-D9XOYwWF.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 per request (it rotates). Omit for the spec's `security: []` operations.\n */\n authMiddleware?: MiddlewareFn;\n};\n\n/**\n * Percent-encodes a path parameter, leaving the RFC 3986 segment characters `$&+,;=:@` raw.\n *\n * - apps-api never decodes a path parameter, so `%40` fails its email validation.\n */\nconst encodePathParam = (value: string) =>\n encodeURIComponent(value).replace(/%(24|26|2B|2C|3B|3D|3A|40)/g, (match) =>\n decodeURIComponent(match),\n );\n\n/**\n * The Developer Portal (apps-api) client; types generated via `redocly.yaml` / `pnpm gen:types`.\n *\n * - Two fetch clients: `security: []` operations go out unauthenticated, and four use the access or\n * 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, encodePathParam });\n const client = authMiddleware\n ? createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: [authMiddleware, ...middlewares],\n encodePathParam,\n })\n : publicClient;\n\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,73 +1,39 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_project = require("../../project-CpgplgCr.cjs");
3
- const require_configurations = require("../../configurations-D9J3jh3g.cjs");
4
- //#region src/domain/permissions/organization.ts
5
- /**
6
- * Whether this token's admin is a member of the organization owning the project.
7
- *
8
- * - A limited token has no `admin` block despite the type saying required.
9
- * - Prefer `isOrganizationAdmin` for authorization decisions.
10
- */
11
- const isOrganizationMember = (token) => token.isMasterToken && (token.admin?.isOrganizationMember ?? false);
12
- /**
13
- * `isOrganizationMember` AND `admin`/`share`.
14
- *
15
- * - An org member with a `readOnly` or `guest` role on this project still cannot write.
16
- */
17
- const isOrganizationAdmin = (token) => isOrganizationMember(token) && require_configurations.isAdminOrShare(token);
18
- const assertCanAdministerOrganization = (token) => {
19
- if (!isOrganizationAdmin(token)) throw new require_configurations.PermissionDeniedError({
20
- action: "administer-organization",
21
- reason: token.isMasterToken ? `role '${token.admin?.role ?? "none"}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not administer organization settings` : "a limited (non-master) token may not administer organization settings"
22
- });
23
- };
24
- /**
25
- * Whether this token may write Kai's spend caps: project cap, default and per-user limits.
26
- *
27
- * - Org-admin only, stricter than `canWriteKaiSettings`: caps commit the org's money.
28
- * - A project whose own admin could raise its cap has no cap.
29
- */
30
- const canWriteKaiSpendCaps = (token) => isOrganizationAdmin(token);
31
- const assertCanWriteKaiSpendCaps = (token) => {
32
- if (!canWriteKaiSpendCaps(token)) throw new require_configurations.PermissionDeniedError({
33
- action: "write-kai-spend-caps",
34
- reason: token.isMasterToken ? `role '${token.admin?.role ?? "none"}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not change Kai spend caps` : "a limited (non-master) token may not change Kai spend caps"
35
- });
36
- };
37
- //#endregion
38
- exports.PermissionDeniedError = require_configurations.PermissionDeniedError;
39
- exports.assertCanAdmin = require_configurations.assertCanAdmin;
40
- exports.assertCanAdminOrShare = require_configurations.assertCanAdminOrShare;
41
- exports.assertCanAdministerOrganization = assertCanAdministerOrganization;
2
+ const require_admin = require("../../admin-Di-MmGFP.cjs");
3
+ const require_project = require("../../project-Onf-IcPW.cjs");
4
+ const require_configurations = require("../../configurations-WI8H4zLk.cjs");
5
+ exports.PermissionDeniedError = require_admin.PermissionDeniedError;
6
+ exports.assertCanAdmin = require_admin.assertCanAdmin;
7
+ exports.assertCanAdminOrShare = require_admin.assertCanAdminOrShare;
8
+ exports.assertCanAdministerOrganization = require_project.assertCanAdministerOrganization;
42
9
  exports.assertCanAssignFolder = require_configurations.assertCanAssignFolder;
43
10
  exports.assertCanCopyConfiguration = require_configurations.assertCanCopyConfiguration;
44
11
  exports.assertCanCreateConfiguration = require_configurations.assertCanCreateConfiguration;
45
- exports.assertCanDevelopOrReview = require_configurations.assertCanDevelopOrReview;
12
+ exports.assertCanDevelopOrReview = require_admin.assertCanDevelopOrReview;
46
13
  exports.assertCanMigrateFromTemplate = require_configurations.assertCanMigrateFromTemplate;
47
- exports.assertCanProductionManage = require_configurations.assertCanProductionManage;
14
+ exports.assertCanProductionManage = require_admin.assertCanProductionManage;
48
15
  exports.assertCanPurgeConfiguration = require_configurations.assertCanPurgeConfiguration;
49
16
  exports.assertCanUpdateConfiguration = require_configurations.assertCanUpdateConfiguration;
50
- exports.assertCanWriteKaiSettings = require_configurations.assertCanWriteKaiSettings;
51
- exports.assertCanWriteKaiSpendCaps = assertCanWriteKaiSpendCaps;
17
+ exports.assertCanWriteKaiSettings = require_admin.assertCanWriteKaiSettings;
18
+ exports.assertCanWriteKaiSpendCaps = require_project.assertCanWriteKaiSpendCaps;
52
19
  exports.canAssignFolder = require_configurations.canAssignFolder;
53
20
  exports.canCopyConfiguration = require_configurations.canCopyConfiguration;
54
21
  exports.canCreateConfiguration = require_configurations.canCreateConfiguration;
22
+ exports.canListSharingTargets = require_project.canListSharingTargets;
55
23
  exports.canMigrateFromTemplate = require_configurations.canMigrateFromTemplate;
56
24
  exports.canPurgeConfiguration = require_configurations.canPurgeConfiguration;
57
25
  exports.canUpdateConfiguration = require_configurations.canUpdateConfiguration;
58
- exports.canWriteKaiSettings = require_configurations.canWriteKaiSettings;
59
- exports.canWriteKaiSpendCaps = canWriteKaiSpendCaps;
60
- exports.canWriteSemanticLayer = require_configurations.canWriteSemanticLayer;
26
+ exports.canWriteKaiSettings = require_admin.canWriteKaiSettings;
27
+ exports.canWriteKaiSpendCaps = require_project.canWriteKaiSpendCaps;
28
+ exports.canWriteSemanticLayer = require_admin.canWriteSemanticLayer;
61
29
  exports.hasAdminFeature = require_project.hasAdminFeature;
62
30
  exports.hasFeature = require_project.hasFeature;
63
- exports.isAdmin = require_configurations.isAdmin;
64
- exports.isAdminOrShare = require_configurations.isAdminOrShare;
65
- exports.isDeveloperOrReviewer = require_configurations.isDeveloperOrReviewer;
66
- exports.isKaiSettingsWriterRole = require_configurations.isKaiSettingsWriterRole;
67
- exports.isKnownAdminRole = require_configurations.isKnownAdminRole;
68
- exports.isOrganizationAdmin = isOrganizationAdmin;
69
- exports.isOrganizationMember = isOrganizationMember;
70
- exports.isProductionManager = require_configurations.isProductionManager;
71
- exports.isReadOnlyRole = require_configurations.isReadOnlyRole;
72
-
73
- //# sourceMappingURL=index.cjs.map
31
+ exports.isAdmin = require_admin.isAdmin;
32
+ exports.isAdminOrShare = require_admin.isAdminOrShare;
33
+ exports.isDeveloperOrReviewer = require_admin.isDeveloperOrReviewer;
34
+ exports.isKaiSettingsWriterRole = require_admin.isKaiSettingsWriterRole;
35
+ exports.isKnownAdminRole = require_admin.isKnownAdminRole;
36
+ exports.isOrganizationAdmin = require_project.isOrganizationAdmin;
37
+ exports.isOrganizationMember = require_project.isOrganizationMember;
38
+ exports.isProductionManager = require_admin.isProductionManager;
39
+ exports.isReadOnlyRole = require_admin.isReadOnlyRole;
@@ -1,5 +1,4 @@
1
- import { n as hasAdminFeature, p as StorageToken, r as hasFeature } from "../../project-Dzu85cqr.cjs";
2
- //#region src/domain/permissions/errors.d.ts
1
+ import { i as hasFeature, m as StorageToken, r as hasAdminFeature } from "../../project-UHZGFmmG.cjs";
3
2
  /**
4
3
  * @module domain/permissions/errors
5
4
  *
@@ -16,8 +15,6 @@ declare class PermissionDeniedError extends Error {
16
15
  subject?: string;
17
16
  });
18
17
  }
19
- //#endregion
20
- //#region src/domain/permissions/admin.d.ts
21
18
  declare const isAdmin: (token: StorageToken) => boolean;
22
19
  declare const isAdminOrShare: (token: StorageToken) => boolean;
23
20
  declare const isProductionManager: (token: StorageToken) => boolean;
@@ -58,8 +55,8 @@ declare const assertCanAdmin: (token: StorageToken) => void;
58
55
  declare const assertCanAdminOrShare: (token: StorageToken) => void;
59
56
  declare const assertCanProductionManage: (token: StorageToken) => void;
60
57
  declare const assertCanDevelopOrReview: (token: StorageToken) => void;
61
- //#endregion
62
- //#region src/domain/permissions/organization.d.ts
58
+ /** Mirrors Connection's `CanListShareOptions` voter: the `share` role, or organization membership. */
59
+ declare const canListSharingTargets: (token: StorageToken) => boolean;
63
60
  /**
64
61
  * Whether this token's admin is a member of the organization owning the project.
65
62
  *
@@ -82,8 +79,6 @@ declare const assertCanAdministerOrganization: (token: StorageToken) => void;
82
79
  */
83
80
  declare const canWriteKaiSpendCaps: (token: StorageToken) => boolean;
84
81
  declare const assertCanWriteKaiSpendCaps: (token: StorageToken) => void;
85
- //#endregion
86
- //#region src/domain/permissions/configurations.d.ts
87
82
  /**
88
83
  * Caller-supplied context for configuration predicates.
89
84
  *
@@ -104,6 +99,5 @@ declare const assertCanCopyConfiguration: (token: StorageToken, ctx: Configurati
104
99
  declare const assertCanMigrateFromTemplate: (token: StorageToken, ctx: ConfigurationCtx) => void;
105
100
  declare const assertCanPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => void;
106
101
  declare const assertCanAssignFolder: (token: StorageToken, ctx: ConfigurationCtx) => void;
107
- //#endregion
108
- export { ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAdministerOrganization, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, assertCanUpdateConfiguration, assertCanWriteKaiSettings, assertCanWriteKaiSpendCaps, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, canUpdateConfiguration, canWriteKaiSettings, canWriteKaiSpendCaps, canWriteSemanticLayer, hasAdminFeature, hasFeature, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isKaiSettingsWriterRole, isKnownAdminRole, isOrganizationAdmin, isOrganizationMember, isProductionManager, isReadOnlyRole };
102
+ export { ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAdministerOrganization, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, assertCanUpdateConfiguration, assertCanWriteKaiSettings, assertCanWriteKaiSpendCaps, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canListSharingTargets, canMigrateFromTemplate, canPurgeConfiguration, canUpdateConfiguration, canWriteKaiSettings, canWriteKaiSpendCaps, canWriteSemanticLayer, hasAdminFeature, hasFeature, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isKaiSettingsWriterRole, isKnownAdminRole, isOrganizationAdmin, isOrganizationMember, isProductionManager, isReadOnlyRole };
109
103
  //# sourceMappingURL=index.d.cts.map
@@ -1,5 +1,4 @@
1
- import { n as hasAdminFeature, p as StorageToken, r as hasFeature } from "../../project-nbv9yjpl.js";
2
- //#region src/domain/permissions/errors.d.ts
1
+ import { i as hasFeature, m as StorageToken, r as hasAdminFeature } from "../../project-iBm4cIIR.js";
3
2
  /**
4
3
  * @module domain/permissions/errors
5
4
  *
@@ -16,8 +15,6 @@ declare class PermissionDeniedError extends Error {
16
15
  subject?: string;
17
16
  });
18
17
  }
19
- //#endregion
20
- //#region src/domain/permissions/admin.d.ts
21
18
  declare const isAdmin: (token: StorageToken) => boolean;
22
19
  declare const isAdminOrShare: (token: StorageToken) => boolean;
23
20
  declare const isProductionManager: (token: StorageToken) => boolean;
@@ -58,8 +55,8 @@ declare const assertCanAdmin: (token: StorageToken) => void;
58
55
  declare const assertCanAdminOrShare: (token: StorageToken) => void;
59
56
  declare const assertCanProductionManage: (token: StorageToken) => void;
60
57
  declare const assertCanDevelopOrReview: (token: StorageToken) => void;
61
- //#endregion
62
- //#region src/domain/permissions/organization.d.ts
58
+ /** Mirrors Connection's `CanListShareOptions` voter: the `share` role, or organization membership. */
59
+ declare const canListSharingTargets: (token: StorageToken) => boolean;
63
60
  /**
64
61
  * Whether this token's admin is a member of the organization owning the project.
65
62
  *
@@ -82,8 +79,6 @@ declare const assertCanAdministerOrganization: (token: StorageToken) => void;
82
79
  */
83
80
  declare const canWriteKaiSpendCaps: (token: StorageToken) => boolean;
84
81
  declare const assertCanWriteKaiSpendCaps: (token: StorageToken) => void;
85
- //#endregion
86
- //#region src/domain/permissions/configurations.d.ts
87
82
  /**
88
83
  * Caller-supplied context for configuration predicates.
89
84
  *
@@ -104,6 +99,5 @@ declare const assertCanCopyConfiguration: (token: StorageToken, ctx: Configurati
104
99
  declare const assertCanMigrateFromTemplate: (token: StorageToken, ctx: ConfigurationCtx) => void;
105
100
  declare const assertCanPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => void;
106
101
  declare const assertCanAssignFolder: (token: StorageToken, ctx: ConfigurationCtx) => void;
107
- //#endregion
108
- export { ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAdministerOrganization, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, assertCanUpdateConfiguration, assertCanWriteKaiSettings, assertCanWriteKaiSpendCaps, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, canUpdateConfiguration, canWriteKaiSettings, canWriteKaiSpendCaps, canWriteSemanticLayer, hasAdminFeature, hasFeature, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isKaiSettingsWriterRole, isKnownAdminRole, isOrganizationAdmin, isOrganizationMember, isProductionManager, isReadOnlyRole };
102
+ export { ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAdministerOrganization, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, assertCanUpdateConfiguration, assertCanWriteKaiSettings, assertCanWriteKaiSpendCaps, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canListSharingTargets, canMigrateFromTemplate, canPurgeConfiguration, canUpdateConfiguration, canWriteKaiSettings, canWriteKaiSpendCaps, canWriteSemanticLayer, hasAdminFeature, hasFeature, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isKaiSettingsWriterRole, isKnownAdminRole, isOrganizationAdmin, isOrganizationMember, isProductionManager, isReadOnlyRole };
109
103
  //# sourceMappingURL=index.d.ts.map