@keboola/api-client 32.0.0 → 34.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 (447) hide show
  1. package/AGENTS.md +82 -4
  2. package/API-SURFACE.md +19 -2
  3. package/CHANGELOG.md +465 -0
  4. package/dist/{ManagementClientAuthError-B-tyPlyG.cjs → ManagementClientAuthError-DD4u0EU7.cjs} +2 -2
  5. package/dist/{ManagementClientAuthError-B-tyPlyG.cjs.map → ManagementClientAuthError-DD4u0EU7.cjs.map} +1 -1
  6. package/dist/{ManagementClientAuthError-BAFNvOdf.js → ManagementClientAuthError-ey-f03vy.js} +2 -2
  7. package/dist/{ManagementClientAuthError-BAFNvOdf.js.map → ManagementClientAuthError-ey-f03vy.js.map} +1 -1
  8. package/dist/{ValidationError-CzPWydEb.js → ValidationError-BekhphAq.js} +11 -7
  9. package/dist/ValidationError-BekhphAq.js.map +1 -0
  10. package/dist/{ValidationError-h5qvwahi.cjs → ValidationError-CLVJCCwH.cjs} +16 -6
  11. package/dist/ValidationError-CLVJCCwH.cjs.map +1 -0
  12. package/dist/ai/index.cjs +2 -2
  13. package/dist/ai/index.d.cts +2 -2
  14. package/dist/ai/index.d.ts +2 -2
  15. package/dist/ai/index.js +2 -2
  16. package/dist/ai/types.d.cts +1 -1
  17. package/dist/ai/types.d.ts +1 -1
  18. package/dist/{appLogs-NIEDTDHf.cjs → appLogs-BjfUoWzs.cjs} +2 -2
  19. package/dist/{appLogs-NIEDTDHf.cjs.map → appLogs-BjfUoWzs.cjs.map} +1 -1
  20. package/dist/{appLogs-DX_WTBCa.d.ts → appLogs-Ch7DYpzx.d.ts} +2 -2
  21. package/dist/{appLogs-BAaaGYKg.d.cts → appLogs-D5A13Y0y.d.cts} +2 -2
  22. package/dist/{appLogs-DTLE6HTy.js → appLogs-xsVkTriU.js} +2 -2
  23. package/dist/{appLogs-DTLE6HTy.js.map → appLogs-xsVkTriU.js.map} +1 -1
  24. package/dist/apps/index.cjs +3 -3
  25. package/dist/apps/index.d.cts +3 -3
  26. package/dist/apps/index.d.ts +3 -3
  27. package/dist/apps/index.js +3 -3
  28. package/dist/apps/types.d.cts +2 -2
  29. package/dist/apps/types.d.ts +2 -2
  30. package/dist/assets/index.cjs +1 -1
  31. package/dist/assets/index.d.cts +1 -1
  32. package/dist/assets/index.d.ts +1 -1
  33. package/dist/assets/index.js +1 -1
  34. package/dist/auth/index.cjs +1 -1
  35. package/dist/auth/index.d.cts +1 -1
  36. package/dist/auth/index.d.ts +1 -1
  37. package/dist/auth/index.js +1 -1
  38. package/dist/auth/types.d.cts +2 -2
  39. package/dist/auth/types.d.ts +2 -2
  40. package/dist/{auth-DP-6TFiM.cjs → auth-JQ33o3nU.cjs} +2 -2
  41. package/dist/{auth-DP-6TFiM.cjs.map → auth-JQ33o3nU.cjs.map} +1 -1
  42. package/dist/{auth-DtbQaeDj.js → auth-aItmDu45.js} +2 -2
  43. package/dist/{auth-DtbQaeDj.js.map → auth-aItmDu45.js.map} +1 -1
  44. package/dist/{authClient-DhfzOUaa.d.cts → authClient-CTHNs6Tq.d.cts} +6 -6
  45. package/dist/{authClient--BtZgjIc.js → authClient-D7W9vWPR.js} +43 -9
  46. package/dist/authClient-D7W9vWPR.js.map +1 -0
  47. package/dist/{authClient-CtfyVHRD.d.ts → authClient-D8i3JTM-.d.ts} +6 -6
  48. package/dist/{authClient-b7uec7sw.cjs → authClient-_PpvGgZJ.cjs} +43 -9
  49. package/dist/authClient-_PpvGgZJ.cjs.map +1 -0
  50. package/dist/billing/index.cjs +46 -0
  51. package/dist/billing/index.cjs.map +1 -0
  52. package/dist/billing/index.d.cts +48 -0
  53. package/dist/billing/index.d.ts +48 -0
  54. package/dist/billing/index.js +45 -0
  55. package/dist/billing/index.js.map +1 -0
  56. package/dist/billing/types.cjs +0 -0
  57. package/dist/billing/types.d.cts +635 -0
  58. package/dist/billing/types.d.ts +635 -0
  59. package/dist/billing/types.js +1 -0
  60. package/dist/chat/index.cjs +3 -3
  61. package/dist/chat/index.d.cts +2 -2
  62. package/dist/chat/index.d.ts +2 -2
  63. package/dist/chat/index.js +3 -3
  64. package/dist/chat/types.cjs +18 -0
  65. package/dist/chat/types.cjs.map +1 -1
  66. package/dist/chat/types.d.cts +2 -2
  67. package/dist/chat/types.d.ts +2 -2
  68. package/dist/chat/types.js +18 -1
  69. package/dist/chat/types.js.map +1 -1
  70. package/dist/{configurations-d7SZmw69.js → configurations-BVvcimzo.js} +17 -2
  71. package/dist/configurations-BVvcimzo.js.map +1 -0
  72. package/dist/{configurations-CqwAxiQL.cjs → configurations-CyFF9Dtu.cjs} +22 -1
  73. package/dist/configurations-CyFF9Dtu.cjs.map +1 -0
  74. package/dist/{configurations-ZwBXilW-.js → configurations-VtNE0nrT.js} +2 -2
  75. package/dist/{configurations-ZwBXilW-.js.map → configurations-VtNE0nrT.js.map} +1 -1
  76. package/dist/{configurations-Ck-mNB_E.cjs → configurations-zkNjr73Q.cjs} +2 -2
  77. package/dist/{configurations-Ck-mNB_E.cjs.map → configurations-zkNjr73Q.cjs.map} +1 -1
  78. package/dist/constants/index.cjs +1 -1
  79. package/dist/constants/index.d.cts +1 -1
  80. package/dist/constants/index.d.ts +1 -1
  81. package/dist/constants/index.js +1 -1
  82. package/dist/{constants-lIfSdTzS.cjs → constants-C4DlsF_M.cjs} +3 -2
  83. package/dist/constants-C4DlsF_M.cjs.map +1 -0
  84. package/dist/{constants-ByEwVtGf.js → constants-wfbFsqqN.js} +3 -2
  85. package/dist/constants-wfbFsqqN.js.map +1 -0
  86. package/dist/{createFetchClient-BRfTjBLV.cjs → createFetchClient-DgMiqTJ8.cjs} +26 -4
  87. package/dist/createFetchClient-DgMiqTJ8.cjs.map +1 -0
  88. package/dist/{createFetchClient-BbG46bL0.js → createFetchClient-U-ZrwPl2.js} +15 -5
  89. package/dist/createFetchClient-U-ZrwPl2.js.map +1 -0
  90. package/dist/{createGenericFetchClient-DHs-i7_O.cjs → createGenericFetchClient-o3cPJeRn.cjs} +2 -2
  91. package/dist/{createGenericFetchClient-DHs-i7_O.cjs.map → createGenericFetchClient-o3cPJeRn.cjs.map} +1 -1
  92. package/dist/{createGenericFetchClient-BHYQLZhe.js → createGenericFetchClient-rxvUUbap.js} +2 -2
  93. package/dist/{createGenericFetchClient-BHYQLZhe.js.map → createGenericFetchClient-rxvUUbap.js.map} +1 -1
  94. package/dist/{createOpenapiFetchClient-Bn6_Pn0H.js → createOpenapiFetchClient-BVSc9ibR.js} +2 -2
  95. package/dist/{createOpenapiFetchClient-Bn6_Pn0H.js.map → createOpenapiFetchClient-BVSc9ibR.js.map} +1 -1
  96. package/dist/{createOpenapiFetchClient-CyDUFxHB.cjs → createOpenapiFetchClient-DhUU3M1W.cjs} +2 -2
  97. package/dist/{createOpenapiFetchClient-CyDUFxHB.cjs.map → createOpenapiFetchClient-DhUU3M1W.cjs.map} +1 -1
  98. package/dist/{credential-d2RDcXRB.js → credential-CihSf_xs.js} +7 -4
  99. package/dist/credential-CihSf_xs.js.map +1 -0
  100. package/dist/{credential-DOXH7XRS.cjs → credential-DVWvJFJs.cjs} +7 -4
  101. package/dist/credential-DVWvJFJs.cjs.map +1 -0
  102. package/dist/dataScience/index.cjs +2 -2
  103. package/dist/dataScience/index.d.cts +2 -2
  104. package/dist/dataScience/index.d.ts +2 -2
  105. package/dist/dataScience/index.js +2 -2
  106. package/dist/dataScience/types.d.cts +2 -2
  107. package/dist/dataScience/types.d.ts +2 -2
  108. package/dist/{dataScience-wexHEIue.cjs → dataScience-0Rl_EuV_.cjs} +5 -5
  109. package/dist/{dataScience-wexHEIue.cjs.map → dataScience-0Rl_EuV_.cjs.map} +1 -1
  110. package/dist/{dataScience-Sm8iONhP.js → dataScience-C1gO5zUn.js} +5 -5
  111. package/dist/{dataScience-Sm8iONhP.js.map → dataScience-C1gO5zUn.js.map} +1 -1
  112. package/dist/developerPortal/index.cjs +1 -1
  113. package/dist/developerPortal/index.d.cts +2 -2
  114. package/dist/developerPortal/index.d.ts +2 -2
  115. package/dist/developerPortal/index.js +1 -1
  116. package/dist/developerPortal/types.d.cts +1 -1
  117. package/dist/developerPortal/types.d.ts +1 -1
  118. package/dist/{developerPortalClient-DywKpDlW.js → developerPortalClient-C_48z8BN.js} +3 -3
  119. package/dist/{developerPortalClient-DywKpDlW.js.map → developerPortalClient-C_48z8BN.js.map} +1 -1
  120. package/dist/{developerPortalClient-CgTSzLoG.cjs → developerPortalClient-ki0XS_OD.cjs} +3 -3
  121. package/dist/{developerPortalClient-CgTSzLoG.cjs.map → developerPortalClient-ki0XS_OD.cjs.map} +1 -1
  122. package/dist/domain/permissions/index.cjs +2 -1
  123. package/dist/domain/permissions/index.d.cts +18 -3
  124. package/dist/domain/permissions/index.d.ts +18 -3
  125. package/dist/domain/permissions/index.js +2 -2
  126. package/dist/editor/index.cjs +2 -2
  127. package/dist/editor/index.d.cts +2 -2
  128. package/dist/editor/index.d.ts +2 -2
  129. package/dist/editor/index.js +2 -2
  130. package/dist/editor/types.d.cts +1 -1
  131. package/dist/editor/types.d.ts +1 -1
  132. package/dist/emitter-dLF1Fyfg.d.cts +11 -0
  133. package/dist/emitter-dLF1Fyfg.d.ts +11 -0
  134. package/dist/encryption/index.cjs +1 -1
  135. package/dist/encryption/index.d.cts +1 -1
  136. package/dist/encryption/index.d.ts +1 -1
  137. package/dist/encryption/index.js +1 -1
  138. package/dist/encryption/types.d.cts +1 -1
  139. package/dist/encryption/types.d.ts +1 -1
  140. package/dist/import/index.cjs +1 -1
  141. package/dist/import/index.d.cts +3 -3
  142. package/dist/import/index.d.ts +3 -3
  143. package/dist/import/index.js +1 -1
  144. package/dist/{import-C0-y1GQK.cjs → import-C83w7BKz.cjs} +3 -3
  145. package/dist/{import-C0-y1GQK.cjs.map → import-C83w7BKz.cjs.map} +1 -1
  146. package/dist/{import-SQuurg1G.js → import-CROEK82b.js} +3 -3
  147. package/dist/{import-SQuurg1G.js.map → import-CROEK82b.js.map} +1 -1
  148. package/dist/{index-fHfc_VqS.d.ts → index-3LUk2rpD.d.ts} +4 -4
  149. package/dist/{index-Dbzjvy5h.d.ts → index-6Xe81qN3.d.ts} +5 -5
  150. package/dist/{index-Bjk-tCpG.d.cts → index-BLx14ZI4.d.cts} +306 -205
  151. package/dist/{index-DiHHyMEo.d.cts → index-BgLnWTZU.d.cts} +6 -6
  152. package/dist/{index-Bc_hXWae.d.ts → index-BuegqrS1.d.ts} +3 -3
  153. package/dist/{index-GDdFZCXp.d.ts → index-C77vTm2K.d.ts} +4 -4
  154. package/dist/{index-CXtdQ7be.d.cts → index-CW3Pj7DY.d.cts} +4 -4
  155. package/dist/{index-Bg1P6Bb2.d.ts → index-CqgtL2NU.d.ts} +6 -6
  156. package/dist/{index-DeKPpYQy.d.ts → index-D8rcUbnk.d.ts} +3 -3
  157. package/dist/{index-FhKX7Cv1.d.ts → index-DFBFa3SS.d.ts} +306 -205
  158. package/dist/{index-eAlN694c.d.cts → index-DR4QqItd.d.cts} +3 -3
  159. package/dist/{index-Gn1H63Hk.d.cts → index-DXSmFkol.d.cts} +4 -4
  160. package/dist/{index-D_7yCRKy.d.cts → index-Dodwl64k.d.cts} +69 -36
  161. package/dist/{index-DqOAjqxN.d.cts → index-DppA4k3b.d.cts} +5 -5
  162. package/dist/{index-C7e3wBt9.d.cts → index-Dx52hNLP.d.cts} +3 -3
  163. package/dist/{index-BKh0prif.d.cts → index-GjcJTCbz.d.cts} +4 -4
  164. package/dist/{index-CQrKS7PV.d.cts → index-KuQ79Mnz.d.ts} +14 -3
  165. package/dist/{index-Ctqkm3Fx.d.ts → index-P-iT5THa.d.ts} +69 -36
  166. package/dist/{index-CeJOmN-P.d.ts → index-V7XKUQm9.d.cts} +14 -3
  167. package/dist/{index-tKsiUarj.d.ts → index-pXN4LWUX.d.ts} +4 -4
  168. package/dist/index.cjs +353 -57
  169. package/dist/index.cjs.map +1 -1
  170. package/dist/index.d.cts +7 -6
  171. package/dist/index.d.ts +7 -6
  172. package/dist/index.js +331 -37
  173. package/dist/index.js.map +1 -1
  174. package/dist/isLoginPageRedirect-B0EmRsHr.cjs +25 -0
  175. package/dist/isLoginPageRedirect-B0EmRsHr.cjs.map +1 -0
  176. package/dist/isLoginPageRedirect-BTTAedW-.js +20 -0
  177. package/dist/isLoginPageRedirect-BTTAedW-.js.map +1 -0
  178. package/dist/{jobStatus-kQ9JqF8t.cjs → jobStatus-0_Y3Sr4i.cjs} +37 -20
  179. package/dist/jobStatus-0_Y3Sr4i.cjs.map +1 -0
  180. package/dist/{jobStatus-DbMupQEK.js → jobStatus-PSZJMTiA.js} +35 -18
  181. package/dist/jobStatus-PSZJMTiA.js.map +1 -0
  182. package/dist/kaiAgent/index.cjs +1 -1
  183. package/dist/kaiAgent/index.d.cts +2 -210
  184. package/dist/kaiAgent/index.d.ts +2 -210
  185. package/dist/kaiAgent/index.js +1 -1
  186. package/dist/kaiAgent/types.d.cts +1 -1
  187. package/dist/kaiAgent/types.d.ts +1 -1
  188. package/dist/{kaiAgent-HDaFS9BR.js → kaiAgent-8LNzGhZc.js} +48 -4
  189. package/dist/kaiAgent-8LNzGhZc.js.map +1 -0
  190. package/dist/{kaiAgent-4OiIK1C2.cjs → kaiAgent-B_TaUPRt.cjs} +48 -4
  191. package/dist/kaiAgent-B_TaUPRt.cjs.map +1 -0
  192. package/dist/kaiAgentClient-BJj_2aqt.d.ts +250 -0
  193. package/dist/kaiAgentClient-DhTaM3GC.d.cts +250 -0
  194. package/dist/management/index.cjs +1 -1
  195. package/dist/management/index.d.cts +1 -1
  196. package/dist/management/index.d.ts +1 -1
  197. package/dist/management/index.js +1 -1
  198. package/dist/management/types.d.cts +2 -2
  199. package/dist/management/types.d.ts +2 -2
  200. package/dist/{management-DfjwQo7z.cjs → management-BoxlRNg2.cjs} +53 -10
  201. package/dist/management-BoxlRNg2.cjs.map +1 -0
  202. package/dist/{management-CIFhu1Nm.js → management-Bp440RsV.js} +53 -10
  203. package/dist/management-Bp440RsV.js.map +1 -0
  204. package/dist/metastore/index.cjs +1 -1
  205. package/dist/metastore/index.d.cts +1 -1
  206. package/dist/metastore/index.d.ts +1 -1
  207. package/dist/metastore/index.js +1 -1
  208. package/dist/metastore/types.d.cts +1 -1
  209. package/dist/metastore/types.d.ts +1 -1
  210. package/dist/{metastore-Dq2NS6jb.cjs → metastore-BYYWTb3m.cjs} +4 -4
  211. package/dist/{metastore-Dq2NS6jb.cjs.map → metastore-BYYWTb3m.cjs.map} +1 -1
  212. package/dist/{metastore-CrXkKufo.js → metastore-VCDRVhUT.js} +4 -4
  213. package/dist/{metastore-CrXkKufo.js.map → metastore-VCDRVhUT.js.map} +1 -1
  214. package/dist/microsoftGraph/index.cjs +2 -2
  215. package/dist/microsoftGraph/index.d.cts +2 -2
  216. package/dist/microsoftGraph/index.d.ts +2 -2
  217. package/dist/microsoftGraph/index.js +2 -2
  218. package/dist/microsoftGraph/types.d.cts +1 -1
  219. package/dist/microsoftGraph/types.d.ts +1 -1
  220. package/dist/notifications/index.cjs +3 -3
  221. package/dist/notifications/index.d.cts +2 -2
  222. package/dist/notifications/index.d.ts +2 -2
  223. package/dist/notifications/index.js +3 -3
  224. package/dist/notifications/types.d.cts +1 -1
  225. package/dist/notifications/types.d.ts +1 -1
  226. package/dist/oauth/index.cjs +1 -1
  227. package/dist/oauth/index.d.cts +2 -2
  228. package/dist/oauth/index.d.ts +2 -2
  229. package/dist/oauth/index.js +1 -1
  230. package/dist/oauth/types.d.cts +1 -1
  231. package/dist/oauth/types.d.ts +1 -1
  232. package/dist/{oauth-CFwSNz37.js → oauth--asfePw-.js} +5 -5
  233. package/dist/{oauth-CFwSNz37.js.map → oauth--asfePw-.js.map} +1 -1
  234. package/dist/{oauth-CkW5gln-.cjs → oauth-B8yqG6Sy.cjs} +5 -5
  235. package/dist/{oauth-CkW5gln-.cjs.map → oauth-B8yqG6Sy.cjs.map} +1 -1
  236. package/dist/omnisearch/index.cjs +2 -2
  237. package/dist/omnisearch/index.d.cts +2 -2
  238. package/dist/omnisearch/index.d.ts +2 -2
  239. package/dist/omnisearch/index.js +2 -2
  240. package/dist/omnisearch/types.d.cts +1 -1
  241. package/dist/omnisearch/types.d.ts +1 -1
  242. package/dist/{project-BOGaVs-q.d.ts → project-C2wvX0xZ.d.ts} +2 -2
  243. package/dist/{project-BnQkL8cb.d.cts → project-hePfzUY0.d.cts} +2 -2
  244. package/dist/queryService/index.cjs +1 -1
  245. package/dist/queryService/index.d.cts +1 -1
  246. package/dist/queryService/index.d.ts +1 -1
  247. package/dist/queryService/index.js +1 -1
  248. package/dist/queryService/types.d.cts +1 -1
  249. package/dist/queryService/types.d.ts +1 -1
  250. package/dist/{queryService-BLaGbpm-.cjs → queryService-BVtjkXy1.cjs} +6 -6
  251. package/dist/{queryService-BLaGbpm-.cjs.map → queryService-BVtjkXy1.cjs.map} +1 -1
  252. package/dist/{queryService-DK-jUnET.js → queryService-Ca65E5KH.js} +6 -6
  253. package/dist/{queryService-DK-jUnET.js.map → queryService-Ca65E5KH.js.map} +1 -1
  254. package/dist/queue/index.cjs +1 -1
  255. package/dist/queue/index.d.cts +3 -3
  256. package/dist/queue/index.d.ts +3 -3
  257. package/dist/queue/index.js +1 -1
  258. package/dist/queue/types.d.cts +1 -1
  259. package/dist/queue/types.d.ts +1 -1
  260. package/dist/{queue-DViSQ-eq.js → queue-DyotLFJi.js} +5 -5
  261. package/dist/{queue-DViSQ-eq.js.map → queue-DyotLFJi.js.map} +1 -1
  262. package/dist/{queue-B7TY4JLf.cjs → queue-OJJUUqc2.cjs} +5 -5
  263. package/dist/{queue-B7TY4JLf.cjs.map → queue-OJJUUqc2.cjs.map} +1 -1
  264. package/dist/scheduler/index.cjs +3 -3
  265. package/dist/scheduler/index.d.cts +2 -2
  266. package/dist/scheduler/index.d.ts +2 -2
  267. package/dist/scheduler/index.js +3 -3
  268. package/dist/scheduler/types.d.cts +1 -1
  269. package/dist/scheduler/types.d.ts +1 -1
  270. package/dist/sdk/configurations/index.cjs +1 -1
  271. package/dist/sdk/configurations/index.d.cts +4 -4
  272. package/dist/sdk/configurations/index.d.ts +4 -4
  273. package/dist/sdk/configurations/index.js +1 -1
  274. package/dist/sdk/developerPortal/index.cjs +5 -5
  275. package/dist/sdk/developerPortal/index.cjs.map +1 -1
  276. package/dist/sdk/developerPortal/index.d.cts +5 -4
  277. package/dist/sdk/developerPortal/index.d.ts +5 -4
  278. package/dist/sdk/developerPortal/index.js +4 -4
  279. package/dist/sdk/queryService/index.cjs +2 -2
  280. package/dist/sdk/queryService/index.d.cts +1 -1
  281. package/dist/sdk/queryService/index.d.ts +1 -1
  282. package/dist/sdk/queryService/index.js +2 -2
  283. package/dist/sdk/semanticLayer/index.cjs +21 -359
  284. package/dist/sdk/semanticLayer/index.d.cts +35 -13
  285. package/dist/sdk/semanticLayer/index.d.ts +35 -13
  286. package/dist/sdk/semanticLayer/index.js +2 -347
  287. package/dist/sdk/semanticLayer/types.d.cts +2 -2
  288. package/dist/sdk/semanticLayer/types.d.ts +2 -2
  289. package/dist/sdk/storage/index.d.cts +1 -1
  290. package/dist/sdk/storage/index.d.ts +1 -1
  291. package/dist/sdk/tag/index.d.cts +2 -2
  292. package/dist/sdk/tag/index.d.ts +2 -2
  293. package/dist/sdk/tag/types.d.cts +1 -1
  294. package/dist/sdk/tag/types.d.ts +1 -1
  295. package/dist/sdk/vault/index.d.cts +1 -1
  296. package/dist/sdk/vault/index.d.ts +1 -1
  297. package/dist/semanticLayer-CSqmtHRo.js +692 -0
  298. package/dist/semanticLayer-CSqmtHRo.js.map +1 -0
  299. package/dist/semanticLayer-E0Vilu8u.cjs +811 -0
  300. package/dist/semanticLayer-E0Vilu8u.cjs.map +1 -0
  301. package/dist/{serviceIds-fHLDwOg9.d.ts → serviceIds-DRcoTnSd.d.cts} +2 -1
  302. package/dist/{serviceIds-fHLDwOg9.d.cts → serviceIds-DRcoTnSd.d.ts} +2 -1
  303. package/dist/status/index.cjs +1 -1
  304. package/dist/status/index.d.cts +1 -1
  305. package/dist/status/index.d.ts +1 -1
  306. package/dist/status/index.js +1 -1
  307. package/dist/storage/index.cjs +6 -5
  308. package/dist/storage/index.d.cts +3 -3
  309. package/dist/storage/index.d.ts +3 -3
  310. package/dist/storage/index.js +6 -6
  311. package/dist/storage/types.d.cts +3 -3
  312. package/dist/storage/types.d.ts +3 -3
  313. package/dist/{storage-CihHwZ7z.cjs → storage-BKm7cztt.cjs} +7 -7
  314. package/dist/{storage-CihHwZ7z.cjs.map → storage-BKm7cztt.cjs.map} +1 -1
  315. package/dist/{storage-kgxscFEg.js → storage-LYwFQPNO.js} +7 -7
  316. package/dist/{storage-kgxscFEg.js.map → storage-LYwFQPNO.js.map} +1 -1
  317. package/dist/store-C9FQCHGe.js +74 -0
  318. package/dist/store-C9FQCHGe.js.map +1 -0
  319. package/dist/store-xS-Cu_VS.cjs +85 -0
  320. package/dist/store-xS-Cu_VS.cjs.map +1 -0
  321. package/dist/stream/index.cjs +3 -3
  322. package/dist/stream/index.d.cts +2 -2
  323. package/dist/stream/index.d.ts +2 -2
  324. package/dist/stream/index.js +3 -3
  325. package/dist/stream/types.d.cts +1 -1
  326. package/dist/stream/types.d.ts +1 -1
  327. package/dist/syncActions/index.cjs +1 -1
  328. package/dist/syncActions/index.d.cts +1 -1
  329. package/dist/syncActions/index.d.ts +1 -1
  330. package/dist/syncActions/index.js +1 -1
  331. package/dist/syncActions/types.d.cts +1 -1
  332. package/dist/syncActions/types.d.ts +1 -1
  333. package/dist/{syncActions-CevF_TEb.cjs → syncActions-OEZdVffK.cjs} +6 -6
  334. package/dist/{syncActions-CevF_TEb.cjs.map → syncActions-OEZdVffK.cjs.map} +1 -1
  335. package/dist/{syncActions-B75t0NwP.js → syncActions-QeBhIVhG.js} +6 -6
  336. package/dist/{syncActions-B75t0NwP.js.map → syncActions-QeBhIVhG.js.map} +1 -1
  337. package/dist/telemetry/index.cjs +38 -2
  338. package/dist/telemetry/index.cjs.map +1 -0
  339. package/dist/telemetry/index.d.cts +15 -8
  340. package/dist/telemetry/index.d.ts +15 -8
  341. package/dist/telemetry/index.js +37 -1
  342. package/dist/telemetry/index.js.map +1 -0
  343. package/dist/telemetry/types.d.cts +2 -2
  344. package/dist/telemetry/types.d.ts +2 -2
  345. package/dist/{types-D1uloiuY.d.cts → types-3eUgOA7I.d.cts} +2 -2
  346. package/dist/{types-CvkqEvhv.d.cts → types-52irAt99.d.cts} +2 -2
  347. package/dist/{types-CyHZ1ZQe.d.ts → types-B2U9cFcx.d.ts} +2 -2
  348. package/dist/{types-Av2egS_l.d.ts → types-B3GOGUJ7.d.cts} +753 -45
  349. package/dist/{types-BH9ljNmj.d.cts → types-BEe50G2r.d.cts} +2 -2
  350. package/dist/{types-BlCoTm7n.d.ts → types-BH5LLeJy.d.ts} +2 -2
  351. package/dist/{types-BptQ7jpP.d.cts → types-BMeDOB_D.d.ts} +753 -45
  352. package/dist/{types-MbcIiKDI.d.cts → types-BOqD3Hqy.d.cts} +3 -3
  353. package/dist/{types-DeSd3gqW.d.ts → types-BQsOHNI0.d.ts} +3 -3
  354. package/dist/{types-DNXC_-fA.d.cts → types-BQvv4RaI.d.cts} +2 -2
  355. package/dist/{types-BnaAo7xn.d.ts → types-BTWIPEiU.d.ts} +2 -2
  356. package/dist/{types-C1vhYcic.d.cts → types-BW2BXUB4.d.cts} +2 -2
  357. package/dist/{types-CXTqFYah.d.ts → types-BrYkBQo4.d.ts} +37 -6
  358. package/dist/{types-BZBdLUpH.d.ts → types-BsxLGDoC.d.cts} +2 -2
  359. package/dist/{types-BMQW-2Yw.d.ts → types-BupPADSm.d.ts} +737 -80
  360. package/dist/{types-COc-nind.d.cts → types-Bxhh2SJr.d.ts} +2 -2
  361. package/dist/{types-ByWD2oeV.d.ts → types-BztF4HeB.d.ts} +2 -2
  362. package/dist/{types-dybUhlU2.d.ts → types-C0_2KZ-A.d.ts} +2 -2
  363. package/dist/types-C2vefB4D.d.ts +218 -0
  364. package/dist/{types-CkcMoXRk.d.ts → types-CBgLCkYe.d.ts} +3 -3
  365. package/dist/{types-Cz1dj_TM.d.ts → types-CKiW3n6v.d.ts} +2 -2
  366. package/dist/{types-CcuG9cid.d.cts → types-COL1kVEB.d.cts} +2 -2
  367. package/dist/types-CPB-eF82.d.ts +289 -0
  368. package/dist/{types-BoV9M5Xg.d.cts → types-CW6lCqrC.d.cts} +2 -2
  369. package/dist/{types-CPanB0p7.d.cts → types-CaYtinmA.d.cts} +3 -3
  370. package/dist/{types-De_DA2ga.d.ts → types-CcrvrAJX.d.ts} +2 -2
  371. package/dist/{types-DwpRt3e9.d.ts → types-Ct0YPy2w.d.ts} +2 -2
  372. package/dist/{types-B4jdPHoL.d.cts → types-Cz83RiVu.d.cts} +2 -2
  373. package/dist/{types-DlbiVsVo.d.cts → types-D8Rrz51O.d.cts} +2 -2
  374. package/dist/{types-CyiRYRVq.d.cts → types-DARv_P6O.d.cts} +3 -3
  375. package/dist/{types-DuiUN0h8.d.ts → types-DBOSvWtD.d.ts} +2 -2
  376. package/dist/{types-D6jKxUv_.d.ts → types-DEc55spK.d.ts} +45 -4
  377. package/dist/{types-cDU_J45_.d.cts → types-DNxOHnZI.d.cts} +2 -2
  378. package/dist/{types-GuWtMCMn.d.cts → types-DPS8nwkV.d.cts} +2 -2
  379. package/dist/{types-Di8VIZwQ.d.ts → types-DYzJ6K2e.d.ts} +2 -2
  380. package/dist/{types-BI2jI-3-.d.cts → types-DZk3XHiN.d.cts} +3 -3
  381. package/dist/{types-Dfc58bPE.d.ts → types-DajzGOKB.d.ts} +2 -2
  382. package/dist/{types-C2CLlR4i.d.ts → types-DfvdbRPL.d.ts} +2 -2
  383. package/dist/{types-CpALS017.d.ts → types-DhDNS-5B.d.ts} +21 -3
  384. package/dist/{types-BV2BDccJ.d.cts → types-DjrRmQUe.d.cts} +45 -4
  385. package/dist/{types-sVYo0o9_.d.ts → types-Dmu-8g4O.d.ts} +3 -3
  386. package/dist/{types-COIsNoTQ.d.cts → types-DqxIx9Pi.d.cts} +2 -2
  387. package/dist/{types-Cj4bLPp5.d.cts → types-Jw10xuOW.d.cts} +37 -6
  388. package/dist/{types-CJHi0zdD.d.cts → types-M46WuBSm.d.cts} +2 -2
  389. package/dist/{types-zA3H84SM.d.cts → types-N3EChotg.d.cts} +2 -2
  390. package/dist/{types-Bpnpa2Wt.d.ts → types-OaD-cbbl.d.ts} +3 -3
  391. package/dist/{types-BREGN3qo.d.cts → types-_RhBCj4_.d.cts} +2 -2
  392. package/dist/{types-CGH_lfxS.d.cts → types-bGQb4Jtl.d.cts} +21 -3
  393. package/dist/{types-iNlsdRkx.d.cts → types-f8W_j6qD.d.cts} +737 -80
  394. package/dist/types-fX4gbxfV.d.cts +218 -0
  395. package/dist/types-g3vU7hcg.d.cts +289 -0
  396. package/dist/{types-D-qI9ne4.d.ts → types-l9o4gFsI.d.ts} +2 -2
  397. package/dist/{types-EJEoI3ZK.d.ts → types-nrviNdzZ.d.ts} +2 -2
  398. package/dist/{types-BTbczawY.d.ts → types-zZBxJ0P-.d.ts} +2 -2
  399. package/dist/{validateConnectionStatus-V9q6Nl6u.cjs → validateConnectionStatus-CsvYmCOI.cjs} +5 -4
  400. package/dist/validateConnectionStatus-CsvYmCOI.cjs.map +1 -0
  401. package/dist/{validateConnectionStatus-BrLXkoSI.js → validateConnectionStatus-olE2sQ3U.js} +5 -4
  402. package/dist/{validateConnectionStatus-BrLXkoSI.js.map → validateConnectionStatus-olE2sQ3U.js.map} +1 -1
  403. package/dist/vault/index.cjs +4 -4
  404. package/dist/vault/index.d.cts +1 -1
  405. package/dist/vault/index.d.ts +1 -1
  406. package/dist/vault/index.js +4 -4
  407. package/dist/vault/types.d.cts +1 -1
  408. package/dist/vault/types.d.ts +1 -1
  409. package/package.json +30 -4
  410. package/surface/auth.md +2 -2
  411. package/surface/billing.md +9 -0
  412. package/surface/kaiAgent.md +7 -4
  413. package/surface/management.md +13 -3
  414. package/surface/telemetry.md +2 -4
  415. package/dist/ValidationError-CzPWydEb.js.map +0 -1
  416. package/dist/ValidationError-h5qvwahi.cjs.map +0 -1
  417. package/dist/authClient--BtZgjIc.js.map +0 -1
  418. package/dist/authClient-b7uec7sw.cjs.map +0 -1
  419. package/dist/configurations-CqwAxiQL.cjs.map +0 -1
  420. package/dist/configurations-d7SZmw69.js.map +0 -1
  421. package/dist/constants-ByEwVtGf.js.map +0 -1
  422. package/dist/constants-lIfSdTzS.cjs.map +0 -1
  423. package/dist/createFetchClient-BRfTjBLV.cjs.map +0 -1
  424. package/dist/createFetchClient-BbG46bL0.js.map +0 -1
  425. package/dist/createStore-BNiCRQXa.js +0 -148
  426. package/dist/createStore-BNiCRQXa.js.map +0 -1
  427. package/dist/createStore-MQbboXcB.cjs +0 -177
  428. package/dist/createStore-MQbboXcB.cjs.map +0 -1
  429. package/dist/credential-DOXH7XRS.cjs.map +0 -1
  430. package/dist/credential-d2RDcXRB.js.map +0 -1
  431. package/dist/jobStatus-DbMupQEK.js.map +0 -1
  432. package/dist/jobStatus-kQ9JqF8t.cjs.map +0 -1
  433. package/dist/kaiAgent-4OiIK1C2.cjs.map +0 -1
  434. package/dist/kaiAgent-HDaFS9BR.js.map +0 -1
  435. package/dist/management-CIFhu1Nm.js.map +0 -1
  436. package/dist/management-DfjwQo7z.cjs.map +0 -1
  437. package/dist/sdk/semanticLayer/index.cjs.map +0 -1
  438. package/dist/sdk/semanticLayer/index.js.map +0 -1
  439. package/dist/telemetry-DwlSLVAU.cjs +0 -29
  440. package/dist/telemetry-DwlSLVAU.cjs.map +0 -1
  441. package/dist/telemetry-FXpodtJN.js +0 -24
  442. package/dist/telemetry-FXpodtJN.js.map +0 -1
  443. package/dist/types-B2vmg_UF.d.cts +0 -148
  444. package/dist/types-RfaldD4P.d.ts +0 -148
  445. package/dist/types-lFsTSkhe.d.cts +0 -14
  446. package/dist/types-lFsTSkhe.d.ts +0 -14
  447. package/dist/validateConnectionStatus-V9q6Nl6u.cjs.map +0 -1
