@keboola/api-client 55.0.0 → 57.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 (347) hide show
  1. package/AGENTS.md +110 -229
  2. package/API-SURFACE.md +12 -2
  3. package/CHANGELOG.md +61 -0
  4. package/README.md +20 -133
  5. package/dist/{ManagementSessionMintError-Bc9bc7Ai.cjs → ManagementSessionMintError-BCOLLaJi.cjs} +3 -2
  6. package/dist/ManagementSessionMintError-BCOLLaJi.cjs.map +1 -0
  7. package/dist/{ManagementSessionMintError-BMHDcEqV.js → ManagementSessionMintError-KUX3utTV.js} +3 -2
  8. package/dist/ManagementSessionMintError-KUX3utTV.js.map +1 -0
  9. package/dist/{adminRoles-Cm513r1G.d.ts → adminRoles-CnfGDvjN.d.ts} +2 -2
  10. package/dist/{adminRoles-BTKVwEy8.d.cts → adminRoles-D6AS9Bzx.d.cts} +2 -2
  11. package/dist/ai/index.d.cts +2 -2
  12. package/dist/ai/index.d.ts +2 -2
  13. package/dist/ai/types.d.cts +1 -1
  14. package/dist/ai/types.d.ts +1 -1
  15. package/dist/apps/index.cjs +1 -1
  16. package/dist/apps/index.d.cts +2 -2
  17. package/dist/apps/index.d.ts +2 -2
  18. package/dist/apps/index.js +1 -1
  19. package/dist/apps/types.d.cts +2 -2
  20. package/dist/apps/types.d.ts +2 -2
  21. package/dist/{apps-C1x5IKNQ.cjs → apps-BA9JRLAZ.cjs} +55 -1
  22. package/dist/apps-BA9JRLAZ.cjs.map +1 -0
  23. package/dist/{apps-BN7fWtSm.js → apps-DDcguJ1i.js} +55 -1
  24. package/dist/apps-DDcguJ1i.js.map +1 -0
  25. package/dist/assets/index.d.cts +1 -1
  26. package/dist/assets/index.d.ts +1 -1
  27. package/dist/auth/index.cjs +1 -1
  28. package/dist/auth/index.d.cts +1 -1
  29. package/dist/auth/index.d.ts +1 -1
  30. package/dist/auth/index.js +1 -1
  31. package/dist/auth/types.d.cts +2 -2
  32. package/dist/auth/types.d.ts +2 -2
  33. package/dist/{authClient-BM4L8XEN.js → authClient-BKGpJI5L.js} +14 -45
  34. package/dist/authClient-BKGpJI5L.js.map +1 -0
  35. package/dist/{authClient-DspK50e7.cjs → authClient-C3KG9hXw.cjs} +15 -58
  36. package/dist/authClient-C3KG9hXw.cjs.map +1 -0
  37. package/dist/{authClient-ij_Rm2Yn.d.ts → authClient-CbWpMmdX.d.ts} +7 -4
  38. package/dist/{authClient-NBi0pqD5.d.cts → authClient-UKeopxZZ.d.cts} +7 -4
  39. package/dist/billing/index.d.cts +1 -1
  40. package/dist/billing/index.d.ts +1 -1
  41. package/dist/billing/types.d.cts +1 -1
  42. package/dist/billing/types.d.ts +1 -1
  43. package/dist/chat/index.d.cts +2 -2
  44. package/dist/chat/index.d.ts +2 -2
  45. package/dist/chat/types.d.cts +1 -1
  46. package/dist/chat/types.d.ts +1 -1
  47. package/dist/componentsMcp/index.d.cts +1 -1
  48. package/dist/componentsMcp/index.d.ts +1 -1
  49. package/dist/componentsMcp/types.d.cts +1 -1
  50. package/dist/componentsMcp/types.d.ts +1 -1
  51. package/dist/constants/index.cjs +2 -2
  52. package/dist/constants/index.d.cts +3 -3
  53. package/dist/constants/index.d.ts +3 -3
  54. package/dist/constants/index.js +2 -2
  55. package/dist/{constants-HccvU5kx.js → constants-CxEaHCyt.js} +4 -3
  56. package/dist/constants-CxEaHCyt.js.map +1 -0
  57. package/dist/{constants-V9hAyPTo.cjs → constants-fiyOLyZE.cjs} +4 -3
  58. package/dist/constants-fiyOLyZE.cjs.map +1 -0
  59. package/dist/dataScience/index.d.cts +3 -3
  60. package/dist/dataScience/index.d.ts +3 -3
  61. package/dist/dataScience/types.d.cts +1 -1
  62. package/dist/dataScience/types.d.ts +1 -1
  63. package/dist/developerPortal/index.cjs +1 -1
  64. package/dist/developerPortal/index.d.cts +3 -3
  65. package/dist/developerPortal/index.d.ts +3 -3
  66. package/dist/developerPortal/index.js +1 -1
  67. package/dist/developerPortal/types.d.cts +2 -2
  68. package/dist/developerPortal/types.d.ts +2 -2
  69. package/dist/{developerPortalClient-CzCJ5sE3.js → developerPortalClient-3Q7049-4.js} +19 -1
  70. package/dist/developerPortalClient-3Q7049-4.js.map +1 -0
  71. package/dist/{developerPortalClient-BcK9F-Fs.cjs → developerPortalClient-Cj9bStCS.cjs} +19 -1
  72. package/dist/developerPortalClient-Cj9bStCS.cjs.map +1 -0
  73. package/dist/domain/permissions/index.d.cts +1 -1
  74. package/dist/domain/permissions/index.d.ts +1 -1
  75. package/dist/editor/index.d.cts +2 -2
  76. package/dist/editor/index.d.ts +2 -2
  77. package/dist/editor/types.d.cts +1 -1
  78. package/dist/editor/types.d.ts +1 -1
  79. package/dist/{emitter-raKkIqRp.d.ts → emitter-yaYzJOdh.d.cts} +1 -2
  80. package/dist/{emitter-raKkIqRp.d.cts → emitter-yaYzJOdh.d.ts} +1 -2
  81. package/dist/encryption/index.d.cts +1 -1
  82. package/dist/encryption/index.d.ts +1 -1
  83. package/dist/encryption/types.d.cts +1 -1
  84. package/dist/encryption/types.d.ts +1 -1
  85. package/dist/import/index.d.cts +3 -3
  86. package/dist/import/index.d.ts +3 -3
  87. package/dist/{index-FrsEkDvX.d.cts → index-9p4O-clX.d.cts} +2035 -73
  88. package/dist/{index-FrsEkDvX.d.ts → index-9p4O-clX.d.ts} +2035 -73
  89. package/dist/{index-BGE3eZfd.d.cts → index-B-HCh7LL.d.cts} +3 -3
  90. package/dist/{index-D3hWR_e4.d.ts → index-B0e42GnK.d.cts} +4 -3
  91. package/dist/{index-DeWeUUfE.d.ts → index-BbXGsspe.d.ts} +4 -4
  92. package/dist/{index-CYk7Aa8u.d.cts → index-Bg9BWpIY.d.ts} +4 -3
  93. package/dist/{index-CmyFWQXn.d.cts → index-BgEu7wGk.d.cts} +2671 -7325
  94. package/dist/{index-B8K-Bbdq.d.cts → index-Btft3BFn.d.ts} +29 -3
  95. package/dist/{index-CNJBmCHM.d.cts → index-ByaAn_lm.d.cts} +4 -4
  96. package/dist/{index-DLWMm1-T.d.ts → index-C92Ct6K5.d.ts} +178 -4
  97. package/dist/{index-CEDjFidH.d.ts → index-CBq59Aif.d.ts} +3 -3
  98. package/dist/{index-CQNwp6wX.d.ts → index-CGUPsu_R.d.cts} +29 -3
  99. package/dist/{index-CZvBjQvl.d.ts → index-CIA6-x2Q.d.ts} +4 -4
  100. package/dist/{index-BVe4S2CK.d.ts → index-CeWVf3d1.d.ts} +4 -4
  101. package/dist/{index-CQPs3hrp.d.ts → index-Cj0l_DL_.d.ts} +2671 -7325
  102. package/dist/{index-BUZ-vTRt.d.ts → index-Ck0UPKMM.d.ts} +2 -2
  103. package/dist/{index-d9zxFmNI.d.cts → index-D0ACg_Pp.d.cts} +7 -4
  104. package/dist/{index-8QhOqFLY.d.cts → index-D8nMnVp1.d.cts} +4 -4
  105. package/dist/{index-24GpnYhn.d.cts → index-DENUPo51.d.cts} +2 -2
  106. package/dist/{index-iFCann29.d.cts → index-DGjxLWZ-.d.cts} +3 -3
  107. package/dist/{index-CdeWTy8t.d.ts → index-Dse6Psvc.d.ts} +7 -4
  108. package/dist/{index-DTGOEke4.d.ts → index-DxcaEIhU.d.ts} +3 -3
  109. package/dist/{index-BE6qM0vu.d.cts → index-OCEoQ1Y-.d.cts} +4 -4
  110. package/dist/{index-BXgjPlZN.d.cts → index-jR69kGUZ.d.cts} +178 -4
  111. package/dist/index.cjs +613 -865
  112. package/dist/index.cjs.map +1 -1
  113. package/dist/index.d.cts +9 -9
  114. package/dist/index.d.ts +9 -9
  115. package/dist/index.js +611 -860
  116. package/dist/index.js.map +1 -1
  117. package/dist/kaiAgent/index.cjs +1 -1
  118. package/dist/kaiAgent/index.d.cts +2 -2
  119. package/dist/kaiAgent/index.d.ts +2 -2
  120. package/dist/kaiAgent/index.js +1 -1
  121. package/dist/kaiAgent/types.d.cts +2 -2
  122. package/dist/kaiAgent/types.d.ts +2 -2
  123. package/dist/{kaiAgent-De2T6G4G.cjs → kaiAgent-Q00g6S1v.cjs} +16 -1
  124. package/dist/kaiAgent-Q00g6S1v.cjs.map +1 -0
  125. package/dist/{kaiAgent-D0MoKqXe.js → kaiAgent-aqylPZHY.js} +16 -1
  126. package/dist/kaiAgent-aqylPZHY.js.map +1 -0
  127. package/dist/management/index.cjs +1 -1
  128. package/dist/management/index.d.cts +1 -1
  129. package/dist/management/index.d.ts +1 -1
  130. package/dist/management/index.js +1 -1
  131. package/dist/management/types.d.cts +1 -1
  132. package/dist/management/types.d.ts +1 -1
  133. package/dist/{management-BlMQnPNS.js → management-CIK5-Aq5.js} +14 -7
  134. package/dist/management-CIK5-Aq5.js.map +1 -0
  135. package/dist/{management-dIMrTTpI.cjs → management-Dqrc516s.cjs} +14 -7
  136. package/dist/management-Dqrc516s.cjs.map +1 -0
  137. package/dist/{metaObject-ClvW342q.d.ts → metaObject-AQ7wKDOu.d.ts} +2 -2
  138. package/dist/{metaObject-D7oudegV.d.cts → metaObject-I35_krxf.d.cts} +2 -2
  139. package/dist/metastore/index.d.cts +1 -1
  140. package/dist/metastore/index.d.ts +1 -1
  141. package/dist/metastore/types.d.cts +1 -1
  142. package/dist/metastore/types.d.ts +1 -1
  143. package/dist/microsoftGraph/index.d.cts +3 -3
  144. package/dist/microsoftGraph/index.d.ts +3 -3
  145. package/dist/microsoftGraph/types.d.cts +2 -2
  146. package/dist/microsoftGraph/types.d.ts +2 -2
  147. package/dist/{middleware-DxGv7DG8.js → middleware-DWmhthX0.js} +2 -2
  148. package/dist/middleware-DWmhthX0.js.map +1 -0
  149. package/dist/{middleware-vIaPDtQI.cjs → middleware-DYdDD4O6.cjs} +2 -2
  150. package/dist/middleware-DYdDD4O6.cjs.map +1 -0
  151. package/dist/notifications/index.d.cts +2 -2
  152. package/dist/notifications/index.d.ts +2 -2
  153. package/dist/notifications/types.d.cts +1 -1
  154. package/dist/notifications/types.d.ts +1 -1
  155. package/dist/oauth/index.d.cts +2 -2
  156. package/dist/oauth/index.d.ts +2 -2
  157. package/dist/oauth/types.d.cts +1 -1
  158. package/dist/oauth/types.d.ts +1 -1
  159. package/dist/omnisearch/index.d.cts +2 -2
  160. package/dist/omnisearch/index.d.ts +2 -2
  161. package/dist/omnisearch/types.d.cts +1 -1
  162. package/dist/omnisearch/types.d.ts +1 -1
  163. package/dist/{project-DS0HOV3M.d.ts → project-DwRvx_zN.d.ts} +3 -3
  164. package/dist/{project-BGk9CtOq.d.cts → project-ERH0FTGW.d.cts} +3 -3
  165. package/dist/queryService/index.cjs +1 -1
  166. package/dist/queryService/index.d.cts +1 -1
  167. package/dist/queryService/index.d.ts +1 -1
  168. package/dist/queryService/index.js +1 -1
  169. package/dist/queryService/types.d.cts +1 -1
  170. package/dist/queryService/types.d.ts +1 -1
  171. package/dist/{queryService-C3BQ6GKW.cjs → queryService-CECWubS0.cjs} +2 -2
  172. package/dist/{queryService-C3BQ6GKW.cjs.map → queryService-CECWubS0.cjs.map} +1 -1
  173. package/dist/{queryService-DQHtHy2-.js → queryService-CIxb_mcP.js} +2 -2
  174. package/dist/{queryService-DQHtHy2-.js.map → queryService-CIxb_mcP.js.map} +1 -1
  175. package/dist/queue/index.cjs +1 -1
  176. package/dist/queue/index.d.cts +11 -4
  177. package/dist/queue/index.d.ts +11 -4
  178. package/dist/queue/index.js +1 -1
  179. package/dist/queue/types.d.cts +1 -1
  180. package/dist/queue/types.d.ts +1 -1
  181. package/dist/{queue-6cywDnA-.js → queue-BBihD5qQ.js} +2 -2
  182. package/dist/{queue-6cywDnA-.js.map → queue-BBihD5qQ.js.map} +1 -1
  183. package/dist/{queue-J2uXzXR9.cjs → queue-PmTfoniJ.cjs} +2 -2
  184. package/dist/{queue-J2uXzXR9.cjs.map → queue-PmTfoniJ.cjs.map} +1 -1
  185. package/dist/scheduler/index.d.cts +2 -2
  186. package/dist/scheduler/index.d.ts +2 -2
  187. package/dist/scheduler/types.d.cts +1 -1
  188. package/dist/scheduler/types.d.ts +1 -1
  189. package/dist/{schema-DLmBEgPM.d.cts → schema-CqzWi5cO.d.cts} +14 -4
  190. package/dist/{schema-DLmBEgPM.d.ts → schema-CqzWi5cO.d.ts} +14 -4
  191. package/dist/sdk/configurations/index.d.cts +2 -3
  192. package/dist/sdk/configurations/index.d.ts +2 -3
  193. package/dist/sdk/dataAppServer/index.cjs +3 -3
  194. package/dist/sdk/dataAppServer/index.d.cts +1 -1
  195. package/dist/sdk/dataAppServer/index.d.ts +1 -1
  196. package/dist/sdk/dataAppServer/index.js +3 -3
  197. package/dist/sdk/developerPortal/index.cjs +3 -3
  198. package/dist/sdk/developerPortal/index.cjs.map +1 -1
  199. package/dist/sdk/developerPortal/index.d.cts +178 -4
  200. package/dist/sdk/developerPortal/index.d.ts +178 -4
  201. package/dist/sdk/developerPortal/index.js +3 -3
  202. package/dist/sdk/developerPortal/index.js.map +1 -1
  203. package/dist/sdk/kaiMemory/index.d.cts +1 -1
  204. package/dist/sdk/kaiMemory/index.d.ts +1 -1
  205. package/dist/sdk/kaiMemory/types.d.cts +1 -1
  206. package/dist/sdk/kaiMemory/types.d.ts +1 -1
  207. package/dist/sdk/queryService/index.d.cts +1 -1
  208. package/dist/sdk/queryService/index.d.ts +1 -1
  209. package/dist/sdk/securityPolicy/index.d.cts +2 -2
  210. package/dist/sdk/securityPolicy/index.d.ts +2 -2
  211. package/dist/sdk/securityPolicy/types.d.cts +1 -1
  212. package/dist/sdk/securityPolicy/types.d.ts +1 -1
  213. package/dist/sdk/semanticLayer/index.d.cts +1 -1
  214. package/dist/sdk/semanticLayer/index.d.ts +1 -1
  215. package/dist/sdk/semanticLayer/types.d.cts +1 -1
  216. package/dist/sdk/semanticLayer/types.d.ts +1 -1
  217. package/dist/sdk/tag/index.d.cts +3 -3
  218. package/dist/sdk/tag/index.d.ts +3 -3
  219. package/dist/sdk/tag/types.d.cts +1 -1
  220. package/dist/sdk/tag/types.d.ts +1 -1
  221. package/dist/sdk/vault/index.d.cts +1 -1
  222. package/dist/sdk/vault/index.d.ts +1 -1
  223. package/dist/status/index.d.cts +1 -1
  224. package/dist/status/index.d.ts +1 -1
  225. package/dist/storage/index.cjs +3 -3
  226. package/dist/storage/index.d.cts +2 -3
  227. package/dist/storage/index.d.ts +2 -3
  228. package/dist/storage/index.js +3 -3
  229. package/dist/storage/types.d.cts +6 -6
  230. package/dist/storage/types.d.ts +6 -6
  231. package/dist/{storage-BL-TfHp8.cjs → storage-chxoWtAL.cjs} +83 -42
  232. package/dist/storage-chxoWtAL.cjs.map +1 -0
  233. package/dist/{storage-DEJN8sw-.js → storage-o9teEKl_.js} +83 -42
  234. package/dist/storage-o9teEKl_.js.map +1 -0
  235. package/dist/{store-2OyH1XOP.cjs → store-7xlVu4qF.cjs} +3 -14
  236. package/dist/store-7xlVu4qF.cjs.map +1 -0
  237. package/dist/{store-HP0zRcLz.js → store-DDUzPeCm.js} +3 -14
  238. package/dist/store-DDUzPeCm.js.map +1 -0
  239. package/dist/stream/index.d.cts +2 -2
  240. package/dist/stream/index.d.ts +2 -2
  241. package/dist/stream/types.d.cts +1 -1
  242. package/dist/stream/types.d.ts +1 -1
  243. package/dist/syncActions/index.d.cts +2 -2
  244. package/dist/syncActions/index.d.ts +2 -2
  245. package/dist/syncActions/types.d.cts +1 -1
  246. package/dist/syncActions/types.d.ts +1 -1
  247. package/dist/telemetry/index.d.cts +2 -2
  248. package/dist/telemetry/index.d.ts +2 -2
  249. package/dist/telemetry/types.d.cts +1 -1
  250. package/dist/telemetry/types.d.ts +1 -1
  251. package/dist/{transientRetries-BORv47mH.js → transientRetries-dssygpwU.js} +2 -2
  252. package/dist/{transientRetries-BORv47mH.js.map → transientRetries-dssygpwU.js.map} +1 -1
  253. package/dist/{transientRetries-CBorl4Ue.cjs → transientRetries-yVaQgKqP.cjs} +2 -2
  254. package/dist/{transientRetries-CBorl4Ue.cjs.map → transientRetries-yVaQgKqP.cjs.map} +1 -1
  255. package/dist/{types-BEw98Dd2.d.cts → types-B1kernzE.d.cts} +2 -2
  256. package/dist/{types-DjSjUKUl.d.ts → types-BBmS7-IS.d.ts} +151 -4
  257. package/dist/{types-DbthI3r-.d.ts → types-BJyWTgXX.d.ts} +2 -2
  258. package/dist/{types-DNwIMEuB.d.cts → types-BPNFTA63.d.cts} +21 -7
  259. package/dist/{types-Bv2Ds1hL.d.cts → types-BPSExpye.d.cts} +244 -4
  260. package/dist/{types-Dsf7CYmm.d.ts → types-BiXonOK6.d.ts} +2 -2
  261. package/dist/{types-BXKL0wTI.d.cts → types-BimRBONo.d.cts} +3 -3
  262. package/dist/{types-D2hhEGem.d.cts → types-BuEC58u3.d.cts} +2 -2
  263. package/dist/{types-dU3EA8gk.d.ts → types-BzHyi99r.d.cts} +5 -3
  264. package/dist/{types-J_dgwMjP.d.ts → types-C4T_2JdN.d.cts} +40 -27
  265. package/dist/{types-OHt0D_f2.d.ts → types-C53aKnWt.d.ts} +2 -2
  266. package/dist/{types-Do3__S4Q.d.cts → types-CEjgqmr2.d.cts} +2 -2
  267. package/dist/{types-CQYyULrw.d.ts → types-CGtpwTJk.d.ts} +2 -2
  268. package/dist/{types-D5bxXqEU.d.ts → types-CH1uguug.d.cts} +2 -163
  269. package/dist/{types-Tg3euEN_.d.ts → types-CP8-CssY.d.ts} +2 -2
  270. package/dist/{types-DX1Dz0xK.d.ts → types-CPQ6RkiZ.d.ts} +244 -4
  271. package/dist/{types-DSWIIMdv.d.ts → types-CPwofeyq.d.ts} +3 -3
  272. package/dist/{types-ChOJ-Az7.d.cts → types-CQAEOq-K.d.cts} +2 -2
  273. package/dist/{types-CKdNf_2k.d.cts → types-CVWoP_PC.d.cts} +3 -3
  274. package/dist/{types-B4ezB18r.d.cts → types-CbM2MApW.d.cts} +2 -2
  275. package/dist/{types-BD0B1KQ6.d.ts → types-CbOfT6lb.d.ts} +21 -7
  276. package/dist/{types-DMhgKHCP.d.cts → types-CcPpqVhm.d.cts} +2 -2
  277. package/dist/{types-d5Bt8Mr3.d.ts → types-CeqpzbBH.d.ts} +2 -2
  278. package/dist/{types-DU8aPTFW.d.cts → types-CjJYZaMO.d.cts} +2 -2
  279. package/dist/{types-B4Vwz45w.d.cts → types-CjP8RcFN.d.cts} +2 -2
  280. package/dist/{types-Rrcx-8LM.d.ts → types-CjfsPtwk.d.ts} +2 -2
  281. package/dist/{types-B6f6LpZ_.d.cts → types-CnSBLcZB.d.ts} +163 -3
  282. package/dist/{types-Bp8G9yta.d.ts → types-CsXLdnfV.d.ts} +2 -2
  283. package/dist/{types-Y4e8GGa3.d.cts → types-CzAh5-0z.d.cts} +2 -2
  284. package/dist/{types-BDgOF2WN.d.ts → types-D0F_c5KI.d.ts} +4 -4
  285. package/dist/{types-C5B3Pfob.d.cts → types-D3L3CqKl.d.cts} +151 -4
  286. package/dist/{types-CTYTMXXj.d.ts → types-D4oIei5M.d.cts} +163 -3
  287. package/dist/{types-CSE8bHiq.d.cts → types-D6ilG8sC.d.cts} +3 -3
  288. package/dist/{types-Cf0WE6qK.d.cts → types-DEGkXcw2.d.ts} +5 -3
  289. package/dist/{types-BynQKst1.d.cts → types-DEhAcO1Z.d.cts} +2 -2
  290. package/dist/{types-DCARsJWs.d.cts → types-DaIfg9Mb.d.cts} +4 -4
  291. package/dist/{types-p_lWvuQJ.d.ts → types-DhofEmWy.d.ts} +2 -2
  292. package/dist/{types-zlYUn0oi.d.ts → types-Dp61pYgP.d.ts} +3 -3
  293. package/dist/{types-CRC4lbPw.d.cts → types-Dteot3tT.d.ts} +757 -112
  294. package/dist/{types-DoSZQ1Bi.d.ts → types-K-JISUUI.d.cts} +757 -112
  295. package/dist/{types-Bwvss_gW.d.cts → types-TywAc1ow.d.ts} +40 -27
  296. package/dist/{types-B6JcEPEu.d.ts → types-UBpth6_9.d.ts} +2 -2
  297. package/dist/{types-DKKHKj19.d.cts → types-Vw-tduOH.d.ts} +2 -163
  298. package/dist/{types-CIlBSV99.d.cts → types-ZyLTqgpa.d.cts} +2 -2
  299. package/dist/{types-D-ufoskb.d.cts → types-aylD1zQz.d.cts} +17 -2
  300. package/dist/{types-BVJmcoqA.d.cts → types-fYY4q7dC.d.cts} +2 -2
  301. package/dist/{types-DK1bSUNr.d.ts → types-jYn3e3Du.d.ts} +3 -3
  302. package/dist/{types-CepTvkfm.d.ts → types-qXqJRPHj.d.ts} +2 -2
  303. package/dist/{types-kGZQQcIK.d.ts → types-r-Qa3y8e.d.ts} +2 -2
  304. package/dist/{types-Cr6WA6CN.d.ts → types-z82j5aNW.d.ts} +17 -2
  305. package/dist/validateConnectionStatus-DgJwuEy9.js +86 -0
  306. package/dist/validateConnectionStatus-DgJwuEy9.js.map +1 -0
  307. package/dist/validateConnectionStatus-DpYRsU-e.cjs +121 -0
  308. package/dist/validateConnectionStatus-DpYRsU-e.cjs.map +1 -0
  309. package/dist/vault/index.d.cts +1 -1
  310. package/dist/vault/index.d.ts +1 -1
  311. package/dist/vault/types.d.cts +1 -1
  312. package/dist/vault/types.d.ts +1 -1
  313. package/package.json +2 -2
  314. package/surface/apps.md +8 -3
  315. package/surface/auth.md +3 -2
  316. package/surface/chat.md +3 -3
  317. package/surface/dataScience.md +2 -2
  318. package/surface/kaiAgent.md +4 -3
  319. package/surface/management.md +4 -4
  320. package/surface/queue.md +7 -7
  321. package/surface/storage.md +32 -26
  322. package/dist/ManagementSessionMintError-BMHDcEqV.js.map +0 -1
  323. package/dist/ManagementSessionMintError-Bc9bc7Ai.cjs.map +0 -1
  324. package/dist/apps-BN7fWtSm.js.map +0 -1
  325. package/dist/apps-C1x5IKNQ.cjs.map +0 -1
  326. package/dist/authClient-BM4L8XEN.js.map +0 -1
  327. package/dist/authClient-DspK50e7.cjs.map +0 -1
  328. package/dist/constants-HccvU5kx.js.map +0 -1
  329. package/dist/constants-V9hAyPTo.cjs.map +0 -1
  330. package/dist/developerPortalClient-BcK9F-Fs.cjs.map +0 -1
  331. package/dist/developerPortalClient-CzCJ5sE3.js.map +0 -1
  332. package/dist/index-BGsP2QBc.d.ts +0 -10
  333. package/dist/index-CWowDl63.d.cts +0 -10
  334. package/dist/kaiAgent-D0MoKqXe.js.map +0 -1
  335. package/dist/kaiAgent-De2T6G4G.cjs.map +0 -1
  336. package/dist/management-BlMQnPNS.js.map +0 -1
  337. package/dist/management-dIMrTTpI.cjs.map +0 -1
  338. package/dist/middleware-DxGv7DG8.js.map +0 -1
  339. package/dist/middleware-vIaPDtQI.cjs.map +0 -1
  340. package/dist/storage-BL-TfHp8.cjs.map +0 -1
  341. package/dist/storage-DEJN8sw-.js.map +0 -1
  342. package/dist/store-2OyH1XOP.cjs.map +0 -1
  343. package/dist/store-HP0zRcLz.js.map +0 -1
  344. package/dist/validateConnectionStatus-DV00sDmu.js +0 -34
  345. package/dist/validateConnectionStatus-DV00sDmu.js.map +0 -1
  346. package/dist/validateConnectionStatus-ckaHcRx8.cjs +0 -51
  347. package/dist/validateConnectionStatus-ckaHcRx8.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
