@keboola/api-client 41.0.0 → 43.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 (395) hide show
  1. package/API-SURFACE.md +44 -3
  2. package/CHANGELOG.md +170 -0
  3. package/README.md +1 -1
  4. package/dist/{ManagementClientAuthError-DE7lNGZQ.cjs → ManagementClientAuthError-BFZOtLgj.cjs} +2 -2
  5. package/dist/{ManagementClientAuthError-DE7lNGZQ.cjs.map → ManagementClientAuthError-BFZOtLgj.cjs.map} +1 -1
  6. package/dist/{ManagementClientAuthError-H30lti_Q.js → ManagementClientAuthError-DUbXlry2.js} +2 -2
  7. package/dist/{ManagementClientAuthError-H30lti_Q.js.map → ManagementClientAuthError-DUbXlry2.js.map} +1 -1
  8. package/dist/ai/index.cjs +2 -2
  9. package/dist/ai/index.js +2 -2
  10. package/dist/{appLogs-BBkkUOW1.js → appLogs-DfkItQCO.js} +2 -2
  11. package/dist/{appLogs-BBkkUOW1.js.map → appLogs-DfkItQCO.js.map} +1 -1
  12. package/dist/{appLogs-B9zFJIuy.cjs → appLogs-oZvt59mk.cjs} +2 -2
  13. package/dist/{appLogs-B9zFJIuy.cjs.map → appLogs-oZvt59mk.cjs.map} +1 -1
  14. package/dist/apps/index.cjs +3 -3
  15. package/dist/apps/index.js +3 -3
  16. package/dist/assets/index.cjs +1 -1
  17. package/dist/assets/index.js +1 -1
  18. package/dist/auth/index.cjs +1 -1
  19. package/dist/auth/index.d.cts +1 -1
  20. package/dist/auth/index.d.ts +1 -1
  21. package/dist/auth/index.js +1 -1
  22. package/dist/auth/types.d.cts +2 -2
  23. package/dist/auth/types.d.ts +2 -2
  24. package/dist/{auth-DworfoPy.js → auth-DUHTJTwS.js} +2 -2
  25. package/dist/{auth-DworfoPy.js.map → auth-DUHTJTwS.js.map} +1 -1
  26. package/dist/{auth-Dm0F2rOh.cjs → auth-zfI04oj7.cjs} +2 -2
  27. package/dist/{auth-Dm0F2rOh.cjs.map → auth-zfI04oj7.cjs.map} +1 -1
  28. package/dist/{authClient-BmuUo0J4.cjs → authClient-BxqRGR5c.cjs} +39 -5
  29. package/dist/authClient-BxqRGR5c.cjs.map +1 -0
  30. package/dist/{authClient-vEt_7_uk.d.cts → authClient-CBVAT3v9.d.cts} +49 -2
  31. package/dist/{authClient-CHXWJ9x3.d.ts → authClient-CRumc934.d.ts} +49 -2
  32. package/dist/{authClient-CgcDGd30.js → authClient-CX4buUMc.js} +39 -5
  33. package/dist/authClient-CX4buUMc.js.map +1 -0
  34. package/dist/billing/index.cjs +2 -2
  35. package/dist/billing/index.js +2 -2
  36. package/dist/businessWorkspaceApi/index.cjs +1 -1
  37. package/dist/businessWorkspaceApi/index.js +1 -1
  38. package/dist/{businessWorkspaceApi-BLUdefRF.js → businessWorkspaceApi-DFky1k61.js} +3 -3
  39. package/dist/{businessWorkspaceApi-BLUdefRF.js.map → businessWorkspaceApi-DFky1k61.js.map} +1 -1
  40. package/dist/{businessWorkspaceApi-6tCDdpnY.cjs → businessWorkspaceApi-Uzqu0PJM.cjs} +3 -3
  41. package/dist/{businessWorkspaceApi-6tCDdpnY.cjs.map → businessWorkspaceApi-Uzqu0PJM.cjs.map} +1 -1
  42. package/dist/chat/index.cjs +3 -3
  43. package/dist/chat/index.js +3 -3
  44. package/dist/collect-97WhfEpt.js +30 -0
  45. package/dist/collect-97WhfEpt.js.map +1 -0
  46. package/dist/collect-B5TCNiT1.cjs +35 -0
  47. package/dist/collect-B5TCNiT1.cjs.map +1 -0
  48. package/dist/{componentId-_IKXxICq.cjs → componentId-D4jp6a13.cjs} +17 -1
  49. package/dist/componentId-D4jp6a13.cjs.map +1 -0
  50. package/dist/{componentId-BJLfnaGc.js → componentId-DmHwHG5V.js} +17 -1
  51. package/dist/componentId-DmHwHG5V.js.map +1 -0
  52. package/dist/{configurations-VlfQ_37Y.cjs → configurations-D_Rbs0Wl.cjs} +2 -2
  53. package/dist/{configurations-VlfQ_37Y.cjs.map → configurations-D_Rbs0Wl.cjs.map} +1 -1
  54. package/dist/{configurations-CF3xz7RB.js → configurations-DcpUlC8I.js} +2 -2
  55. package/dist/{configurations-CF3xz7RB.js.map → configurations-DcpUlC8I.js.map} +1 -1
  56. package/dist/constants/index.cjs +1 -1
  57. package/dist/constants/index.d.cts +1 -1
  58. package/dist/constants/index.d.ts +1 -1
  59. package/dist/constants/index.js +1 -1
  60. package/dist/createAbortError-BxupOt-6.js +6 -0
  61. package/dist/createAbortError-BxupOt-6.js.map +1 -0
  62. package/dist/createAbortError-RendOpo7.cjs +11 -0
  63. package/dist/createAbortError-RendOpo7.cjs.map +1 -0
  64. package/dist/{createFetchClient-Cwp8max9.cjs → createFetchClient-BgihytBn.cjs} +2 -1
  65. package/dist/createFetchClient-BgihytBn.cjs.map +1 -0
  66. package/dist/{createFetchClient-DXHQK63w.js → createFetchClient-cgWkwgAQ.js} +2 -1
  67. package/dist/createFetchClient-cgWkwgAQ.js.map +1 -0
  68. package/dist/{createGenericFetchClient-Dl9cqTvR.cjs → createGenericFetchClient-C7Y0YVfc.cjs} +2 -2
  69. package/dist/{createGenericFetchClient-Dl9cqTvR.cjs.map → createGenericFetchClient-C7Y0YVfc.cjs.map} +1 -1
  70. package/dist/{createGenericFetchClient-Dg1rgzmG.js → createGenericFetchClient-CX9Hn3Aq.js} +2 -2
  71. package/dist/{createGenericFetchClient-Dg1rgzmG.js.map → createGenericFetchClient-CX9Hn3Aq.js.map} +1 -1
  72. package/dist/{createOpenapiFetchClient-DZUOVupy.js → createOpenapiFetchClient-BxcLLU_N.js} +2 -2
  73. package/dist/{createOpenapiFetchClient-DZUOVupy.js.map → createOpenapiFetchClient-BxcLLU_N.js.map} +1 -1
  74. package/dist/{createOpenapiFetchClient-BYqW-9tm.cjs → createOpenapiFetchClient-DY5s-aH6.cjs} +2 -2
  75. package/dist/{createOpenapiFetchClient-BYqW-9tm.cjs.map → createOpenapiFetchClient-DY5s-aH6.cjs.map} +1 -1
  76. package/dist/dataScience/index.cjs +2 -2
  77. package/dist/dataScience/index.d.cts +1 -1
  78. package/dist/dataScience/index.d.ts +1 -1
  79. package/dist/dataScience/index.js +2 -2
  80. package/dist/dataScience/types.d.cts +1 -1
  81. package/dist/dataScience/types.d.ts +1 -1
  82. package/dist/{dataScience-B5QxZnvW.cjs → dataScience-BoS8Xfvx.cjs} +5 -5
  83. package/dist/{dataScience-B5QxZnvW.cjs.map → dataScience-BoS8Xfvx.cjs.map} +1 -1
  84. package/dist/{dataScience-OXcwdk1p.js → dataScience-BxRoGfnG.js} +5 -5
  85. package/dist/{dataScience-OXcwdk1p.js.map → dataScience-BxRoGfnG.js.map} +1 -1
  86. package/dist/developerPortal/index.cjs +1 -1
  87. package/dist/developerPortal/index.d.cts +2 -2
  88. package/dist/developerPortal/index.d.ts +2 -2
  89. package/dist/developerPortal/index.js +1 -1
  90. package/dist/developerPortal/types.d.cts +1 -1
  91. package/dist/developerPortal/types.d.ts +1 -1
  92. package/dist/{developerPortalClient-B1QZ1rYi.js → developerPortalClient-C7s0kpjK.js} +3 -3
  93. package/dist/{developerPortalClient-B1QZ1rYi.js.map → developerPortalClient-C7s0kpjK.js.map} +1 -1
  94. package/dist/{developerPortalClient-CLPpBksD.cjs → developerPortalClient-DFHEsrlt.cjs} +3 -3
  95. package/dist/{developerPortalClient-CLPpBksD.cjs.map → developerPortalClient-DFHEsrlt.cjs.map} +1 -1
  96. package/dist/domain/permissions/index.d.cts +2 -2
  97. package/dist/domain/permissions/index.d.ts +2 -2
  98. package/dist/domain/storageTable/index.cjs +7 -1
  99. package/dist/domain/storageTable/index.d.cts +2 -2
  100. package/dist/domain/storageTable/index.d.ts +2 -2
  101. package/dist/domain/storageTable/index.js +2 -2
  102. package/dist/editor/index.cjs +2 -2
  103. package/dist/editor/index.js +2 -2
  104. package/dist/encryption/index.cjs +1 -1
  105. package/dist/encryption/index.d.cts +1 -1
  106. package/dist/encryption/index.d.ts +1 -1
  107. package/dist/encryption/index.js +1 -1
  108. package/dist/encryption/types.d.cts +1 -1
  109. package/dist/encryption/types.d.ts +1 -1
  110. package/dist/import/index.cjs +1 -1
  111. package/dist/import/index.js +1 -1
  112. package/dist/{import-CNk89mqy.cjs → import-BSYvG3Uy.cjs} +3 -3
  113. package/dist/{import-CNk89mqy.cjs.map → import-BSYvG3Uy.cjs.map} +1 -1
  114. package/dist/{import-DiMQCzLa.js → import-CXBcFVbk.js} +3 -3
  115. package/dist/{import-DiMQCzLa.js.map → import-CXBcFVbk.js.map} +1 -1
  116. package/dist/{index-DNThyEej.d.cts → index-04pgr-EO.d.cts} +14 -3
  117. package/dist/{index-DCRKjihs.d.ts → index-B03vhWSX.d.ts} +117 -90
  118. package/dist/{index-BDZvaRud.d.ts → index-B72LTF-k.d.ts} +6 -3
  119. package/dist/{index-CcMHJcuP.d.cts → index-BHWTa4YN.d.cts} +3 -2
  120. package/dist/{index-DOAZmWvh.d.cts → index-BMiZx-4_.d.cts} +6 -3
  121. package/dist/{index-CaaTOANF.d.ts → index-BQZ9njUC.d.ts} +598 -85
  122. package/dist/{index--ZpnE3YT.d.cts → index-BUsLHNOA.d.cts} +2 -2
  123. package/dist/{index-Cz0MXhzs.d.cts → index-C7KThHI3.d.cts} +6 -2
  124. package/dist/{index-D-VMgpGc.d.ts → index-CAvT_ahE.d.ts} +6 -2
  125. package/dist/{index-D7-o-oGa.d.ts → index-CBWfpd-0.d.ts} +2 -2
  126. package/dist/index-CGCXR_6Q.d.ts +273 -0
  127. package/dist/{index-C11JSxBY.d.ts → index-CX8GAP2g.d.ts} +13 -8
  128. package/dist/{index-Cvbjp3jx.d.cts → index-CdS-c6sC.d.cts} +6 -6
  129. package/dist/{index-cWp_V6K5.d.cts → index-Cm04GKm9.d.cts} +598 -85
  130. package/dist/{index-C4TNAA8-.d.cts → index-Cvkrjh--.d.cts} +13 -8
  131. package/dist/{index-ByRpNVcs.d.cts → index-D3HFMfJJ.d.cts} +117 -90
  132. package/dist/{index-DnQTuc6t.d.ts → index-D7of2MMN.d.ts} +6 -6
  133. package/dist/index-DINB7vsV.d.cts +273 -0
  134. package/dist/{index-B5w7WlaU.d.cts → index-DeQDdut6.d.cts} +17 -1
  135. package/dist/{index-B5w7WlaU.d.ts → index-DeQDdut6.d.ts} +17 -1
  136. package/dist/{index-CXcWpZQ2.d.ts → index-P1vR966i.d.cts} +74 -2
  137. package/dist/{index-CXcWpZQ2.d.cts → index-P1vR966i.d.ts} +74 -2
  138. package/dist/{index-Qb7X6-ph.d.ts → index-R-w0Zncz.d.ts} +14 -3
  139. package/dist/{index-D_-4uQF8.d.ts → index-zyxZVJnd.d.ts} +3 -2
  140. package/dist/index.cjs +68 -41
  141. package/dist/index.cjs.map +1 -1
  142. package/dist/index.d.cts +3 -3
  143. package/dist/index.d.ts +3 -3
  144. package/dist/index.js +67 -41
  145. package/dist/index.js.map +1 -1
  146. package/dist/{isLoginPageRedirect-XPwAOKK3.js → isLoginPageRedirect-CsjF95_P.js} +2 -2
  147. package/dist/{isLoginPageRedirect-XPwAOKK3.js.map → isLoginPageRedirect-CsjF95_P.js.map} +1 -1
  148. package/dist/{isLoginPageRedirect-jQHiLrG7.cjs → isLoginPageRedirect-c451CoWW.cjs} +2 -2
  149. package/dist/{isLoginPageRedirect-jQHiLrG7.cjs.map → isLoginPageRedirect-c451CoWW.cjs.map} +1 -1
  150. package/dist/{jobStatus-CfRtsIpv.js → jobStatus-CDp4r5JQ.js} +3 -5
  151. package/dist/jobStatus-CDp4r5JQ.js.map +1 -0
  152. package/dist/{jobStatus-BMlsyXWI.cjs → jobStatus-CcNlIy5R.cjs} +5 -13
  153. package/dist/{jobStatus-CfRtsIpv.js.map → jobStatus-CcNlIy5R.cjs.map} +1 -1
  154. package/dist/kaiAgent/index.cjs +1 -1
  155. package/dist/kaiAgent/index.d.cts +2 -2
  156. package/dist/kaiAgent/index.d.ts +2 -2
  157. package/dist/kaiAgent/index.js +1 -1
  158. package/dist/kaiAgent/types.d.cts +1 -1
  159. package/dist/kaiAgent/types.d.ts +1 -1
  160. package/dist/{kaiAgent-QNoeVKPs.cjs → kaiAgent-ph4DRKlT.cjs} +21 -5
  161. package/dist/kaiAgent-ph4DRKlT.cjs.map +1 -0
  162. package/dist/{kaiAgent-Dp20HLTh.js → kaiAgent-xBpUwLeQ.js} +21 -5
  163. package/dist/kaiAgent-xBpUwLeQ.js.map +1 -0
  164. package/dist/{kaiMemory-D0Y_16U4.js → kaiMemory-BAniZZAN.js} +2 -2
  165. package/dist/{kaiMemory-D0Y_16U4.js.map → kaiMemory-BAniZZAN.js.map} +1 -1
  166. package/dist/{kaiMemory-CClSPInt.cjs → kaiMemory-U0DG-CpY.cjs} +2 -2
  167. package/dist/{kaiMemory-CClSPInt.cjs.map → kaiMemory-U0DG-CpY.cjs.map} +1 -1
  168. package/dist/management/index.cjs +1 -1
  169. package/dist/management/index.d.cts +1 -1
  170. package/dist/management/index.d.ts +1 -1
  171. package/dist/management/index.js +1 -1
  172. package/dist/management/types.d.cts +2 -2
  173. package/dist/management/types.d.ts +2 -2
  174. package/dist/{management-CCY0IYnq.cjs → management-5597SiC7.cjs} +79 -11
  175. package/dist/management-5597SiC7.cjs.map +1 -0
  176. package/dist/{management-DvmPiG64.js → management-D46KlXts.js} +79 -11
  177. package/dist/management-D46KlXts.js.map +1 -0
  178. package/dist/metastore/index.cjs +1 -1
  179. package/dist/metastore/index.d.cts +1 -1
  180. package/dist/metastore/index.d.ts +1 -1
  181. package/dist/metastore/index.js +1 -1
  182. package/dist/metastore/types.d.cts +2 -2
  183. package/dist/metastore/types.d.ts +2 -2
  184. package/dist/{metastore-XtWciCZT.cjs → metastore-DwMFlP2d.cjs} +52 -7
  185. package/dist/metastore-DwMFlP2d.cjs.map +1 -0
  186. package/dist/{metastore-BycJxe7A.js → metastore-_OskcLGz.js} +52 -7
  187. package/dist/metastore-_OskcLGz.js.map +1 -0
  188. package/dist/microsoftGraph/index.cjs +2 -2
  189. package/dist/microsoftGraph/index.d.cts +2 -1
  190. package/dist/microsoftGraph/index.d.ts +2 -1
  191. package/dist/microsoftGraph/index.js +2 -2
  192. package/dist/microsoftGraph/types.d.cts +1 -1
  193. package/dist/microsoftGraph/types.d.ts +1 -1
  194. package/dist/{middleware-CBwrtgQd.js → middleware-Drbo_UIZ.js} +2 -2
  195. package/dist/{middleware-CBwrtgQd.js.map → middleware-Drbo_UIZ.js.map} +1 -1
  196. package/dist/{middleware-IjYx3d5u.cjs → middleware-xhg2r2fE.cjs} +2 -2
  197. package/dist/{middleware-IjYx3d5u.cjs.map → middleware-xhg2r2fE.cjs.map} +1 -1
  198. package/dist/notifications/index.cjs +3 -3
  199. package/dist/notifications/index.js +3 -3
  200. package/dist/oauth/index.cjs +1 -1
  201. package/dist/oauth/index.d.cts +1 -1
  202. package/dist/oauth/index.d.ts +1 -1
  203. package/dist/oauth/index.js +1 -1
  204. package/dist/oauth/types.d.cts +1 -1
  205. package/dist/oauth/types.d.ts +1 -1
  206. package/dist/{oauth--2p8jkJf.cjs → oauth-L0Uic3YA.cjs} +5 -5
  207. package/dist/{oauth--2p8jkJf.cjs.map → oauth-L0Uic3YA.cjs.map} +1 -1
  208. package/dist/{oauth-l5zE39cD.js → oauth-TWwAv-va.js} +5 -5
  209. package/dist/{oauth-l5zE39cD.js.map → oauth-TWwAv-va.js.map} +1 -1
  210. package/dist/omnisearch/index.cjs +2 -2
  211. package/dist/omnisearch/index.d.cts +1 -1
  212. package/dist/omnisearch/index.d.ts +1 -1
  213. package/dist/omnisearch/index.js +2 -2
  214. package/dist/omnisearch/types.d.cts +1 -1
  215. package/dist/omnisearch/types.d.ts +1 -1
  216. package/dist/{project-cHKuGvqJ.d.cts → project-B8wtlstY.d.cts} +2 -2
  217. package/dist/{project-B15gStbM.d.ts → project-BCc3mpAy.d.ts} +2 -2
  218. package/dist/queryService/index.cjs +1 -1
  219. package/dist/queryService/index.d.cts +1 -1
  220. package/dist/queryService/index.d.ts +1 -1
  221. package/dist/queryService/index.js +1 -1
  222. package/dist/{queryService-CQzclHdL.cjs → queryService-DSww_TJp.cjs} +6 -6
  223. package/dist/{queryService-CQzclHdL.cjs.map → queryService-DSww_TJp.cjs.map} +1 -1
  224. package/dist/{queryService-CCOYbRbw.js → queryService-Drvy1ztW.js} +6 -6
  225. package/dist/{queryService-CCOYbRbw.js.map → queryService-Drvy1ztW.js.map} +1 -1
  226. package/dist/queue/index.cjs +1 -1
  227. package/dist/queue/index.d.cts +1 -1
  228. package/dist/queue/index.d.ts +1 -1
  229. package/dist/queue/index.js +1 -1
  230. package/dist/{queue-Cowbg6bR.js → queue-Ci_f_5TI.js} +7 -32
  231. package/dist/queue-Ci_f_5TI.js.map +1 -0
  232. package/dist/{queue-UG_BWKIC.cjs → queue-DpMvv8C-.cjs} +7 -38
  233. package/dist/{queue-Cowbg6bR.js.map → queue-DpMvv8C-.cjs.map} +1 -1
  234. package/dist/scheduler/index.cjs +3 -3
  235. package/dist/scheduler/index.d.cts +13 -1
  236. package/dist/scheduler/index.d.ts +13 -1
  237. package/dist/scheduler/index.js +3 -3
  238. package/dist/scheduler/types.d.cts +1 -1
  239. package/dist/scheduler/types.d.ts +1 -1
  240. package/dist/{schema-D1oxyn1O.d.cts → schema-DJa9WBjR.d.cts} +28 -1
  241. package/dist/{schema-D1oxyn1O.d.ts → schema-DJa9WBjR.d.ts} +28 -1
  242. package/dist/sdk/configurations/index.cjs +1 -1
  243. package/dist/sdk/configurations/index.d.cts +4 -4
  244. package/dist/sdk/configurations/index.d.ts +4 -4
  245. package/dist/sdk/configurations/index.js +1 -1
  246. package/dist/sdk/developerPortal/index.cjs +3 -3
  247. package/dist/sdk/developerPortal/index.d.cts +13 -8
  248. package/dist/sdk/developerPortal/index.d.ts +13 -8
  249. package/dist/sdk/developerPortal/index.js +3 -3
  250. package/dist/sdk/kaiMemory/index.cjs +1 -1
  251. package/dist/sdk/kaiMemory/index.d.cts +1 -1
  252. package/dist/sdk/kaiMemory/index.d.ts +1 -1
  253. package/dist/sdk/kaiMemory/index.js +1 -1
  254. package/dist/sdk/kaiMemory/types.d.cts +1 -1
  255. package/dist/sdk/kaiMemory/types.d.ts +1 -1
  256. package/dist/sdk/queryService/index.cjs +1 -1
  257. package/dist/sdk/queryService/index.d.cts +1 -1
  258. package/dist/sdk/queryService/index.d.ts +1 -1
  259. package/dist/sdk/queryService/index.js +1 -1
  260. package/dist/sdk/semanticLayer/index.cjs +2 -1
  261. package/dist/sdk/semanticLayer/index.d.cts +10 -3
  262. package/dist/sdk/semanticLayer/index.d.ts +10 -3
  263. package/dist/sdk/semanticLayer/index.js +2 -2
  264. package/dist/sdk/semanticLayer/types.d.cts +2 -2
  265. package/dist/sdk/semanticLayer/types.d.ts +2 -2
  266. package/dist/sdk/storage/index.cjs +12 -24
  267. package/dist/sdk/storage/index.cjs.map +1 -1
  268. package/dist/sdk/storage/index.d.cts +1 -1
  269. package/dist/sdk/storage/index.d.ts +1 -1
  270. package/dist/sdk/storage/index.js +12 -24
  271. package/dist/sdk/storage/index.js.map +1 -1
  272. package/dist/sdk/tag/index.d.cts +2 -2
  273. package/dist/sdk/tag/index.d.ts +2 -2
  274. package/dist/sdk/tag/types.d.cts +1 -1
  275. package/dist/sdk/tag/types.d.ts +1 -1
  276. package/dist/sdk/vault/index.d.cts +1 -1
  277. package/dist/sdk/vault/index.d.ts +1 -1
  278. package/dist/{semanticLayer-CKDVkU56.cjs → semanticLayer-D3NDh_QH.cjs} +115 -20
  279. package/dist/semanticLayer-D3NDh_QH.cjs.map +1 -0
  280. package/dist/{semanticLayer-pYy082Ju.js → semanticLayer-Ddg0LSnt.js} +110 -21
  281. package/dist/semanticLayer-Ddg0LSnt.js.map +1 -0
  282. package/dist/status/index.cjs +1 -1
  283. package/dist/status/index.js +1 -1
  284. package/dist/storage/index.cjs +4 -4
  285. package/dist/storage/index.d.cts +2 -2
  286. package/dist/storage/index.d.ts +2 -2
  287. package/dist/storage/index.js +4 -4
  288. package/dist/storage/types.d.cts +3 -3
  289. package/dist/storage/types.d.ts +3 -3
  290. package/dist/{storage-CZQHZcXG.js → storage-C-lyo_iX.js} +273 -135
  291. package/dist/storage-C-lyo_iX.js.map +1 -0
  292. package/dist/{storage-JinL1y1s.cjs → storage-DAJquqEw.cjs} +273 -135
  293. package/dist/storage-DAJquqEw.cjs.map +1 -0
  294. package/dist/{storageTable-C9crh4Ef.cjs → storageTable-BNOR2FCh.cjs} +137 -5
  295. package/dist/storageTable-BNOR2FCh.cjs.map +1 -0
  296. package/dist/{storageTable-DslXtqNL.js → storageTable-BldTNyEk.js} +102 -6
  297. package/dist/storageTable-BldTNyEk.js.map +1 -0
  298. package/dist/stream/index.cjs +3 -3
  299. package/dist/stream/index.js +3 -3
  300. package/dist/syncActions/index.cjs +4 -1
  301. package/dist/syncActions/index.d.cts +3 -2
  302. package/dist/syncActions/index.d.ts +3 -2
  303. package/dist/syncActions/index.js +2 -2
  304. package/dist/syncActions/types.d.cts +2 -2
  305. package/dist/syncActions/types.d.ts +2 -2
  306. package/dist/syncActions-BQ8kMgL6.js +1191 -0
  307. package/dist/syncActions-BQ8kMgL6.js.map +1 -0
  308. package/dist/syncActions-DyxNmbUR.cjs +1216 -0
  309. package/dist/syncActions-DyxNmbUR.cjs.map +1 -0
  310. package/dist/telemetry/index.cjs +3 -3
  311. package/dist/telemetry/index.js +3 -3
  312. package/dist/{types-DWiLcrxt.d.cts → types-04GTqleJ.d.cts} +3 -3
  313. package/dist/{types-DRCMBt89.d.ts → types-2Do0DZ60.d.ts} +3 -3
  314. package/dist/{types-n4PTnLii.d.ts → types-AYX7VtS6.d.ts} +179 -2
  315. package/dist/{types-DIiOMV-t.d.ts → types-B3P5yAuI.d.ts} +5 -1
  316. package/dist/{types-BLNB882w.d.cts → types-B3i04d_A.d.cts} +5 -1
  317. package/dist/{types-CZXPu3gn.d.ts → types-BBUZ9EHs.d.ts} +4 -1
  318. package/dist/{types-Dtuvhm3K.d.cts → types-BWmLo73i.d.cts} +749 -186
  319. package/dist/{types-CQFOCQzk.d.ts → types-BaSlU0uo.d.ts} +510 -5
  320. package/dist/{types-DEzW1CfI.d.cts → types-BgHtMe8s.d.cts} +3 -3
  321. package/dist/{types-BiMahEK8.d.cts → types-BgVt8SUY.d.cts} +126 -62
  322. package/dist/{types-BS4jwuMi.d.ts → types-BhEx9iRx.d.ts} +3068 -621
  323. package/dist/{types-CP_LBmw3.d.cts → types-BhOUS9j1.d.cts} +26 -3
  324. package/dist/{types-tKkeLa2B.d.cts → types-BiEh5c_t.d.cts} +60 -8
  325. package/dist/{types-CMzQSHAQ.d.cts → types-BzPuxmaR.d.cts} +3 -3
  326. package/dist/{types-CKmTZSPG.d.ts → types-C0rVtqz2.d.ts} +126 -62
  327. package/dist/{types-Bl03Cg2n.d.cts → types-CAAgCRmE.d.cts} +31 -5
  328. package/dist/{types-RbrfiY8T.d.ts → types-CAp1VexS.d.ts} +3 -3
  329. package/dist/{types-DinIJ1D_.d.cts → types-CBPKpLTf.d.cts} +179 -2
  330. package/dist/{types-BIECJYun.d.ts → types-CN6huo55.d.ts} +406 -5
  331. package/dist/{types-Cg14ncdV.d.ts → types-CV7jmgtX.d.ts} +3 -3
  332. package/dist/{types-CqwHP7mN.d.cts → types-CcYxlqtB.d.cts} +510 -5
  333. package/dist/{types-DE9hgr7i.d.cts → types-CgBzm1YR.d.cts} +106 -1
  334. package/dist/{types-FwRmjsNN.d.ts → types-CigD_EF5.d.ts} +18 -6
  335. package/dist/{types-B_iLJlp4.d.ts → types-CwZgZqrA.d.ts} +31 -5
  336. package/dist/{types-B61aCifg.d.cts → types-D9axmt5o.d.cts} +4 -1
  337. package/dist/{types-CWyXTMwy.d.ts → types-DaMmgW-O.d.ts} +106 -1
  338. package/dist/{types-BTK7Bv3n.d.cts → types-DgPt4LY_.d.cts} +406 -5
  339. package/dist/{types-bc-4z_gc.d.cts → types-DyArI_Jq.d.cts} +18 -6
  340. package/dist/{types-q-1r_9d1.d.ts → types-DzV6LaZq.d.ts} +60 -8
  341. package/dist/{types-DekYAlA-.d.ts → types-QSchmyvO.d.ts} +3 -3
  342. package/dist/{types-DKc1gmd9.d.ts → types-R3AFJD6r.d.ts} +749 -186
  343. package/dist/{types-6kuMW4JW.d.cts → types-c_bsDkV6.d.cts} +3 -3
  344. package/dist/{types-DgJeO9Nd.d.ts → types-gcAb6olM.d.ts} +26 -3
  345. package/dist/{types-DDOa07rU.d.cts → types-sV9OaqTI.d.cts} +3068 -621
  346. package/dist/{validateConnectionStatus-BEYkQpu9.cjs → validateConnectionStatus-Ca1uEizv.cjs} +3 -3
  347. package/dist/{validateConnectionStatus-BEYkQpu9.cjs.map → validateConnectionStatus-Ca1uEizv.cjs.map} +1 -1
  348. package/dist/{validateConnectionStatus-BEGu8wXT.js → validateConnectionStatus-gFsBi5FV.js} +3 -3
  349. package/dist/{validateConnectionStatus-BEGu8wXT.js.map → validateConnectionStatus-gFsBi5FV.js.map} +1 -1
  350. package/dist/vault/index.cjs +31 -6
  351. package/dist/vault/index.cjs.map +1 -1
  352. package/dist/vault/index.d.cts +1 -1
  353. package/dist/vault/index.d.ts +1 -1
  354. package/dist/vault/index.js +31 -6
  355. package/dist/vault/index.js.map +1 -1
  356. package/dist/vault/types.d.cts +1 -1
  357. package/dist/vault/types.d.ts +1 -1
  358. package/package.json +7 -7
  359. package/surface/auth.md +7 -0
  360. package/surface/dataScience.md +2 -2
  361. package/surface/kaiAgent.md +5 -3
  362. package/surface/management.md +28 -13
  363. package/surface/metastore.md +4 -1
  364. package/surface/queue.md +1 -1
  365. package/surface/scheduler.md +3 -3
  366. package/surface/sdk.md +13 -8
  367. package/surface/storage.md +27 -24
  368. package/surface/syncActions.md +48 -1
  369. package/surface/vault.md +1 -0
  370. package/dist/authClient-BmuUo0J4.cjs.map +0 -1
  371. package/dist/authClient-CgcDGd30.js.map +0 -1
  372. package/dist/componentId-BJLfnaGc.js.map +0 -1
  373. package/dist/componentId-_IKXxICq.cjs.map +0 -1
  374. package/dist/createFetchClient-Cwp8max9.cjs.map +0 -1
  375. package/dist/createFetchClient-DXHQK63w.js.map +0 -1
  376. package/dist/index-DbLFwXgb.d.cts +0 -116
  377. package/dist/index-rwK7GcB2.d.ts +0 -116
  378. package/dist/jobStatus-BMlsyXWI.cjs.map +0 -1
  379. package/dist/kaiAgent-Dp20HLTh.js.map +0 -1
  380. package/dist/kaiAgent-QNoeVKPs.cjs.map +0 -1
  381. package/dist/management-CCY0IYnq.cjs.map +0 -1
  382. package/dist/management-DvmPiG64.js.map +0 -1
  383. package/dist/metastore-BycJxe7A.js.map +0 -1
  384. package/dist/metastore-XtWciCZT.cjs.map +0 -1
  385. package/dist/queue-UG_BWKIC.cjs.map +0 -1
  386. package/dist/semanticLayer-CKDVkU56.cjs.map +0 -1
  387. package/dist/semanticLayer-pYy082Ju.js.map +0 -1
  388. package/dist/storage-CZQHZcXG.js.map +0 -1
  389. package/dist/storage-JinL1y1s.cjs.map +0 -1
  390. package/dist/storageTable-C9crh4Ef.cjs.map +0 -1
  391. package/dist/storageTable-DslXtqNL.js.map +0 -1
  392. package/dist/syncActions-ChNWuhYA.js +0 -646
  393. package/dist/syncActions-ChNWuhYA.js.map +0 -1
  394. package/dist/syncActions-mFlF16cl.cjs +0 -653
  395. package/dist/syncActions-mFlF16cl.cjs.map +0 -1