@@ -1,4 +1,4 @@
1
- const require_createFetchClient = require("./createFetchClient-BRfTjBLV.cjs");
1
+ const require_createFetchClient = require("./createFetchClient-DgMiqTJ8.cjs");
2
2
  //#region src/errors/ManagementClientAuthError.ts
3
3
  var ManagementClientAuthError = class extends require_createFetchClient.ApiError {
4
4
  title;
@@ -17,4 +17,4 @@ Object.defineProperty(exports, "ManagementClientAuthError", {
17
17
  }
18
18
  });
19
19
 
20
- //# sourceMappingURL=ManagementClientAuthError-B-tyPlyG.cjs.map
20
+ //# sourceMappingURL=ManagementClientAuthError-DD4u0EU7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManagementClientAuthError-B-tyPlyG.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.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,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
1
+ {"version":3,"file":"ManagementClientAuthError-DD4u0EU7.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.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,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
@@ -1,4 +1,4 @@
1
- import { m as ApiError } from "./createFetchClient-BbG46bL0.js";
1
+ import { g as ApiError } from "./createFetchClient-U-ZrwPl2.js";
2
2
  //#region src/errors/ManagementClientAuthError.ts
3
3
  var ManagementClientAuthError = class extends ApiError {
4
4
  title;
@@ -12,4 +12,4 @@ var ManagementClientAuthError = class extends ApiError {
12
12
  //#endregion
13
13
  export { ManagementClientAuthError as t };
14
14
 
15
- //# sourceMappingURL=ManagementClientAuthError-BAFNvOdf.js.map
15
+ //# sourceMappingURL=ManagementClientAuthError-ey-f03vy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManagementClientAuthError-BAFNvOdf.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.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,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
1
+ {"version":3,"file":"ManagementClientAuthError-ey-f03vy.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.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,QAAQ;EACb,KAAK,UAAU;CACjB;AACF"}
@@ -20,11 +20,15 @@ var ValidationError = class ValidationError extends Error {
20
20
  };
21
21
  const isValidationError = (error) => error instanceof ValidationError;
22
22
  /**
23
- * One line per issue, prefixed by the field it belongs to. Not `z.prettifyError`, which formats for
24
- * a terminal — its `✖`/`→` glyphs and newlines survive a log but collapse into one run-on line in
25
- * HTML, where most of these end up.
23
+ * One line per issue, prefixed by the field it belongs to.
24
+ *
25
+ * - Not `z.prettifyError`, which formats for a terminal — its `✖`/`→` glyphs and newlines survive a
26
+ * log but collapse into one run-on line in HTML, where most of these end up.
27
+ * - Exported for the boundaries that degrade instead of throwing: a read that drops one malformed
28
+ * element still owes a reason, and it needs the same one line without a `ValidationError`.
29
+ * - Says which field and what is wrong with it, never the value — so it is safe to log.
26
30
  */
27
- const formatIssues = (issues) => issues.map((issue) => {
31
+ const formatValidationIssues = (issues) => issues.map((issue) => {
28
32
  const path = issue.path.join(".");
29
33
  return path ? `${path}: ${issue.message}` : issue.message;
30
34
  }).join("; ");
@@ -36,9 +40,9 @@ const formatIssues = (issues) => issues.map((issue) => {
36
40
  const parseOrThrow = (schema, value) => {
37
41
  const result = schema.safeParse(value);
38
42
  if (result.success) return result.data;
39
- throw new ValidationError(formatIssues(result.error.issues), result.error.issues);
43
+ throw new ValidationError(formatValidationIssues(result.error.issues), result.error.issues);
40
44
  };
41
45
  //#endregion
42
- export { isValidationError as n, parseOrThrow as r, ValidationError as t };
46
+ export { parseOrThrow as i, formatValidationIssues as n, isValidationError as r, ValidationError as t };
43
47
 
44
- //# sourceMappingURL=ValidationError-CzPWydEb.js.map
48
+ //# sourceMappingURL=ValidationError-BekhphAq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationError-BekhphAq.js","names":[],"sources":["../src/errors/ValidationError.ts"],"sourcesContent":["import type * as z from 'zod';\n\n/**\n * A payload the SDK refused to accept — an input a caller assembled wrongly, or a response that did\n * not match the shape the endpoint is documented to return.\n *\n * It exists so a `ZodError` never leaves the package. `ZodError.message` is `JSON.stringify` of its\n * issue list — over a kilobyte for two problems — and a consumer that renders a caught error's\n * message puts that blob in front of a user. `message` here is a single line built for exactly that\n * rendering, while `issues` keeps the structured detail for anyone inspecting the failure rather\n * than displaying it.\n */\nexport class ValidationError extends Error {\n issues: z.core.$ZodIssue[];\n\n constructor(message: string, issues: z.core.$ZodIssue[] = []) {\n super(message);\n this.name = 'ValidationError';\n this.issues = issues;\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport const isValidationError = (error: unknown): error is ValidationError =>\n error instanceof ValidationError;\n\n/**\n * One line per issue, prefixed by the field it belongs to.\n *\n * - Not `z.prettifyError`, which formats for a terminal — its `✖`/`→` glyphs and newlines survive a\n * log but collapse into one run-on line in HTML, where most of these end up.\n * - Exported for the boundaries that degrade instead of throwing: a read that drops one malformed\n * element still owes a reason, and it needs the same one line without a `ValidationError`.\n * - Says which field and what is wrong with it, never the value — so it is safe to log.\n */\nexport const formatValidationIssues = (issues: readonly z.core.$ZodIssue[]) =>\n issues\n .map((issue) => {\n const path = issue.path.join('.');\n\n // A root-level issue is about the payload as a whole, and its message already says so —\n // prefixing it with a name for \"the whole thing\" only adds noise.\n return path ? `${path}: ${issue.message}` : issue.message;\n })\n .join('; ');\n\n/**\n * Parses with `schema`, converting a `ZodError` into a {@link ValidationError}. Use it instead of a\n * bare `schema.parse()` anywhere the value crosses the package boundary — every client input and\n * every response body.\n */\nexport const parseOrThrow = <T extends z.ZodType>(schema: T, value: unknown): z.output<T> => {\n const result = schema.safeParse(value);\n\n if (result.success) return result.data;\n\n throw new ValidationError(formatValidationIssues(result.error.issues), result.error.issues);\n};\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,kBAAb,MAAa,wBAAwB,MAAM;CACzC;CAEA,YAAY,SAAiB,SAA6B,CAAC,GAAG;EAC5D,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,SAAS;EACd,OAAO,eAAe,MAAM,gBAAgB,SAAS;CACvD;AACF;AAEA,MAAa,qBAAqB,UAChC,iBAAiB;;;;;;;;;;AAWnB,MAAa,0BAA0B,WACrC,OACG,KAAK,UAAU;CACd,MAAM,OAAO,MAAM,KAAK,KAAK,GAAG;CAIhC,OAAO,OAAO,GAAG,KAAK,IAAI,MAAM,YAAY,MAAM;AACpD,CAAC,CAAC,CACD,KAAK,IAAI;;;;;;AAOd,MAAa,gBAAqC,QAAW,UAAgC;CAC3F,MAAM,SAAS,OAAO,UAAU,KAAK;CAErC,IAAI,OAAO,SAAS,OAAO,OAAO;CAElC,MAAM,IAAI,gBAAgB,uBAAuB,OAAO,MAAM,MAAM,GAAG,OAAO,MAAM,MAAM;AAC5F"}
@@ -20,11 +20,15 @@ var ValidationError = class ValidationError extends Error {
20
20
  };
21
21
  const isValidationError = (error) => error instanceof ValidationError;
22
22
  /**
23
- * One line per issue, prefixed by the field it belongs to. Not `z.prettifyError`, which formats for
24
- * a terminal — its `✖`/`→` glyphs and newlines survive a log but collapse into one run-on line in
25
- * HTML, where most of these end up.
23
+ * One line per issue, prefixed by the field it belongs to.
24
+ *
25
+ * - Not `z.prettifyError`, which formats for a terminal — its `✖`/`→` glyphs and newlines survive a
26
+ * log but collapse into one run-on line in HTML, where most of these end up.
27
+ * - Exported for the boundaries that degrade instead of throwing: a read that drops one malformed
28
+ * element still owes a reason, and it needs the same one line without a `ValidationError`.
29
+ * - Says which field and what is wrong with it, never the value — so it is safe to log.
26
30
  */
27
- const formatIssues = (issues) => issues.map((issue) => {
31
+ const formatValidationIssues = (issues) => issues.map((issue) => {
28
32
  const path = issue.path.join(".");
29
33
  return path ? `${path}: ${issue.message}` : issue.message;
30
34
  }).join("; ");
@@ -36,7 +40,7 @@ const formatIssues = (issues) => issues.map((issue) => {
36
40
  const parseOrThrow = (schema, value) => {
37
41
  const result = schema.safeParse(value);
38
42
  if (result.success) return result.data;
39
- throw new ValidationError(formatIssues(result.error.issues), result.error.issues);
43
+ throw new ValidationError(formatValidationIssues(result.error.issues), result.error.issues);
40
44
  };
41
45
  //#endregion
42
46
  Object.defineProperty(exports, "ValidationError", {
@@ -45,6 +49,12 @@ Object.defineProperty(exports, "ValidationError", {
45
49
  return ValidationError;
46
50
  }
47
51
  });
52
+ Object.defineProperty(exports, "formatValidationIssues", {
53
+ enumerable: true,
54
+ get: function() {
55
+ return formatValidationIssues;
56
+ }
57
+ });
48
58
  Object.defineProperty(exports, "isValidationError", {
49
59
  enumerable: true,
50
60
  get: function() {
@@ -58,4 +68,4 @@ Object.defineProperty(exports, "parseOrThrow", {
58
68
  }
59
69
  });
60
70
 
61
- //# sourceMappingURL=ValidationError-h5qvwahi.cjs.map
71
+ //# sourceMappingURL=ValidationError-CLVJCCwH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationError-CLVJCCwH.cjs","names":[],"sources":["../src/errors/ValidationError.ts"],"sourcesContent":["import type * as z from 'zod';\n\n/**\n * A payload the SDK refused to accept — an input a caller assembled wrongly, or a response that did\n * not match the shape the endpoint is documented to return.\n *\n * It exists so a `ZodError` never leaves the package. `ZodError.message` is `JSON.stringify` of its\n * issue list — over a kilobyte for two problems — and a consumer that renders a caught error's\n * message puts that blob in front of a user. `message` here is a single line built for exactly that\n * rendering, while `issues` keeps the structured detail for anyone inspecting the failure rather\n * than displaying it.\n */\nexport class ValidationError extends Error {\n issues: z.core.$ZodIssue[];\n\n constructor(message: string, issues: z.core.$ZodIssue[] = []) {\n super(message);\n this.name = 'ValidationError';\n this.issues = issues;\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n\nexport const isValidationError = (error: unknown): error is ValidationError =>\n error instanceof ValidationError;\n\n/**\n * One line per issue, prefixed by the field it belongs to.\n *\n * - Not `z.prettifyError`, which formats for a terminal — its `✖`/`→` glyphs and newlines survive a\n * log but collapse into one run-on line in HTML, where most of these end up.\n * - Exported for the boundaries that degrade instead of throwing: a read that drops one malformed\n * element still owes a reason, and it needs the same one line without a `ValidationError`.\n * - Says which field and what is wrong with it, never the value — so it is safe to log.\n */\nexport const formatValidationIssues = (issues: readonly z.core.$ZodIssue[]) =>\n issues\n .map((issue) => {\n const path = issue.path.join('.');\n\n // A root-level issue is about the payload as a whole, and its message already says so —\n // prefixing it with a name for \"the whole thing\" only adds noise.\n return path ? `${path}: ${issue.message}` : issue.message;\n })\n .join('; ');\n\n/**\n * Parses with `schema`, converting a `ZodError` into a {@link ValidationError}. Use it instead of a\n * bare `schema.parse()` anywhere the value crosses the package boundary — every client input and\n * every response body.\n */\nexport const parseOrThrow = <T extends z.ZodType>(schema: T, value: unknown): z.output<T> => {\n const result = schema.safeParse(value);\n\n if (result.success) return result.data;\n\n throw new ValidationError(formatValidationIssues(result.error.issues), result.error.issues);\n};\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,kBAAb,MAAa,wBAAwB,MAAM;CACzC;CAEA,YAAY,SAAiB,SAA6B,CAAC,GAAG;EAC5D,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,SAAS;EACd,OAAO,eAAe,MAAM,gBAAgB,SAAS;CACvD;AACF;AAEA,MAAa,qBAAqB,UAChC,iBAAiB;;;;;;;;;;AAWnB,MAAa,0BAA0B,WACrC,OACG,KAAK,UAAU;CACd,MAAM,OAAO,MAAM,KAAK,KAAK,GAAG;CAIhC,OAAO,OAAO,GAAG,KAAK,IAAI,MAAM,YAAY,MAAM;AACpD,CAAC,CAAC,CACD,KAAK,IAAI;;;;;;AAOd,MAAa,gBAAqC,QAAW,UAAgC;CAC3F,MAAM,SAAS,OAAO,UAAU,KAAK;CAErC,IAAI,OAAO,SAAS,OAAO,OAAO;CAElC,MAAM,IAAI,gBAAgB,uBAAuB,OAAO,MAAM,MAAM,GAAG,OAAO,MAAM,MAAM;AAC5F"}
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-CyDUFxHB.cjs");
3
- const require_auth = require("../auth-DP-6TFiM.cjs");
2
+ const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DhUU3M1W.cjs");
3
+ const require_auth = require("../auth-JQ33o3nU.cjs");
4
4
  //#region src/clients/ai/aiClient.ts
5
5
  const createAiClient = ({ baseUrl, middlewares, auth }) => {
6
6
  const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
@@ -1,5 +1,5 @@
1
- import { a as DescribeConfigurationVersionBody, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, p as components, r as DescribeConfigurationBody, s as DocsQuestionBody, u as FeedbackBody } from "../types-CvkqEvhv.cjs";
2
- import { n as ClientInitOptions } from "../types-BREGN3qo.cjs";
1
+ import { a as DescribeConfigurationVersionBody, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, p as components, r as DescribeConfigurationBody, s as DocsQuestionBody, u as FeedbackBody } from "../types-52irAt99.cjs";
2
+ import { n as ClientInitOptions } from "../types-_RhBCj4_.cjs";
3
3
  //#region src/clients/ai/aiClient.d.ts
4
4
  declare const createAiClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
5
5
  healthCheck: (signal?: AbortSignal) => Promise<{
@@ -1,5 +1,5 @@
1
- import { a as DescribeConfigurationVersionBody, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, p as components, r as DescribeConfigurationBody, s as DocsQuestionBody, u as FeedbackBody } from "../types-BnaAo7xn.js";
2
- import { n as ClientInitOptions } from "../types-DwpRt3e9.js";
1
+ import { a as DescribeConfigurationVersionBody, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, p as components, r as DescribeConfigurationBody, s as DocsQuestionBody, u as FeedbackBody } from "../types-BTWIPEiU.js";
2
+ import { n as ClientInitOptions } from "../types-Ct0YPy2w.js";
3
3
  //#region src/clients/ai/aiClient.d.ts
4
4
  declare const createAiClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
5
5
  healthCheck: (signal?: AbortSignal) => Promise<{
package/dist/ai/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-Bn6_Pn0H.js";
2
- import { t as createAuthHeaders } from "../auth-DtbQaeDj.js";
1
+ import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-BVSc9ibR.js";
2
+ import { t as createAuthHeaders } from "../auth-aItmDu45.js";
3
3
  //#region src/clients/ai/aiClient.ts
4
4
  const createAiClient = ({ baseUrl, middlewares, auth }) => {
5
5
  const client = createOpenapiFetchClient({
@@ -1,2 +1,2 @@
1
- import { a as DescribeConfigurationVersionBody, c as ErrorExplanation, d as ObjectDescription, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, n as ComponentSuggestion, o as DocsAnswer, r as DescribeConfigurationBody, s as DocsQuestionBody, t as ComponentDocsDetail, u as FeedbackBody } from "../types-CvkqEvhv.cjs";
1
+ import { a as DescribeConfigurationVersionBody, c as ErrorExplanation, d as ObjectDescription, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, n as ComponentSuggestion, o as DocsAnswer, r as DescribeConfigurationBody, s as DocsQuestionBody, t as ComponentDocsDetail, u as FeedbackBody } from "../types-52irAt99.cjs";
2
2
  export { ComponentDocsDetail, ComponentSuggestion, DescribeConfigurationBody, DescribeConfigurationMergeBody, DescribeConfigurationVersionBody, DocsAnswer, DocsQuestionBody, ErrorExplanation, ExplainErrorBody, FeedbackBody, ObjectDescription, SuggestComponentBody };
@@ -1,2 +1,2 @@
1
- import { a as DescribeConfigurationVersionBody, c as ErrorExplanation, d as ObjectDescription, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, n as ComponentSuggestion, o as DocsAnswer, r as DescribeConfigurationBody, s as DocsQuestionBody, t as ComponentDocsDetail, u as FeedbackBody } from "../types-BnaAo7xn.js";
1
+ import { a as DescribeConfigurationVersionBody, c as ErrorExplanation, d as ObjectDescription, f as SuggestComponentBody, i as DescribeConfigurationMergeBody, l as ExplainErrorBody, n as ComponentSuggestion, o as DocsAnswer, r as DescribeConfigurationBody, s as DocsQuestionBody, t as ComponentDocsDetail, u as FeedbackBody } from "../types-BTWIPEiU.js";
2
2
  export { ComponentDocsDetail, ComponentSuggestion, DescribeConfigurationBody, DescribeConfigurationMergeBody, DescribeConfigurationVersionBody, DocsAnswer, DocsQuestionBody, ErrorExplanation, ExplainErrorBody, FeedbackBody, ObjectDescription, SuggestComponentBody };
@@ -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-BRfTjBLV.cjs");
3
+ const require_createFetchClient = require("./createFetchClient-DgMiqTJ8.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-NIEDTDHf.cjs.map
153
+ //# sourceMappingURL=appLogs-BjfUoWzs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"appLogs-NIEDTDHf.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-BjfUoWzs.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,4 +1,4 @@
1
- import "./index-CeJOmN-P.js";
1
+ import "./index-KuQ79Mnz.js";
2
2
  //#region src/domain/appLogs.d.ts
3
3
  type LogEntry = {
4
4
  timestamp: string | null;
@@ -7,4 +7,4 @@ type LogEntry = {
7
7
  declare const parseLogLines: (raw: unknown) => LogEntry[];
8
8
  //#endregion
9
9
  export { parseLogLines as n, LogEntry as t };
10
- //# sourceMappingURL=appLogs-DX_WTBCa.d.ts.map
10
+ //# sourceMappingURL=appLogs-Ch7DYpzx.d.ts.map
@@ -1,4 +1,4 @@
1
- import "./index-CQrKS7PV.cjs";
1
+ import "./index-V7XKUQm9.cjs";
2
2
  //#region src/domain/appLogs.d.ts
3
3
  type LogEntry = {
4
4
  timestamp: string | null;
@@ -7,4 +7,4 @@ type LogEntry = {
7
7
  declare const parseLogLines: (raw: unknown) => LogEntry[];
8
8
  //#endregion
9
9
  export { parseLogLines as n, LogEntry as t };
10
- //# sourceMappingURL=appLogs-BAaaGYKg.d.cts.map
10
+ //# sourceMappingURL=appLogs-D5A13Y0y.d.cts.map
@@ -1,5 +1,5 @@
1
1
  import { t as isPlainObject } from "./isPlainObject-LYW-03uB.js";
2
- import { f as HttpStatus, o as HttpHeader, r as isApiError, u as parseContentDispositionHeader } from "./createFetchClient-BbG46bL0.js";
2
+ import { f as parseContentDispositionHeader, m as HttpStatus, r as isApiError, s as HttpHeader } from "./createFetchClient-U-ZrwPl2.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-DTLE6HTy.js.map
132
+ //# sourceMappingURL=appLogs-xsVkTriU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appLogs-DTLE6HTy.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-xsVkTriU.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,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-CyDUFxHB.cjs");
3
- const require_auth = require("../auth-DP-6TFiM.cjs");
4
- const require_appLogs = require("../appLogs-NIEDTDHf.cjs");
2
+ const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DhUU3M1W.cjs");
3
+ const require_auth = require("../auth-JQ33o3nU.cjs");
4
+ const require_appLogs = require("../appLogs-BjfUoWzs.cjs");
5
5
  //#region src/clients/apps/appsClient.ts
6
6
  /**
7
7
  * `/v2` App Deployments — data apps plus the immutable deployment history behind them. Sibling of
@@ -1,6 +1,6 @@
1
- import { n as ClientInitOptions } from "../types-BREGN3qo.cjs";
2
- import { S as components, b as GetLogsTailQuery, c as CreateCredentialBody, f as CredentialId, g as DeploymentId, l as CreateDeploymentBody, r as AppId, s as CreateAppBody, t as App, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-CyiRYRVq.cjs";
3
- import { t as LogEntry } from "../appLogs-BAaaGYKg.cjs";
1
+ import { n as ClientInitOptions } from "../types-_RhBCj4_.cjs";
2
+ import { S as components, b as GetLogsTailQuery, c as CreateCredentialBody, f as CredentialId, g as DeploymentId, l as CreateDeploymentBody, r as AppId, s as CreateAppBody, t as App, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-DARv_P6O.cjs";
3
+ import { t as LogEntry } from "../appLogs-D5A13Y0y.cjs";
4
4
  //#region src/clients/apps/appsClient.d.ts
5
5
  /**
6
6
  * No `idempotencyKey`. The service accepted an `Idempotency-Key` that turned a replayed create
@@ -1,6 +1,6 @@
1
- import { n as ClientInitOptions } from "../types-DwpRt3e9.js";
2
- import { S as components, b as GetLogsTailQuery, c as CreateCredentialBody, f as CredentialId, g as DeploymentId, l as CreateDeploymentBody, r as AppId, s as CreateAppBody, t as App, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-CkcMoXRk.js";
3
- import { t as LogEntry } from "../appLogs-DX_WTBCa.js";
1
+ import { n as ClientInitOptions } from "../types-Ct0YPy2w.js";
2
+ import { S as components, b as GetLogsTailQuery, c as CreateCredentialBody, f as CredentialId, g as DeploymentId, l as CreateDeploymentBody, r as AppId, s as CreateAppBody, t as App, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-CBgLCkYe.js";
3
+ import { t as LogEntry } from "../appLogs-Ch7DYpzx.js";
4
4
  //#region src/clients/apps/appsClient.d.ts
5
5
  /**
6
6
  * No `idempotencyKey`. The service accepted an `Idempotency-Key` that turned a replayed create
@@ -1,6 +1,6 @@
1
- import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-Bn6_Pn0H.js";
2
- import { t as createAuthHeaders } from "../auth-DtbQaeDj.js";
3
- import { n as readAppLogsDownload, r as readAppLogsTail } from "../appLogs-DTLE6HTy.js";
1
+ import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-BVSc9ibR.js";
2
+ import { t as createAuthHeaders } from "../auth-aItmDu45.js";
3
+ import { n as readAppLogsDownload, r as readAppLogsTail } from "../appLogs-xsVkTriU.js";
4
4
  //#region src/clients/apps/appsClient.ts
5
5
  /**
6
6
  * `/v2` App Deployments — data apps plus the immutable deployment history behind them. Sibling of
@@ -1,3 +1,3 @@
1
- import { _ as DeploymentRunState, a as AppRun, b as GetLogsTailQuery, c as CreateCredentialBody, d as Credential, f as CredentialId, g as DeploymentId, h as DeploymentBuildState, i as AppPassword, l as CreateDeploymentBody, m as Deployment, n as AppGitRepo, o as AppState, p as CredentialList, r as AppId, s as CreateAppBody, t as App, u as CreatedCredential, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-CyiRYRVq.cjs";
2
- import { t as LogEntry } from "../appLogs-BAaaGYKg.cjs";
1
+ import { _ as DeploymentRunState, a as AppRun, b as GetLogsTailQuery, c as CreateCredentialBody, d as Credential, f as CredentialId, g as DeploymentId, h as DeploymentBuildState, i as AppPassword, l as CreateDeploymentBody, m as Deployment, n as AppGitRepo, o as AppState, p as CredentialList, r as AppId, s as CreateAppBody, t as App, u as CreatedCredential, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-DARv_P6O.cjs";
2
+ import { t as LogEntry } from "../appLogs-D5A13Y0y.cjs";
3
3
  export { App, AppGitRepo, AppId, AppPassword, AppRun, AppState, CreateAppBody, CreateCredentialBody, CreateDeploymentBody, CreatedCredential, Credential, CredentialId, CredentialList, Deployment, DeploymentBuildState, DeploymentId, DeploymentRunState, GetAppRunsQuery, GetAppsQuery, GetLogsTailQuery, type LogEntry, RunId };
@@ -1,3 +1,3 @@
1
- import { _ as DeploymentRunState, a as AppRun, b as GetLogsTailQuery, c as CreateCredentialBody, d as Credential, f as CredentialId, g as DeploymentId, h as DeploymentBuildState, i as AppPassword, l as CreateDeploymentBody, m as Deployment, n as AppGitRepo, o as AppState, p as CredentialList, r as AppId, s as CreateAppBody, t as App, u as CreatedCredential, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-CkcMoXRk.js";
2
- import { t as LogEntry } from "../appLogs-DX_WTBCa.js";
1
+ import { _ as DeploymentRunState, a as AppRun, b as GetLogsTailQuery, c as CreateCredentialBody, d as Credential, f as CredentialId, g as DeploymentId, h as DeploymentBuildState, i as AppPassword, l as CreateDeploymentBody, m as Deployment, n as AppGitRepo, o as AppState, p as CredentialList, r as AppId, s as CreateAppBody, t as App, u as CreatedCredential, v as GetAppRunsQuery, x as RunId, y as GetAppsQuery } from "../types-CBgLCkYe.js";
2
+ import { t as LogEntry } from "../appLogs-Ch7DYpzx.js";
3
3
  export { App, AppGitRepo, AppId, AppPassword, AppRun, AppState, CreateAppBody, CreateCredentialBody, CreateDeploymentBody, CreatedCredential, Credential, CredentialId, CredentialList, Deployment, DeploymentBuildState, DeploymentId, DeploymentRunState, GetAppRunsQuery, GetAppsQuery, GetLogsTailQuery, type LogEntry, RunId };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_createGenericFetchClient = require("../createGenericFetchClient-DHs-i7_O.cjs");
2
+ const require_createGenericFetchClient = require("../createGenericFetchClient-o3cPJeRn.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 { n as ClientInitOptions } from "../types-BREGN3qo.cjs";
1
+ import { n as ClientInitOptions } from "../types-_RhBCj4_.cjs";
2
2
  //#region src/clients/assets/assetsClient.d.ts
3
3
  declare const createAssetsClient: ({ baseUrl, middlewares }: Omit<ClientInitOptions, 'auth'>) => {
4
4
  getPublishedChangelogPosts: (signal?: AbortSignal) => Promise<{
@@ -1,4 +1,4 @@
1
- import { n as ClientInitOptions } from "../types-DwpRt3e9.js";
1
+ import { n as ClientInitOptions } from "../types-Ct0YPy2w.js";
2
2
  //#region src/clients/assets/assetsClient.d.ts
3
3
  declare const createAssetsClient: ({ baseUrl, middlewares }: Omit<ClientInitOptions, 'auth'>) => {
4
4
  getPublishedChangelogPosts: (signal?: AbortSignal) => Promise<{
@@ -1,4 +1,4 @@
1
- import { t as createGenericFetchClient } from "../createGenericFetchClient-BHYQLZhe.js";
1
+ import { t as createGenericFetchClient } from "../createGenericFetchClient-rxvUUbap.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-b7uec7sw.cjs");
2
+ const require_authClient = require("../authClient-_PpvGgZJ.cjs");
3
3
  exports.MFA_METHOD = require_authClient.MFA_METHOD;
4
4
  exports.changeInputSchema = require_authClient.changeInputSchema;
5
5
  exports.createAuthClient = require_authClient.createAuthClient;
@@ -1,2 +1,2 @@
1
- import { C as OidcInput, D as mfaChallengeSchema, E as loginSuccessSchema, O as oidcInputSchema, S as MfaChallenge, T as loginResultSchema, _ as totpVerifyInputSchema, a as ResetInput, b as LoginSuccess, c as resetInputSchema, d as MfaCodeInput, f as MfaMethod, g as mfaWebauthnInputSchema, h as mfaCodeInputSchema, i as ChangePasswordInput, l as resetRequestInputSchema, m as TotpVerifyInput, n as AuthOpenApiFetchClient, o as ResetRequestInput, p as MfaWebauthnInput, r as createAuthClient, s as changeInputSchema, t as AuthClientInitOptions, u as MFA_METHOD, v as LoginInput, w as loginInputSchema, x as LoginUser, y as LoginResult } from "../authClient-DhfzOUaa.cjs";
1
+ import { C as OidcInput, D as mfaChallengeSchema, E as loginSuccessSchema, O as oidcInputSchema, S as MfaChallenge, T as loginResultSchema, _ as totpVerifyInputSchema, a as ResetInput, b as LoginSuccess, c as resetInputSchema, d as MfaCodeInput, f as MfaMethod, g as mfaWebauthnInputSchema, h as mfaCodeInputSchema, i as ChangePasswordInput, l as resetRequestInputSchema, m as TotpVerifyInput, n as AuthOpenApiFetchClient, o as ResetRequestInput, p as MfaWebauthnInput, r as createAuthClient, s as changeInputSchema, t as AuthClientInitOptions, u as MFA_METHOD, v as LoginInput, w as loginInputSchema, x as LoginUser, y as LoginResult } from "../authClient-CTHNs6Tq.cjs";
2
2
  export { AuthClientInitOptions, AuthOpenApiFetchClient, ChangePasswordInput, LoginInput, LoginResult, LoginSuccess, LoginUser, MFA_METHOD, MfaChallenge, MfaCodeInput, MfaMethod, MfaWebauthnInput, OidcInput, ResetInput, ResetRequestInput, TotpVerifyInput, changeInputSchema, createAuthClient, loginInputSchema, loginResultSchema, loginSuccessSchema, mfaChallengeSchema, mfaCodeInputSchema, mfaWebauthnInputSchema, oidcInputSchema, resetInputSchema, resetRequestInputSchema, totpVerifyInputSchema };
@@ -1,2 +1,2 @@
1
- import { C as OidcInput, D as mfaChallengeSchema, E as loginSuccessSchema, O as oidcInputSchema, S as MfaChallenge, T as loginResultSchema, _ as totpVerifyInputSchema, a as ResetInput, b as LoginSuccess, c as resetInputSchema, d as MfaCodeInput, f as MfaMethod, g as mfaWebauthnInputSchema, h as mfaCodeInputSchema, i as ChangePasswordInput, l as resetRequestInputSchema, m as TotpVerifyInput, n as AuthOpenApiFetchClient, o as ResetRequestInput, p as MfaWebauthnInput, r as createAuthClient, s as changeInputSchema, t as AuthClientInitOptions, u as MFA_METHOD, v as LoginInput, w as loginInputSchema, x as LoginUser, y as LoginResult } from "../authClient-CtfyVHRD.js";
1
+ import { C as OidcInput, D as mfaChallengeSchema, E as loginSuccessSchema, O as oidcInputSchema, S as MfaChallenge, T as loginResultSchema, _ as totpVerifyInputSchema, a as ResetInput, b as LoginSuccess, c as resetInputSchema, d as MfaCodeInput, f as MfaMethod, g as mfaWebauthnInputSchema, h as mfaCodeInputSchema, i as ChangePasswordInput, l as resetRequestInputSchema, m as TotpVerifyInput, n as AuthOpenApiFetchClient, o as ResetRequestInput, p as MfaWebauthnInput, r as createAuthClient, s as changeInputSchema, t as AuthClientInitOptions, u as MFA_METHOD, v as LoginInput, w as loginInputSchema, x as LoginUser, y as LoginResult } from "../authClient-D8i3JTM-.js";
2
2
  export { AuthClientInitOptions, AuthOpenApiFetchClient, ChangePasswordInput, LoginInput, LoginResult, LoginSuccess, LoginUser, MFA_METHOD, MfaChallenge, MfaCodeInput, MfaMethod, MfaWebauthnInput, OidcInput, ResetInput, ResetRequestInput, TotpVerifyInput, changeInputSchema, createAuthClient, loginInputSchema, loginResultSchema, loginSuccessSchema, mfaChallengeSchema, mfaCodeInputSchema, mfaWebauthnInputSchema, oidcInputSchema, resetInputSchema, resetRequestInputSchema, totpVerifyInputSchema };
@@ -1,2 +1,2 @@
1
- import { a as MFA_METHOD, c as totpVerifyInputSchema, d as loginSuccessSchema, f as mfaChallengeSchema, i as resetRequestInputSchema, l as loginInputSchema, n as changeInputSchema, o as mfaCodeInputSchema, p as oidcInputSchema, r as resetInputSchema, s as mfaWebauthnInputSchema, t as createAuthClient, u as loginResultSchema } from "../authClient--BtZgjIc.js";
1
+ import { a as MFA_METHOD, c as totpVerifyInputSchema, d as loginSuccessSchema, f as mfaChallengeSchema, i as resetRequestInputSchema, l as loginInputSchema, n as changeInputSchema, o as mfaCodeInputSchema, p as oidcInputSchema, r as resetInputSchema, s as mfaWebauthnInputSchema, t as createAuthClient, u as loginResultSchema } from "../authClient-D7W9vWPR.js";
2
2
  export { MFA_METHOD, changeInputSchema, createAuthClient, loginInputSchema, loginResultSchema, loginSuccessSchema, mfaChallengeSchema, mfaCodeInputSchema, mfaWebauthnInputSchema, oidcInputSchema, resetInputSchema, resetRequestInputSchema, totpVerifyInputSchema };
@@ -1,2 +1,2 @@
1
- import { A as TotpSetupResult, B as GetDeviceAuthorizationTokenResult, C as CreatePatResult, D as RevokePatPath, E as ListPatsResult, F as ApproveDeviceAuthorizationBody, I as ApproveDeviceAuthorizationResult, L as CreateDeviceAuthorizationBody, M as VerifyMfaBody, N as VerifyMfaResult, O as DisableTotpPath, P as LoginBody, R as CreateDeviceAuthorizationResult, S as CreatePatBody, T as ExchangePatResult, _ as AssertSamlResult, a as RemoveWebauthnInput, b as GetPkceTokenBody, c as IntrospectTokenResult, d as SudoBody, f as SudoBodyRaw, g as AssertSamlBody, h as RevokeSessionPath, i as RegisterWebauthnResult, j as TotpVerifyResult, k as RegenerateRecoveryCodesResult, l as RefreshTokenResult, m as SudoResult, n as RegisterWebauthnInput, o as RemoveWebauthnPath, p as SudoChallengeResult, r as RegisterWebauthnOptionsResult, s as RemoveWebauthnQuery, t as ListWebauthnCredentialsResult, u as RevokeTokenBody, v as InitiateSamlBody, w as ExchangePatBody, x as GetPkceTokenResult, y as InitiateSamlResult, z as GetDeviceAuthorizationTokenBody } from "../types-Cj4bLPp5.cjs";
2
- export { ApproveDeviceAuthorizationBody, ApproveDeviceAuthorizationResult, AssertSamlBody, AssertSamlResult, CreateDeviceAuthorizationBody, CreateDeviceAuthorizationResult, CreatePatBody, CreatePatResult, DisableTotpPath, ExchangePatBody, ExchangePatResult, GetDeviceAuthorizationTokenBody, GetDeviceAuthorizationTokenResult, GetPkceTokenBody, GetPkceTokenResult, InitiateSamlBody, InitiateSamlResult, IntrospectTokenResult, ListPatsResult, ListWebauthnCredentialsResult, LoginBody, RefreshTokenResult, RegenerateRecoveryCodesResult, RegisterWebauthnInput, RegisterWebauthnOptionsResult, RegisterWebauthnResult, RemoveWebauthnInput, RemoveWebauthnPath, RemoveWebauthnQuery, RevokePatPath, RevokeSessionPath, RevokeTokenBody, SudoBody, SudoBodyRaw, SudoChallengeResult, SudoResult, TotpSetupResult, TotpVerifyResult, VerifyMfaBody, VerifyMfaResult };
1
+ import { A as DisableTotpPath, B as CreateDeviceAuthorizationResult, C as CreatePatInput, D as ListPatsResult, E as ExchangePatInput, F as VerifyMfaResult, H as GetDeviceAuthorizationTokenResult, I as LoginBody, L as ApproveDeviceAuthorizationBody, M as TotpSetupResult, N as TotpVerifyResult, O as PatScopeInput, P as VerifyMfaBody, R as ApproveDeviceAuthorizationResult, S as CreatePatBodyRaw, T as ExchangePatBodyRaw, V as GetDeviceAuthorizationTokenBody, _ as AssertSamlResult, a as RemoveWebauthnInput, b as GetPkceTokenBody, c as IntrospectTokenResult, d as SudoBody, f as SudoBodyRaw, g as AssertSamlBody, h as RevokeSessionPath, i as RegisterWebauthnResult, j as RegenerateRecoveryCodesResult, k as RevokePatPath, l as RefreshTokenResult, m as SudoResult, n as RegisterWebauthnInput, o as RemoveWebauthnPath, p as SudoChallengeResult, r as RegisterWebauthnOptionsResult, s as RemoveWebauthnQuery, t as ListWebauthnCredentialsResult, u as RevokeTokenBody, v as InitiateSamlBody, w as CreatePatResult, x as GetPkceTokenResult, y as InitiateSamlResult, z as CreateDeviceAuthorizationBody } from "../types-Jw10xuOW.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, RefreshTokenResult, RegenerateRecoveryCodesResult, RegisterWebauthnInput, RegisterWebauthnOptionsResult, RegisterWebauthnResult, RemoveWebauthnInput, RemoveWebauthnPath, RemoveWebauthnQuery, RevokePatPath, RevokeSessionPath, RevokeTokenBody, SudoBody, SudoBodyRaw, SudoChallengeResult, SudoResult, TotpSetupResult, TotpVerifyResult, VerifyMfaBody, VerifyMfaResult };
@@ -1,2 +1,2 @@
1
- import { A as TotpSetupResult, B as GetDeviceAuthorizationTokenResult, C as CreatePatResult, D as RevokePatPath, E as ListPatsResult, F as ApproveDeviceAuthorizationBody, I as ApproveDeviceAuthorizationResult, L as CreateDeviceAuthorizationBody, M as VerifyMfaBody, N as VerifyMfaResult, O as DisableTotpPath, P as LoginBody, R as CreateDeviceAuthorizationResult, S as CreatePatBody, T as ExchangePatResult, _ as AssertSamlResult, a as RemoveWebauthnInput, b as GetPkceTokenBody, c as IntrospectTokenResult, d as SudoBody, f as SudoBodyRaw, g as AssertSamlBody, h as RevokeSessionPath, i as RegisterWebauthnResult, j as TotpVerifyResult, k as RegenerateRecoveryCodesResult, l as RefreshTokenResult, m as SudoResult, n as RegisterWebauthnInput, o as RemoveWebauthnPath, p as SudoChallengeResult, r as RegisterWebauthnOptionsResult, s as RemoveWebauthnQuery, t as ListWebauthnCredentialsResult, u as RevokeTokenBody, v as InitiateSamlBody, w as ExchangePatBody, x as GetPkceTokenResult, y as InitiateSamlResult, z as GetDeviceAuthorizationTokenBody } from "../types-CXTqFYah.js";
2
- export { ApproveDeviceAuthorizationBody, ApproveDeviceAuthorizationResult, AssertSamlBody, AssertSamlResult, CreateDeviceAuthorizationBody, CreateDeviceAuthorizationResult, CreatePatBody, CreatePatResult, DisableTotpPath, ExchangePatBody, ExchangePatResult, GetDeviceAuthorizationTokenBody, GetDeviceAuthorizationTokenResult, GetPkceTokenBody, GetPkceTokenResult, InitiateSamlBody, InitiateSamlResult, IntrospectTokenResult, ListPatsResult, ListWebauthnCredentialsResult, LoginBody, RefreshTokenResult, RegenerateRecoveryCodesResult, RegisterWebauthnInput, RegisterWebauthnOptionsResult, RegisterWebauthnResult, RemoveWebauthnInput, RemoveWebauthnPath, RemoveWebauthnQuery, RevokePatPath, RevokeSessionPath, RevokeTokenBody, SudoBody, SudoBodyRaw, SudoChallengeResult, SudoResult, TotpSetupResult, TotpVerifyResult, VerifyMfaBody, VerifyMfaResult };
1
+ import { A as DisableTotpPath, B as CreateDeviceAuthorizationResult, C as CreatePatInput, D as ListPatsResult, E as ExchangePatInput, F as VerifyMfaResult, H as GetDeviceAuthorizationTokenResult, I as LoginBody, L as ApproveDeviceAuthorizationBody, M as TotpSetupResult, N as TotpVerifyResult, O as PatScopeInput, P as VerifyMfaBody, R as ApproveDeviceAuthorizationResult, S as CreatePatBodyRaw, T as ExchangePatBodyRaw, V as GetDeviceAuthorizationTokenBody, _ as AssertSamlResult, a as RemoveWebauthnInput, b as GetPkceTokenBody, c as IntrospectTokenResult, d as SudoBody, f as SudoBodyRaw, g as AssertSamlBody, h as RevokeSessionPath, i as RegisterWebauthnResult, j as RegenerateRecoveryCodesResult, k as RevokePatPath, l as RefreshTokenResult, m as SudoResult, n as RegisterWebauthnInput, o as RemoveWebauthnPath, p as SudoChallengeResult, r as RegisterWebauthnOptionsResult, s as RemoveWebauthnQuery, t as ListWebauthnCredentialsResult, u as RevokeTokenBody, v as InitiateSamlBody, w as CreatePatResult, x as GetPkceTokenResult, y as InitiateSamlResult, z as CreateDeviceAuthorizationBody } from "../types-BrYkBQo4.js";
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, RefreshTokenResult, RegenerateRecoveryCodesResult, RegisterWebauthnInput, RegisterWebauthnOptionsResult, RegisterWebauthnResult, RemoveWebauthnInput, RemoveWebauthnPath, RemoveWebauthnQuery, RevokePatPath, RevokeSessionPath, RevokeTokenBody, SudoBody, SudoBodyRaw, SudoChallengeResult, SudoResult, TotpSetupResult, TotpVerifyResult, VerifyMfaBody, VerifyMfaResult };
@@ -1,4 +1,4 @@
1
- const require_createFetchClient = require("./createFetchClient-BRfTjBLV.cjs");
1
+ const require_createFetchClient = require("./createFetchClient-DgMiqTJ8.cjs");
2
2
  //#region src/clients/auth.ts
3
3
  const createAuthHeaders = (auth) => {
4
4
  if (auth.type === "sapi-token") return { [require_createFetchClient.KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };
@@ -15,4 +15,4 @@ Object.defineProperty(exports, "createAuthHeaders", {
15
15
  }
16
16
  });
17
17
 
18
- //# sourceMappingURL=auth-DP-6TFiM.cjs.map
18
+ //# sourceMappingURL=auth-JQ33o3nU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-DP-6TFiM.cjs","names":["KeboolaHttpHeader","HttpHeader"],"sources":["../src/clients/auth.ts"],"sourcesContent":["import { HttpHeader } from '../fetchClient';\nimport { KeboolaHttpHeader } from '../internal';\n\nexport type AuthStrategy =\n | {\n type: 'sapi-token';\n token: string;\n }\n | {\n type: 'bearer';\n token: string;\n projectId: number;\n };\n\nexport const createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'sapi-token') return { [KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };\n\n // `auth.token` is the bare token; the `Bearer ` wire prefix is added here (mirroring the\n // management client). In the browser bearer flow the bearer auth middleware stamps the\n // Authorization header on every request, so this value only matters for middleware-less\n // clients (e.g. kai-agent's storage token verification).\n return {\n [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}`,\n [KeboolaHttpHeader.PROJECT_ID]: auth.projectId.toString(),\n };\n};\n"],"mappings":";;AAcA,MAAa,qBAAqB,SAA+C;CAC/E,IAAI,KAAK,SAAS,cAAc,OAAO,GAAGA,0BAAAA,kBAAkB,oBAAoB,KAAK,MAAM;CAM3F,OAAO;GACJC,0BAAAA,WAAW,gBAAgB,UAAU,KAAK;GAC1CD,0BAAAA,kBAAkB,aAAa,KAAK,UAAU,SAAS;CAC1D;AACF"}
1
+ {"version":3,"file":"auth-JQ33o3nU.cjs","names":["KeboolaHttpHeader","HttpHeader"],"sources":["../src/clients/auth.ts"],"sourcesContent":["import { HttpHeader } from '../fetchClient';\nimport { KeboolaHttpHeader } from '../internal';\n\nexport type AuthStrategy =\n | {\n type: 'sapi-token';\n token: string;\n }\n | {\n type: 'bearer';\n token: string;\n projectId: number;\n };\n\nexport const createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'sapi-token') return { [KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };\n\n // `auth.token` is the bare token; the `Bearer ` wire prefix is added here (mirroring the\n // management client). In the browser bearer flow the bearer auth middleware stamps the\n // Authorization header on every request, so this value only matters for middleware-less\n // clients (e.g. kai-agent's storage token verification).\n return {\n [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}`,\n [KeboolaHttpHeader.PROJECT_ID]: auth.projectId.toString(),\n };\n};\n"],"mappings":";;AAcA,MAAa,qBAAqB,SAA+C;CAC/E,IAAI,KAAK,SAAS,cAAc,OAAO,GAAGA,0BAAAA,kBAAkB,oBAAoB,KAAK,MAAM;CAM3F,OAAO;GACJC,0BAAAA,WAAW,gBAAgB,UAAU,KAAK;GAC1CD,0BAAAA,kBAAkB,aAAa,KAAK,UAAU,SAAS;CAC1D;AACF"}
@@ -1,4 +1,4 @@
1
- import { o as HttpHeader, p as KeboolaHttpHeader } from "./createFetchClient-BbG46bL0.js";
1
+ import { h as KeboolaHttpHeader, s as HttpHeader } from "./createFetchClient-U-ZrwPl2.js";
2
2
  //#region src/clients/auth.ts
3
3
  const createAuthHeaders = (auth) => {
4
4
  if (auth.type === "sapi-token") return { [KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };
@@ -10,4 +10,4 @@ const createAuthHeaders = (auth) => {
10
10
  //#endregion
11
11
  export { createAuthHeaders as t };
12
12
 
13
- //# sourceMappingURL=auth-DtbQaeDj.js.map
13
+ //# sourceMappingURL=auth-aItmDu45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-DtbQaeDj.js","names":[],"sources":["../src/clients/auth.ts"],"sourcesContent":["import { HttpHeader } from '../fetchClient';\nimport { KeboolaHttpHeader } from '../internal';\n\nexport type AuthStrategy =\n | {\n type: 'sapi-token';\n token: string;\n }\n | {\n type: 'bearer';\n token: string;\n projectId: number;\n };\n\nexport const createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'sapi-token') return { [KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };\n\n // `auth.token` is the bare token; the `Bearer ` wire prefix is added here (mirroring the\n // management client). In the browser bearer flow the bearer auth middleware stamps the\n // Authorization header on every request, so this value only matters for middleware-less\n // clients (e.g. kai-agent's storage token verification).\n return {\n [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}`,\n [KeboolaHttpHeader.PROJECT_ID]: auth.projectId.toString(),\n };\n};\n"],"mappings":";;AAcA,MAAa,qBAAqB,SAA+C;CAC/E,IAAI,KAAK,SAAS,cAAc,OAAO,GAAG,kBAAkB,oBAAoB,KAAK,MAAM;CAM3F,OAAO;GACJ,WAAW,gBAAgB,UAAU,KAAK;GAC1C,kBAAkB,aAAa,KAAK,UAAU,SAAS;CAC1D;AACF"}
1
+ {"version":3,"file":"auth-aItmDu45.js","names":[],"sources":["../src/clients/auth.ts"],"sourcesContent":["import { HttpHeader } from '../fetchClient';\nimport { KeboolaHttpHeader } from '../internal';\n\nexport type AuthStrategy =\n | {\n type: 'sapi-token';\n token: string;\n }\n | {\n type: 'bearer';\n token: string;\n projectId: number;\n };\n\nexport const createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'sapi-token') return { [KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };\n\n // `auth.token` is the bare token; the `Bearer ` wire prefix is added here (mirroring the\n // management client). In the browser bearer flow the bearer auth middleware stamps the\n // Authorization header on every request, so this value only matters for middleware-less\n // clients (e.g. kai-agent's storage token verification).\n return {\n [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}`,\n [KeboolaHttpHeader.PROJECT_ID]: auth.projectId.toString(),\n };\n};\n"],"mappings":";;AAcA,MAAa,qBAAqB,SAA+C;CAC/E,IAAI,KAAK,SAAS,cAAc,OAAO,GAAG,kBAAkB,oBAAoB,KAAK,MAAM;CAM3F,OAAO;GACJ,WAAW,gBAAgB,UAAU,KAAK;GAC1C,kBAAkB,aAAa,KAAK,UAAU,SAAS;CAC1D;AACF"}
@@ -1,6 +1,6 @@
1
- import { t as createOpenapiFetchClient } from "./index-CQrKS7PV.cjs";
2
- import { n as ClientInitOptions } from "./types-BREGN3qo.cjs";
3
- import { D as RevokePatPath, F as ApproveDeviceAuthorizationBody, H as paths, L as CreateDeviceAuthorizationBody, O as DisableTotpPath, S as CreatePatBody, V as components, a as RemoveWebauthnInput, b as GetPkceTokenBody, d as SudoBody, g as AssertSamlBody, h as RevokeSessionPath, n as RegisterWebauthnInput, r as RegisterWebauthnOptionsResult, u as RevokeTokenBody, v as InitiateSamlBody, w as ExchangePatBody, z as GetDeviceAuthorizationTokenBody } from "./types-Cj4bLPp5.cjs";
1
+ import { t as createOpenapiFetchClient } from "./index-V7XKUQm9.cjs";
2
+ import { n as ClientInitOptions } from "./types-_RhBCj4_.cjs";
3
+ import { A as DisableTotpPath, C as CreatePatInput, E as ExchangePatInput, L as ApproveDeviceAuthorizationBody, U as components, V as GetDeviceAuthorizationTokenBody, W as paths, a as RemoveWebauthnInput, b as GetPkceTokenBody, d as SudoBody, g as AssertSamlBody, h as RevokeSessionPath, k as RevokePatPath, n as RegisterWebauthnInput, r as RegisterWebauthnOptionsResult, u as RevokeTokenBody, v as InitiateSamlBody, z as CreateDeviceAuthorizationBody } from "./types-Jw10xuOW.cjs";
4
4
  import * as z$1 from "zod";
5
5
  //#region src/clients/auth/login/schemas.d.ts
6
6
  declare const loginInputSchema: z$1.ZodObject<{
@@ -250,13 +250,13 @@ declare const createAuthClient: ({ baseUrl, middlewares }: AuthClientInitOptions
250
250
  }>;
251
251
  };
252
252
  pat: {
253
- create: (body: CreatePatBody, signal?: AbortSignal) => Promise<{
253
+ create: (input: CreatePatInput, signal?: AbortSignal) => Promise<{
254
254
  accessToken: string;
255
255
  tokenType: string;
256
256
  expiresIn: number;
257
257
  pat: components['schemas']['PatItemResponse'];
258
258
  }>;
259
- exchange: (body?: ExchangePatBody, signal?: AbortSignal) => Promise<{
259
+ exchange: (input?: ExchangePatInput, signal?: AbortSignal) => Promise<{
260
260
  accessToken: string;
261
261
  tokenType: string;
262
262
  expiresIn: number;
@@ -364,4 +364,4 @@ declare const createAuthClient: ({ baseUrl, middlewares }: AuthClientInitOptions
364
364
  };
365
365
  //#endregion
366
366
  export { OidcInput as C, mfaChallengeSchema as D, loginSuccessSchema as E, oidcInputSchema as O, MfaChallenge as S, loginResultSchema as T, totpVerifyInputSchema as _, ResetInput as a, LoginSuccess as b, resetInputSchema as c, MfaCodeInput as d, MfaMethod as f, mfaWebauthnInputSchema as g, mfaCodeInputSchema as h, ChangePasswordInput as i, resetRequestInputSchema as l, TotpVerifyInput as m, AuthOpenApiFetchClient as n, ResetRequestInput as o, MfaWebauthnInput as p, createAuthClient as r, changeInputSchema as s, AuthClientInitOptions as t, MFA_METHOD as u, LoginInput as v, loginInputSchema as w, LoginUser as x, LoginResult as y };
367
- //# sourceMappingURL=authClient-DhfzOUaa.d.cts.map
367
+ //# sourceMappingURL=authClient-CTHNs6Tq.d.cts.map