- import { Hr as CreateJobBody, Kr as OrchestrationRerunPlanPath, Qr as SearchJobsQuery, Ur as GetQueueJobPath, Wr as KillJobPath, Xr as SearchGroupedJobsQuery, Yr as SearchAllJobsQuery, ei as components } from "../index-FrsEkDvX.js";
2
- import "../index-CQPs3hrp.js";
3
- import { n as ClientInitOptions } from "../types-Tg3euEN_.js";
4
- import { c as Poller } from "../index-BUZ-vTRt.js";
1
+ import { $r as SearchJobsQuery, Gr as KillJobPath, Ur as CreateJobBody, Wr as GetQueueJobPath, Xr as SearchAllJobsQuery, Zr as SearchGroupedJobsQuery, qr as OrchestrationRerunPlanPath, ti as components } from "../index-9p4O-clX.js";
2
+ import "../index-Cj0l_DL_.js";
3
+ import { n as ClientInitOptions } from "../types-CP8-CssY.js";
4
+ import { c as Poller } from "../index-Ck0UPKMM.js";
5
5
  declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
6
6
  healthCheck: (signal?: AbortSignal) => Promise<unknown>;
7
7
  poller: ({ init, interval, maxAttempts, timeout, signal }: {
@@ -78,6 +78,7 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
78
78
  type?: components['schemas']['JobType'];
79
79
  orchestrationTaskId?: string | null;
80
80
  previousJobId?: string | null;
81
+ runtimeTimezone?: string | null;
81
82
  onlyOrchestrationTaskIds?: string[] | null;
82
83
  onlyFlowTaskIds?: string[] | null;
83
84
  }, {
@@ -141,6 +142,7 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
141
142
  type?: components['schemas']['JobType'];
142
143
  orchestrationTaskId?: string | null;
143
144
  previousJobId?: string | null;
145
+ runtimeTimezone?: string | null;
144
146
  onlyOrchestrationTaskIds?: string[] | null;
145
147
  onlyFlowTaskIds?: string[] | null;
146
148
  }>;
@@ -205,6 +207,7 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
205
207
  type?: components['schemas']['JobType'];
206
208
  orchestrationTaskId?: string | null;
207
209
  previousJobId?: string | null;
210
+ runtimeTimezone?: string | null;
208
211
  onlyOrchestrationTaskIds?: string[] | null;
209
212
  onlyFlowTaskIds?: string[] | null;
210
213
  }>;