package/API-SURFACE.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Every namespace and method reachable from a ready `KeboolaApi` — the `api` half of a keboola client (`createKeboola(...).api` / `createLegacyKeboola(...).api`, or `useApiClient()`). Generated from the TypeScript type checker — see `scripts/gen-surface.mjs`.
6
6
 
7
- 26 top-level namespaces, 670 methods. This index lists method **names** only — full signatures live per namespace under [`surface/`](./surface). Open `surface/<namespace>.md` for the one you need.
7
+ 26 top-level namespaces, 711 methods. This index lists method **names** only — full signatures live per namespace under [`surface/`](./surface). Open `surface/<namespace>.md` for the one you need.
8
8
 
9
9
  ## [`api.ai`](./surface/ai.md)
10
10
 
@@ -59,6 +59,10 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
59
59
  - `manageTokens.create`
60
60
  - `manageTokens.getAll`
61
61
  - `manageTokens.revoke`
62
+ - `me.get`
63
+ - `me.getMaintainers`
64
+ - `me.getOrganizations`
65
+ - `me.getProjects`
62
66
  - `mfa.regenerateRecoveryCodes`
63
67
  - `mfa.totp.disable`
64
68
  - `mfa.totp.setup`
@@ -197,6 +201,7 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
197
201
  - `approveToolCall`
198
202
  - `createChat`
199
203
  - `deleteChat`
204
+ - `deleteUserMemory`
200
205
  - `downloadSandboxFile`
201
206
  - `getAgentSettings`
202
207
  - `getArtifact`
@@ -210,6 +215,7 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
210
215
  - `getToolsList`
211
216
  - `getUsage`
212
217
  - `getUserAgentSettings`
218
+ - `getUserMemories`
213
219
  - `getVotes`
214
220
  - `healthCheck`
215
221
  - `listSandboxFiles`
@@ -247,6 +253,7 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
247
253
  - `currentUser.rejectProjectInvitation`
248
254
  - `deletedProjects.getDeletedProject`
249
255
  - `deletedProjects.getDeletedProjects`
256
+ - `deletedProjects.getDeletedProjectsStats`
250
257
  - `deletedProjects.purgeDeletedProject`
251
258
  - `deletedProjects.restoreDeletedProject`
252
259
  - `features.getAllFeatures`
@@ -265,6 +272,7 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
265
272
  - `fileStorage.setFileStorageAbsDefault`
266
273
  - `fileStorage.setFileStorageGcsDefault`
267
274
  - `fileStorage.setFileStorageS3Default`
275
+ - `gcpPartner.setUpBigQuery`
268
276
  - `healthCheck`