@@ -269,6 +272,7 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
269
272
  type?: components['schemas']['JobType'];
270
273
  orchestrationTaskId?: string | null;
271
274
  previousJobId?: string | null;
275
+ runtimeTimezone?: string | null;
272
276
  onlyOrchestrationTaskIds?: string[] | null;
273
277
  onlyFlowTaskIds?: string[] | null;
274
278
  }[]>;
@@ -333,6 +337,7 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
333
337
  type?: components['schemas']['JobType'];
334
338
  orchestrationTaskId?: string | null;
335
339
  previousJobId?: string | null;
340
+ runtimeTimezone?: string | null;
336
341
  onlyOrchestrationTaskIds?: string[] | null;
337
342
  onlyFlowTaskIds?: string[] | null;
338
343
  }[]>;
@@ -397,6 +402,7 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
397
402
  type?: components['schemas']['JobType'];
398
403
  orchestrationTaskId?: string | null;
399
404
  previousJobId?: string | null;
405
+ runtimeTimezone?: string | null;
400
406
  onlyOrchestrationTaskIds?: string[] | null;
401
407
  onlyFlowTaskIds?: string[] | null;
402
408
  }>;
@@ -461,6 +467,7 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
461
467
  type?: components['schemas']['JobType'];
462
468
  orchestrationTaskId?: string | null;
463
469
  previousJobId?: string | null;
470
+ runtimeTimezone?: string | null;
464
471
  onlyOrchestrationTaskIds?: string[] | null;
465
472
  onlyFlowTaskIds?: string[] | null;
466
473
  }>;
@@ -1 +1 @@
1
- export { t as createQueueClient } from "../queue-6cywDnA-.js";
1
+ export { t as createQueueClient } from "../queue-BBihD5qQ.js";
@@ -1,2 +1,2 @@
1
- import { $r as SearchJobsResponse, Gr as OrchestrationRerunPlan, Hr as CreateJobBody, Jr as QueueJobStatus, Kr as OrchestrationRerunPlanPath, Qr as SearchJobsQuery, Ur as GetQueueJobPath, Wr as KillJobPath, Xr as SearchGroupedJobsQuery, Yr as SearchAllJobsQuery, Zr as SearchGroupedJobsResponse, qr as QueueJob } from "../index-FrsEkDvX.cjs";
1
+ import { $r as SearchJobsQuery, Gr as KillJobPath, Jr as QueueJob, Kr as OrchestrationRerunPlan, Qr as SearchGroupedJobsResponse, Ur as CreateJobBody, Wr as GetQueueJobPath, Xr as SearchAllJobsQuery, Yr as QueueJobStatus, Zr as SearchGroupedJobsQuery, ei as SearchJobsResponse, qr as OrchestrationRerunPlanPath } from "../index-9p4O-clX.cjs";
2
2
  export { CreateJobBody, GetQueueJobPath, KillJobPath, OrchestrationRerunPlan, OrchestrationRerunPlanPath, QueueJob, QueueJobStatus, SearchAllJobsQuery, SearchGroupedJobsQuery, SearchGroupedJobsResponse, SearchJobsQuery, SearchJobsResponse };
@@ -1,2 +1,2 @@
1
- import { $r as SearchJobsResponse, Gr as OrchestrationRerunPlan, Hr as CreateJobBody, Jr as QueueJobStatus, Kr as OrchestrationRerunPlanPath, Qr as SearchJobsQuery, Ur as GetQueueJobPath, Wr as KillJobPath, Xr as SearchGroupedJobsQuery, Yr as SearchAllJobsQuery, Zr as SearchGroupedJobsResponse, qr as QueueJob } from "../index-FrsEkDvX.js";
1
+ import { $r as SearchJobsQuery, Gr as KillJobPath, Jr as QueueJob, Kr as OrchestrationRerunPlan, Qr as SearchGroupedJobsResponse, Ur as CreateJobBody, Wr as GetQueueJobPath, Xr as SearchAllJobsQuery, Yr as QueueJobStatus, Zr as SearchGroupedJobsQuery, ei as SearchJobsResponse, qr as OrchestrationRerunPlanPath } from "../index-9p4O-clX.js";
2
2
  export { CreateJobBody, GetQueueJobPath, KillJobPath, OrchestrationRerunPlan, OrchestrationRerunPlanPath, QueueJob, QueueJobStatus, SearchAllJobsQuery, SearchGroupedJobsQuery, SearchGroupedJobsResponse, SearchJobsQuery, SearchJobsResponse };
@@ -2,7 +2,7 @@ import { t as QueueJobError } from "./QueueJobError-BJNUINXW.js";
2
2
  import { t as createGenericFetchClient } from "./createGenericFetchClient-Ba4E4T-Y.js";
3
3
  import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-DSk29o_s.js";
4
4
  import { t as collectByOffset } from "./collectByOffset-i8Tdoze7.js";
5
- import { a as poller, n as jobStatus, t as transientRetries } from "./transientRetries-BORv47mH.js";
5
+ import { a as poller, n as jobStatus, t as transientRetries } from "./transientRetries-dssygpwU.js";
6
6
  import { t as createAuthHeaders } from "./auth-ZBQWCJPM.js";
7
7
  // src/clients/queue/poller.ts
8
8
  const DEFAULT_POLL_INTERVAL = 2e3;
@@ -103,4 +103,4 @@ const createQueueClient = ({ baseUrl, middlewares, auth }) => {
103
103
  };
104
104
  export { createQueueClient as t };
105
105
 