269
277
  - `maintainers.addMaintainerUser`
270
278
  - `maintainers.completeMaintainerSamlSetup`
@@ -350,6 +358,8 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
350
358
  - `projects.setProjectMetadata`
351
359
  - `projects.setProjectReviewers`
352
360
  - `projects.updateProject`
361
+ - `snowflakePartnerConnect.check`
362
+ - `snowflakePartnerConnect.unlock`
353
363
  - `storageBackends.activateStorageBackend`
354
364
  - `storageBackends.createBigqueryStorageBackend`
355
365
  - `storageBackends.createSnowflakeStorageBackend`
@@ -382,6 +392,8 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
382
392
  - `users.setUserMetadata`
383
393
  - `users.updateUser`
384
394
  - `verifyToken`
395
+ - `workspaces.listProjectRetentionWorkspaces`
396
+ - `workspaces.reactivateWorkspace`
385
397
 
386
398
  ## [`api.metastore`](./surface/metastore.md)
387
399
 
@@ -393,9 +405,12 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
393
405
  - `repository.getMetaObjectRevision`
394
406
  - `repository.getMetaObjectRevisions`
395
407
  - `repository.getMetaObjects`
408
+ - `repository.getPendingScopeElevationRequests`
396
409
  - `repository.replaceMetaObject`
397
410
  - `repository.replaceTargetProjects`
411
+ - `repository.requestScopeElevation`
398
412
  - `repository.updateMetaObject`
413
+ - `repository.withdrawScopeElevationRequest`
399
414
  - `schema.getSchema`
400
415
  - `schema.getVersionedSchema`
401
416
 
@@ -476,13 +491,18 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
476
491
  - `semanticLayer.deleteModel`
477
492
  - `semanticLayer.deleteObject`
478
493
  - `semanticLayer.findObjectsByName`
494
+ - `semanticLayer.getModel`
479
495
  - `semanticLayer.listModelChildren`
480
496
  - `semanticLayer.listModels`
497
+ - `semanticLayer.listMyPendingScopeElevationRequests`
481
498
  - `semanticLayer.listObjects`
499
+ - `semanticLayer.listPendingScopeElevationRequests`
482
500
  - `semanticLayer.promoteToOrganizationScope`
483
501
  - `semanticLayer.replaceTargetProjects`
502
+ - `semanticLayer.requestScopeElevation`
484
503
  - `semanticLayer.updateModel`
485
504
  - `semanticLayer.updateObject`
505
+ - `semanticLayer.withdrawScopeElevationRequest`
486
506
  - `storage.addTableColumn`
487
507
  - `storage.createBucketListing`
488
508
  - `storage.createSnapshot`
@@ -595,11 +615,14 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
595
615
  - `configurations.getConfigurationDiff`
596
616
  - `configurations.getConfigurations`
597
617
  - `configurations.purgeConfiguration`
598
- - `configurations.purgeConfigurations`
618
+ - `configurations.purgeConfigurationsAndWait`
619
+ - `configurations.purgeConfigurationsAsync`
599
620
  - `configurations.rebaseConfiguration`
600
621
  - `configurations.rebaseConfigurationToDeleted`
601
622
  - `configurations.resetConfigurationToDefault`
602
623
  - `configurations.restoreConfiguration`
624
+ - `configurations.restoreConfigurationsAndWait`
625
+ - `configurations.restoreConfigurationsAsync`
603
626
  - `configurations.searchComponentConfigurations`
604
627
  - `configurations.updateConfiguration`
605
628
  - `configurations.updateConfigurationState`
@@ -724,13 +747,28 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
724
747
 
725
748
  - `apify.getActors`
726
749
  - `apify.getTasks`
750
+ - `codePattern.generate`
751
+ - `common.prepareRows`
752
+ - `common.testConnection`
753
+ - `configurationMigration.getStatus`
727
754
  - `dbt.compile`
755
+ - `dbt.getDocs`
728
756
  - `dbt.runResults`
729
- - `enrollMFA`
757
+ - `emailAttachments.getEmail`
758
+ - `facebook.getAccounts`
730
759
  - `flowMigration.preview`
731
760
  - `flowMigration.validate`
761
+ - `genericExtractor.inferMapping`
762
+ - `genericExtractor.loadFromCurl`
763
+ - `genericExtractor.performFunction`
764
+ - `genericExtractor.testRequest`
732
765
  - `git.getBranches`
733
766
  - `git.getEntrypoints`
767
+ - `googleAnalytics.getProfilesProperties`
768
+ - `googleAnalytics.getPropertiesMetadata`
769
+ - `googleDrive.createFile`
770
+ - `googleSheets.addSheet`
771
+ - `googleSheets.createSpreadsheet`
734
772
  - `healthCheck`
735
773
  - `looker.testCredentials`
736
774
  - `oneDrive.createWorkbook`
@@ -738,6 +776,8 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
738
776
  - `oneDrive.getWorksheets`
739
777
  - `oneDrive.searchFiles`
740
778
  - `sendSyncAction`
779
+ - `snowflakeDwhManager.enrollMfa`
780
+ - `snowflakeDwhManager.resetPassword`
741
781
  - `sshKeys.generate`
742
782
 
743
783
  ## [`api.telemetry`](./surface/telemetry.md)
@@ -752,4 +792,5 @@ Every namespace and method reachable from a ready `KeboolaApi` — the `api` hal
752
792
  - `getProjectWideVariables`
753
793
  - `getVariables`
754
794
  - `getVariablesByBranchId`
795
+ - `getVariablesInScope`
755
796
  - `healthCheck`
package/CHANGELOG.md CHANGED
@@ -1,5 +1,175 @@
1
1
  # @keboola/api-client
2
2
 