106
- //# sourceMappingURL=queue-6cywDnA-.js.map
106
+ //# sourceMappingURL=queue-BBihD5qQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue-6cywDnA-.js","names":[],"sources":["../src/clients/queue/poller.ts","../src/clients/queue/queueClient.ts"],"sourcesContent":["import { jobStatus } from '../../domain/jobStatus';\nimport { QueueJobError } from '../../errors';\nimport { poller } from '../../utils/async';\nimport { transientRetries } from '../transientRetries';\n\nimport type { GetQueueJobPath, QueueJob } from './types';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\ntype QueueJobPollOptions = {\n interval?: number;\n maxAttempts?: number;\n timeout?: number;\n signal?: AbortSignal;\n};\n\ntype GetJob = (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => Promise<QueueJob>;\n\ntype JobRef = { id: GetQueueJobPath['jobId']; component: string };\n\n/**\n * Waits on a queue job.\n *\n * - `init` is the job, or the enqueue that yields it; the job names the poll in dev tools.\n * - `start()` resolves any terminal job; `wait()` throws `QueueJobError` for one that ended `error`.\n */\nexport const createJobPoller =\n ({ getJob }: { getJob: GetJob }) =>\n ({\n init,\n interval,\n maxAttempts,\n timeout,\n signal,\n }: QueueJobPollOptions & { init: JobRef | ((signal: AbortSignal) => Promise<JobRef>) }) => {\n const retries = transientRetries();\n\n return poller({\n pollKey: ({ id, component }) => ['queue.job', { id, component }] as const,\n init,\n pollFn: async ({ init: { id }, signal: pollSignal }) => {\n const job = await getJob(id, pollSignal);\n retries.reset();\n return job;\n },\n isRetryable: retries.isRetryable,\n until: ({ data }) => jobStatus.queue.isTerminal(data.status),\n failed: (job) => (job.status === 'error' ? new QueueJobError(job) : undefined),\n backoff: { type: 'constant', interval: interval ?? DEFAULT_POLL_INTERVAL },\n maxAttempts,\n timeout,\n signal,\n });\n };\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { collectByOffset } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createJobPoller } from './poller';\nimport type {\n CreateJobBody,\n GetQueueJobPath,\n KillJobPath,\n OrchestrationRerunPlanPath,\n SearchAllJobsQuery,\n SearchGroupedJobsQuery,\n SearchJobsQuery,\n} from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const searchAllJobs = (query: SearchAllJobsQuery, signal?: AbortSignal) => {\n return collectByOffset({\n pageSize: query.limit,\n signal,\n fetchFrom: (offset, pageSize, batchSignal) => {\n return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);\n },\n });\n };\n\n const createJob = async (body: CreateJobBody, signal?: AbortSignal) => {\n const { data } = await client.post('/jobs', { body }, { signal });\n\n return data;\n };\n\n const killJob = async (jobId: KillJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.post(\n '/jobs/{jobId}/kill',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchGroupedJobs = async (query: SearchGroupedJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/grouped-jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const getOrchestrationRerunPlan = async (\n jobId: OrchestrationRerunPlanPath['jobId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/orchestration-rerun-plan/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n // Every wait on a queue job is the same wait, so it is the client's rather than a caller's.\n const poller = createJobPoller({ getJob });\n\n return {\n healthCheck,\n poller,\n getJob,\n searchJobs,\n searchAllJobs,\n createJob,\n killJob,\n searchGroupedJobs,\n getOrchestrationRerunPlan,\n };\n};\n"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;;;;;;;AAmB9B,MAAa,mBACV,EAAE,cACF,EACC,MACA,UACA,aACA,SACA,aACyF;CACzF,MAAM,UAAU,iBAAiB;CAEjC,OAAO,OAAO;EACZ,UAAU,EAAE,IAAI,gBAAgB,CAAC,aAAa;GAAE;GAAI;EAAU,CAAC;EAC/D;EACA,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,iBAAiB;GACtD,MAAM,MAAM,MAAM,OAAO,IAAI,UAAU;GACvC,QAAQ,MAAM;GACd,OAAO;EACT;EACA,aAAa,QAAQ;EACrB,QAAQ,EAAE,WAAW,UAAU,MAAM,WAAW,KAAK,MAAM;EAC3D,SAAS,QAAS,IAAI,WAAW,UAAU,IAAI,cAAc,GAAG,IAAI,KAAA;EACpE,SAAS;GAAE,MAAM;GAAY,UAAU,YAAY;EAAsB;EACzE;EACA;EACA;CACF,CAAC;AACH;;ACpCF,MAAa,qBAAqB,EAAE,SAAS,aAAa,WAA8B;CACtF,MAAM,SAAS,yBAAgC;EAC7C;EACA;EACA,SAAS,kBAAkB,IAAI;CACjC,CAAC;CACD,MAAM,gBAAgB,yBAAyB;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,SAAS,OAAO,OAAiC,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,iBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,OAAyB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,iBAAiB,OAA2B,WAAyB;EACzE,OAAO,gBAAgB;GACrB,UAAU,MAAM;GAChB;GACA,YAAY,QAAQ,UAAU,gBAAgB;IAC5C,OAAO,WAAW;KAAE,GAAG;KAAO,OAAO;KAAU;IAAO,GAAG,WAAW;GACtE;EACF,CAAC;CACH;CAEA,MAAM,YAAY,OAAO,MAAqB,WAAyB;EACrE,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAEhE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,OAA6B,WAAyB;EAC3E,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,sBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,oBAAoB,OAAO,OAA+B,WAAyB;EACvF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,wBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,4BAA4B,OAChC,OACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,qCACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,cAAc,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EAExE,OAAO;CACT;CAKA,OAAO;EACL;EACA,QAJa,gBAAgB,EAAE,OAAO,CAIjC;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"queue-BBihD5qQ.js","names":[],"sources":["../src/clients/queue/poller.ts","../src/clients/queue/queueClient.ts"],"sourcesContent":["import { jobStatus } from '../../domain/jobStatus';\nimport { QueueJobError } from '../../errors';\nimport { poller } from '../../utils/async';\nimport { transientRetries } from '../transientRetries';\n\nimport type { GetQueueJobPath, QueueJob } from './types';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\ntype QueueJobPollOptions = {\n interval?: number;\n maxAttempts?: number;\n timeout?: number;\n signal?: AbortSignal;\n};\n\ntype GetJob = (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => Promise<QueueJob>;\n\ntype JobRef = { id: GetQueueJobPath['jobId']; component: string };\n\n/**\n * Waits on a queue job.\n *\n * - `init` is the job, or the enqueue that yields it; the job names the poll in dev tools.\n * - `start()` resolves any terminal job; `wait()` throws `QueueJobError` for one that ended `error`.\n */\nexport const createJobPoller =\n ({ getJob }: { getJob: GetJob }) =>\n ({\n init,\n interval,\n maxAttempts,\n timeout,\n signal,\n }: QueueJobPollOptions & { init: JobRef | ((signal: AbortSignal) => Promise<JobRef>) }) => {\n const retries = transientRetries();\n\n return poller({\n pollKey: ({ id, component }) => ['queue.job', { id, component }] as const,\n init,\n pollFn: async ({ init: { id }, signal: pollSignal }) => {\n const job = await getJob(id, pollSignal);\n retries.reset();\n return job;\n },\n isRetryable: retries.isRetryable,\n until: ({ data }) => jobStatus.queue.isTerminal(data.status),\n failed: (job) => (job.status === 'error' ? new QueueJobError(job) : undefined),\n backoff: { type: 'constant', interval: interval ?? DEFAULT_POLL_INTERVAL },\n maxAttempts,\n timeout,\n signal,\n });\n };\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { collectByOffset } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createJobPoller } from './poller';\nimport type {\n CreateJobBody,\n GetQueueJobPath,\n KillJobPath,\n OrchestrationRerunPlanPath,\n SearchAllJobsQuery,\n SearchGroupedJobsQuery,\n SearchJobsQuery,\n} from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const searchAllJobs = (query: SearchAllJobsQuery, signal?: AbortSignal) => {\n return collectByOffset({\n pageSize: query.limit,\n signal,\n fetchFrom: (offset, pageSize, batchSignal) => {\n return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);\n },\n });\n };\n\n const createJob = async (body: CreateJobBody, signal?: AbortSignal) => {\n const { data } = await client.post('/jobs', { body }, { signal });\n\n return data;\n };\n\n const killJob = async (jobId: KillJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.post(\n '/jobs/{jobId}/kill',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchGroupedJobs = async (query: SearchGroupedJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/grouped-jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const getOrchestrationRerunPlan = async (\n jobId: OrchestrationRerunPlanPath['jobId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/orchestration-rerun-plan/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n // Every wait on a queue job is the same wait, so it is the client's rather than a caller's.\n const poller = createJobPoller({ getJob });\n\n return {\n healthCheck,\n poller,\n getJob,\n searchJobs,\n searchAllJobs,\n createJob,\n killJob,\n searchGroupedJobs,\n getOrchestrationRerunPlan,\n };\n};\n"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;;;;;;;AAmB9B,MAAa,mBACV,EAAE,cACF,EACC,MACA,UACA,aACA,SACA,aACyF;CACzF,MAAM,UAAU,iBAAiB;CAEjC,OAAO,OAAO;EACZ,UAAU,EAAE,IAAI,gBAAgB,CAAC,aAAa;GAAE;GAAI;EAAU,CAAC;EAC/D;EACA,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,iBAAiB;GACtD,MAAM,MAAM,MAAM,OAAO,IAAI,UAAU;GACvC,QAAQ,MAAM;GACd,OAAO;EACT;EACA,aAAa,QAAQ;EACrB,QAAQ,EAAE,WAAW,UAAU,MAAM,WAAW,KAAK,MAAM;EAC3D,SAAS,QAAS,IAAI,WAAW,UAAU,IAAI,cAAc,GAAG,IAAI,KAAA;EACpE,SAAS;GAAE,MAAM;GAAY,UAAU,YAAY;EAAsB;EACzE;EACA;EACA;CACF,CAAC;AACH;;ACpCF,MAAa,qBAAqB,EAAE,SAAS,aAAa,WAA8B;CACtF,MAAM,SAAS,yBAAgC;EAC7C;EACA;EACA,SAAS,kBAAkB,IAAI;CACjC,CAAC;CACD,MAAM,gBAAgB,yBAAyB;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,SAAS,OAAO,OAAiC,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,iBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,OAAyB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,iBAAiB,OAA2B,WAAyB;EACzE,OAAO,gBAAgB;GACrB,UAAU,MAAM;GAChB;GACA,YAAY,QAAQ,UAAU,gBAAgB;IAC5C,OAAO,WAAW;KAAE,GAAG;KAAO,OAAO;KAAU;IAAO,GAAG,WAAW;GACtE;EACF,CAAC;CACH;CAEA,MAAM,YAAY,OAAO,MAAqB,WAAyB;EACrE,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAEhE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,OAA6B,WAAyB;EAC3E,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,sBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,oBAAoB,OAAO,OAA+B,WAAyB;EACvF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,wBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,4BAA4B,OAChC,OACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,qCACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,cAAc,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EAExE,OAAO;CACT;CAKA,OAAO;EACL;EACA,QAJa,gBAAgB,EAAE,OAAO,CAIjC;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -2,7 +2,7 @@ const require_QueueJobError = require("./QueueJobError-DruZK3tc.cjs");
2
2
  const require_createGenericFetchClient = require("./createGenericFetchClient-BuYzzV_D.cjs");
3
3
  const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-dkssExkU.cjs");
4
4
  const require_collectByOffset = require("./collectByOffset-DgxJ3zT9.cjs");
5
- const require_transientRetries = require("./transientRetries-CBorl4Ue.cjs");
5
+ const require_transientRetries = require("./transientRetries-yVaQgKqP.cjs");
6
6
  const require_auth = require("./auth-AehUDNRK.cjs");
7
7
  // src/clients/queue/poller.ts
8
8
  const DEFAULT_POLL_INTERVAL = 2e3;
@@ -108,4 +108,4 @@ Object.defineProperty(exports, "createQueueClient", {
108
108
  }
109
109
  });
110
110
 