3
+ ## 43.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Regenerate the OpenAPI types of the services the weekly drift lane reported on 2026-09-29: `omnisearch`, `developerPortal`, `vault`, `dataScience`, `kaiAgent`, `scheduler`, `oauth`, `microsoftGraph`. The other three it reported (`storage`, `management`, `auth`) were already regenerated on `main`. No path or component schema is removed; the changes add operations and fields and tighten documented shapes.
8
+
9
+ `developerPortal` app changes now document every field: `id` (the app the change belongs to), `createdOn`, a nullable `createdBy`, and `attribute` / `oldValue` / `newValue` / `description` per change. The `listAppChanges` fixture carries `id` (it had `appId`, which no version of the spec names) and a `description` per change.
10
+
11
+ Developer Portal's component change log keys its rows apart instead of by the app id every row shares, and shows a change stored without an author without a trailing `· null`.
12
+
13
+ - `vault.getVariablesInScope(branchId)` lists every variable of exactly one scope across all pages; `null` is the project-wide scope. `vault.getProjectWideVariables()` now uses it, so it pages past the vault's 100-row cap and returns only variables with no `branchId`.
14
+
15
+ ## 42.0.0
16
+
17
+ ### Major Changes
18
+
19
+ - `api.syncActions.enrollMFA` and its `EnrollMFAInput` type are removed. It sent only the user's email,
20
+ which the `keboola.app-snowflake-dwh-manager` action cannot run on; use
21
+ `api.syncActions.snowflakeDwhManager.enrollMfa` with the configuration's `parameters` instead.
22
+
23
+ - `management.deletedProjects` follows connection's deleted-projects redesign.
24
+ - **Breaking:** `getDeletedProjects` resolves with a cursor-paginated page `{ data, meta: { total, limit, cursor }, links: { self, first, next } }` instead of a bare array, so callers can paginate against the real total. The query takes two JSON:API deep objects, and the bare `limit` / `offset` / `organizationId` / `name` query parameters are gone:
25
+ - `page` — `page[limit]` and `page[after]`, the cursor of the last row read (omit it for the first page); `links.next` carries the next page's cursor and is `null` on the last page. There is no offset and no previous or last page.
26
+ - `filter` — `filter[status]` (`deleted` | `purged` | `all`, default `deleted`), `filter[overdue]` (`true`: deleted, not purged, past their scheduled purge time; `false`: not overdue; omitted: not filtered), `filter[name]`, `filter[organizationId]`
27
+ - New `getDeletedProjectsStats` returns the global counts `{ deleted, purged, overdue }`.
28
+ - A deleted project carries `scheduledPurgeTime` (deletion time plus the purge period, nullable) and `isPurgeOverdue` (always `false` once purged); `deletedTime` is `string | null` (`null` for projects deleted before the time was recorded), and the regenerated schema declares `usersCount` and marks `created`, `expires`, `billedMonthlyPrice` and `purgedTime` as always present (nullable where the API says so).
29
+
30
+ - Emptying and restoring the trash is one request per 1000 configurations. `storage.configurations` gains `purgeConfigurationsAsync` / `purgeConfigurationsAndWait` and `restoreConfigurationsAsync` / `restoreConfigurationsAndWait`. The `*Async` pair posts one list of at most 1000 items to the batch endpoint and returns a storage job. The `*AndWait` pair splits a longer list, waits for each job and resolves with `{ purged | restored, failed, error }`: every job's items merged, the error that stopped each failed item, and `error` when a job failed as a whole or its wait did not finish. One conflict no longer abandons the rest of the batch.
31
+
32
+ A storage job poll now retries a read that failed in transit or got a 5xx / 429 answer, up to five times in a row, instead of ending the wait on the first one.
33
+
34
+ Breaking: `purgeConfigurations`, which fanned the list out into one request per configuration, is gone. Call `purgeConfigurationsAndWait` instead and read `purged` / `failed` / `error` rather than counting rejected promises.
35
+
36
+ - Every bucket method addresses a branch: its path is `/v2/storage/branch/{branchId}/…` and `branchId` is
37
+ required. Pass `'default'` (or the default branch's id) for what the unbranched call used to reach.
38
+ - `buckets`: `createBucket`, `updateBucket`, `deleteBucket`, `deleteBucketAsync` and
39
+ `updateBucketOwner` take `branchId` in their input. `deleteBucket` takes `{ branchId, bucketId }`
40
+ instead of a positional id. `updateBucket` runs on the typed client and returns the spec's update
41
+ response; its body accepts any subset of `displayName` and `color`.
42
+ - `bucketSharing.linkBucketAsync` takes `{ branchId, ...body }`.
43
+ - `bucketSharing.forceUnlinkBucketAsync` (and `sdk.storage.forceUnlinkBucket`) take `linkedProjectId` as a
44
+ number, as the spec types it.
45
+ - The share, unshare, force-unlink and register calls no longer send `async=true`; those endpoints always
46
+ run a job and ignore it.
47
+ - `bucketListings`: `getListing` and `deleteListingAsync` take `{ branchId, bucketId }`;
48
+ `createListingAsync` and `updateListingAsync` take `branchId` in their input.
49
+ - `bucketExternal`: `registerBucketAsync`, `getBucketRegistrationGuide` and
50
+ `refreshExternalBucketAsync` take `branchId` in their input.
51
+ - `sdk.storage`: `createBucketListing`, `updateBucketListing`, `deleteBucketListing`,
52
+ `registerBucket` and `refreshExternalBucket` take the client method's input object instead of a
53
+ positional `bucketId`.
54
+
55
+ - `tables.updateTable`, `tables.createAliasTable` and `tables.exportAsync` address a branch: their path
56
+ is `/v2/storage/branch/{branchId}/…` and `branchId` is required. Pass `'default'` (or the default
57
+ branch's id) for what the unbranched call used to reach.
58
+ - `updateTable` runs on the typed client and returns the spec's update response; its body requires
59
+ `displayName`.
60
+ - `createAliasTable` runs on the typed client.
61
+ - `sdk.storage.exportToFile` takes the client method's input object instead of a positional `tableId`.
62
+ - `setAliasTableFilter` and `removeAliasTableFilter` stay unbranched: the backend serves the alias
63
+ filter only outside branches.
64
+
65
+ ### Minor Changes
66
+
67
+ - Kai can remember a note for you alone, not only for the whole project (AI-4003). `save_to_knowledge_base` takes a `scope` — `personal` is saved as soon as you approve it, `company` still waits for a project admin — and its approval card lets you switch the scope before approving. Your personal memories go into every new conversation and are listed under Kai settings → Memory, where you can forget them. A Kai tip points users to it. `api.kaiAgent.getUserMemories()` and `api.kaiAgent.deleteUserMemory(id)` read and delete them.
68
+
69
+ - - `auth.me.get()` — `GET /v1/auth/me`: the signed-in user with counted previews of their organizations, maintainers and projects.
70
+ - `auth.me.getOrganizations(query?)`, `auth.me.getMaintainers(query?)`, `auth.me.getProjects(query?)` — the paged `/v1/auth/me/*` collections behind those previews.
71
+
72
+ - `management.workspaces.reactivateWorkspace(workspaceId)` — `POST /manage/workspaces/{workspaceId}/reactivate`, for reactivating a workspace that retention deactivated for inactivity (super-admin only).
73
+
74
+ - - `management.snowflakePartnerConnect.check(projectId)` / `.unlock(projectId)` — `GET …/check` and `POST …/unlock` on `/snowflake-partner-connect/project/{projectId}`.
75
+ - `management.gcpPartner.setUpBigQuery(projectId, body)` — `POST /integration/partners/gcp/project/{projectId}/set-up/big-query`.
76
+
77
+ - `management.workspaces.listProjectRetentionWorkspaces(projectId, { state? })` — `GET /manage/projects/{projectId}/workspaces`, for listing a project's warned/deactivated retention workspaces (super-admin only).
78
+
79
+ - `api.sdk.semanticLayer.getModel(modelUUID)` reads one model by UUID. A semantic object's `meta` now
80
+ carries `scope` (`project`, `targeted` or `organization`, exported as `SEMANTIC_OBJECT_SCOPES`),
81
+ `sourceProjectId`, the project an organization-scoped object came from, and `targetProjectIds`, the
82
+ projects a targeted object is shared with.
83
+
84
+ - `api.sdk.semanticLayer.listModelChildren(modelUUID)` reports each child's `referenceKey`, the value
85
+ sibling objects point at it by: a dataset's `tableId` and a metric's `name`. Other child types
86
+ carry none.
87
+
88
+ - `api.syncActions.codePattern.generate` runs a code pattern component's `generate` action and resolves
89
+ with the transformation `parameters` and `storage` it generated.
90
+
91
+ - `api.syncActions.common` runs the sync actions any component may implement, against that
92
+ component's own `configData`: `testConnection` resolves on a working connection, and `prepareRows`
93
+ resolves with the rows a create-row form describes.
94
+
95
+ - `api.syncActions.configurationMigration.getStatus` reads the migration status of every
96
+ configuration of an origin component from `keboola.app-configuration-migration-tool`. An origin the
97
+ tool has no migration for fails as a thrown `SyncActionError`.
98
+
99
+ - `@keboola/api-client/syncActions` exports `SyncAction`, the action names the sync-actions client
100
+ sends, so a caller of the generic `sendSyncAction` names its action from the same list.
101
+ `ComponentId` gains the components those actions belong to: the Facebook, Facebook Ads and
102
+ Instagram extractors, Google BigQuery, Google Drive and Google Sheets, the Generic Extractor, the
103
+ AWS S3 writer, and the Storage extractor and writer.
104
+
105
+ - `api.syncActions.dbt.getDocs` returns the HTML docs site the last run of a dbt transformation generated.
106
+
107
+ - `api.syncActions.emailAttachments.getEmail` returns the inbound email address of a
108
+ `keboola.ex-email-attachments` configuration, generating it on first call. A component failure
109
+ throws `SyncActionError`.
110
+
111
+ - `api.syncActions.facebook.getAccounts` lists the accounts a Facebook, Facebook Ads or Instagram
112
+ extractor configuration can read, picking the component's own accounts action from `componentId`.
113
+ `isFacebookComponentId` narrows a component id to that family. A first-generation component's
114
+ `{ code, error }` failure body throws `SyncActionError` with the Graph API's message.
115
+
116
+ - `api.syncActions.genericExtractor` runs the `ex-generic-v2` configuration-editor actions:
117
+ `testRequest` calls one endpoint and reports the request, response and records, `loadFromCurl` turns
118
+ a cURL command into a job, `performFunction` evaluates a user function, and `inferMapping` derives an
119
+ endpoint's output mapping.
120
+
121
+ - `api.syncActions.googleAnalytics` runs the `keboola.ex-google-analytics-v4` sync actions:
122
+ `getProfilesProperties` lists the Universal Analytics views and GA4 properties the OAuth
123
+ credentials can reach, and `getPropertiesMetadata` lists the metrics and dimensions of a
124
+ configuration's saved properties.
125
+
126
+ - `api.syncActions.googleDrive.createFile` creates the Drive file a `keboola.wr-google-drive` table will
127
+ be written to, and resolves with the file's id and folder.
128
+
129
+ - `api.syncActions.googleSheets` prepares the spreadsheets a `keboola.wr-google-sheets` table is
130
+ written to: `createSpreadsheet` creates one, and `addSheet` adds the table's sheet to an existing one.
131
+
132
+ - `api.syncActions.snowflakeDwhManager` runs the `keboola.app-snowflake-dwh-manager` user actions:
133
+ `resetPassword` resolves with the message carrying a one-time reset URL, and `enrollMfa` resets the
134
+ user's MFA enrollment.
135
+
136
+ - `createUiVersionMiddleware(uiVersion)` stamps `X-KBC-Ui-Version` on every request of the client it
137
+ is registered on. An empty `uiVersion` sends no header.
138
+
139
+ - `Workspace` carries `deactivateAt`, the ISO 8601 timestamp of a pending retention deactivation (`null` unless the owner has been warned).
140
+
141
+ - Metastore client responses now carry `scope`, `targetProjectIds`, and `scopeElevationRequestedAt`
142
+ on every read (previously dropped by a stale generated type). Adds `semanticLayerSdk.requestScopeElevation`
143
+ and `semanticLayerSdk.withdrawScopeElevationRequest`, and `getMetaObjects` gains an opt-in
144
+ `sortByScope` flag to request server-side `scope`-priority ordering, off by default so other
145
+ consumers keep the plain list call.
146
+
147
+ - Metastore meta types gain `sourceProjectId` (the project an organization-scope object was
148
+ originally created in or promoted from — optional, only ever present for that scope) and a
149
+ matching `dropSourceProject` opt-out on the create and promote request types, backed by
150
+ go-monorepo PR #594.
151
+
152
+ - Answer "is this a valid Storage name" once, from the connection spec. `@keboola/api-client/domain/storageTable` now exports `validateStorageName` and `validateStorageColumnName`, which return the reason Storage would reject a value, plus the `STORAGE_NAME` / `STORAGE_COLUMN_NAME` constraints and their charset hints. The regex and the length bounds are generated from the spec's component schemas, so a consumer no longer re-derives them — and a column name is validated by the column rule, which forbids the dash a bucket or table name allows.
153
+
154
+ - Refreshed the generated Storage schema from the deployed spec, which the committed snapshot had
155
+ drifted a long way behind. Response and result types that were `Record<string, never>` now carry
156
+ their real shapes — notably `aliasFilter`, `sharingParameters`, `sourceBucket` and the merge
157
+ request `changeLog`. The `CreateBucketRequest2` and `LinkBucketRequest2` schemas are gone; the
158
+ spec no longer forks them, and neither was ever the request contract.
159
+
160
+ - A storage trigger created without `runWithTokenId` creates the token it runs with and revokes it when deleted
161
+ - `storage.triggers.createTrigger` takes `runWithTokenId` as optional.
162
+ - kbc-ui creates a trigger in one request, and offers to delete a trigger's `[_internal]` token.
163
+
164
+ ### Patch Changes
165
+
166
+ - The management metadata getters of maintainers, organizations, projects and users return `MetadataItem[]` (`ProjectMetadataItem[]` for projects), typed from the generated Manage schema with every field required.
167
+ - The regenerated schema also types a file storage update's `owner` and `region` as optional, one `role` field as nullable, and an optional `_token` on the pay-as-you-go billing requests.
168
+
169
+ - Storage types follow the regenerated OpenAPI spec: a merge request's `changeLog`, a table's
170
+ `aliasFilter` and a bucket's `sharingParameters` are typed shapes instead of
171
+ `Record<string, never>`, and a token's `admin.role` may be `null`.
172
+
3
173
  ## 41.0.0
4
174
 
5
175
  ### Minor Changes
package/README.md CHANGED
@@ -227,7 +227,7 @@ Clients backed by OpenAPI specs are marked with (OpenAPI); the rest use the gene
227
227
  | `api.ai` | AI Service (OpenAPI) | `describeConfiguration()`, `describeConfigurationVersion()`, `describeConfigurationMerge()`, `explainError()`, `suggestComponent()`, `feedback()` |
228
228
  | `api.queue` | Job Queue (OpenAPI) | `getJob()`, `searchJobs()` |
229
229
  | `api.queryService` | Query Service (OpenAPI) | `createQueryJob()`, `cancelQueryJob()`, `getQueryJob()`, `getQueryResults()`, `getQueryHistory()`, `exportResults()` |
230
- | `api.syncActions` | Sync Actions (OpenAPI) | `enrollMFA()`, `gitRepository.*` |
230
+ | `api.syncActions` | Sync Actions (OpenAPI) | `sendSyncAction()` + one namespace per component; see [`surface/syncActions.md`](./surface/syncActions.md) |
231
231
  | `api.telemetry` | Telemetry | `provisioning.*` |
232
232
  | `api.import` | Import (OpenAPI) | `uploadFile()`, `writeTable()` |
233
233
 
@@ -1,4 +1,4 @@
1
- const require_createFetchClient = require("./createFetchClient-Cwp8max9.cjs");
1
+ const require_createFetchClient = require("./createFetchClient-BgihytBn.cjs");
2
2
  //#region src/errors/ManagementClientAuthError.ts
3
3
  var ManagementClientAuthError = class extends require_createFetchClient.ApiError {
4
4
  title;
@@ -18,4 +18,4 @@ Object.defineProperty(exports, "ManagementClientAuthError", {
18
18
  }
19
19
  });
20
20
 
21
- //# sourceMappingURL=ManagementClientAuthError-DE7lNGZQ.cjs.map
21
+ //# sourceMappingURL=ManagementClientAuthError-BFZOtLgj.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManagementClientAuthError-DE7lNGZQ.cjs","names":["ApiError"],"sources":["../src/errors/ManagementClientAuthError.ts"],"sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nimport { ApiError } from './ApiError';\n\nexport class ManagementClientAuthError extends ApiError {\n title: string;\n message: string;\n constructor(title: string, message: string, res: ApiResponse) {\n super(res);\n this.name = 'ManagementClientAuthError';\n this.title = title;\n this.message = message;\n }\n}\n"],"mappings":";;AAIA,IAAa,4BAAb,cAA+CA,0BAAAA,SAAS;CACtD;CACA;CACA,YAAY,OAAe,SAAiB,KAAkB;EAC5D,MAAM,GAAG;EACT,KAAK,OAAO;EACZ,KAAK,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
1
+ {"version":3,"file":"ManagementClientAuthError-BFZOtLgj.cjs","names":["ApiError"],"sources":["../src/errors/ManagementClientAuthError.ts"],"sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nimport { ApiError } from './ApiError';\n\nexport class ManagementClientAuthError extends ApiError {\n title: string;\n message: string;\n constructor(title: string, message: string, res: ApiResponse) {\n super(res);\n this.name = 'ManagementClientAuthError';\n this.title = title;\n this.message = message;\n }\n}\n"],"mappings":";;AAIA,IAAa,4BAAb,cAA+CA,0BAAAA,SAAS;CACtD;CACA;CACA,YAAY,OAAe,SAAiB,KAAkB;EAC5D,MAAM,GAAG;EACT,KAAK,OAAO;EACZ,KAAK,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
@@ -1,4 +1,4 @@
1
- import { g as ApiError } from "./createFetchClient-DXHQK63w.js";
1
+ import { g as ApiError } from "./createFetchClient-cgWkwgAQ.js";
2
2
  //#region src/errors/ManagementClientAuthError.ts
3
3
  var ManagementClientAuthError = class extends ApiError {
4
4
  title;
@@ -13,4 +13,4 @@ var ManagementClientAuthError = class extends ApiError {
13
13
  //#endregion
14
14
  export { ManagementClientAuthError as t };
15
15
 
16
- //# sourceMappingURL=ManagementClientAuthError-H30lti_Q.js.map
16
+ //# sourceMappingURL=ManagementClientAuthError-DUbXlry2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManagementClientAuthError-H30lti_Q.js","names":[],"sources":["../src/errors/ManagementClientAuthError.ts"],"sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nimport { ApiError } from './ApiError';\n\nexport class ManagementClientAuthError extends ApiError {\n title: string;\n message: string;\n constructor(title: string, message: string, res: ApiResponse) {\n super(res);\n this.name = 'ManagementClientAuthError';\n this.title = title;\n this.message = message;\n }\n}\n"],"mappings":";;AAIA,IAAa,4BAAb,cAA+C,SAAS;CACtD;CACA;CACA,YAAY,OAAe,SAAiB,KAAkB;EAC5D,MAAM,GAAG;EACT,KAAK,OAAO;EACZ,KAAK,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
1
+ {"version":3,"file":"ManagementClientAuthError-DUbXlry2.js","names":[],"sources":["../src/errors/ManagementClientAuthError.ts"],"sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nimport { ApiError } from './ApiError';\n\nexport class ManagementClientAuthError extends ApiError {\n title: string;\n message: string;\n constructor(title: string, message: string, res: ApiResponse) {\n super(res);\n this.name = 'ManagementClientAuthError';\n this.title = title;\n this.message = message;\n }\n}\n"],"mappings":";;AAIA,IAAa,4BAAb,cAA+C,SAAS;CACtD;CACA;CACA,YAAY,OAAe,SAAiB,KAAkB;EAC5D,MAAM,GAAG;EACT,KAAK,OAAO;EACZ,KAAK,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
package/dist/ai/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-BYqW-9tm.cjs");
3
- const require_auth = require("../auth-Dm0F2rOh.cjs");
2
+ const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DY5s-aH6.cjs");
3
+ const require_auth = require("../auth-zfI04oj7.cjs");
4
4
  //#region src/clients/ai/aiClient.ts
5
5
  const createAiClient = ({ baseUrl, middlewares, auth }) => {
6
6
  const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
package/dist/ai/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-DZUOVupy.js";
2
- import { t as createAuthHeaders } from "../auth-DworfoPy.js";
1
+ import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-BxcLLU_N.js";
2
+ import { t as createAuthHeaders } from "../auth-DUHTJTwS.js";
3
3
  //#region src/clients/ai/aiClient.ts
4
4
  const createAiClient = ({ baseUrl, middlewares, auth }) => {
5
5
  const client = createOpenapiFetchClient({
@@ -1,5 +1,5 @@
1
1
  import { t as isPlainObject } from "./isPlainObject-LYW-03uB.js";
2
- import { f as parseContentDispositionHeader, m as HttpStatus, r as isApiError, s as HttpHeader } from "./createFetchClient-DXHQK63w.js";
2
+ import { f as parseContentDispositionHeader, m as HttpStatus, r as isApiError, s as HttpHeader } from "./createFetchClient-cgWkwgAQ.js";
3
3
  import * as z$1 from "zod";
4
4
  import dayjs from "dayjs";
5
5
  import utc from "dayjs/plugin/utc.js";
@@ -129,4 +129,4 @@ const readAppLogsDownload = async (fetchLogs) => {
129
129
  //#endregion
130
130
  export { readAppLogsDownload as n, readAppLogsTail as r, parseLogLines as t };
131
131
 
132
- //# sourceMappingURL=appLogs-BBkkUOW1.js.map
132
+ //# sourceMappingURL=appLogs-DfkItQCO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appLogs-BBkkUOW1.js","names":["z","record"],"sources":["../src/domain/appLogs.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc.js';\nimport * as z from 'zod';\n\nimport {\n type ApiResponse,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../fetchClient';\nimport { HttpStatus } from '../internal';\nimport { isPlainObject } from '../utils/isPlainObject';\n\n/**\n * Reading a data app's container output. Shared by the two clients wrapping sandboxes-service —\n * `dataScience` (`/v1`) and `apps` (`/v2`) — which serve the same logs under different paths, so the\n * tail contract (how a line is parsed, where the next poll resumes, and that an idle app is not an\n * error) is defined once here rather than per surface.\n */\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst DEFAULT_LOGS_FILE_NAME = 'logs.txt';\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\n/** The error envelope sandboxes-service returns; the tail branches on its `code`. */\nconst TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n\n/**\n * There is nothing to read right now, reported per scope: an app whose serving member is asleep\n * answers `apps.appNotRunning`, a deployment that isn't running answers `apps.deploymentNotRunning` —\n * the normal state of a staged or retired one, since a deployment only runs while it is production.\n */\nconst NOTHING_RUNNING_CODES = new Set(['apps.appNotRunning', 'apps.deploymentNotRunning']);\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const lastLogTimestamp = (entries: LogEntry[]) => {\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nconst calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\n/**\n * The tail plus the timestamp a follow-up poll resumes from. A {@link NOTHING_RUNNING_CODES} `400`\n * reads as an empty tail rather than an error — an idle app between visits, or a deployment that is\n * not the one currently serving, has no logs to stream and that is its normal condition.\n */\nexport const readAppLogsTail = async (fetchTail: () => Promise<ApiResponse<string>>) => {\n try {\n const { data } = await fetchTail();\n const entries = parseLogLines(data);\n\n return {\n entries,\n nextLogTimestamp: calculateNextLogTimestamp(lastLogTimestamp(entries)),\n };\n } catch (error) {\n if (isApiError(error) && error.response.status === HttpStatus.BAD_REQUEST) {\n const code = TailError.safeParse(error.data).data?.context?.code;\n if (code !== undefined && NOTHING_RUNNING_CODES.has(code)) {\n return { entries: [], nextLogTimestamp: null };\n }\n }\n throw error;\n }\n};\n\n/** The whole log as a file download, named by the service's `Content-Disposition` where it sets one. */\nexport const readAppLogsDownload = async (fetchLogs: () => Promise<ApiResponse<string>>) => {\n const { data, response } = await fetchLogs();\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition.filename ?? DEFAULT_LOGS_FILE_NAME,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"appLogs-DfkItQCO.js","names":["z","record"],"sources":["../src/domain/appLogs.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc.js';\nimport * as z from 'zod';\n\nimport {\n type ApiResponse,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../fetchClient';\nimport { HttpStatus } from '../internal';\nimport { isPlainObject } from '../utils/isPlainObject';\n\n/**\n * Reading a data app's container output. Shared by the two clients wrapping sandboxes-service —\n * `dataScience` (`/v1`) and `apps` (`/v2`) — which serve the same logs under different paths, so the\n * tail contract (how a line is parsed, where the next poll resumes, and that an idle app is not an\n * error) is defined once here rather than per surface.\n */\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst DEFAULT_LOGS_FILE_NAME = 'logs.txt';\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\n/** The error envelope sandboxes-service returns; the tail branches on its `code`. */\nconst TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n\n/**\n * There is nothing to read right now, reported per scope: an app whose serving member is asleep\n * answers `apps.appNotRunning`, a deployment that isn't running answers `apps.deploymentNotRunning` —\n * the normal state of a staged or retired one, since a deployment only runs while it is production.\n */\nconst NOTHING_RUNNING_CODES = new Set(['apps.appNotRunning', 'apps.deploymentNotRunning']);\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const lastLogTimestamp = (entries: LogEntry[]) => {\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nconst calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\n/**\n * The tail plus the timestamp a follow-up poll resumes from. A {@link NOTHING_RUNNING_CODES} `400`\n * reads as an empty tail rather than an error — an idle app between visits, or a deployment that is\n * not the one currently serving, has no logs to stream and that is its normal condition.\n */\nexport const readAppLogsTail = async (fetchTail: () => Promise<ApiResponse<string>>) => {\n try {\n const { data } = await fetchTail();\n const entries = parseLogLines(data);\n\n return {\n entries,\n nextLogTimestamp: calculateNextLogTimestamp(lastLogTimestamp(entries)),\n };\n } catch (error) {\n if (isApiError(error) && error.response.status === HttpStatus.BAD_REQUEST) {\n const code = TailError.safeParse(error.data).data?.context?.code;\n if (code !== undefined && NOTHING_RUNNING_CODES.has(code)) {\n return { entries: [], nextLogTimestamp: null };\n }\n }\n throw error;\n }\n};\n\n/** The whole log as a file download, named by the service's `Content-Disposition` where it sets one. */\nexport const readAppLogsDownload = async (fetchLogs: () => Promise<ApiResponse<string>>) => {\n const { data, response } = await fetchLogs();\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition.filename ?? DEFAULT_LOGS_FILE_NAME,\n };\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
2
2
  const require_isPlainObject = require("./isPlainObject-BB3iy87C.cjs");
3
- const require_createFetchClient = require("./createFetchClient-Cwp8max9.cjs");
3
+ const require_createFetchClient = require("./createFetchClient-BgihytBn.cjs");
4
4
  let zod = require("zod");
5
5
  zod = require_rolldown_runtime.__toESM(zod, 1);
6
6
  let dayjs = require("dayjs");
@@ -150,4 +150,4 @@ Object.defineProperty(exports, "readAppLogsTail", {
150
150
  }
151
151
  });
152
152
 
153
- //# sourceMappingURL=appLogs-B9zFJIuy.cjs.map
153
+ //# sourceMappingURL=appLogs-oZvt59mk.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"appLogs-B9zFJIuy.cjs","names":["utc","z","record","isPlainObject","isApiError","HttpStatus","parseContentDispositionHeader","HttpHeader"],"sources":["../src/domain/appLogs.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc.js';\nimport * as z from 'zod';\n\nimport {\n type ApiResponse,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../fetchClient';\nimport { HttpStatus } from '../internal';\nimport { isPlainObject } from '../utils/isPlainObject';\n\n/**\n * Reading a data app's container output. Shared by the two clients wrapping sandboxes-service —\n * `dataScience` (`/v1`) and `apps` (`/v2`) — which serve the same logs under different paths, so the\n * tail contract (how a line is parsed, where the next poll resumes, and that an idle app is not an\n * error) is defined once here rather than per surface.\n */\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst DEFAULT_LOGS_FILE_NAME = 'logs.txt';\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\n/** The error envelope sandboxes-service returns; the tail branches on its `code`. */\nconst TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n\n/**\n * There is nothing to read right now, reported per scope: an app whose serving member is asleep\n * answers `apps.appNotRunning`, a deployment that isn't running answers `apps.deploymentNotRunning` —\n * the normal state of a staged or retired one, since a deployment only runs while it is production.\n */\nconst NOTHING_RUNNING_CODES = new Set(['apps.appNotRunning', 'apps.deploymentNotRunning']);\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const lastLogTimestamp = (entries: LogEntry[]) => {\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nconst calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\n/**\n * The tail plus the timestamp a follow-up poll resumes from. A {@link NOTHING_RUNNING_CODES} `400`\n * reads as an empty tail rather than an error — an idle app between visits, or a deployment that is\n * not the one currently serving, has no logs to stream and that is its normal condition.\n */\nexport const readAppLogsTail = async (fetchTail: () => Promise<ApiResponse<string>>) => {\n try {\n const { data } = await fetchTail();\n const entries = parseLogLines(data);\n\n return {\n entries,\n nextLogTimestamp: calculateNextLogTimestamp(lastLogTimestamp(entries)),\n };\n } catch (error) {\n if (isApiError(error) && error.response.status === HttpStatus.BAD_REQUEST) {\n const code = TailError.safeParse(error.data).data?.context?.code;\n if (code !== undefined && NOTHING_RUNNING_CODES.has(code)) {\n return { entries: [], nextLogTimestamp: null };\n }\n }\n throw error;\n }\n};\n\n/** The whole log as a file download, named by the service's `Content-Disposition` where it sets one. */\nexport const readAppLogsDownload = async (fetchLogs: () => Promise<ApiResponse<string>>) => {\n const { data, response } = await fetchLogs();\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition.filename ?? DEFAULT_LOGS_FILE_NAME,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"appLogs-oZvt59mk.cjs","names":["utc","z","record","isPlainObject","isApiError","HttpStatus","parseContentDispositionHeader","HttpHeader"],"sources":["../src/domain/appLogs.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc.js';\nimport * as z from 'zod';\n\nimport {\n type ApiResponse,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../fetchClient';\nimport { HttpStatus } from '../internal';\nimport { isPlainObject } from '../utils/isPlainObject';\n\n/**\n * Reading a data app's container output. Shared by the two clients wrapping sandboxes-service —\n * `dataScience` (`/v1`) and `apps` (`/v2`) — which serve the same logs under different paths, so the\n * tail contract (how a line is parsed, where the next poll resumes, and that an idle app is not an\n * error) is defined once here rather than per surface.\n */\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst DEFAULT_LOGS_FILE_NAME = 'logs.txt';\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\n/** The error envelope sandboxes-service returns; the tail branches on its `code`. */\nconst TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n\n/**\n * There is nothing to read right now, reported per scope: an app whose serving member is asleep\n * answers `apps.appNotRunning`, a deployment that isn't running answers `apps.deploymentNotRunning` —\n * the normal state of a staged or retired one, since a deployment only runs while it is production.\n */\nconst NOTHING_RUNNING_CODES = new Set(['apps.appNotRunning', 'apps.deploymentNotRunning']);\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const lastLogTimestamp = (entries: LogEntry[]) => {\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nconst calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\n/**\n * The tail plus the timestamp a follow-up poll resumes from. A {@link NOTHING_RUNNING_CODES} `400`\n * reads as an empty tail rather than an error — an idle app between visits, or a deployment that is\n * not the one currently serving, has no logs to stream and that is its normal condition.\n */\nexport const readAppLogsTail = async (fetchTail: () => Promise<ApiResponse<string>>) => {\n try {\n const { data } = await fetchTail();\n const entries = parseLogLines(data);\n\n return {\n entries,\n nextLogTimestamp: calculateNextLogTimestamp(lastLogTimestamp(entries)),\n };\n } catch (error) {\n if (isApiError(error) && error.response.status === HttpStatus.BAD_REQUEST) {\n const code = TailError.safeParse(error.data).data?.context?.code;\n if (code !== undefined && NOTHING_RUNNING_CODES.has(code)) {\n return { entries: [], nextLogTimestamp: null };\n }\n }\n throw error;\n }\n};\n\n/** The whole log as a file download, named by the service's `Content-Disposition` where it sets one. */\nexport const readAppLogsDownload = async (fetchLogs: () => Promise<ApiResponse<string>>) => {\n const { data, response } = await fetchLogs();\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition.filename ?? DEFAULT_LOGS_FILE_NAME,\n };\n};\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-BYqW-9tm.cjs");
3
- const require_auth = require("../auth-Dm0F2rOh.cjs");
4
- const require_appLogs = require("../appLogs-B9zFJIuy.cjs");
2
+ const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DY5s-aH6.cjs");
3
+ const require_auth = require("../auth-zfI04oj7.cjs");
4
+ const require_appLogs = require("../appLogs-oZvt59mk.cjs");
5
5
  //#region src/clients/apps/appsClient.ts
6
6
  /**
7
7
  * `/v2` App Deployments — data apps and their immutable deployment history.
@@ -1,6 +1,6 @@
1
- import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-DZUOVupy.js";
2
- import { t as createAuthHeaders } from "../auth-DworfoPy.js";
3
- import { n as readAppLogsDownload, r as readAppLogsTail } from "../appLogs-BBkkUOW1.js";
1
+ import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-BxcLLU_N.js";
2
+ import { t as createAuthHeaders } from "../auth-DUHTJTwS.js";
3
+ import { n as readAppLogsDownload, r as readAppLogsTail } from "../appLogs-DfkItQCO.js";
4
4
  //#region src/clients/apps/appsClient.ts
5
5
  /**
6
6
  * `/v2` App Deployments — data apps and their immutable deployment history.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_createGenericFetchClient = require("../createGenericFetchClient-Dl9cqTvR.cjs");
2
+ const require_createGenericFetchClient = require("../createGenericFetchClient-C7Y0YVfc.cjs");
3
3
  const require_assets_schema = require("./schema.cjs");
4
4
  //#region src/clients/assets/assetsClient.ts
5
5
  const createAssetsClient = ({ baseUrl, middlewares }) => {
@@ -1,4 +1,4 @@
1
- import { t as createGenericFetchClient } from "../createGenericFetchClient-Dg1rgzmG.js";
1
+ import { t as createGenericFetchClient } from "../createGenericFetchClient-CX9Hn3Aq.js";
2
2
  import { componentTemplatesSchema, publishedPostsSchema } from "./schema.js";
3
3
  //#region src/clients/assets/assetsClient.ts
4
4
  const createAssetsClient = ({ baseUrl, middlewares }) => {
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_authClient = require("../authClient-BmuUo0J4.cjs");
2
+ const require_authClient = require("../authClient-BxqRGR5c.cjs");
3
3
  exports.MFA_METHOD = require_authClient.MFA_METHOD;
4
4
  exports.apiLoginResultSchema = require_authClient.apiLoginResultSchema;
5
5
  exports.apiLoginSuccessSchema = require_authClient.apiLoginSuccessSchema;
@@ -1,2 +1,2 @@
1
- import { A as PasswordInput, C as ApiLoginSuccess, D as LoginUser, E as LoginResultFor, F as mfaChallengeSchema, I as oidcInputSchema, L as passwordInputSchema, M as apiLoginSuccessSchema, N as browserLoginResultSchema, O as MfaChallenge, P as browserLoginSuccessSchema, S as ApiLoginResult, T as BrowserLoginSuccess, _ as MfaWebauthnInput, a as RefreshTokenInput, b as mfaWebauthnInputSchema, c as ChangePasswordInput, d as changeInputSchema, f as resetInputSchema, g as MfaMethod, h as MfaCodeInput, i as RefreshSessionInput, j as apiLoginResultSchema, k as OidcInput, l as ResetInput, m as MFA_METHOD, n as AuthOpenApiFetchClient, o as refreshSessionInputSchema, p as resetRequestInputSchema, r as createAuthClient, s as refreshTokenInputSchema, t as AuthClientInitOptions, u as ResetRequestInput, v as TotpVerifyInput, w as BrowserLoginResult, x as totpVerifyInputSchema, y as mfaCodeInputSchema } from "../authClient-vEt_7_uk.cjs";
1
+ import { A as PasswordInput, C as ApiLoginSuccess, D as LoginUser, E as LoginResultFor, F as mfaChallengeSchema, I as oidcInputSchema, L as passwordInputSchema, M as apiLoginSuccessSchema, N as browserLoginResultSchema, O as MfaChallenge, P as browserLoginSuccessSchema, S as ApiLoginResult, T as BrowserLoginSuccess, _ as MfaWebauthnInput, a as RefreshTokenInput, b as mfaWebauthnInputSchema, c as ChangePasswordInput, d as changeInputSchema, f as resetInputSchema, g as MfaMethod, h as MfaCodeInput, i as RefreshSessionInput, j as apiLoginResultSchema, k as OidcInput, l as ResetInput, m as MFA_METHOD, n as AuthOpenApiFetchClient, o as refreshSessionInputSchema, p as resetRequestInputSchema, r as createAuthClient, s as refreshTokenInputSchema, t as AuthClientInitOptions, u as ResetRequestInput, v as TotpVerifyInput, w as BrowserLoginResult, x as totpVerifyInputSchema, y as mfaCodeInputSchema } from "../authClient-CBVAT3v9.cjs";
2
2
  export { ApiLoginResult, ApiLoginSuccess, AuthClientInitOptions, AuthOpenApiFetchClient, BrowserLoginResult, BrowserLoginSuccess, ChangePasswordInput, LoginResultFor, LoginUser, MFA_METHOD, MfaChallenge, MfaCodeInput, MfaMethod, MfaWebauthnInput, OidcInput, PasswordInput, RefreshSessionInput, RefreshTokenInput, ResetInput, ResetRequestInput, TotpVerifyInput, apiLoginResultSchema, apiLoginSuccessSchema, browserLoginResultSchema, browserLoginSuccessSchema, changeInputSchema, createAuthClient, mfaChallengeSchema, mfaCodeInputSchema, mfaWebauthnInputSchema, oidcInputSchema, passwordInputSchema, refreshSessionInputSchema, refreshTokenInputSchema, resetInputSchema, resetRequestInputSchema, totpVerifyInputSchema };
@@ -1,2 +1,2 @@
1
- import { A as PasswordInput, C as ApiLoginSuccess, D as LoginUser, E as LoginResultFor, F as mfaChallengeSchema, I as oidcInputSchema, L as passwordInputSchema, M as apiLoginSuccessSchema, N as browserLoginResultSchema, O as MfaChallenge, P as browserLoginSuccessSchema, S as ApiLoginResult, T as BrowserLoginSuccess, _ as MfaWebauthnInput, a as RefreshTokenInput, b as mfaWebauthnInputSchema, c as ChangePasswordInput, d as changeInputSchema, f as resetInputSchema, g as MfaMethod, h as MfaCodeInput, i as RefreshSessionInput, j as apiLoginResultSchema, k as OidcInput, l as ResetInput, m as MFA_METHOD, n as AuthOpenApiFetchClient, o as refreshSessionInputSchema, p as resetRequestInputSchema, r as createAuthClient, s as refreshTokenInputSchema, t as AuthClientInitOptions, u as ResetRequestInput, v as TotpVerifyInput, w as BrowserLoginResult, x as totpVerifyInputSchema, y as mfaCodeInputSchema } from "../authClient-CHXWJ9x3.js";
1
+ import { A as PasswordInput, C as ApiLoginSuccess, D as LoginUser, E as LoginResultFor, F as mfaChallengeSchema, I as oidcInputSchema, L as passwordInputSchema, M as apiLoginSuccessSchema, N as browserLoginResultSchema, O as MfaChallenge, P as browserLoginSuccessSchema, S as ApiLoginResult, T as BrowserLoginSuccess, _ as MfaWebauthnInput, a as RefreshTokenInput, b as mfaWebauthnInputSchema, c as ChangePasswordInput, d as changeInputSchema, f as resetInputSchema, g as MfaMethod, h as MfaCodeInput, i as RefreshSessionInput, j as apiLoginResultSchema, k as OidcInput, l as ResetInput, m as MFA_METHOD, n as AuthOpenApiFetchClient, o as refreshSessionInputSchema, p as resetRequestInputSchema, r as createAuthClient, s as refreshTokenInputSchema, t as AuthClientInitOptions, u as ResetRequestInput, v as TotpVerifyInput, w as BrowserLoginResult, x as totpVerifyInputSchema, y as mfaCodeInputSchema } from "../authClient-CRumc934.js";
2
2
  export { ApiLoginResult, ApiLoginSuccess, AuthClientInitOptions, AuthOpenApiFetchClient, BrowserLoginResult, BrowserLoginSuccess, ChangePasswordInput, LoginResultFor, LoginUser, MFA_METHOD, MfaChallenge, MfaCodeInput, MfaMethod, MfaWebauthnInput, OidcInput, PasswordInput, RefreshSessionInput, RefreshTokenInput, ResetInput, ResetRequestInput, TotpVerifyInput, apiLoginResultSchema, apiLoginSuccessSchema, browserLoginResultSchema, browserLoginSuccessSchema, changeInputSchema, createAuthClient, mfaChallengeSchema, mfaCodeInputSchema, mfaWebauthnInputSchema, oidcInputSchema, passwordInputSchema, refreshSessionInputSchema, refreshTokenInputSchema, resetInputSchema, resetRequestInputSchema, totpVerifyInputSchema };
@@ -1,2 +1,2 @@
1
- import { _ as passwordInputSchema, a as resetInputSchema, c as mfaCodeInputSchema, d as apiLoginResultSchema, f as apiLoginSuccessSchema, g as oidcInputSchema, h as mfaChallengeSchema, i as changeInputSchema, l as mfaWebauthnInputSchema, m as browserLoginSuccessSchema, n as refreshSessionInputSchema, o as resetRequestInputSchema, p as browserLoginResultSchema, r as refreshTokenInputSchema, s as MFA_METHOD, t as createAuthClient, u as totpVerifyInputSchema } from "../authClient-CgcDGd30.js";
1
+ import { _ as passwordInputSchema, a as resetInputSchema, c as mfaCodeInputSchema, d as apiLoginResultSchema, f as apiLoginSuccessSchema, g as oidcInputSchema, h as mfaChallengeSchema, i as changeInputSchema, l as mfaWebauthnInputSchema, m as browserLoginSuccessSchema, n as refreshSessionInputSchema, o as resetRequestInputSchema, p as browserLoginResultSchema, r as refreshTokenInputSchema, s as MFA_METHOD, t as createAuthClient, u as totpVerifyInputSchema } from "../authClient-CX4buUMc.js";
2
2
  export { MFA_METHOD, apiLoginResultSchema, apiLoginSuccessSchema, browserLoginResultSchema, browserLoginSuccessSchema, changeInputSchema, createAuthClient, mfaChallengeSchema, mfaCodeInputSchema, mfaWebauthnInputSchema, oidcInputSchema, passwordInputSchema, refreshSessionInputSchema, refreshTokenInputSchema, resetInputSchema, resetRequestInputSchema, totpVerifyInputSchema };
@@ -1,2 +1,2 @@
1
- import { A as PatScopeInput, B as ApproveDeviceAuthorizationBody, C as GetPkceTokenResult, D as ExchangePatBodyRaw, E as CreatePatResult, F as TotpVerifyResult, G as GetDeviceAuthorizationTokenResult, H as CreateDeviceAuthorizationBody, I as VerifyMfaBody, L as VerifyMfaResult, M as DisableTotpPath, N as RegenerateRecoveryCodesResult, O as ExchangePatInput, P as TotpSetupResult, R as VerifyMfaType, S as GetPkceTokenBody, T as CreatePatInput, U as CreateDeviceAuthorizationResult, V as ApproveDeviceAuthorizationResult, W as GetDeviceAuthorizationTokenBody, _ as RevokeSessionPath, a as RemoveWebauthnInput, b as InitiateSamlBody, c as IntrospectTokenResult, d as RefreshTokenResult, f as RevokeTokenBody, g as SudoResult, h as SudoChallengeResult, i as RegisterWebauthnResult, j as RevokePatPath, k as ListPatsResult, l as RefreshTokenBody, m as SudoBodyRaw, n as RegisterWebauthnInput, o as RemoveWebauthnPath, p as SudoBody, r as RegisterWebauthnOptionsResult, s as RemoveWebauthnQuery, t as ListWebauthnCredentialsResult, u as RefreshTokenPartialBody, v as AssertSamlBody, w as CreatePatBodyRaw, x as InitiateSamlResult, y as AssertSamlResult, z as LoginBody } from "../types-BTK7Bv3n.cjs";
2
- export { ApproveDeviceAuthorizationBody, ApproveDeviceAuthorizationResult, AssertSamlBody, AssertSamlResult, CreateDeviceAuthorizationBody, CreateDeviceAuthorizationResult, CreatePatBodyRaw, CreatePatInput, CreatePatResult, DisableTotpPath, ExchangePatBodyRaw, ExchangePatInput, GetDeviceAuthorizationTokenBody, GetDeviceAuthorizationTokenResult, GetPkceTokenBody, GetPkceTokenResult, InitiateSamlBody, InitiateSamlResult, IntrospectTokenResult, ListPatsResult, ListWebauthnCredentialsResult, LoginBody, PatScopeInput, RefreshTokenBody, RefreshTokenPartialBody, RefreshTokenResult, RegenerateRecoveryCodesResult, RegisterWebauthnInput, RegisterWebauthnOptionsResult, RegisterWebauthnResult, RemoveWebauthnInput, RemoveWebauthnPath, RemoveWebauthnQuery, RevokePatPath, RevokeSessionPath, RevokeTokenBody, SudoBody, SudoBodyRaw, SudoChallengeResult, SudoResult, TotpSetupResult, TotpVerifyResult, VerifyMfaBody, VerifyMfaResult, VerifyMfaType };
1
+ import { A as PatScopeInput, B as GetMeOrganizationsQuery, C as GetPkceTokenResult, D as ExchangePatBodyRaw, E as CreatePatResult, F as TotpVerifyResult, G as CreateDeviceAuthorizationBody, H as LoginBody, I as VerifyMfaBody, J as GetDeviceAuthorizationTokenResult, K as CreateDeviceAuthorizationResult, L as VerifyMfaResult, M as DisableTotpPath, N as RegenerateRecoveryCodesResult, O as ExchangePatInput, P as TotpSetupResult, R as VerifyMfaType, S as GetPkceTokenBody, T as CreatePatInput, U as ApproveDeviceAuthorizationBody, V as GetMeProjectsQuery, W as ApproveDeviceAuthorizationResult, _ as RevokeSessionPath, a as RemoveWebauthnInput, b as InitiateSamlBody, c as IntrospectTokenResult, d as RefreshTokenResult, f as RevokeTokenBody, g as SudoResult, h as SudoChallengeResult, i as RegisterWebauthnResult, j as RevokePatPath, k as ListPatsResult, l as RefreshTokenBody, m as SudoBodyRaw, n as RegisterWebauthnInput, o as RemoveWebauthnPath, p as SudoBody, q as GetDeviceAuthorizationTokenBody, r as RegisterWebauthnOptionsResult, s as RemoveWebauthnQuery, t as ListWebauthnCredentialsResult, u as RefreshTokenPartialBody, v as AssertSamlBody, w as CreatePatBodyRaw, x as InitiateSamlResult, y as AssertSamlResult, z as GetMeMaintainersQuery } from "../types-DgPt4LY_.cjs";
2
+ export { ApproveDeviceAuthorizationBody, ApproveDeviceAuthorizationResult, AssertSamlBody, AssertSamlResult, CreateDeviceAuthorizationBody, CreateDeviceAuthorizationResult, CreatePatBodyRaw, CreatePatInput, CreatePatResult, DisableTotpPath, ExchangePatBodyRaw, ExchangePatInput, GetDeviceAuthorizationTokenBody, GetDeviceAuthorizationTokenResult, GetMeMaintainersQuery, GetMeOrganizationsQuery, GetMeProjectsQuery, GetPkceTokenBody, GetPkceTokenResult, InitiateSamlBody, InitiateSamlResult, IntrospectTokenResult, ListPatsResult, ListWebauthnCredentialsResult, LoginBody, PatScopeInput, RefreshTokenBody, RefreshTokenPartialBody, RefreshTokenResult, RegenerateRecoveryCodesResult, RegisterWebauthnInput, RegisterWebauthnOptionsResult, RegisterWebauthnResult, RemoveWebauthnInput, RemoveWebauthnPath, RemoveWebauthnQuery, RevokePatPath, RevokeSessionPath, RevokeTokenBody, SudoBody, SudoBodyRaw, SudoChallengeResult, SudoResult, TotpSetupResult, TotpVerifyResult, VerifyMfaBody, VerifyMfaResult, VerifyMfaType };