111
- //# sourceMappingURL=queue-J2uXzXR9.cjs.map
111
+ //# sourceMappingURL=queue-PmTfoniJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue-J2uXzXR9.cjs","names":["transientRetries","poller","jobStatus","QueueJobError","createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient","collectByOffset"],"sources":["../src/clients/queue/poller.ts","../src/clients/queue/queueClient.ts"],"sourcesContent":["import { jobStatus } from '../../domain/jobStatus';\nimport { QueueJobError } from '../../errors';\nimport { poller } from '../../utils/async';\nimport { transientRetries } from '../transientRetries';\n\nimport type { GetQueueJobPath, QueueJob } from './types';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\ntype QueueJobPollOptions = {\n interval?: number;\n maxAttempts?: number;\n timeout?: number;\n signal?: AbortSignal;\n};\n\ntype GetJob = (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => Promise<QueueJob>;\n\ntype JobRef = { id: GetQueueJobPath['jobId']; component: string };\n\n/**\n * Waits on a queue job.\n *\n * - `init` is the job, or the enqueue that yields it; the job names the poll in dev tools.\n * - `start()` resolves any terminal job; `wait()` throws `QueueJobError` for one that ended `error`.\n */\nexport const createJobPoller =\n ({ getJob }: { getJob: GetJob }) =>\n ({\n init,\n interval,\n maxAttempts,\n timeout,\n signal,\n }: QueueJobPollOptions & { init: JobRef | ((signal: AbortSignal) => Promise<JobRef>) }) => {\n const retries = transientRetries();\n\n return poller({\n pollKey: ({ id, component }) => ['queue.job', { id, component }] as const,\n init,\n pollFn: async ({ init: { id }, signal: pollSignal }) => {\n const job = await getJob(id, pollSignal);\n retries.reset();\n return job;\n },\n isRetryable: retries.isRetryable,\n until: ({ data }) => jobStatus.queue.isTerminal(data.status),\n failed: (job) => (job.status === 'error' ? new QueueJobError(job) : undefined),\n backoff: { type: 'constant', interval: interval ?? DEFAULT_POLL_INTERVAL },\n maxAttempts,\n timeout,\n signal,\n });\n };\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { collectByOffset } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createJobPoller } from './poller';\nimport type {\n CreateJobBody,\n GetQueueJobPath,\n KillJobPath,\n OrchestrationRerunPlanPath,\n SearchAllJobsQuery,\n SearchGroupedJobsQuery,\n SearchJobsQuery,\n} from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const searchAllJobs = (query: SearchAllJobsQuery, signal?: AbortSignal) => {\n return collectByOffset({\n pageSize: query.limit,\n signal,\n fetchFrom: (offset, pageSize, batchSignal) => {\n return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);\n },\n });\n };\n\n const createJob = async (body: CreateJobBody, signal?: AbortSignal) => {\n const { data } = await client.post('/jobs', { body }, { signal });\n\n return data;\n };\n\n const killJob = async (jobId: KillJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.post(\n '/jobs/{jobId}/kill',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchGroupedJobs = async (query: SearchGroupedJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/grouped-jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const getOrchestrationRerunPlan = async (\n jobId: OrchestrationRerunPlanPath['jobId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/orchestration-rerun-plan/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n // Every wait on a queue job is the same wait, so it is the client's rather than a caller's.\n const poller = createJobPoller({ getJob });\n\n return {\n healthCheck,\n poller,\n getJob,\n searchJobs,\n searchAllJobs,\n createJob,\n killJob,\n searchGroupedJobs,\n getOrchestrationRerunPlan,\n };\n};\n"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;;;;;;;AAmB9B,MAAa,mBACV,EAAE,cACF,EACC,MACA,UACA,aACA,SACA,aACyF;CACzF,MAAM,UAAUA,yBAAAA,iBAAiB;CAEjC,OAAOC,yBAAAA,OAAO;EACZ,UAAU,EAAE,IAAI,gBAAgB,CAAC,aAAa;GAAE;GAAI;EAAU,CAAC;EAC/D;EACA,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,iBAAiB;GACtD,MAAM,MAAM,MAAM,OAAO,IAAI,UAAU;GACvC,QAAQ,MAAM;GACd,OAAO;EACT;EACA,aAAa,QAAQ;EACrB,QAAQ,EAAE,WAAWC,yBAAAA,UAAU,MAAM,WAAW,KAAK,MAAM;EAC3D,SAAS,QAAS,IAAI,WAAW,UAAU,IAAIC,sBAAAA,cAAc,GAAG,IAAI,KAAA;EACpE,SAAS;GAAE,MAAM;GAAY,UAAU,YAAY;EAAsB;EACzE;EACA;EACA;CACF,CAAC;AACH;;ACpCF,MAAa,qBAAqB,EAAE,SAAS,aAAa,WAA8B;CACtF,MAAM,SAASC,iCAAAA,yBAAgC;EAC7C;EACA;EACA,SAASC,aAAAA,kBAAkB,IAAI;CACjC,CAAC;CACD,MAAM,gBAAgBC,iCAAAA,yBAAyB;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,SAAS,OAAO,OAAiC,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,iBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,OAAyB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,iBAAiB,OAA2B,WAAyB;EACzE,OAAOC,wBAAAA,gBAAgB;GACrB,UAAU,MAAM;GAChB;GACA,YAAY,QAAQ,UAAU,gBAAgB;IAC5C,OAAO,WAAW;KAAE,GAAG;KAAO,OAAO;KAAU;IAAO,GAAG,WAAW;GACtE;EACF,CAAC;CACH;CAEA,MAAM,YAAY,OAAO,MAAqB,WAAyB;EACrE,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAEhE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,OAA6B,WAAyB;EAC3E,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,sBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,oBAAoB,OAAO,OAA+B,WAAyB;EACvF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,wBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,4BAA4B,OAChC,OACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,qCACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,cAAc,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EAExE,OAAO;CACT;CAKA,OAAO;EACL;EACA,QAJa,gBAAgB,EAAE,OAAO,CAIjC;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"queue-PmTfoniJ.cjs","names":["transientRetries","poller","jobStatus","QueueJobError","createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient","collectByOffset"],"sources":["../src/clients/queue/poller.ts","../src/clients/queue/queueClient.ts"],"sourcesContent":["import { jobStatus } from '../../domain/jobStatus';\nimport { QueueJobError } from '../../errors';\nimport { poller } from '../../utils/async';\nimport { transientRetries } from '../transientRetries';\n\nimport type { GetQueueJobPath, QueueJob } from './types';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\ntype QueueJobPollOptions = {\n interval?: number;\n maxAttempts?: number;\n timeout?: number;\n signal?: AbortSignal;\n};\n\ntype GetJob = (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => Promise<QueueJob>;\n\ntype JobRef = { id: GetQueueJobPath['jobId']; component: string };\n\n/**\n * Waits on a queue job.\n *\n * - `init` is the job, or the enqueue that yields it; the job names the poll in dev tools.\n * - `start()` resolves any terminal job; `wait()` throws `QueueJobError` for one that ended `error`.\n */\nexport const createJobPoller =\n ({ getJob }: { getJob: GetJob }) =>\n ({\n init,\n interval,\n maxAttempts,\n timeout,\n signal,\n }: QueueJobPollOptions & { init: JobRef | ((signal: AbortSignal) => Promise<JobRef>) }) => {\n const retries = transientRetries();\n\n return poller({\n pollKey: ({ id, component }) => ['queue.job', { id, component }] as const,\n init,\n pollFn: async ({ init: { id }, signal: pollSignal }) => {\n const job = await getJob(id, pollSignal);\n retries.reset();\n return job;\n },\n isRetryable: retries.isRetryable,\n until: ({ data }) => jobStatus.queue.isTerminal(data.status),\n failed: (job) => (job.status === 'error' ? new QueueJobError(job) : undefined),\n backoff: { type: 'constant', interval: interval ?? DEFAULT_POLL_INTERVAL },\n maxAttempts,\n timeout,\n signal,\n });\n };\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { collectByOffset } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createJobPoller } from './poller';\nimport type {\n CreateJobBody,\n GetQueueJobPath,\n KillJobPath,\n OrchestrationRerunPlanPath,\n SearchAllJobsQuery,\n SearchGroupedJobsQuery,\n SearchJobsQuery,\n} from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const searchAllJobs = (query: SearchAllJobsQuery, signal?: AbortSignal) => {\n return collectByOffset({\n pageSize: query.limit,\n signal,\n fetchFrom: (offset, pageSize, batchSignal) => {\n return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);\n },\n });\n };\n\n const createJob = async (body: CreateJobBody, signal?: AbortSignal) => {\n const { data } = await client.post('/jobs', { body }, { signal });\n\n return data;\n };\n\n const killJob = async (jobId: KillJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.post(\n '/jobs/{jobId}/kill',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchGroupedJobs = async (query: SearchGroupedJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/grouped-jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const getOrchestrationRerunPlan = async (\n jobId: OrchestrationRerunPlanPath['jobId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/orchestration-rerun-plan/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n // Every wait on a queue job is the same wait, so it is the client's rather than a caller's.\n const poller = createJobPoller({ getJob });\n\n return {\n healthCheck,\n poller,\n getJob,\n searchJobs,\n searchAllJobs,\n createJob,\n killJob,\n searchGroupedJobs,\n getOrchestrationRerunPlan,\n };\n};\n"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;;;;;;;AAmB9B,MAAa,mBACV,EAAE,cACF,EACC,MACA,UACA,aACA,SACA,aACyF;CACzF,MAAM,UAAUA,yBAAAA,iBAAiB;CAEjC,OAAOC,yBAAAA,OAAO;EACZ,UAAU,EAAE,IAAI,gBAAgB,CAAC,aAAa;GAAE;GAAI;EAAU,CAAC;EAC/D;EACA,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,iBAAiB;GACtD,MAAM,MAAM,MAAM,OAAO,IAAI,UAAU;GACvC,QAAQ,MAAM;GACd,OAAO;EACT;EACA,aAAa,QAAQ;EACrB,QAAQ,EAAE,WAAWC,yBAAAA,UAAU,MAAM,WAAW,KAAK,MAAM;EAC3D,SAAS,QAAS,IAAI,WAAW,UAAU,IAAIC,sBAAAA,cAAc,GAAG,IAAI,KAAA;EACpE,SAAS;GAAE,MAAM;GAAY,UAAU,YAAY;EAAsB;EACzE;EACA;EACA;CACF,CAAC;AACH;;ACpCF,MAAa,qBAAqB,EAAE,SAAS,aAAa,WAA8B;CACtF,MAAM,SAASC,iCAAAA,yBAAgC;EAC7C;EACA;EACA,SAASC,aAAAA,kBAAkB,IAAI;CACjC,CAAC;CACD,MAAM,gBAAgBC,iCAAAA,yBAAyB;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,SAAS,OAAO,OAAiC,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,iBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,OAAyB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,iBAAiB,OAA2B,WAAyB;EACzE,OAAOC,wBAAAA,gBAAgB;GACrB,UAAU,MAAM;GAChB;GACA,YAAY,QAAQ,UAAU,gBAAgB;IAC5C,OAAO,WAAW;KAAE,GAAG;KAAO,OAAO;KAAU;IAAO,GAAG,WAAW;GACtE;EACF,CAAC;CACH;CAEA,MAAM,YAAY,OAAO,MAAqB,WAAyB;EACrE,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAEhE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,OAA6B,WAAyB;EAC3E,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,sBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,oBAAoB,OAAO,OAA+B,WAAyB;EACvF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,wBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,4BAA4B,OAChC,OACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,qCACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,cAAc,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EAExE,OAAO;CACT;CAKA,OAAO;EACL;EACA,QAJa,gBAAgB,EAAE,OAAO,CAIjC;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -1,5 +1,5 @@
1
- import { n as ClientInitOptions } from "../types-B4ezB18r.cjs";
2
- import { a as SchedulePath, n as ConfigurationPath, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-Do3__S4Q.cjs";
1
+ import { n as ClientInitOptions } from "../types-CbM2MApW.cjs";
2
+ import { a as SchedulePath, n as ConfigurationPath, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-CEjgqmr2.cjs";
3
3
  declare const createSchedulerClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
4
4
  healthCheck: (signal?: AbortSignal) => Promise<unknown>;
5
5
  getSchedules: (query?: GetSchedulesQuery, signal?: AbortSignal) => Promise<{
@@ -1,5 +1,5 @@
1
- import { n as ClientInitOptions } from "../types-Tg3euEN_.js";
2
- import { a as SchedulePath, n as ConfigurationPath, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-Rrcx-8LM.js";
1
+ import { n as ClientInitOptions } from "../types-CP8-CssY.js";
2
+ import { a as SchedulePath, n as ConfigurationPath, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-CjfsPtwk.js";
3
3
  declare const createSchedulerClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
4
4
  healthCheck: (signal?: AbortSignal) => Promise<unknown>;
5
5
  getSchedules: (query?: GetSchedulesQuery, signal?: AbortSignal) => Promise<{
@@ -1,2 +1,2 @@
1
- import { a as SchedulePath, i as Schedule, n as ConfigurationPath, o as Schedules, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-Do3__S4Q.cjs";
1
+ import { a as SchedulePath, i as Schedule, n as ConfigurationPath, o as Schedules, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-CEjgqmr2.cjs";
2
2
  export { ActivateScheduleBody, ConfigurationPath, GetSchedulesQuery, Schedule, SchedulePath, Schedules };
@@ -1,2 +1,2 @@
1
- import { a as SchedulePath, i as Schedule, n as ConfigurationPath, o as Schedules, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-Rrcx-8LM.js";
1
+ import { a as SchedulePath, i as Schedule, n as ConfigurationPath, o as Schedules, r as GetSchedulesQuery, t as ActivateScheduleBody } from "../types-CjfsPtwk.js";
2
2
  export { ActivateScheduleBody, ConfigurationPath, GetSchedulesQuery, Schedule, SchedulePath, Schedules };
@@ -2802,7 +2802,7 @@ type components = {
2802
2802
  accessType?: components['schemas']['microsoft.graph.groupAccessType'] | (Record<string, never> | null);
2803
2803
  /** @description Indicates if people external to the organization can send messages to the group. The default value is false. Requires $select to retrieve. Supported only on the Get group API (GET /groups/{ID}). */
2804
2804
  allowExternalSenders?: boolean | null;
2805
- /** @description The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group or a cloud security group. Requires a Microsoft Entra ID P1 license. Requires $select to retrieve. This property can be specified during group creation or update. However, for cloud security groups, it's immutable once set. This property can be updated only in delegated scenarios where the caller requires both the Microsoft Graph permission and a supported administrator role. See Key differences from Microsoft 365 group labeling to learn more about managing this property for Microsoft 365 vs. cloud security groups. */
2805
+ /** @description The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group or a cloud security group. Requires a Microsoft Entra ID P1 license. Requires $select to retrieve. This property can be specified during group creation or update. However, for cloud security groups, it's immutable once set. This property can be updated only in delegated scenarios where the caller requires both the Microsoft Graph permission and a supported administrator role. To learn more about managing this property for Microsoft 365 vs. cloud security groups, see Key differences from Microsoft 365 group labeling. */
2806
2806
  assignedLabels?: components['schemas']['microsoft.graph.assignedLabel'][];
2807
2807
  /** @description The licenses that are assigned to the group. Requires $select to retrieve. Supports $filter (eq). Read-only. */
2808
2808
  assignedLicenses?: components['schemas']['microsoft.graph.assignedLicense'][];
@@ -4995,9 +4995,9 @@ type components = {
4995
4995
  '@odata.type': string;
4996
4996
  };
4997
4997
  'microsoft.graph.presence': components['schemas']['microsoft.graph.entity'] & {
4998
- /** @description The supplemental information to a user's availability. Possible values are available, away, beRightBack, busy, doNotDisturb, offline, outOfOffice, presenceUnknown. */
4998
+ /** @description The supplemental information to a user's availability. Possible values are Available, Away, BeRightBack, Busy, DoNotDisturb, Offline, OutOfOffice, PresenceUnknown. */
4999
4999
  activity?: string | null;
5000
- /** @description The base presence information for a user. Possible values are available, away, beRightBack, busy, doNotDisturb, focusing, inACall, inAMeeting, offline, presenting, presenceUnknown. */
5000
+ /** @description The base presence information for a user. Possible values are Available, Away, BeRightBack, Busy, DoNotDisturb, Focusing, InACall, InAMeeting, Offline, Presenting, PresenceUnknown. */
5001
5001
  availability?: string | null;
5002
5002
  /** @description The out of office settings for a user. */
5003
5003
  outOfOfficeSettings?: components['schemas']['microsoft.graph.outOfOfficeSettings'] | (Record<string, never> | null);
@@ -7165,6 +7165,8 @@ type components = {
7165
7165
  phoneMethods?: components['schemas']['microsoft.graph.phoneAuthenticationMethod'][];
7166
7166
  /** @description Represents a platform credential instance registered to a user on Mac OS. */
7167
7167
  platformCredentialMethods?: components['schemas']['microsoft.graph.platformCredentialAuthenticationMethod'][];
7168
+ /** @description Represents the resource account key credentials registered to a user for authentication on shared devices. */
7169
+ resourceAccountKeyAuthenticationMethods?: components['schemas']['microsoft.graph.resourceAccountKeyAuthenticationMethod'][];
7168
7170
  /** @description The software OATH time-based one-time password (TOTP) applications registered to a user for authentication. */
7169
7171
  softwareOathMethods?: components['schemas']['microsoft.graph.softwareOathAuthenticationMethod'][];
7170
7172
  /** @description Represents a Temporary Access Pass registered to a user for authentication through time-limited passcodes. */
@@ -7329,6 +7331,14 @@ type components = {
7329
7331
  /** @default #microsoft.graph.softwareOathAuthenticationMethod */
7330
7332
  '@odata.type': string;
7331
7333
  };
7334
+ 'microsoft.graph.resourceAccountKeyAuthenticationMethod': components['schemas']['microsoft.graph.authenticationMethod'] & {
7335
+ /** @description The display name of the resource account key credential as shown in the Teams Room interface. */
7336
+ displayName?: string | null;
7337
+ /** @description The registered device on which this resource account key resides. Supports $expand. */
7338
+ device?: components['schemas']['microsoft.graph.device'] | (Record<string, never> | null);
7339
+ /** @default #microsoft.graph.resourceAccountKeyAuthenticationMethod */
7340
+ '@odata.type': string;
7341
+ };
7332
7342
  'microsoft.graph.platformCredentialAuthenticationMethod': components['schemas']['microsoft.graph.authenticationMethod'] & {
7333
7343
  /** @description The name of the device on which Platform Credential is registered. */
7334
7344
  displayName?: string | null;
@@ -8788,4 +8798,4 @@ interface operations {
8788
8798
  };
8789
8799
  }
8790
8800
  export { paths as n, components as t };
8791
- //# sourceMappingURL=schema-DLmBEgPM.d.cts.map
8801
+ //# sourceMappingURL=schema-CqzWi5cO.d.cts.map
@@ -2802,7 +2802,7 @@ type components = {
2802
2802
  accessType?: components['schemas']['microsoft.graph.groupAccessType'] | (Record<string, never> | null);
2803
2803
  /** @description Indicates if people external to the organization can send messages to the group. The default value is false. Requires $select to retrieve. Supported only on the Get group API (GET /groups/{ID}). */
2804
2804
  allowExternalSenders?: boolean | null;
2805
- /** @description The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group or a cloud security group. Requires a Microsoft Entra ID P1 license. Requires $select to retrieve. This property can be specified during group creation or update. However, for cloud security groups, it's immutable once set. This property can be updated only in delegated scenarios where the caller requires both the Microsoft Graph permission and a supported administrator role. See Key differences from Microsoft 365 group labeling to learn more about managing this property for Microsoft 365 vs. cloud security groups. */
2805
+ /** @description The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group or a cloud security group. Requires a Microsoft Entra ID P1 license. Requires $select to retrieve. This property can be specified during group creation or update. However, for cloud security groups, it's immutable once set. This property can be updated only in delegated scenarios where the caller requires both the Microsoft Graph permission and a supported administrator role. To learn more about managing this property for Microsoft 365 vs. cloud security groups, see Key differences from Microsoft 365 group labeling. */
2806
2806
  assignedLabels?: components['schemas']['microsoft.graph.assignedLabel'][];
2807
2807
  /** @description The licenses that are assigned to the group. Requires $select to retrieve. Supports $filter (eq). Read-only. */
2808
2808
  assignedLicenses?: components['schemas']['microsoft.graph.assignedLicense'][];
@@ -4995,9 +4995,9 @@ type components = {
4995
4995
  '@odata.type': string;
4996
4996
  };
4997
4997
  'microsoft.graph.presence': components['schemas']['microsoft.graph.entity'] & {
4998
- /** @description The supplemental information to a user's availability. Possible values are available, away, beRightBack, busy, doNotDisturb, offline, outOfOffice, presenceUnknown. */
4998
+ /** @description The supplemental information to a user's availability. Possible values are Available, Away, BeRightBack, Busy, DoNotDisturb, Offline, OutOfOffice, PresenceUnknown. */
4999
4999
  activity?: string | null;
5000
- /** @description The base presence information for a user. Possible values are available, away, beRightBack, busy, doNotDisturb, focusing, inACall, inAMeeting, offline, presenting, presenceUnknown. */
5000
+ /** @description The base presence information for a user. Possible values are Available, Away, BeRightBack, Busy, DoNotDisturb, Focusing, InACall, InAMeeting, Offline, Presenting, PresenceUnknown. */
5001
5001
  availability?: string | null;
5002
5002
  /** @description The out of office settings for a user. */
5003
5003
  outOfOfficeSettings?: components['schemas']['microsoft.graph.outOfOfficeSettings'] | (Record<string, never> | null);
@@ -7165,6 +7165,8 @@ type components = {
7165
7165
  phoneMethods?: components['schemas']['microsoft.graph.phoneAuthenticationMethod'][];
7166
7166
  /** @description Represents a platform credential instance registered to a user on Mac OS. */
7167
7167
  platformCredentialMethods?: components['schemas']['microsoft.graph.platformCredentialAuthenticationMethod'][];
7168
+ /** @description Represents the resource account key credentials registered to a user for authentication on shared devices. */
7169
+ resourceAccountKeyAuthenticationMethods?: components['schemas']['microsoft.graph.resourceAccountKeyAuthenticationMethod'][];
7168
7170
  /** @description The software OATH time-based one-time password (TOTP) applications registered to a user for authentication. */
7169
7171
  softwareOathMethods?: components['schemas']['microsoft.graph.softwareOathAuthenticationMethod'][];
7170
7172
  /** @description Represents a Temporary Access Pass registered to a user for authentication through time-limited passcodes. */
@@ -7329,6 +7331,14 @@ type components = {
7329
7331
  /** @default #microsoft.graph.softwareOathAuthenticationMethod */
7330
7332
  '@odata.type': string;
7331
7333
  };
7334
+ 'microsoft.graph.resourceAccountKeyAuthenticationMethod': components['schemas']['microsoft.graph.authenticationMethod'] & {
7335
+ /** @description The display name of the resource account key credential as shown in the Teams Room interface. */
7336
+ displayName?: string | null;
7337
+ /** @description The registered device on which this resource account key resides. Supports $expand. */
7338
+ device?: components['schemas']['microsoft.graph.device'] | (Record<string, never> | null);
7339
+ /** @default #microsoft.graph.resourceAccountKeyAuthenticationMethod */
7340
+ '@odata.type': string;
7341
+ };
7332
7342
  'microsoft.graph.platformCredentialAuthenticationMethod': components['schemas']['microsoft.graph.authenticationMethod'] & {
7333
7343
  /** @description The name of the device on which Platform Credential is registered. */
7334
7344
  displayName?: string | null;
@@ -8788,4 +8798,4 @@ interface operations {
8788
8798
  };
8789
8799
  }
8790
8800
  export { paths as n, components as t };
8791
- //# sourceMappingURL=schema-DLmBEgPM.d.ts.map
8801
+ //# sourceMappingURL=schema-CqzWi5cO.d.ts.map
@@ -1,6 +1,5 @@
1
- import { Do as CreateConfigurationInput, To as ConfigurationPath, Zo as UpdateConfigurationInput, go as BaseComponentConfig, k as BranchRefs, t as createEncryptionClient, y as createStorageClient } from "../../index-CmyFWQXn.cjs";
2
- import { t as Project } from "../../project-BGk9CtOq.cjs";
3
- import "../../index-CWowDl63.cjs";
1
+ import { No as CreateConfigurationInput, So as BaseComponentConfig, jo as ConfigurationPath, k as BranchRefs, rs as UpdateConfigurationInput, t as createEncryptionClient, y as createStorageClient } from "../../index-BgEu7wGk.cjs";
2
+ import { t as Project } from "../../project-ERH0FTGW.cjs";
4
3
  import { z } from "zod";
5
4
  type Registry<M extends Record<string, z.ZodObject>> = {
6
5
  add: <const Id extends string, Schema extends z.ZodObject>(componentId: Id, schema: Schema) => Registry<M & Record<Id, Schema>>;
@@ -1,6 +1,5 @@
1
- import { Do as CreateConfigurationInput, To as ConfigurationPath, Zo as UpdateConfigurationInput, go as BaseComponentConfig, k as BranchRefs, t as createEncryptionClient, y as createStorageClient } from "../../index-CQPs3hrp.js";
2
- import { t as Project } from "../../project-DS0HOV3M.js";
3
- import "../../index-BGsP2QBc.js";
1
+ import { No as CreateConfigurationInput, So as BaseComponentConfig, jo as ConfigurationPath, k as BranchRefs, rs as UpdateConfigurationInput, t as createEncryptionClient, y as createStorageClient } from "../../index-Cj0l_DL_.js";
2
+ import { t as Project } from "../../project-DwRvx_zN.js";
4
3
  import { z } from "zod";
5
4
  type Registry<M extends Record<string, z.ZodObject>> = {
6
5
  add: <const Id extends string, Schema extends z.ZodObject>(componentId: Id, schema: Schema) => Registry<M & Record<Id, Schema>>;
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_createFetchClient = require("../../createFetchClient-CDKSkd7i.cjs");
3
- const require_storage = require("../../storage-BL-TfHp8.cjs");
3
+ const require_storage = require("../../storage-chxoWtAL.cjs");
4
4
  const require_RowLevelSecurityError = require("../../RowLevelSecurityError-RK_NhhAx.cjs");
5
- const require_transientRetries = require("../../transientRetries-CBorl4Ue.cjs");
5
+ const require_transientRetries = require("../../transientRetries-yVaQgKqP.cjs");
6
6
  const require_isPlainObject = require("../../isPlainObject-CcvQt0qB.cjs");
7
+ const require_queryService = require("../../queryService-CECWubS0.cjs");
7
8
  const require_serviceIds = require("../../serviceIds-Bg1pWiPE.cjs");
8
- const require_queryService = require("../../queryService-C3BQ6GKW.cjs");
9
9
  const require_queryService$1 = require("../../queryService-B4h1Ez44.cjs");
10
10
  const require_readJwtClaims = require("../../readJwtClaims-SVJgo04x.cjs");
11
11
  let node_async_hooks = require("node:async_hooks");
@@ -1,4 +1,4 @@
1
- import { x as ExecuteQueryOptions } from "../../index-CmyFWQXn.cjs";
1
+ import { x as ExecuteQueryOptions } from "../../index-BgEu7wGk.cjs";
2
2
  type NodeHeaders = Record<string, string | string[] | undefined>;
3
3
  type HeadersLike = {
4
4
  get(name: string): string | null;
@@ -1,4 +1,4 @@
1
- import { x as ExecuteQueryOptions } from "../../index-CQPs3hrp.js";
1
+ import { x as ExecuteQueryOptions } from "../../index-Cj0l_DL_.js";
2
2
  type NodeHeaders = Record<string, string | string[] | undefined>;
3
3
  type HeadersLike = {
4
4
  get(name: string): string | null;
@@ -1,10 +1,10 @@
1
1
  import { _ as HttpStatus, m as APP_USER_TOKEN_HEADER } from "../../createFetchClient-Dc_ZMuq7.js";
2
- import { t as createStorageClient } from "../../storage-DEJN8sw-.js";
2
+ import { t as createStorageClient } from "../../storage-o9teEKl_.js";
3
3
  import { n as isRowLevelSecurityError } from "../../RowLevelSecurityError-CObFqj3E.js";
4
- import { u as lazy } from "../../transientRetries-BORv47mH.js";
4
+ import { u as lazy } from "../../transientRetries-dssygpwU.js";
5
5
  import { t as isPlainObject } from "../../isPlainObject-BxsT8_t2.js";
6
+ import { t as createQueryServiceClient } from "../../queryService-CIxb_mcP.js";
6
7
  import { t as ServiceId } from "../../serviceIds-RAVtP4nK.js";
7
- import { t as createQueryServiceClient } from "../../queryService-DQHtHy2-.js";
8
8
  import { n as createQueryServiceSdk, t as cellParser } from "../../queryService-DE_yE_S4.js";
9
9
  import { t as readJwtClaims } from "../../readJwtClaims-CMZ3cNC_.js";
10
10
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_createFetchClient = require("../../createFetchClient-CDKSkd7i.cjs");
3
3
  const require_dedupe = require("../../dedupe-Bf0gl9TJ.cjs");
4
- const require_store = require("../../store-2OyH1XOP.cjs");
5
- const require_middleware = require("../../middleware-vIaPDtQI.cjs");
6
- const require_developerPortalClient = require("../../developerPortalClient-BcK9F-Fs.cjs");
4
+ const require_store = require("../../store-7xlVu4qF.cjs");
5
+ const require_middleware = require("../../middleware-DYdDD4O6.cjs");
6
+ const require_developerPortalClient = require("../../developerPortalClient-Cj9bStCS.cjs");
7
7
  const require_readJwtClaims = require("../../readJwtClaims-SVJgo04x.cjs");
8
8
  // src/sdks/developerPortal/tokenExpiry.ts
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["readJwtClaims","isUnauthorized","dedupe","HttpHeader","isUnauthorized","createStore","createDeveloperPortalClient"],"sources":["../../../src/sdks/developerPortal/tokenExpiry.ts","../../../src/sdks/developerPortal/credential.ts","../../../src/sdks/developerPortal/middleware.ts","../../../src/sdks/developerPortal/developerPortalSdk.ts"],"sourcesContent":["import { readJwtClaims } from '../../utils/readJwtClaims';\n\n/**\n * Reads a JWT's `exp` claim as milliseconds, or `null` when unparseable (\"expiry unknown\", which the\n * caller leaves to the 401 path). A read, not a verification.\n *\n * Needed because apps-api reports `expiresIn` on login but never on refresh, so it cannot keep a\n * proactive-refresh clock honest past the first rotation. The token always carries its own expiry.\n */\nexport const readTokenExpiry = (token: string): number | null => {\n const exp = readJwtClaims(token)?.exp;\n return typeof exp === 'number' && Number.isFinite(exp) ? exp * 1000 : null;\n};\n","import type { DeveloperPortalTokens } from '../../clients/developerPortal/tokens';\nimport { isUnauthorized } from '../../keboola/bearer/credentials';\nimport { dedupe } from '../../utils';\n\nimport { readTokenExpiry } from './tokenExpiry';\n\ntype Options = {\n refresh: () => Promise<DeveloperPortalTokens>;\n /** Live read from the session, so this holds no token of its own. `null` when signed out. */\n getTokens: () => DeveloperPortalTokens | null;\n /** May fire more than once; the caller owns any fire-once latch. */\n onSessionExpired?: () => void;\n /**\n * An absolute lead time rather than `createBearerCredential`'s fractional threshold: that needs the\n * token's full lifetime, and apps-api reports `expiresIn` on login only, never on refresh.\n */\n refreshLeadTimeMs?: number;\n};\n\nconst DEFAULT_REFRESH_LEAD_TIME_MS = 5 * 60 * 1000;\n\nexport type DeveloperPortalCredential = {\n getIdToken: (options?: { forceRefresh?: boolean }) => Promise<string | null>;\n getTokens: () => DeveloperPortalTokens | null;\n notifyExpired: () => void;\n};\n\n/** Mirrors `createBearerCredential`, over the id token of the trio. */\nexport const createDeveloperPortalCredential = ({\n refresh,\n getTokens,\n onSessionExpired,\n refreshLeadTimeMs = DEFAULT_REFRESH_LEAD_TIME_MS,\n}: Options): DeveloperPortalCredential => {\n const doRefresh = async (): Promise<DeveloperPortalTokens> => {\n try {\n return await refresh();\n } catch (error) {\n // Only a 401 means the refresh token is dead. Signing out over a 5xx would be a self-inflicted\n // logout, so anything else propagates without expiring the session.\n if (isUnauthorized(error)) onSessionExpired?.();\n throw error;\n }\n };\n\n // N concurrent 401s must cause one rotation: each extra one invalidates the tokens the others got.\n const refreshShared = dedupe(doRefresh);\n\n const getIdToken = async ({ forceRefresh = false } = {}): Promise<string | null> => {\n const tokens = getTokens();\n if (tokens === null) return null;\n if (forceRefresh) return (await refreshShared()).token;\n\n const expiresAt = readTokenExpiry(tokens.token);\n // Unknown expiry is left to the 401 path; a `0` here would rotate on every request.\n if (expiresAt === null) return tokens.token;\n if (Date.now() < expiresAt - refreshLeadTimeMs) return tokens.token;\n\n // Proactive rotation is best-effort — a real 401 drives the mandatory one.\n return refreshShared()\n .then((fresh) => fresh.token)\n .catch(() => tokens.token);\n };\n\n return { getIdToken, getTokens, notifyExpired: () => onSessionExpired?.() };\n};\n","import { HttpHeader, type MiddlewareFn } from '../../fetchClient';\nimport { isUnauthorized } from '../../keboola/bearer/credentials';\n\nimport type { DeveloperPortalCredential } from './credential';\n\n/**\n * Stamps the id token, and on a 401 force-refreshes and replays once. Mirrors\n * `createBearerAuthMiddleware`, minus the `Bearer ` prefix apps-api does not use.\n *\n * An anonymous session passes through unstamped, so a failed login is never read as session expiry.\n */\nexport const createDeveloperPortalAuthMiddleware = (\n credential: DeveloperPortalCredential,\n): MiddlewareFn => {\n return (next) => async (request) => {\n const token = await credential.getIdToken();\n if (token === null) return next(request);\n\n // Cloned before the first attempt consumes the body. Cloning the `Request` carries a binary or\n // FormData payload through byte-for-byte.\n const retryRequest = request.request.clone();\n request.request.headers.set(HttpHeader.AUTHORIZATION, token);\n\n try {\n return await next(request);\n } catch (error) {\n if (!isUnauthorized(error)) throw error;\n\n const refreshed = await credential.getIdToken({ forceRefresh: true }).catch(() => null);\n // Nothing to replay with, because a concurrent sign-out landed or the rotation failed. The\n // caller's request failed with a 401, so that is what they see.\n if (refreshed === null) throw error;\n retryRequest.headers.set(HttpHeader.AUTHORIZATION, refreshed);\n\n try {\n return await next({ ...request, request: retryRequest });\n } catch (retryError) {\n if (isUnauthorized(retryError)) credential.notifyExpired();\n throw retryError;\n }\n }\n };\n};\n","import { createDeveloperPortalClient } from '../../clients/developerPortal/developerPortalClient';\nimport type { DeveloperPortalTokens } from '../../clients/developerPortal/tokens';\nimport type { LoginSuccess } from '../../clients/developerPortal/types';\nimport type { MiddlewareFn } from '../../fetchClient';\nimport { createStore } from '../../utils';\n\nimport { createDeveloperPortalCredential } from './credential';\nimport { createDeveloperPortalAuthMiddleware } from './middleware';\n\nexport type DeveloperPortalSdkOptions = {\n baseUrl: string;\n /** Session to restore on construction. */\n tokens?: DeveloperPortalTokens | null;\n /** Persistence hook, fired on sign-in, every rotation, and with `null` on sign-out or expiry. */\n onTokensChange?: (tokens: DeveloperPortalTokens | null) => void;\n /** The session is dead; tokens are already cleared. The consumer redirects to sign-in. */\n onSessionExpired?: () => void;\n refreshLeadTimeMs?: number;\n middlewares?: MiddlewareFn[];\n};\n\n/**\n * `createDeveloperPortalClient` plus the session that keeps it authenticated.\n *\n * - Builds its own client: middleware, credential and session depend on each other in a cycle.\n */\nexport const createDeveloperPortalSdk = ({\n baseUrl,\n tokens: initialTokens = null,\n onTokensChange,\n onSessionExpired,\n refreshLeadTimeMs,\n middlewares = [],\n}: DeveloperPortalSdkOptions) => {\n const store = createStore<DeveloperPortalTokens | null>(initialTokens);\n store.subscribe((value) => onTokensChange?.(value));\n\n const getTokens = () => store.get();\n\n const requireTokens = (action: string): DeveloperPortalTokens => {\n const tokens = store.get();\n if (tokens === null) {\n throw new Error(`Developer Portal: ${action} requires a signed-in session.`);\n }\n return tokens;\n };\n\n // No auth middleware, so a rotation cannot recurse into the middleware that triggered it.\n const refreshClient = createDeveloperPortalClient({ baseUrl, middlewares });\n\n const refresh = async (): Promise<DeveloperPortalTokens> => {\n const before = store.get();\n if (before === null) {\n throw new Error('Cannot refresh the Developer Portal session: signed out.');\n }\n\n const { token, accessToken } = await refreshClient.auth.refreshTokens(before.refreshToken);\n const next: DeveloperPortalTokens = { token, accessToken, refreshToken: before.refreshToken };\n\n // Sign-out wins over an in-flight rotation; otherwise the response signs the user back in.\n const after = store.get();\n if (after === null || after.refreshToken !== before.refreshToken) {\n throw new Error('Developer Portal session changed while refreshing; discarding the result.');\n }\n\n store.set(next);\n return next;\n };\n\n const clear = () => store.set(null);\n\n const credential = createDeveloperPortalCredential({\n refresh,\n getTokens,\n refreshLeadTimeMs,\n onSessionExpired: () => {\n clear();\n onSessionExpired?.();\n },\n });\n\n const client = createDeveloperPortalClient({\n baseUrl,\n middlewares,\n authMiddleware: createDeveloperPortalAuthMiddleware(credential),\n });\n\n // `refreshTokens` is not re-exposed: rotating outside the store leaves stale tokens.\n const { refreshTokens: _storeBypassingRotation, ...auth } = client.auth;\n\n const api = {\n ...client,\n auth: {\n ...auth,\n logout: async (signal?: AbortSignal) =>\n client.auth.logout(requireTokens('sign-out').accessToken, signal),\n // Both MFA calls bypass the reactive 401 path, so rotate proactively first.\n setupMfa: async (signal?: AbortSignal) => {\n await credential.getIdToken();\n const { token, accessToken } = requireTokens('MFA enrolment');\n return client.auth.setupMfa({ idToken: token, accessToken }, signal);\n },\n confirmMfa: async (code: string, signal?: AbortSignal) => {\n await credential.getIdToken();\n const { token, accessToken } = requireTokens('MFA confirmation');\n return client.auth.confirmMfa({ idToken: token, accessToken, code }, signal);\n },\n },\n };\n\n const session = {\n set: (result: LoginSuccess) => {\n store.set({\n token: result.token,\n accessToken: result.accessToken,\n refreshToken: result.refreshToken,\n });\n },\n get: getTokens,\n subscribe: store.subscribe,\n clear,\n /** Rotates if the id token is inside the lead time. Best-effort; the 401 path is the guarantee. */\n ensureFresh: async (): Promise<void> => {\n await credential.getIdToken();\n },\n /** Rotates now, for a change of claims (e.g. leaving a vendor). Propagates failure. */\n refresh: async (): Promise<void> => {\n await credential.getIdToken({ forceRefresh: true });\n },\n isAuthenticated: () => store.get() !== null,\n };\n\n return { api, session };\n};\n\nexport type DeveloperPortalSdk = ReturnType<typeof createDeveloperPortalSdk>;\nexport type DeveloperPortalSession = DeveloperPortalSdk['session'];\n"],"mappings":";;;;;;;;;;;;;;;AASA,MAAa,mBAAmB,UAAiC;CAC/D,MAAM,MAAMA,sBAAAA,cAAc,KAAK,CAAC,EAAE;CAClC,OAAO,OAAO,QAAQ,YAAY,OAAO,SAAS,GAAG,IAAI,MAAM,MAAO;AACxE;;ACOA,MAAM,+BAA+B;;AASrC,MAAa,mCAAmC,EAC9C,SACA,WACA,kBACA,oBAAoB,mCACoB;CACxC,MAAM,YAAY,YAA4C;EAC5D,IAAI;GACF,OAAO,MAAM,QAAQ;EACvB,SAAS,OAAO;GAGd,IAAIC,mBAAAA,eAAe,KAAK,GAAG,mBAAmB;GAC9C,MAAM;EACR;CACF;CAGA,MAAM,gBAAgBC,eAAAA,OAAO,SAAS;CAEtC,MAAM,aAAa,OAAO,EAAE,eAAe,UAAU,CAAC,MAA8B;EAClF,MAAM,SAAS,UAAU;EACzB,IAAI,WAAW,MAAM,OAAO;EAC5B,IAAI,cAAc,QAAQ,MAAM,cAAc,EAAA,CAAG;EAEjD,MAAM,YAAY,gBAAgB,OAAO,KAAK;EAE9C,IAAI,cAAc,MAAM,OAAO,OAAO;EACtC,IAAI,KAAK,IAAI,IAAI,YAAY,mBAAmB,OAAO,OAAO;EAG9D,OAAO,cAAc,CAAC,CACnB,MAAM,UAAU,MAAM,KAAK,CAAC,CAC5B,YAAY,OAAO,KAAK;CAC7B;CAEA,OAAO;EAAE;EAAY;EAAW,qBAAqB,mBAAmB;CAAE;AAC5E;;;;;;;;ACtDA,MAAa,uCACX,eACiB;CACjB,QAAQ,SAAS,OAAO,YAAY;EAClC,MAAM,QAAQ,MAAM,WAAW,WAAW;EAC1C,IAAI,UAAU,MAAM,OAAO,KAAK,OAAO;EAIvC,MAAM,eAAe,QAAQ,QAAQ,MAAM;EAC3C,QAAQ,QAAQ,QAAQ,IAAIC,0BAAAA,WAAW,eAAe,KAAK;EAE3D,IAAI;GACF,OAAO,MAAM,KAAK,OAAO;EAC3B,SAAS,OAAO;GACd,IAAI,CAACC,mBAAAA,eAAe,KAAK,GAAG,MAAM;GAElC,MAAM,YAAY,MAAM,WAAW,WAAW,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI;GAGtF,IAAI,cAAc,MAAM,MAAM;GAC9B,aAAa,QAAQ,IAAID,0BAAAA,WAAW,eAAe,SAAS;GAE5D,IAAI;IACF,OAAO,MAAM,KAAK;KAAE,GAAG;KAAS,SAAS;IAAa,CAAC;GACzD,SAAS,YAAY;IACnB,IAAIC,mBAAAA,eAAe,UAAU,GAAG,WAAW,cAAc;IACzD,MAAM;GACR;EACF;CACF;AACF;;;;;;;AChBA,MAAa,4BAA4B,EACvC,SACA,QAAQ,gBAAgB,MACxB,gBACA,kBACA,mBACA,cAAc,CAAC,QACgB;CAC/B,MAAM,QAAQC,cAAAA,YAA0C,aAAa;CACrE,MAAM,WAAW,UAAU,iBAAiB,KAAK,CAAC;CAElD,MAAM,kBAAkB,MAAM,IAAI;CAElC,MAAM,iBAAiB,WAA0C;EAC/D,MAAM,SAAS,MAAM,IAAI;EACzB,IAAI,WAAW,MACb,MAAM,IAAI,MAAM,qBAAqB,OAAO,+BAA+B;EAE7E,OAAO;CACT;CAGA,MAAM,gBAAgBC,8BAAAA,4BAA4B;EAAE;EAAS;CAAY,CAAC;CAE1E,MAAM,UAAU,YAA4C;EAC1D,MAAM,SAAS,MAAM,IAAI;EACzB,IAAI,WAAW,MACb,MAAM,IAAI,MAAM,0DAA0D;EAG5E,MAAM,EAAE,OAAO,gBAAgB,MAAM,cAAc,KAAK,cAAc,OAAO,YAAY;EACzF,MAAM,OAA8B;GAAE;GAAO;GAAa,cAAc,OAAO;EAAa;EAG5F,MAAM,QAAQ,MAAM,IAAI;EACxB,IAAI,UAAU,QAAQ,MAAM,iBAAiB,OAAO,cAClD,MAAM,IAAI,MAAM,2EAA2E;EAG7F,MAAM,IAAI,IAAI;EACd,OAAO;CACT;CAEA,MAAM,cAAc,MAAM,IAAI,IAAI;CAElC,MAAM,aAAa,gCAAgC;EACjD;EACA;EACA;EACA,wBAAwB;GACtB,MAAM;GACN,mBAAmB;EACrB;CACF,CAAC;CAED,MAAM,SAASA,8BAAAA,4BAA4B;EACzC;EACA;EACA,gBAAgB,oCAAoC,UAAU;CAChE,CAAC;CAGD,MAAM,EAAE,eAAe,yBAAyB,GAAG,SAAS,OAAO;CA4CnE,OAAO;EAAE,KAAA;GAzCP,GAAG;GACH,MAAM;IACJ,GAAG;IACH,QAAQ,OAAO,WACb,OAAO,KAAK,OAAO,cAAc,UAAU,CAAC,CAAC,aAAa,MAAM;IAElE,UAAU,OAAO,WAAyB;KACxC,MAAM,WAAW,WAAW;KAC5B,MAAM,EAAE,OAAO,gBAAgB,cAAc,eAAe;KAC5D,OAAO,OAAO,KAAK,SAAS;MAAE,SAAS;MAAO;KAAY,GAAG,MAAM;IACrE;IACA,YAAY,OAAO,MAAc,WAAyB;KACxD,MAAM,WAAW,WAAW;KAC5B,MAAM,EAAE,OAAO,gBAAgB,cAAc,kBAAkB;KAC/D,OAAO,OAAO,KAAK,WAAW;MAAE,SAAS;MAAO;MAAa;KAAK,GAAG,MAAM;IAC7E;GACF;EAyBS;EAAG,SAAA;GArBZ,MAAM,WAAyB;IAC7B,MAAM,IAAI;KACR,OAAO,OAAO;KACd,aAAa,OAAO;KACpB,cAAc,OAAO;IACvB,CAAC;GACH;GACA,KAAK;GACL,WAAW,MAAM;GACjB;;GAEA,aAAa,YAA2B;IACtC,MAAM,WAAW,WAAW;GAC9B;;GAEA,SAAS,YAA2B;IAClC,MAAM,WAAW,WAAW,EAAE,cAAc,KAAK,CAAC;GACpD;GACA,uBAAuB,MAAM,IAAI,MAAM;EAGrB;CAAE;AACxB"}
1
+ {"version":3,"file":"index.cjs","names":["readJwtClaims","isUnauthorized","dedupe","HttpHeader","isUnauthorized","createStore","createDeveloperPortalClient"],"sources":["../../../src/sdks/developerPortal/tokenExpiry.ts","../../../src/sdks/developerPortal/credential.ts","../../../src/sdks/developerPortal/middleware.ts","../../../src/sdks/developerPortal/developerPortalSdk.ts"],"sourcesContent":["import { readJwtClaims } from '../../utils/readJwtClaims';\n\n/**\n * Reads a JWT's `exp` claim as milliseconds, or `null` when unparseable (\"expiry unknown\", which the\n * caller leaves to the 401 path). A read, not a verification.\n *\n * Needed because apps-api reports `expiresIn` on login but never on refresh, so it cannot keep a\n * proactive-refresh clock honest past the first rotation. The token always carries its own expiry.\n */\nexport const readTokenExpiry = (token: string): number | null => {\n const exp = readJwtClaims(token)?.exp;\n return typeof exp === 'number' && Number.isFinite(exp) ? exp * 1000 : null;\n};\n","import type { DeveloperPortalTokens } from '../../clients/developerPortal/tokens';\nimport { isUnauthorized } from '../../keboola/credentials';\nimport { dedupe } from '../../utils';\n\nimport { readTokenExpiry } from './tokenExpiry';\n\ntype Options = {\n refresh: () => Promise<DeveloperPortalTokens>;\n /** Live read from the session, so this holds no token of its own. `null` when signed out. */\n getTokens: () => DeveloperPortalTokens | null;\n /** May fire more than once; the caller owns any fire-once latch. */\n onSessionExpired?: () => void;\n /**\n * An absolute lead time rather than `createBearerCredential`'s fractional threshold: that needs the\n * token's full lifetime, and apps-api reports `expiresIn` on login only, never on refresh.\n */\n refreshLeadTimeMs?: number;\n};\n\nconst DEFAULT_REFRESH_LEAD_TIME_MS = 5 * 60 * 1000;\n\nexport type DeveloperPortalCredential = {\n getIdToken: (options?: { forceRefresh?: boolean }) => Promise<string | null>;\n getTokens: () => DeveloperPortalTokens | null;\n notifyExpired: () => void;\n};\n\n/** Mirrors `createBearerCredential`, over the id token of the trio. */\nexport const createDeveloperPortalCredential = ({\n refresh,\n getTokens,\n onSessionExpired,\n refreshLeadTimeMs = DEFAULT_REFRESH_LEAD_TIME_MS,\n}: Options): DeveloperPortalCredential => {\n const doRefresh = async (): Promise<DeveloperPortalTokens> => {\n try {\n return await refresh();\n } catch (error) {\n // Only a 401 means the refresh token is dead. Signing out over a 5xx would be a self-inflicted\n // logout, so anything else propagates without expiring the session.\n if (isUnauthorized(error)) onSessionExpired?.();\n throw error;\n }\n };\n\n // N concurrent 401s must cause one rotation: each extra one invalidates the tokens the others got.\n const refreshShared = dedupe(doRefresh);\n\n const getIdToken = async ({ forceRefresh = false } = {}): Promise<string | null> => {\n const tokens = getTokens();\n if (tokens === null) return null;\n if (forceRefresh) return (await refreshShared()).token;\n\n const expiresAt = readTokenExpiry(tokens.token);\n // Unknown expiry is left to the 401 path; a `0` here would rotate on every request.\n if (expiresAt === null) return tokens.token;\n if (Date.now() < expiresAt - refreshLeadTimeMs) return tokens.token;\n\n // Proactive rotation is best-effort — a real 401 drives the mandatory one.\n return refreshShared()\n .then((fresh) => fresh.token)\n .catch(() => tokens.token);\n };\n\n return { getIdToken, getTokens, notifyExpired: () => onSessionExpired?.() };\n};\n","import { HttpHeader, type MiddlewareFn } from '../../fetchClient';\nimport { isUnauthorized } from '../../keboola/credentials';\n\nimport type { DeveloperPortalCredential } from './credential';\n\n/**\n * Stamps the id token, and on a 401 force-refreshes and replays once. Mirrors\n * `createBearerAuthMiddleware`, minus the `Bearer ` prefix apps-api does not use.\n *\n * An anonymous session passes through unstamped, so a failed login is never read as session expiry.\n */\nexport const createDeveloperPortalAuthMiddleware = (\n credential: DeveloperPortalCredential,\n): MiddlewareFn => {\n return (next) => async (request) => {\n const token = await credential.getIdToken();\n if (token === null) return next(request);\n\n // Cloned before the first attempt consumes the body. Cloning the `Request` carries a binary or\n // FormData payload through byte-for-byte.\n const retryRequest = request.request.clone();\n request.request.headers.set(HttpHeader.AUTHORIZATION, token);\n\n try {\n return await next(request);\n } catch (error) {\n if (!isUnauthorized(error)) throw error;\n\n const refreshed = await credential.getIdToken({ forceRefresh: true }).catch(() => null);\n // Nothing to replay with, because a concurrent sign-out landed or the rotation failed. The\n // caller's request failed with a 401, so that is what they see.\n if (refreshed === null) throw error;\n retryRequest.headers.set(HttpHeader.AUTHORIZATION, refreshed);\n\n try {\n return await next({ ...request, request: retryRequest });\n } catch (retryError) {\n if (isUnauthorized(retryError)) credential.notifyExpired();\n throw retryError;\n }\n }\n };\n};\n","import { createDeveloperPortalClient } from '../../clients/developerPortal/developerPortalClient';\nimport type { DeveloperPortalTokens } from '../../clients/developerPortal/tokens';\nimport type { LoginSuccess } from '../../clients/developerPortal/types';\nimport type { MiddlewareFn } from '../../fetchClient';\nimport { createStore } from '../../utils';\n\nimport { createDeveloperPortalCredential } from './credential';\nimport { createDeveloperPortalAuthMiddleware } from './middleware';\n\nexport type DeveloperPortalSdkOptions = {\n baseUrl: string;\n /** Session to restore on construction. */\n tokens?: DeveloperPortalTokens | null;\n /** Persistence hook, fired on sign-in, every rotation, and with `null` on sign-out or expiry. */\n onTokensChange?: (tokens: DeveloperPortalTokens | null) => void;\n /** The session is dead; tokens are already cleared. The consumer redirects to sign-in. */\n onSessionExpired?: () => void;\n refreshLeadTimeMs?: number;\n middlewares?: MiddlewareFn[];\n};\n\n/**\n * `createDeveloperPortalClient` plus the session that keeps it authenticated.\n *\n * - Builds its own client: middleware, credential and session depend on each other in a cycle.\n */\nexport const createDeveloperPortalSdk = ({\n baseUrl,\n tokens: initialTokens = null,\n onTokensChange,\n onSessionExpired,\n refreshLeadTimeMs,\n middlewares = [],\n}: DeveloperPortalSdkOptions) => {\n const store = createStore<DeveloperPortalTokens | null>(initialTokens);\n store.subscribe((value) => onTokensChange?.(value));\n\n const getTokens = () => store.get();\n\n const requireTokens = (action: string): DeveloperPortalTokens => {\n const tokens = store.get();\n if (tokens === null) {\n throw new Error(`Developer Portal: ${action} requires a signed-in session.`);\n }\n return tokens;\n };\n\n // No auth middleware, so a rotation cannot recurse into the middleware that triggered it.\n const refreshClient = createDeveloperPortalClient({ baseUrl, middlewares });\n\n const refresh = async (): Promise<DeveloperPortalTokens> => {\n const before = store.get();\n if (before === null) {\n throw new Error('Cannot refresh the Developer Portal session: signed out.');\n }\n\n const { token, accessToken } = await refreshClient.auth.refreshTokens(before.refreshToken);\n const next: DeveloperPortalTokens = { token, accessToken, refreshToken: before.refreshToken };\n\n // Sign-out wins over an in-flight rotation; otherwise the response signs the user back in.\n const after = store.get();\n if (after === null || after.refreshToken !== before.refreshToken) {\n throw new Error('Developer Portal session changed while refreshing; discarding the result.');\n }\n\n store.set(next);\n return next;\n };\n\n const clear = () => store.set(null);\n\n const credential = createDeveloperPortalCredential({\n refresh,\n getTokens,\n refreshLeadTimeMs,\n onSessionExpired: () => {\n clear();\n onSessionExpired?.();\n },\n });\n\n const client = createDeveloperPortalClient({\n baseUrl,\n middlewares,\n authMiddleware: createDeveloperPortalAuthMiddleware(credential),\n });\n\n // `refreshTokens` is not re-exposed: rotating outside the store leaves stale tokens.\n const { refreshTokens: _storeBypassingRotation, ...auth } = client.auth;\n\n const api = {\n ...client,\n auth: {\n ...auth,\n logout: async (signal?: AbortSignal) =>\n client.auth.logout(requireTokens('sign-out').accessToken, signal),\n // Both MFA calls bypass the reactive 401 path, so rotate proactively first.\n setupMfa: async (signal?: AbortSignal) => {\n await credential.getIdToken();\n const { token, accessToken } = requireTokens('MFA enrolment');\n return client.auth.setupMfa({ idToken: token, accessToken }, signal);\n },\n confirmMfa: async (code: string, signal?: AbortSignal) => {\n await credential.getIdToken();\n const { token, accessToken } = requireTokens('MFA confirmation');\n return client.auth.confirmMfa({ idToken: token, accessToken, code }, signal);\n },\n },\n };\n\n const session = {\n set: (result: LoginSuccess) => {\n store.set({\n token: result.token,\n accessToken: result.accessToken,\n refreshToken: result.refreshToken,\n });\n },\n get: getTokens,\n subscribe: store.subscribe,\n clear,\n /** Rotates if the id token is inside the lead time. Best-effort; the 401 path is the guarantee. */\n ensureFresh: async (): Promise<void> => {\n await credential.getIdToken();\n },\n /** Rotates now, for a change of claims (e.g. leaving a vendor). Propagates failure. */\n refresh: async (): Promise<void> => {\n await credential.getIdToken({ forceRefresh: true });\n },\n isAuthenticated: () => store.get() !== null,\n };\n\n return { api, session };\n};\n\nexport type DeveloperPortalSdk = ReturnType<typeof createDeveloperPortalSdk>;\nexport type DeveloperPortalSession = DeveloperPortalSdk['session'];\n"],"mappings":"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"}