@keboola/api-client 23.0.0 → 25.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 (372) hide show
  1. package/API-SURFACE.md +50 -1
  2. package/README.md +43 -2
  3. package/dist/{ManagementClientAuthError-B3PZRWBU.d.ts → ManagementClientAuthError-4J0S5tV-.d.ts} +1 -1
  4. package/dist/{ManagementClientAuthError-CJu_hpGi.d.cts → ManagementClientAuthError-CyDpa4NS.d.cts} +1 -1
  5. package/dist/ai/index.cjs +4 -4
  6. package/dist/ai/index.d.cts +3 -3
  7. package/dist/ai/index.d.ts +3 -3
  8. package/dist/ai/index.js +3 -3
  9. package/dist/ai/types.d.cts +2 -2
  10. package/dist/ai/types.d.ts +2 -2
  11. package/dist/assets/index.cjs +11 -5
  12. package/dist/assets/index.cjs.map +1 -1
  13. package/dist/assets/index.d.cts +17 -3
  14. package/dist/assets/index.d.ts +17 -3
  15. package/dist/assets/index.js +10 -4
  16. package/dist/assets/index.js.map +1 -1
  17. package/dist/assets/schema.cjs +16 -0
  18. package/dist/assets/schema.cjs.map +1 -0
  19. package/dist/assets/schema.d.cts +28 -0
  20. package/dist/assets/schema.d.ts +28 -0
  21. package/dist/assets/schema.js +3 -0
  22. package/dist/assets/schema.js.map +1 -0
  23. package/dist/auth/index.cjs +13 -13
  24. package/dist/auth/index.d.cts +4 -4
  25. package/dist/auth/index.d.ts +4 -4
  26. package/dist/auth/index.js +2 -2
  27. package/dist/auth/types.d.cts +3 -3
  28. package/dist/auth/types.d.ts +3 -3
  29. package/dist/chat/index.cjs +4 -4
  30. package/dist/chat/index.d.cts +3 -3
  31. package/dist/chat/index.d.ts +3 -3
  32. package/dist/chat/index.js +3 -3
  33. package/dist/chat/types.d.cts +2 -2
  34. package/dist/chat/types.d.ts +2 -2
  35. package/dist/chunk-2CFM7K4U.cjs +55 -0
  36. package/dist/chunk-2CFM7K4U.cjs.map +1 -0
  37. package/dist/{chunk-J2MBTBE2.js → chunk-34GM6NXB.js} +4 -4
  38. package/dist/{chunk-J2MBTBE2.js.map → chunk-34GM6NXB.js.map} +1 -1
  39. package/dist/{chunk-6LBMZAPF.js → chunk-3BFPNM2J.js} +4 -4
  40. package/dist/{chunk-6LBMZAPF.js.map → chunk-3BFPNM2J.js.map} +1 -1
  41. package/dist/{chunk-FQK3YM7U.js → chunk-3PVERYSF.js} +3 -3
  42. package/dist/{chunk-FQK3YM7U.js.map → chunk-3PVERYSF.js.map} +1 -1
  43. package/dist/chunk-3YWQQ3OG.cjs +79 -0
  44. package/dist/chunk-3YWQQ3OG.cjs.map +1 -0
  45. package/dist/{chunk-ZDCEKJAL.js → chunk-4VVF2PIX.js} +4 -4
  46. package/dist/{chunk-ZDCEKJAL.js.map → chunk-4VVF2PIX.js.map} +1 -1
  47. package/dist/{chunk-PHP2NND7.js → chunk-5XWVWFTC.js} +4 -4
  48. package/dist/{chunk-PHP2NND7.js.map → chunk-5XWVWFTC.js.map} +1 -1
  49. package/dist/chunk-6YZQIMML.cjs +163 -0
  50. package/dist/chunk-6YZQIMML.cjs.map +1 -0
  51. package/dist/{chunk-L63UYWJG.js → chunk-77LILJYX.js} +4 -4
  52. package/dist/{chunk-L63UYWJG.js.map → chunk-77LILJYX.js.map} +1 -1
  53. package/dist/{chunk-K6EZ3USU.cjs → chunk-7R22VKV7.cjs} +7 -7
  54. package/dist/{chunk-K6EZ3USU.cjs.map → chunk-7R22VKV7.cjs.map} +1 -1
  55. package/dist/chunk-7RO6PKZ4.cjs +16 -0
  56. package/dist/{chunk-43CGBOVT.cjs.map → chunk-7RO6PKZ4.cjs.map} +1 -1
  57. package/dist/{chunk-KY4EYQ6I.cjs → chunk-7YXL4FKN.cjs} +6 -6
  58. package/dist/{chunk-KY4EYQ6I.cjs.map → chunk-7YXL4FKN.cjs.map} +1 -1
  59. package/dist/{chunk-4Z5W2F6Q.js → chunk-7Z4MU7ZB.js} +434 -147
  60. package/dist/chunk-7Z4MU7ZB.js.map +1 -0
  61. package/dist/{chunk-T7SEZMQ7.cjs → chunk-AFJGNBVM.cjs} +6 -6
  62. package/dist/{chunk-T7SEZMQ7.cjs.map → chunk-AFJGNBVM.cjs.map} +1 -1
  63. package/dist/{chunk-33NQB34X.js → chunk-AVH6F5LB.js} +50 -36
  64. package/dist/chunk-AVH6F5LB.js.map +1 -0
  65. package/dist/{chunk-F43HBNKD.js → chunk-AXEANGGK.js} +4 -4
  66. package/dist/{chunk-F43HBNKD.js.map → chunk-AXEANGGK.js.map} +1 -1
  67. package/dist/chunk-BCZPCMGL.cjs +49 -0
  68. package/dist/chunk-BCZPCMGL.cjs.map +1 -0
  69. package/dist/{chunk-CCC6I32C.cjs → chunk-BR6WZE3O.cjs} +4 -4
  70. package/dist/{chunk-CCC6I32C.cjs.map → chunk-BR6WZE3O.cjs.map} +1 -1
  71. package/dist/{chunk-MIUULCML.js → chunk-BZA3FGO6.js} +3 -3
  72. package/dist/{chunk-MIUULCML.js.map → chunk-BZA3FGO6.js.map} +1 -1
  73. package/dist/{chunk-R3NW5LAB.js → chunk-CV2JGHBN.js} +4 -4
  74. package/dist/{chunk-R3NW5LAB.js.map → chunk-CV2JGHBN.js.map} +1 -1
  75. package/dist/{chunk-IYGHWPCR.cjs → chunk-CWCUQACX.cjs} +4 -4
  76. package/dist/{chunk-IYGHWPCR.cjs.map → chunk-CWCUQACX.cjs.map} +1 -1
  77. package/dist/{chunk-CN5GAKRO.cjs → chunk-CWUQ6ZAO.cjs} +6 -6
  78. package/dist/{chunk-CN5GAKRO.cjs.map → chunk-CWUQ6ZAO.cjs.map} +1 -1
  79. package/dist/{chunk-KH6BHTXN.js → chunk-D4WOOKMI.js} +4 -4
  80. package/dist/chunk-D4WOOKMI.js.map +1 -0
  81. package/dist/{chunk-YEF46DYF.cjs → chunk-DRNOCC6W.cjs} +5 -5
  82. package/dist/{chunk-YEF46DYF.cjs.map → chunk-DRNOCC6W.cjs.map} +1 -1
  83. package/dist/{chunk-L4R66Q6S.js → chunk-EDX5D6UY.js} +3 -3
  84. package/dist/{chunk-L4R66Q6S.js.map → chunk-EDX5D6UY.js.map} +1 -1
  85. package/dist/{chunk-35MODDCL.cjs → chunk-F6ZAYTBX.cjs} +4 -4
  86. package/dist/chunk-F6ZAYTBX.cjs.map +1 -0
  87. package/dist/{chunk-3KEVPUSX.cjs → chunk-FJBP3MRI.cjs} +4 -3
  88. package/dist/chunk-FJBP3MRI.cjs.map +1 -0
  89. package/dist/chunk-FPB6OGTV.js +26 -0
  90. package/dist/chunk-FPB6OGTV.js.map +1 -0
  91. package/dist/{chunk-TCGHVOIJ.js → chunk-G66EP527.js} +4 -4
  92. package/dist/{chunk-TCGHVOIJ.js.map → chunk-G66EP527.js.map} +1 -1
  93. package/dist/chunk-HITKHHWN.cjs +174 -0
  94. package/dist/chunk-HITKHHWN.cjs.map +1 -0
  95. package/dist/chunk-HMCZUHR7.js +53 -0
  96. package/dist/chunk-HMCZUHR7.js.map +1 -0
  97. package/dist/chunk-HTVJR5WS.cjs +305 -0
  98. package/dist/chunk-HTVJR5WS.cjs.map +1 -0
  99. package/dist/{chunk-22D55AHX.cjs → chunk-HY7J3OD3.cjs} +444 -157
  100. package/dist/chunk-HY7J3OD3.cjs.map +1 -0
  101. package/dist/{chunk-Z76DIRLA.cjs → chunk-IAYPOSMM.cjs} +11 -4
  102. package/dist/{chunk-4IEIVLYT.js.map → chunk-IAYPOSMM.cjs.map} +1 -1
  103. package/dist/{chunk-556U6PFA.cjs → chunk-IDWGBCSB.cjs} +6 -6
  104. package/dist/{chunk-556U6PFA.cjs.map → chunk-IDWGBCSB.cjs.map} +1 -1
  105. package/dist/{chunk-WZGBE4XH.cjs → chunk-J3NLKXQ5.cjs} +9 -9
  106. package/dist/{chunk-WZGBE4XH.cjs.map → chunk-J3NLKXQ5.cjs.map} +1 -1
  107. package/dist/{chunk-XMC355U2.js → chunk-KEFXOJD7.js} +4 -3
  108. package/dist/chunk-KEFXOJD7.js.map +1 -0
  109. package/dist/{chunk-BWBTNAVL.cjs → chunk-L262THNK.cjs} +9 -9
  110. package/dist/{chunk-BWBTNAVL.cjs.map → chunk-L262THNK.cjs.map} +1 -1
  111. package/dist/chunk-LD3JERYP.js +77 -0
  112. package/dist/chunk-LD3JERYP.js.map +1 -0
  113. package/dist/{chunk-X4HEWMPU.cjs → chunk-LIXSIM3H.cjs} +6 -6
  114. package/dist/{chunk-X4HEWMPU.cjs.map → chunk-LIXSIM3H.cjs.map} +1 -1
  115. package/dist/chunk-LNZP2O4P.js +169 -0
  116. package/dist/chunk-LNZP2O4P.js.map +1 -0
  117. package/dist/{chunk-DMNWPVVT.cjs → chunk-MMOAH3EH.cjs} +71 -6
  118. package/dist/chunk-MMOAH3EH.cjs.map +1 -0
  119. package/dist/chunk-N4COL54U.cjs +22 -0
  120. package/dist/chunk-N4COL54U.cjs.map +1 -0
  121. package/dist/{chunk-5ZOWA7DA.cjs → chunk-NVQ6LGDO.cjs} +6 -6
  122. package/dist/{chunk-5ZOWA7DA.cjs.map → chunk-NVQ6LGDO.cjs.map} +1 -1
  123. package/dist/{chunk-5Z6M32UE.js → chunk-NVRVPWNY.js} +4 -4
  124. package/dist/{chunk-5Z6M32UE.js.map → chunk-NVRVPWNY.js.map} +1 -1
  125. package/dist/{chunk-HFZCZ7PZ.js → chunk-OUSPQ55W.js} +3 -3
  126. package/dist/{chunk-HFZCZ7PZ.js.map → chunk-OUSPQ55W.js.map} +1 -1
  127. package/dist/{chunk-4GUUSO5O.cjs → chunk-PPQF7LTS.cjs} +6 -6
  128. package/dist/{chunk-4GUUSO5O.cjs.map → chunk-PPQF7LTS.cjs.map} +1 -1
  129. package/dist/chunk-PSR3N4NC.js +136 -0
  130. package/dist/chunk-PSR3N4NC.js.map +1 -0
  131. package/dist/{chunk-4IEIVLYT.js → chunk-RVBGE2Z4.js} +10 -3
  132. package/dist/chunk-RVBGE2Z4.js.map +1 -0
  133. package/dist/{chunk-G5JMZI2L.js → chunk-S4JK7DKM.js} +4 -4
  134. package/dist/{chunk-G5JMZI2L.js.map → chunk-S4JK7DKM.js.map} +1 -1
  135. package/dist/{chunk-FVJC2GJY.cjs → chunk-T242YFMT.cjs} +7 -7
  136. package/dist/{chunk-FVJC2GJY.cjs.map → chunk-T242YFMT.cjs.map} +1 -1
  137. package/dist/chunk-UQ5CACMW.js +283 -0
  138. package/dist/chunk-UQ5CACMW.js.map +1 -0
  139. package/dist/{chunk-YQEBJG5H.cjs → chunk-UWQUHP3T.cjs} +6 -6
  140. package/dist/{chunk-YQEBJG5H.cjs.map → chunk-UWQUHP3T.cjs.map} +1 -1
  141. package/dist/{chunk-3B3GOGAL.js → chunk-XHDYLUM4.js} +71 -7
  142. package/dist/chunk-XHDYLUM4.js.map +1 -0
  143. package/dist/{chunk-TF3JWA7J.js → chunk-XIIER7QQ.js} +4 -4
  144. package/dist/{chunk-TF3JWA7J.js.map → chunk-XIIER7QQ.js.map} +1 -1
  145. package/dist/{chunk-JQSMJ64B.js → chunk-XKIENBIE.js} +4 -4
  146. package/dist/{chunk-JQSMJ64B.js.map → chunk-XKIENBIE.js.map} +1 -1
  147. package/dist/chunk-YGEJDWGG.js +19 -0
  148. package/dist/chunk-YGEJDWGG.js.map +1 -0
  149. package/dist/{chunk-HZSZQFEO.cjs → chunk-Z3HZ4MP4.cjs} +55 -41
  150. package/dist/chunk-Z3HZ4MP4.cjs.map +1 -0
  151. package/dist/constants/index.cjs +18 -166
  152. package/dist/constants/index.cjs.map +1 -1
  153. package/dist/constants/index.d.cts +1 -0
  154. package/dist/constants/index.d.ts +1 -0
  155. package/dist/constants/index.js +2 -163
  156. package/dist/constants/index.js.map +1 -1
  157. package/dist/{createGenericFetchClient-DJ-oaxPj.d.cts → createGenericFetchClient-JcbIIqwF.d.cts} +1 -1
  158. package/dist/{createGenericFetchClient-B2Gp1a8f.d.ts → createGenericFetchClient-ZGG5wbAC.d.ts} +1 -1
  159. package/dist/{createOpenapiFetchClient-BX7_szVZ.d.ts → createOpenapiFetchClient-6RX67Hws.d.ts} +2 -2
  160. package/dist/{createOpenapiFetchClient-pguVgT7R.d.cts → createOpenapiFetchClient-BFmiJ9C5.d.cts} +2 -2
  161. package/dist/dataScience/index.cjs +5 -5
  162. package/dist/dataScience/index.d.cts +4 -4
  163. package/dist/dataScience/index.d.ts +4 -4
  164. package/dist/dataScience/index.js +3 -3
  165. package/dist/dataScience/types.d.cts +2 -2
  166. package/dist/dataScience/types.d.ts +2 -2
  167. package/dist/domain/permissions/index.cjs +106 -145
  168. package/dist/domain/permissions/index.cjs.map +1 -1
  169. package/dist/domain/permissions/index.d.cts +7 -5
  170. package/dist/domain/permissions/index.d.ts +7 -5
  171. package/dist/domain/permissions/index.js +2 -125
  172. package/dist/domain/permissions/index.js.map +1 -1
  173. package/dist/editor/index.cjs +4 -4
  174. package/dist/editor/index.d.cts +3 -3
  175. package/dist/editor/index.d.ts +3 -3
  176. package/dist/editor/index.js +3 -3
  177. package/dist/editor/types.d.cts +2 -2
  178. package/dist/editor/types.d.ts +2 -2
  179. package/dist/encryption/index.cjs +3 -3
  180. package/dist/encryption/index.d.cts +3 -3
  181. package/dist/encryption/index.d.ts +3 -3
  182. package/dist/encryption/index.js +2 -2
  183. package/dist/encryption/types.d.cts +2 -2
  184. package/dist/encryption/types.d.ts +2 -2
  185. package/dist/import/index.cjs +4 -4
  186. package/dist/import/index.d.cts +37 -3
  187. package/dist/import/index.d.ts +37 -3
  188. package/dist/import/index.js +3 -3
  189. package/dist/index.cjs +116 -105
  190. package/dist/index.cjs.map +1 -1
  191. package/dist/index.d.cts +144 -68
  192. package/dist/index.d.ts +144 -68
  193. package/dist/index.js +36 -33
  194. package/dist/index.js.map +1 -1
  195. package/dist/management/index.cjs +5 -5
  196. package/dist/management/index.d.cts +588 -99
  197. package/dist/management/index.d.ts +588 -99
  198. package/dist/management/index.js +3 -3
  199. package/dist/management/types.d.cts +3 -2
  200. package/dist/management/types.d.ts +3 -2
  201. package/dist/metastore/index.cjs +4 -4
  202. package/dist/metastore/index.d.cts +4 -4
  203. package/dist/metastore/index.d.ts +4 -4
  204. package/dist/metastore/index.js +3 -3
  205. package/dist/metastore/types.d.cts +2 -2
  206. package/dist/metastore/types.d.ts +2 -2
  207. package/dist/notifications/index.cjs +4 -4
  208. package/dist/notifications/index.d.cts +3 -3
  209. package/dist/notifications/index.d.ts +3 -3
  210. package/dist/notifications/index.js +3 -3
  211. package/dist/notifications/types.d.cts +2 -2
  212. package/dist/notifications/types.d.ts +2 -2
  213. package/dist/oauth/index.cjs +4 -4
  214. package/dist/oauth/index.d.cts +46 -6
  215. package/dist/oauth/index.d.ts +46 -6
  216. package/dist/oauth/index.js +3 -3
  217. package/dist/oauth/types.d.cts +718 -27
  218. package/dist/oauth/types.d.ts +718 -27
  219. package/dist/{project-BV-vseKc.d.ts → project-CXqPYo4T.d.ts} +1 -1
  220. package/dist/{project-CbJCjkdt.d.cts → project-CZPvcxRW.d.cts} +1 -1
  221. package/dist/queryService/index.cjs +4 -4
  222. package/dist/queryService/index.d.cts +3 -3
  223. package/dist/queryService/index.d.ts +3 -3
  224. package/dist/queryService/index.js +3 -3
  225. package/dist/queryService/types.d.cts +2 -2
  226. package/dist/queryService/types.d.ts +2 -2
  227. package/dist/queue/index.cjs +4 -4
  228. package/dist/queue/index.d.cts +3 -3
  229. package/dist/queue/index.d.ts +3 -3
  230. package/dist/queue/index.js +3 -3
  231. package/dist/queue/types.d.cts +2 -2
  232. package/dist/queue/types.d.ts +2 -2
  233. package/dist/{registry-v_1krdcs.d.ts → registry-CcKlB-yY.d.ts} +15 -2
  234. package/dist/{registry-v_1krdcs.d.cts → registry-Cg0Yng1z.d.cts} +15 -2
  235. package/dist/scheduler/index.cjs +4 -4
  236. package/dist/scheduler/index.d.cts +2 -2
  237. package/dist/scheduler/index.d.ts +2 -2
  238. package/dist/scheduler/index.js +3 -3
  239. package/dist/scheduler/types.d.cts +1 -1
  240. package/dist/scheduler/types.d.ts +1 -1
  241. package/dist/sdk/configurations/index.cjs +5 -3
  242. package/dist/sdk/configurations/index.d.cts +12 -11
  243. package/dist/sdk/configurations/index.d.ts +12 -11
  244. package/dist/sdk/configurations/index.js +4 -2
  245. package/dist/sdk/semanticLayer/index.d.cts +4 -4
  246. package/dist/sdk/semanticLayer/index.d.ts +4 -4
  247. package/dist/sdk/semanticLayer/types.d.cts +4 -4
  248. package/dist/sdk/semanticLayer/types.d.ts +4 -4
  249. package/dist/sdk/storage/index.cjs +11 -11
  250. package/dist/sdk/storage/index.d.cts +7 -7
  251. package/dist/sdk/storage/index.d.ts +7 -7
  252. package/dist/sdk/storage/index.js +1 -1
  253. package/dist/sdk/tag/index.d.cts +4 -4
  254. package/dist/sdk/tag/index.d.ts +4 -4
  255. package/dist/sdk/tag/types.d.cts +4 -4
  256. package/dist/sdk/tag/types.d.ts +4 -4
  257. package/dist/sdk/vault/index.d.cts +4 -4
  258. package/dist/sdk/vault/index.d.ts +4 -4
  259. package/dist/status/index.cjs +2 -2
  260. package/dist/status/index.d.cts +1 -1
  261. package/dist/status/index.d.ts +1 -1
  262. package/dist/status/index.js +1 -1
  263. package/dist/storage/index.cjs +20 -11
  264. package/dist/storage/index.d.cts +26 -8
  265. package/dist/storage/index.d.ts +26 -8
  266. package/dist/storage/index.js +5 -4
  267. package/dist/storage/types.d.cts +74 -18
  268. package/dist/storage/types.d.ts +74 -18
  269. package/dist/{storageClient-Dlu7OJgJ.d.cts → storageClient-Cd4jVt58.d.ts} +14 -13
  270. package/dist/{storageClient-Dz4tTWOc.d.ts → storageClient-Dkcg7hKa.d.cts} +14 -13
  271. package/dist/{storageSdk-PRaSLkD6.d.ts → storageSdk-15_Fbucc.d.cts} +3 -3
  272. package/dist/{storageSdk-DxbSjnHh.d.cts → storageSdk-L6NOdgSJ.d.ts} +3 -3
  273. package/dist/stream/index.cjs +4 -4
  274. package/dist/stream/index.d.cts +3 -3
  275. package/dist/stream/index.d.ts +3 -3
  276. package/dist/stream/index.js +3 -3
  277. package/dist/stream/types.d.cts +2 -2
  278. package/dist/stream/types.d.ts +2 -2
  279. package/dist/syncActions/index.cjs +8 -4
  280. package/dist/syncActions/index.d.cts +27 -7
  281. package/dist/syncActions/index.d.ts +27 -7
  282. package/dist/syncActions/index.js +7 -3
  283. package/dist/syncActions/types.d.cts +56 -10
  284. package/dist/syncActions/types.d.ts +56 -10
  285. package/dist/telemetry/index.cjs +4 -4
  286. package/dist/telemetry/index.d.cts +2 -2
  287. package/dist/telemetry/index.d.ts +2 -2
  288. package/dist/telemetry/index.js +3 -3
  289. package/dist/{types-CJ0RgA57.d.ts → types-00IaLn3S.d.ts} +161 -2
  290. package/dist/{types-CmdRXxqa.d.cts → types-B-vmDlWB.d.cts} +1 -1
  291. package/dist/{types-Dz4Yc-Mu.d.ts → types-B30y9Lhc.d.ts} +1 -1
  292. package/dist/{types-DgU_wy4q.d.cts → types-BEnE7LHB.d.cts} +1 -1
  293. package/dist/{types-D6p5VsOx.d.cts → types-BX1xr4CX.d.cts} +1 -1
  294. package/dist/types-BfuVN8Pk.d.cts +468 -0
  295. package/dist/{types-Bj3fLP0h.d.ts → types-BieLFMW1.d.cts} +1 -1
  296. package/dist/{types-B3hgDuaG.d.cts → types-BqC3U0k0.d.cts} +1 -1
  297. package/dist/{types-qCMu5X9I.d.ts → types-CM1zHzgm.d.ts} +1 -1
  298. package/dist/{types-22LtuLPM.d.cts → types-CSZoV4lM.d.cts} +1 -1
  299. package/dist/{types-DNEuJ-tb.d.cts → types-Cgh3jqrV.d.cts} +1 -1
  300. package/dist/{types-CUzRu6Z8.d.cts → types-CiJ5ULtS.d.ts} +1 -1
  301. package/dist/{types-BjNd012m.d.ts → types-CrLjE5xf.d.ts} +1 -1
  302. package/dist/{types-CkQXSDqo.d.cts → types-D-MuJHwl.d.cts} +1 -1
  303. package/dist/{types-PG_v0QyH.d.ts → types-DHXZZKb3.d.ts} +1 -1
  304. package/dist/{types-y3pEpGrH.d.cts → types-DYnHIm7m.d.cts} +1 -1
  305. package/dist/{types-DXFcF3_c.d.ts → types-DbAO-Tgk.d.ts} +1 -1
  306. package/dist/{types-BjdcqqvT.d.ts → types-DeS-oVdn.d.ts} +1 -1
  307. package/dist/{types-GecGaYgv.d.ts → types-DeoA45gz.d.cts} +172 -84
  308. package/dist/{types-mQtL3f4D.d.cts → types-DgSyBwP3.d.cts} +1 -1
  309. package/dist/{types-Cnsa5tWp.d.ts → types-Dkipk6NN.d.ts} +1 -1
  310. package/dist/{types-B-3bBl2q.d.ts → types-DpUcInCX.d.ts} +1 -1
  311. package/dist/{types-Dq5jIMye.d.ts → types-DwMezEHT.d.ts} +1 -1
  312. package/dist/{types-GecGaYgv.d.cts → types-Hj1CaKtV.d.ts} +172 -84
  313. package/dist/{types-DqxZDbM1.d.cts → types-UwuKN9Kx.d.cts} +3 -1
  314. package/dist/{types-DqxZDbM1.d.ts → types-UwuKN9Kx.d.ts} +3 -1
  315. package/dist/types-YzkNUuYo.d.ts +468 -0
  316. package/dist/{types-BbM5WDSR.d.cts → types-gcShAmmi.d.cts} +27 -1
  317. package/dist/{types-BbM5WDSR.d.ts → types-gcShAmmi.d.ts} +27 -1
  318. package/dist/{types-CfIKhNMg.d.cts → types-sVyfECai.d.cts} +161 -2
  319. package/dist/{utils-zcz60drL.d.ts → utils-B_SOM1XR.d.ts} +1 -1
  320. package/dist/{utils-CuiDsDxz.d.cts → utils-DK7uJcmR.d.cts} +1 -1
  321. package/dist/vault/index.cjs +4 -4
  322. package/dist/vault/index.d.cts +2 -2
  323. package/dist/vault/index.d.ts +2 -2
  324. package/dist/vault/index.js +3 -3
  325. package/dist/vault/types.d.cts +1 -1
  326. package/dist/vault/types.d.ts +1 -1
  327. package/package.json +8 -8
  328. package/surface/chat.md +1 -1
  329. package/surface/import.md +2 -1
  330. package/surface/kaiAgent.md +1 -1
  331. package/surface/management.md +77 -29
  332. package/surface/oauth.md +4 -4
  333. package/surface/queue.md +7 -7
  334. package/surface/sdk.md +1 -1
  335. package/surface/storage.md +9 -8
  336. package/surface/syncActions.md +6 -1
  337. package/dist/assets/types.cjs +0 -4
  338. package/dist/assets/types.cjs.map +0 -1
  339. package/dist/assets/types.d.cts +0 -8
  340. package/dist/assets/types.d.ts +0 -8
  341. package/dist/assets/types.js +0 -3
  342. package/dist/assets/types.js.map +0 -1
  343. package/dist/chunk-22D55AHX.cjs.map +0 -1
  344. package/dist/chunk-33NQB34X.js.map +0 -1
  345. package/dist/chunk-35MODDCL.cjs.map +0 -1
  346. package/dist/chunk-3B3GOGAL.js.map +0 -1
  347. package/dist/chunk-3FZHFTLG.cjs +0 -12
  348. package/dist/chunk-3FZHFTLG.cjs.map +0 -1
  349. package/dist/chunk-3KEVPUSX.cjs.map +0 -1
  350. package/dist/chunk-43CGBOVT.cjs +0 -16
  351. package/dist/chunk-4Z5W2F6Q.js.map +0 -1
  352. package/dist/chunk-DMNWPVVT.cjs.map +0 -1
  353. package/dist/chunk-FDTWXXI4.cjs +0 -78
  354. package/dist/chunk-FDTWXXI4.cjs.map +0 -1
  355. package/dist/chunk-GM3AKU5T.js +0 -10
  356. package/dist/chunk-GM3AKU5T.js.map +0 -1
  357. package/dist/chunk-HZSZQFEO.cjs.map +0 -1
  358. package/dist/chunk-KH6BHTXN.js.map +0 -1
  359. package/dist/chunk-PEC3BYFA.js +0 -42
  360. package/dist/chunk-PEC3BYFA.js.map +0 -1
  361. package/dist/chunk-Q7C2IRF2.cjs +0 -214
  362. package/dist/chunk-Q7C2IRF2.cjs.map +0 -1
  363. package/dist/chunk-UH5JOSEE.js +0 -76
  364. package/dist/chunk-UH5JOSEE.js.map +0 -1
  365. package/dist/chunk-VPNWX7YM.cjs +0 -44
  366. package/dist/chunk-VPNWX7YM.cjs.map +0 -1
  367. package/dist/chunk-WJEAGAWB.js +0 -192
  368. package/dist/chunk-WJEAGAWB.js.map +0 -1
  369. package/dist/chunk-XMC355U2.js.map +0 -1
  370. package/dist/chunk-Z76DIRLA.cjs.map +0 -1
  371. package/dist/types-Dg1tEsVR.d.cts +0 -17
  372. package/dist/types-Dg1tEsVR.d.ts +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/isEmptyDeep.ts","../src/utils/schemaGuidedMerge.ts","../src/sdks/configurations/schemas/appDataGatewaySchema.ts","../src/sdks/configurations/schemas/common/dbConfig.ts","../src/sdks/configurations/schemas/common/dbConnection.ts","../src/sdks/configurations/schemas/common/forbidden.ts","../src/sdks/configurations/schemas/common/oauthAuthorization.ts","../src/sdks/configurations/schemas/common/sshTunnelSchema.ts","../src/sdks/configurations/schemas/common/sslSchema.ts","../src/sdks/configurations/schemas/appSnowflakeDwhManagerSchema.ts","../src/sdks/configurations/schemas/ex/exAwsS3Schema.ts","../src/sdks/configurations/schemas/ex/exAzureBlobStorageSchema.ts","../src/sdks/configurations/schemas/ex/exAzureDataLakeSchema.ts","../src/sdks/configurations/schemas/ex/exFtpSchema.ts","../src/sdks/configurations/schemas/ex/exHttpSchema.ts","../src/sdks/configurations/schemas/exDb/exDbDefaultSchema.ts","../src/sdks/configurations/schemas/exDb/exDbPgsqlSchema.ts","../src/sdks/configurations/schemas/exDb/exDbProgressSchema.ts","../src/sdks/configurations/schemas/exDb/exDbMysqlSchema.ts","../src/sdks/configurations/schemas/exDb/exDbMssqlSchema.ts","../src/sdks/configurations/schemas/exDb/exDbOracleSchema.ts","../src/sdks/configurations/schemas/exDb/exDbFirebirdSchema.ts","../src/sdks/configurations/schemas/exDb/exTeradataSchema.ts","../src/sdks/configurations/schemas/exDb/exDbInformixSchema.ts","../src/sdks/configurations/schemas/exDb/exDbSnowflakeSchema.ts","../src/sdks/configurations/schemas/exDb/exDbNetsuiteSchema.ts","../src/sdks/configurations/schemas/gooddataWriterSchema.ts","../src/sdks/configurations/schemas/googleAdsSchema.ts","../src/sdks/configurations/schemas/schedulerSchema.ts","../src/sdks/configurations/schemas/wrDb/wrDbDefaultSchema.ts","../src/sdks/configurations/schemas/wrDb/wrDbPgsqlSchema.ts","../src/sdks/configurations/schemas/wrDb/wrDbOracleSchema.ts","../src/sdks/configurations/schemas/wrDb/wrSynapseSchema.ts","../src/sdks/configurations/schemas/wrDb/wrRedshiftSchema.ts","../src/sdks/configurations/schemas/wrDb/wrDbMssqlSchema.ts","../src/sdks/configurations/schemas/wrDb/wrDbImpalaSchema.ts","../src/sdks/configurations/schemas/wrDb/wrExasolSchema.ts","../src/sdks/configurations/schemas/wrDb/wrFireboltSchema.ts","../src/sdks/configurations/schemas/wrDb/wrHiveCsasSchema.ts","../src/sdks/configurations/schemas/wrDb/wrThoughtspotSchema.ts","../src/sdks/configurations/schemas/wrDb/wrSisenseSchema.ts","../src/sdks/configurations/schemas/wrDb/wrDbSnowflakeSchema.ts","../src/sdks/configurations/createRegistry/createRegistry.ts","../src/sdks/configurations/registry.ts","../src/sdks/configurations/configurationsSdk.ts"],"names":["z","snowflakeCommon","registry"],"mappings":"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","file":"chunk-RVBGE2Z4.js","sourcesContent":["import { isPlainObject } from './isPlainObject';\n\n/**\n * Is `value` \"deeply empty\" — i.e. carries no leaf data? `null`/`undefined`, `{}`, `[]`, and\n * nested structures whose every leaf is itself empty (e.g. `{ parameters: {} }`) are empty.\n * Any present primitive (string, number, boolean — including `''`) counts as content.\n *\n * Used to skip a pointless encryption round-trip when a validated configuration has nothing\n * to encrypt.\n */\nexport const isEmptyDeep = (value: unknown): boolean => {\n if (value == null) return true;\n if (Array.isArray(value)) return value.every(isEmptyDeep);\n if (isPlainObject(value)) return Object.values(value).every(isEmptyDeep);\n return false;\n};\n","import { z } from 'zod';\n\nimport { isPlainObject } from './isPlainObject';\n\n/** Strip optional/nullable/default wrappers to reach the structural schema node. */\nconst unwrap = (schema: z.core.$ZodType): z.core.$ZodType =>\n schema instanceof z.ZodOptional ||\n schema instanceof z.ZodNullable ||\n schema instanceof z.ZodDefault\n ? unwrap(schema.unwrap())\n : schema;\n\n/**\n * Merge `patch` into `base`, guided by `schema`: descend only through object schemas, merging\n * key-by-key. At every non-object node — a `z.union` (e.g. Snowflake's password|keypair auth),\n * an array, or a primitive — the patch REPLACES the base wholesale. That replace is what lets an\n * update *delete* keys the additive `deepMerge` cannot: switching a credential union to the other\n * variant drops the abandoned variant's secret, because the entire union subtree is swapped.\n *\n * Consequence: a union (or array) subtree is all-or-nothing — the caller must send the complete\n * block, since a partial patch replaces (and so loses) the omitted siblings.\n *\n * Object keys present only in `base` (e.g. `storage`, `processors`, anything the schema omits) are\n * preserved at every level; `undefined` patch values are skipped. Assumes `patch` is already\n * schema-validated (so every object-valued patch key has a matching schema node). Pure — neither\n * argument is mutated.\n */\nexport const schemaGuidedMerge = <T extends Record<string, unknown>>(\n schema: z.core.$ZodType,\n base: T,\n patch: Record<string, unknown>,\n): T => {\n const node = unwrap(schema);\n if (!(node instanceof z.ZodObject) || !isPlainObject(base)) return patch as T;\n\n const out: Record<string, unknown> = { ...base };\n for (const [key, value] of Object.entries(patch)) {\n if (value === undefined) continue;\n const child = node.shape[key];\n const current = out[key];\n out[key] =\n child && isPlainObject(current) && isPlainObject(value)\n ? schemaGuidedMerge(child, current, value)\n : value;\n }\n\n return out as T;\n};\n","import { z } from 'zod';\n\n/**\n * `keboola.app-data-gateway` — the Data Gateway provisions and manages its own Snowflake\n * workspace, so the config carries no credentials: just the id of the workspace it runs\n * against, stored at `parameters.db.workspaceId`.\n */\nexport const appDataGatewaySchema = z.object({\n parameters: z.object({\n db: z.object({\n workspaceId: z.number(),\n }),\n }),\n});\n","import { z } from 'zod';\n\n/** Wrap a `parameters.db` credential schema into the full component config shape. */\nexport const dbConfig = <Db extends z.ZodType>(db: Db) =>\n z.object({ parameters: z.object({ db }) });\n","import { z } from 'zod';\n\n/**\n * The credential fields shared by virtually every DB writer, stored at `parameters.db`.\n * Components extend this with driver-specific fields (`schema`, `warehouse`, `ssh`, …) and\n * override where they differ (e.g. Snowflake makes `#password` optional). Secret leaves use\n * the `#` prefix the encryption service recognizes.\n */\nexport const dbConnectionSchema = z.object({\n host: z.string().describe('Hostname'),\n port: z.number().describe('Port'),\n user: z.string().describe('Username'),\n '#password': z.string().describe('Password'),\n database: z.string().describe('Database Name'),\n});\n","import { z } from 'zod';\n\n/**\n * Marks a field as \"must be absent\" in one arm of a mutually-exclusive union: `z.undefined()`\n * rejects any value while `.optional()` lets the key be omitted entirely. Pairing it with a\n * required field in the sibling arm (e.g. `#password` XOR `#privateKey`) is what makes an\n * \"exactly one of\" union reject configs that set both keys — or neither — at runtime and in\n * the inferred type. Without it the arms would be open objects that silently strip the extra key.\n */\nexport const forbidden = z.undefined().optional();\n","import { z } from 'zod';\n\n/**\n * The OAuth credential reference components store under a top-level `authorization` key. `id`\n * points at the vault-stored credential; `version` is the OAuth-API version (3 on modern stacks).\n * Shared by every OAuth-backed component (Google family, Facebook, …).\n */\nexport const oauthAuthorizationSchema = z.object({\n oauth_api: z.object({\n id: z.string(),\n version: z.number().optional(),\n }),\n});\n","import { z } from 'zod';\n\nexport const sshTunnelSchema = z.object({\n enabled: z.boolean(),\n sshHost: z.string().optional(),\n user: z.string().optional(),\n sshPort: z.number().optional(),\n /** FTP passive-mode port range (e.g. `10000:10005`); only relevant to FTP extractors. */\n passivePortRange: z.string().optional(),\n keys: z\n .object({\n public: z.string().optional(),\n '#private': z.string().optional(),\n })\n .optional(),\n});\n","import { z } from 'zod';\n\n/** SSL options nested at `parameters.db.ssl` (drivers that support it, e.g. MySQL, Hive). */\nexport const sslSchema = z.object({\n enabled: z.boolean(),\n cert: z.string().optional(),\n '#key': z.string().optional(),\n ca: z.string().optional(),\n cipher: z.string().optional(),\n verifyServerCert: z.boolean().optional(),\n});\n","import { z } from 'zod';\n\nimport { forbidden } from './common';\n\n/**\n * `keboola.app-snowflake-dwh-manager` — master Snowflake connection. Auth is a password OR a\n * key-pair (exactly one). The common fields are shared; each variant requires its own secret and\n * *forbids the other* (`forbidden`), so a config carrying both — or neither — is rejected at\n * runtime and at the type level, matching the `wr-db-snowflake` XOR pattern.\n */\nconst dwhMasterBase = z.object({\n master_host: z.string(),\n master_user: z.string(),\n master_database: z.string(),\n warehouse: z.string(),\n});\n\nexport const appSnowflakeDwhManagerSchema = z.object({\n parameters: z.union([\n dwhMasterBase.extend({ '#master_password': z.string(), '#master_private_key': forbidden }),\n dwhMasterBase.extend({ '#master_private_key': z.string(), '#master_password': forbidden }),\n ]),\n});\n","import { z } from 'zod';\n\nimport { forbidden } from '../common';\n\n// `.loose()`: the auth block is validated, but the extractor's other `parameters` (bucket, key,\n// saveAs, …) are component-managed and must pass through rather than be stripped on create/update.\n/** Access-key credentials — forbids the IAM-role fields so the variants stay exclusive. */\nconst awsCredentialsAuth = z\n .object({\n loginType: z.literal('credentials'),\n accessKeyId: z.string(),\n '#secretAccessKey': z.string(),\n accountId: forbidden,\n roleName: forbidden,\n })\n .loose();\n\n/** IAM-role auth — forbids the access-key fields so the variants stay exclusive. */\nconst awsRoleAuth = z\n .object({\n loginType: z.literal('role'),\n accountId: z.string(),\n roleName: z.string(),\n accessKeyId: forbidden,\n '#secretAccessKey': forbidden,\n })\n .loose();\n\n/**\n * `keboola.ex-aws-s3` — access-key credentials OR IAM-role auth (exactly one). `loginType` is the\n * discriminant, and each arm *forbids the other* variant's fields (`z.undefined()`) so a config\n * mixing both — e.g. credentials + a stale `roleName` — is rejected rather than silently stripped.\n * The outer object is `.loose()` so top-level component-managed keys (`storage`, `processors`)\n * pass through.\n */\nexport const exAwsS3Schema = z\n .object({\n parameters: z.union([awsCredentialsAuth, awsRoleAuth]),\n })\n .loose();\n","import { z } from 'zod';\n\n/**\n * `kds-team.ex-azure-blob-storage-v2` — account name + key + container. Both levels are `.loose()`:\n * the connection block is validated, but component-managed `parameters` and top-level keys\n * (`storage`, `processors`) pass through rather than being stripped on create/update.\n */\nexport const exAzureBlobSchema = z\n .object({\n parameters: z\n .object({\n account_name: z.string(),\n '#account_key': z.string(),\n container_name: z.string(),\n })\n .loose(),\n })\n .loose();\n","import { z } from 'zod';\n\n/**\n * `kds-team.ex-azure-data-lake-gen2` — like Blob, but a `file_system` instead of a container. Both\n * levels are `.loose()`: the connection block is validated, but component-managed `parameters` and\n * top-level keys (`storage`, `processors`) pass through rather than being stripped on create/update.\n */\nexport const exAzureDataLakeSchema = z\n .object({\n parameters: z\n .object({\n account_name: z.string(),\n '#account_key': z.string(),\n file_system: z.string(),\n })\n .loose(),\n })\n .loose();\n","import { z } from 'zod';\n\nimport { forbidden, sshTunnelSchema } from '../common';\n\n/** Connection fields shared by both auth variants. */\nconst ftpConnection = z.object({\n host: z.string(),\n port: z.number(),\n connectionType: z.enum(['FTP', 'FTPS', 'SFTP']),\n username: z.string(),\n ignorePassiveAddress: z.boolean().optional(),\n ssh: sshTunnelSchema.optional(),\n path: z.string().optional(),\n onlyNewFiles: z.boolean().optional(),\n});\n\n// `.loose()`: validate the connection block but let component-managed parameter keys pass through.\n/** Password auth — forbids the private key so the variants stay exclusive. */\nconst ftpPasswordAuth = ftpConnection\n .extend({ '#password': z.string(), '#privateKey': forbidden })\n .loose();\n\n/** Private-key auth — forbids the password so the variants stay exclusive. */\nconst ftpPrivateKeyAuth = ftpConnection\n .extend({ '#privateKey': z.string(), '#password': forbidden })\n .loose();\n\n/**\n * `keboola.ex-ftp` / `keboola.ex-ftp-csas` — FTP/FTPS/SFTP server connection. Auth is a password\n * OR a private key (exactly one): each variant requires its secret and *forbids the other*\n * (`z.undefined()`), so a config with both — or neither — is rejected, and switching variants via\n * an update drops the abandoned secret (the whole `parameters` union subtree is replaced wholesale\n * by `schemaGuidedMerge`, so a partial patch must carry the complete connection block). The outer\n * object is `.loose()` so top-level component-managed keys (`storage`, `processors`) pass through.\n */\nexport const exFtpSchema = z\n .object({\n parameters: z.union([ftpPasswordAuth, ftpPrivateKeyAuth]),\n })\n .loose();\n","import { z } from 'zod';\n\n/**\n * `keboola.ex-http` — only the connection block is stable here. The request/job definitions are\n * component-managed and left unvalidated, so both levels are `.loose()`: extra `parameters` keys\n * and top-level keys (`storage`, `processors`) pass through `schema`/`inputSchema` unchanged rather\n * than being stripped on create/update.\n */\nexport const exHttpSchema = z\n .object({\n parameters: z.object({ baseUrl: z.string(), maxRedirects: z.number().optional() }).loose(),\n })\n .loose();\n","import { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/**\n * Default extractor credentials — host/port/user/#password/database + optional SSH tunnel, the\n * same `parameters.db` block the writers use. Tunnel support mirrors kbc-ui's `hasSshTunnel` /\n * `hasSsl` (`apps/kbc-ui/src/scripts/modules/ex-db-generic/helpers.ts`): most drivers accept an\n * SSH tunnel, only pgsql/mysql/mssql also accept SSL, and a handful accept neither. This shared\n * schema covers the generic SSH-only drivers: redshift, db2(-bata), mssql-cdata, impala,\n * hive(-csas, -csas-test). SSL-capable pgsql and the tunnel-less progress-db get their own\n * schema, as do drivers with extra/renamed fields.\n */\nexport const exDbDefaultSchema = dbConfig(\n dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional() }),\n);\n","import { dbConfig, dbConnectionSchema, sshTunnelSchema, sslSchema } from '../common';\n\n/** `keboola.ex-db-pgsql` — generic credentials that also accept SSL. */\nexport const exDbPgsqlSchema = dbConfig(\n dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() }),\n);\n","import { dbConfig, dbConnectionSchema } from '../common';\n\n/** `kds-team.ex-progress-db` — generic credentials, no SSH tunnel or SSL. */\nexport const exDbProgressSchema = dbConfig(dbConnectionSchema);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema, sslSchema } from '../common';\n\n/** `keboola.ex-db-mysql` — `database` optional + transaction-isolation / network-compression. */\nexport const exDbMysqlSchema = dbConfig(\n dbConnectionSchema.extend({\n database: z.string().optional(),\n transactionIsolationLevel: z\n .enum(['REPEATABLE READ', 'READ COMMITTED', 'READ UNCOMMITTED', 'SERIALIZABLE'])\n .optional(),\n networkCompression: z.boolean().optional(),\n ssh: sshTunnelSchema.optional(),\n ssl: sslSchema.optional(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema, sslSchema } from '../common';\n\n/** `keboola.ex-db-mssql` — `port` optional, otherwise the shared base. */\nexport const exDbMssqlSchema = dbConfig(\n dbConnectionSchema.extend({\n port: z.number().optional(),\n ssh: sshTunnelSchema.optional(),\n ssl: sslSchema.optional(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/** `keboola.ex-db-oracle` — host/port/database all optional (tnsnames is the alternative). */\nexport const exDbOracleSchema = dbConfig(\n dbConnectionSchema.omit({ host: true, port: true, database: true }).extend({\n host: z.string().optional(),\n port: z.number().optional(),\n database: z.string().optional(),\n tnsnames: z.string().optional(),\n connectThrough: z.boolean().optional(),\n ssh: sshTunnelSchema.optional(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig } from '../common';\n\n/** `keboola.ex-db-firebird` — `dbname` + user/#password only (no host/port/database fields). */\nexport const exDbFirebirdSchema = dbConfig(\n z.object({ dbname: z.string(), user: z.string(), '#password': z.string() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema } from '../common';\n\n/** `keboola.ex-teradata` — shared base with optional `database`. */\nexport const exTeradataSchema = dbConfig(\n dbConnectionSchema.extend({ database: z.string().optional() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema } from '../common';\n\n/** `keboola.ex-db-informix` — Informix server name + protocol + optional locale. */\nexport const exDbInformixSchema = dbConfig(\n dbConnectionSchema.extend({\n serverName: z.string(),\n protocol: z.enum(['onsoctcp', 'onsocssl']),\n dbLocale: z.string().optional(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, forbidden } from '../common';\n\n/**\n * `keboola.ex-db-snowflake` — auth is a union: password OR key-pair (exactly one). The common\n * fields (host/port/user/database + optional schema/warehouse) are shared; each variant requires\n * its own secret and forbids the other, so a config carrying both — or neither — is rejected at\n * runtime and at the type level.\n */\nconst snowflakeCommon = dbConnectionSchema\n .omit({ '#password': true })\n .extend({ schema: z.string().optional(), warehouse: z.string().optional() });\n\nexport const exDbSnowflakeSchema = dbConfig(\n z.union([\n snowflakeCommon.extend({ '#password': z.string(), '#privateKey': forbidden }),\n snowflakeCommon.extend({ '#privateKey': z.string(), '#password': forbidden }),\n ]),\n);\n","import { z } from 'zod';\n\nimport { dbConfig } from '../common';\n\n/** `keboola.ex-db-netsuite` — SuiteAnalytics account/role + user/#password (no host/port/db). */\nexport const exDbNetsuiteSchema = dbConfig(\n z.object({\n accountId: z.string(),\n roleId: z.string(),\n user: z.string(),\n '#password': z.string(),\n }),\n);\n\n/** `kds-team.ex-netsuite` — Connect host/port + server data source + account/role. */\nexport const exKdsNetsuiteSchema = dbConfig(\n z.object({\n host: z.string(),\n port: z.number(),\n server_data_source: z.enum(['NetSuite.com', 'NetSuite2.com']),\n account_id: z.string(),\n role_id: z.string(),\n user: z.string(),\n '#password': z.string(),\n }),\n);\n","import { z } from 'zod';\n\n/**\n * A single exported column. `type` is always present and drives which of the other fields the\n * UI shows (and persists): `dataType`/`dataTypeSize` for the base types + LABEL, `reference` for\n * LABEL/HYPERLINK, `schemaReference` for REFERENCE, `format`/`dateDimension` for DATE, and\n * `sortLabel`/`sortOrder` + the `identifier*` fields for ATTRIBUTE. They're optional here since a\n * given column only carries the subset relevant to its type. Mirrors the kbc-ui column adapter\n * (`apps/kbc-ui/src/scripts/modules/gooddata-writer-v3/helpers/makeColumnDefinition.ts`).\n */\nconst gooddataColumn = z.object({\n type: z.enum([\n 'ATTRIBUTE',\n 'CONNECTION_POINT',\n 'DATE',\n 'FACT',\n 'HYPERLINK',\n 'LABEL',\n 'REFERENCE',\n 'IGNORE',\n ]),\n id: z.string().optional(),\n title: z.string().optional(),\n dataType: z.enum(['BIGINT', 'DATE', 'DECIMAL', 'INT', 'VARCHAR']).optional(),\n dataTypeSize: z.string().optional(),\n reference: z.string().optional(),\n schemaReference: z.string().optional(),\n sortLabel: z.string().optional(),\n sortOrder: z.enum(['ASC', 'DESC']).optional(),\n format: z.string().optional(),\n dateDimension: z.string().optional(),\n identifier: z.string().optional(),\n identifierLabel: z.string().optional(),\n identifierSortLabel: z.string().optional(),\n});\n\n/** One exported table: a GoodData `title`, its `columns` keyed by source column name, and an\n * optional `disabled` flag toggled when export is switched off. */\nconst gooddataTable = z.object({\n title: z.string(),\n disabled: z.boolean().optional(),\n identifier: z.string().optional(),\n columns: z.record(z.string(), gooddataColumn),\n});\n\n/** One date dimension; `template` selects the date-dimension template (`gooddata` / `keboola` /\n * a custom template id). */\nconst gooddataDimension = z.object({\n template: z.string(),\n includeTime: z.boolean().optional(),\n identifier: z.string().optional(),\n});\n\n/**\n * `keboola.gooddata-writer` — GoodData project + login credentials plus the exported model:\n * `tables` (keyed by source table id) and `dimensions` (keyed by dimension name). Both are\n * optional — a fresh config has credentials before any table/dimension is mapped — and must be\n * declared: the registry validates create/update input with a deep-partial that strips keys\n * absent from this shape, so an undeclared `tables`/`dimensions` payload would be dropped before\n * it's stored.\n */\nexport const gooddataWriterSchema = z.object({\n parameters: z.object({\n project: z.object({ pid: z.string(), backendUrl: z.string().optional() }),\n user: z.object({ login: z.string(), '#password': z.string() }),\n loadOnly: z.boolean().optional(),\n multiLoad: z.boolean().optional(),\n tables: z.record(z.string(), gooddataTable).optional(),\n dimensions: z.record(z.string(), gooddataDimension).optional(),\n }),\n});\n","import { z } from 'zod';\n\nimport { oauthAuthorizationSchema } from './common';\n\n/** `keboola.ex-google-ads` — OAuth credential reference + account selection. */\nexport const exGoogleAdsSchema = z.object({\n authorization: oauthAuthorizationSchema,\n parameters: z.object({\n customerId: z.array(z.string()),\n onlyEnabledCustomers: z.boolean().optional(),\n getAccountChildren: z.boolean().optional(),\n }),\n});\n","import { z } from 'zod';\n\n/**\n * `keboola.scheduler` — drives a target component config on a cron schedule. Unlike the\n * writer configs, scheduler state lives at the top level (no `parameters` wrapper):\n * `schedule` holds the cron expression + timezone + enabled/disabled state, `target`\n * identifies which component configuration to run.\n */\nexport const schedulerSchema = z.object({\n schedule: z.object({\n cronTab: z.string(),\n // Legacy configs predate the timezone field; the UI falls back to 'UTC' when it's\n // missing, so a config without it is still runnable. Keep it optional to match.\n timezone: z.string().optional(),\n state: z.enum(['enabled', 'disabled']),\n }),\n target: z.object({\n componentId: z.string(),\n configurationId: z.string(),\n mode: z.literal('run'),\n }),\n});\n","import { dbConfig, dbConnectionSchema, sshTunnelSchema, sslSchema } from '../common';\n\n/**\n * Default writer credentials — host/port/user/#password/database + optional SSH and SSL tunnels.\n * Shared by the writers that add no extra fields (`keboola.wr-db-mysql`, `keboola.wr-db-hive`);\n * writers that add or rename fields get their own schema.\n */\nexport const wrDbDefaultSchema = dbConfig(\n dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/** `keboola.wr-db-pgsql` — adds a required `schema`, optional SSH. */\nexport const wrDbPgsqlSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string(), ssh: sshTunnelSchema.optional() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/** `keboola.wr-db-oracle` — optional `schema`, optional SSH. */\nexport const wrDbOracleSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string().optional(), ssh: sshTunnelSchema.optional() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema } from '../common';\n\n/** `keboola.wr-synapse` — optional `schema` (defaults to `dbo` in the UI). */\nexport const wrSynapseSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string().optional() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/** `keboola.wr-redshift-v2` — required `schema`, optional SSH. */\nexport const wrRedshiftSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string(), ssh: sshTunnelSchema.optional() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/** `keboola.wr-db-mssql-v2` — optional `instance`, required `tdsVersion`, optional SSH. */\nexport const wrDbMssqlSchema = dbConfig(\n dbConnectionSchema.extend({\n instance: z.string().optional(),\n tdsVersion: z.enum(['7.0', '7.1', '7.2', '7.3', '7.4']),\n ssh: sshTunnelSchema.optional(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/** `keboola.wr-db-impala` — adds `auth_mech`, optional SSH. */\nexport const wrDbImpalaSchema = dbConfig(\n dbConnectionSchema.extend({ auth_mech: z.number(), ssh: sshTunnelSchema.optional() }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig } from '../common';\n\n/**\n * `kds-team.wr-exasol` — no `database`; auth is password OR SaaS personal-access-token\n * (`#refresh_token`), at least one required (both may coexist). Mirrors kbc-ui's\n * `apps/kbc-ui/src/scripts/modules/wr-db/templates/hasValidCredentials.ts`, which drops the\n * `#password` requirement once a `#refresh_token` is present.\n */\nconst exasolBase = z.object({\n host: z.string(),\n port: z.number(),\n user: z.string(),\n schema: z.string(),\n});\n\nexport const wrExasolSchema = dbConfig(\n z.union([\n exasolBase.extend({ '#password': z.string(), '#refresh_token': z.string().optional() }),\n exasolBase.extend({ '#refresh_token': z.string(), '#password': z.string().optional() }),\n ]),\n);\n","import { z } from 'zod';\n\nimport { dbConfig } from '../common';\n\n/** `kds-team.wr-firebolt` — no host/port; engine + AWS staging credentials. */\nexport const wrFireboltSchema = dbConfig(\n z.object({\n user: z.string(),\n '#password': z.string(),\n database: z.string(),\n aws_api_key_id: z.string(),\n '#aws_api_key_secret': z.string(),\n staging_bucket: z.string(),\n engine_name: z.string().optional(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, sshTunnelSchema } from '../common';\n\n/** `kds-team.wr-hive-csas` — Hive base + Kerberos auth. */\nexport const wrHiveCsasSchema = dbConfig(\n dbConnectionSchema.extend({\n kinitPrincipal: z.string(),\n servicePrincipal: z.string(),\n config: z.string(),\n '#keytab': z.string(),\n ssh: sshTunnelSchema.optional(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema } from '../common';\n\n/** `keboola.wr-thoughtspot` — SSH tunnel creds carried as top-level fields, not nested. */\nexport const wrThoughtspotSchema = dbConfig(\n dbConnectionSchema.extend({\n schema: z.string().optional(),\n sshUser: z.string(),\n '#sshPassword': z.string(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig } from '../common';\n\n/** `keboola.wr-sisense` — uses `username` (not `user`). */\nexport const wrSisenseSchema = dbConfig(\n z.object({\n host: z.string(),\n port: z.number(),\n username: z.string(),\n '#password': z.string(),\n database: z.string(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConfig, dbConnectionSchema, forbidden } from '../common';\n\n/**\n * `keboola.wr-db-snowflake` — auth is a union: password OR key-pair (exactly one). The common\n * fields (host/port/user/database/schema/warehouse) are shared; each variant requires its own\n * secret and *forbids the other* (`z.undefined()`), so a config carrying both — or neither —\n * is rejected at runtime and at the type level. Without the `forbidden` half, the variants\n * would be open objects: the extra key is excess (TS allows it) and stripped (Zod accepts it).\n */\nconst snowflakeCommon = dbConnectionSchema\n .omit({ '#password': true })\n .extend({ schema: z.string(), warehouse: z.string().optional() });\n\nexport const wrDbSnowflakeSchema = dbConfig(\n z.union([\n snowflakeCommon.extend({ '#password': z.string(), '#privateKey': forbidden }),\n snowflakeCommon.extend({ '#privateKey': z.string(), '#password': forbidden }),\n ]),\n);\n","import { z } from 'zod';\n\n/** Deep-partial any schema: objects → keys optional (recursing), unions → each member\n * deep-partialed, anything else left as-is. Lets a union schema (e.g. Snowflake's\n * password | key-pair auth) still produce a partial input schema. */\nconst partialize = (schema: z.ZodType): z.ZodType => {\n if (schema instanceof z.ZodObject) return deepPartial(schema);\n if (schema instanceof z.ZodUnion) {\n const options = (schema.options as z.ZodType[]).map(partialize);\n return z.union(options as [z.ZodType, z.ZodType, ...z.ZodType[]]);\n }\n return schema;\n};\n\nconst deepPartial = (schema: z.ZodObject): z.ZodObject => {\n const shape: Record<string, z.ZodType> = {};\n for (const [key, value] of Object.entries(schema.shape)) {\n const field = value as z.ZodType;\n const inner = field instanceof z.ZodOptional ? (field.unwrap() as z.ZodType) : field;\n shape[key] = partialize(inner);\n }\n const partial = z.object(shape).partial();\n // Preserve the source object's catchall (e.g. a `.loose()` `parameters` block that must let\n // component-managed keys pass through) — rebuilding via `z.object` would otherwise strip it.\n return schema.def.catchall ? partial.catchall(schema.def.catchall) : partial;\n};\n\nexport type Registry<M extends Record<string, z.ZodObject>> = {\n add: <const Id extends string, Schema extends z.ZodObject>(\n componentId: Id,\n schema: Schema,\n ) => Registry<M & Record<Id, Schema>>;\n get: <Id extends keyof M>(\n componentId: Id,\n ) => {\n /** The component's complete runnable schema (precise per id). */\n schema: M[Id];\n /** Its deep-partial — the accepted create/update input. Loose `z.ZodObject` (the precise\n * partial type isn't worth deriving; callers get input typing from `schema` via `z.input`). */\n inputSchema: z.ZodObject;\n };\n has: (componentId: string) => boolean;\n};\n\n/** Extracts the registered component-id union from a registry instance type. */\nexport type InferComponentId<R> = R extends Registry<infer M> ? keyof M & string : never;\n\nexport const createRegistry = (): Registry<Record<never, never>> => {\n const map = new Map<string, z.ZodObject>();\n\n const registry = {\n add(componentId: string, schema: z.ZodObject) {\n map.set(componentId, schema);\n return registry;\n },\n get(componentId: string) {\n const schema = map.get(componentId);\n if (!schema) throw new Error(`No configuration registered for component \"${componentId}\".`);\n return { schema, inputSchema: deepPartial(schema) };\n },\n has: (componentId: string) => map.has(componentId),\n };\n\n return registry as unknown as Registry<Record<never, never>>;\n};\n","import { ComponentId } from '../../constants/componentId';\n\nimport { appDataGatewaySchema } from './schemas/appDataGatewaySchema';\nimport { appSnowflakeDwhManagerSchema } from './schemas/appSnowflakeDwhManagerSchema';\nimport {\n exAwsS3Schema,\n exAzureBlobSchema,\n exAzureDataLakeSchema,\n exFtpSchema,\n exHttpSchema,\n} from './schemas/ex';\nimport {\n exDbDefaultSchema,\n exDbFirebirdSchema,\n exDbInformixSchema,\n exDbMssqlSchema,\n exDbMysqlSchema,\n exDbNetsuiteSchema,\n exDbOracleSchema,\n exDbPgsqlSchema,\n exDbProgressSchema,\n exDbSnowflakeSchema,\n exKdsNetsuiteSchema,\n exTeradataSchema,\n} from './schemas/exDb';\nimport { gooddataWriterSchema } from './schemas/gooddataWriterSchema';\nimport { exGoogleAdsSchema } from './schemas/googleAdsSchema';\nimport { schedulerSchema } from './schemas/schedulerSchema';\nimport {\n wrDbDefaultSchema,\n wrDbImpalaSchema,\n wrDbMssqlSchema,\n wrDbOracleSchema,\n wrDbPgsqlSchema,\n wrDbSnowflakeSchema,\n wrExasolSchema,\n wrFireboltSchema,\n wrHiveCsasSchema,\n wrRedshiftSchema,\n wrSisenseSchema,\n wrSynapseSchema,\n wrThoughtspotSchema,\n} from './schemas/wrDb';\nimport { createRegistry, type GetRegisteredId } from './createRegistry';\n\nexport const registry = createRegistry()\n /**\n * DB writers (`wr-db-*` family + related SaaS targets). Split into the standard writers\n * built on the shared `parameters.db` connection base and the special-cased targets whose\n * config diverges (extra auth, no host/port, or a provisioned workspace).\n */\n\n // Standard writers — host/port/user/#password/database, plus per-driver extras (schema, ssh…).\n .add(ComponentId.WR_DB_MYSQL, wrDbDefaultSchema)\n .add(ComponentId.WR_DB_PGSQL, wrDbPgsqlSchema)\n .add(ComponentId.WR_PAIRITY, wrDbPgsqlSchema) // pgsql variant\n .add(ComponentId.WR_DB_ORACLE, wrDbOracleSchema)\n .add(ComponentId.WR_DB_SNOWFLAKE, wrDbSnowflakeSchema)\n .add(ComponentId.WR_DB_SNOWFLAKE_GCS, wrDbSnowflakeSchema)\n .add(ComponentId.WR_DB_SNOWFLAKE_GCS_S3, wrDbSnowflakeSchema)\n .add(ComponentId.WR_SNOWFLAKE_BLOB_STORAGE, wrDbSnowflakeSchema)\n .add(ComponentId.WR_LOOKER_V2, wrDbSnowflakeSchema) // legacy snowflake\n .add(ComponentId.WR_SYNAPSE, wrSynapseSchema)\n .add(ComponentId.WR_REDSHIFT, wrRedshiftSchema)\n .add(ComponentId.WR_DB_MSSQL, wrDbMssqlSchema)\n .add(ComponentId.WR_DB_HIVE, wrDbDefaultSchema)\n .add(ComponentId.WR_DB_IMPALA, wrDbImpalaSchema)\n\n // Special-cased targets — diverging auth or credential shape.\n .add(ComponentId.WR_HIVE_CSAS, wrHiveCsasSchema) // Kerberos auth\n .add(ComponentId.WR_THOUGHTSPOT, wrThoughtspotSchema) // top-level SSH creds\n .add(ComponentId.WR_EXASOL, wrExasolSchema)\n .add(ComponentId.WR_FIREBOLT, wrFireboltSchema)\n .add(ComponentId.WR_SISENSE, wrSisenseSchema)\n .add(ComponentId.APP_DATA_GATEWAY, appDataGatewaySchema) // provisioned workspace, no creds\n .add(ComponentId.SCHEDULER, schedulerSchema)\n\n // App-specific writers — bespoke credential blocks.\n .add(ComponentId.APP_SNOWFLAKE_DWH_MANAGER, appSnowflakeDwhManagerSchema)\n .add(ComponentId.GOODDATA_WRITER, gooddataWriterSchema)\n\n /**\n * DB extractors (`ex-db-*` family) — same `parameters.db` credentials as the writers above.\n * Split into the generic-credentials drivers that reuse `exDbDefaultSchema` and the drivers\n * whose credentials diverge enough to need their own schema.\n */\n\n // Default credentials — host/port/user/#password/database + optional SSH tunnel.\n .add(ComponentId.EX_DB_REDSHIFT, exDbDefaultSchema)\n .add(ComponentId.EX_DB_DB2, exDbDefaultSchema)\n .add(ComponentId.EX_DB_DB2_BATA, exDbDefaultSchema)\n .add(ComponentId.EX_DB_MSSQL_CDATA, exDbDefaultSchema)\n .add(ComponentId.EX_DB_IMPALA, exDbDefaultSchema)\n .add(ComponentId.EX_DB_HIVE, exDbDefaultSchema)\n .add(ComponentId.EX_DB_HIVE_CSAS, exDbDefaultSchema)\n .add(ComponentId.EX_DB_HIVE_CSAS_TEST, exDbDefaultSchema)\n\n // Driver-specific credentials — extra/renamed fields or different SSH tunnel / SSL support.\n .add(ComponentId.EX_DB_PGSQL, exDbPgsqlSchema) // generic creds + SSL\n .add(ComponentId.EX_DB_MYSQL, exDbMysqlSchema)\n .add(ComponentId.EX_DB_MSSQL, exDbMssqlSchema)\n .add(ComponentId.EX_DB_ORACLE, exDbOracleSchema)\n .add(ComponentId.EX_DB_SNOWFLAKE, exDbSnowflakeSchema)\n .add(ComponentId.EX_DB_FIREBIRD, exDbFirebirdSchema)\n .add(ComponentId.EX_DB_NETSUITE, exDbNetsuiteSchema)\n .add(ComponentId.EX_DB_INFORMIX, exDbInformixSchema)\n .add(ComponentId.EX_TERADATA, exTeradataSchema)\n .add(ComponentId.KDS_EX_NETSUITE, exKdsNetsuiteSchema)\n .add(ComponentId.KDS_EX_PROGRESS_DB, exDbProgressSchema) // generic creds, no SSH/SSL\n // Google (OAuth) components\n .add(ComponentId.EX_GOOGLE_ADS, exGoogleAdsSchema)\n\n /**\n * File/connection extractors (`ex` family) — no shared credential base; each has its own\n * connection/credentials shape, so each is its own schema (ftp-csas reuses ftp).\n */\n .add(ComponentId.EX_HTTP, exHttpSchema)\n .add(ComponentId.EX_FTP, exFtpSchema)\n .add(ComponentId.EX_FTP_CSAS, exFtpSchema) // same shape as ftp\n .add(ComponentId.EX_AWS_S3, exAwsS3Schema)\n .add(ComponentId.KDS_EX_AZURE_BLOB_STORAGE_V2, exAzureBlobSchema)\n .add(ComponentId.KDS_EX_AZURE_DATA_LAKE_GEN2, exAzureDataLakeSchema);\n\nexport type RegisteredComponentId = GetRegisteredId<typeof registry>;\n","import type { z } from 'zod';\n\nimport type { createEncryptionClient } from '../../clients/encryption/encryptionClient';\nimport type * as storage from '../../clients/storage';\nimport type {\n BaseComponentConfig,\n ConfigurationPath,\n CreateConfigurationInput,\n UpdateConfigurationInput,\n} from '../../clients/storage/types';\nimport type { createDefaultBranch } from '../../domain/defaultBranch';\nimport {\n assertCanCreateConfiguration,\n assertCanUpdateConfiguration,\n} from '../../domain/permissions/configurations';\nimport type { Project } from '../../domain/project';\nimport { isEmptyDeep } from '../../utils/isEmptyDeep';\nimport { schemaGuidedMerge } from '../../utils/schemaGuidedMerge';\n\nimport { type RegisteredComponentId, registry } from './registry';\n\ntype ConfigurationSdkContext = {\n project: Project;\n defaultBranch: ReturnType<typeof createDefaultBranch>;\n};\n\ntype Options = {\n storageClient: ReturnType<typeof storage.createStorageClient>;\n encryptionClient: ReturnType<typeof createEncryptionClient>;\n context: ConfigurationSdkContext;\n};\n\ntype DeepPartial<T> = T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;\n\ntype ConfigurationSchema<ComponentId extends RegisteredComponentId> = z.input<\n ReturnType<typeof registry.get<ComponentId>>['schema']\n>;\n\ntype TypedConfiguration<ComponentId extends RegisteredComponentId> = {\n componentId: ComponentId;\n configuration: DeepPartial<ConfigurationSchema<ComponentId>>;\n};\n\n/**\n * How an update writes the patch against the stored configuration:\n * - `'merge'` (default) — schema-guided deep merge: object fields patch individually, while a\n * credential union or array subtree is replaced wholesale (so switching auth variants deletes\n * the abandoned secret). Untouched leaves and out-of-schema keys are preserved. Reads the\n * current config first to merge onto.\n * - `'replace'` — store exactly what the caller sends (after validation + encryption); no read,\n * no merge. Completeness is on the caller — any field or sibling key (e.g. `storage`) it omits\n * is gone.\n */\ntype UpdateMode = 'merge' | 'replace';\n\nconst toConfigResult = <ComponentId extends RegisteredComponentId>(\n data: BaseComponentConfig,\n schema: z.ZodType,\n) => {\n const result = schema.safeParse(data.configuration);\n\n return {\n data: data as BaseComponentConfig<ConfigurationSchema<ComponentId>>,\n runnable: result.success,\n error: result.error,\n };\n};\n\nexport const createConfigurationSdk = ({ storageClient, encryptionClient, context }: Options) => {\n const _encrypt = async (\n componentId: RegisteredComponentId,\n data: Record<string, unknown>,\n ): Promise<Record<string, unknown>> => {\n if (isEmptyDeep(data)) return data;\n\n return encryptionClient.encryptScopedSecrets({\n scope: 'ProjectSecure',\n componentId,\n projectId: context.project.sapiToken.owner.id,\n data,\n });\n };\n\n const getConfiguration = async <ComponentId extends RegisteredComponentId>(\n path: ConfigurationPath<ComponentId>,\n ) => {\n const data = await storageClient.componentsAndConfigurations.getConfiguration(path);\n const def = registry.get(path.componentId);\n\n return toConfigResult<ComponentId>(data, def.schema);\n };\n\n const createConfiguration = async <ComponentId extends RegisteredComponentId>(\n input: Omit<CreateConfigurationInput<ComponentId>, 'componentId' | 'configuration'> &\n TypedConfiguration<ComponentId>,\n ) => {\n const { componentId, branchId, configuration, ...rest } = input;\n assertCanCreateConfiguration(context.project.sapiToken, {\n isDevModeActive: context.defaultBranch.isDev(branchId),\n });\n const def = registry.get(componentId);\n const validated = def.inputSchema.parse(configuration);\n const encrypted = await _encrypt(componentId, validated);\n\n const data = await storageClient.componentsAndConfigurations.createConfiguration({\n ...rest,\n branchId,\n componentId,\n configuration: encrypted,\n });\n\n return toConfigResult<ComponentId>(data, def.schema);\n };\n\n const updateConfiguration = async <ComponentId extends RegisteredComponentId>(\n input: Omit<UpdateConfigurationInput<ComponentId>, 'componentId' | 'configuration'> &\n TypedConfiguration<ComponentId> & { mode?: UpdateMode },\n ) => {\n const { componentId, branchId, configId, configuration, mode = 'merge', ...rest } = input;\n assertCanUpdateConfiguration(context.project.sapiToken, {\n isDevModeActive: context.defaultBranch.isDev(branchId),\n });\n const def = registry.get(componentId);\n\n const validated = def.inputSchema.parse(configuration);\n const encrypted = await _encrypt(componentId, validated);\n\n let newConfiguration: Record<string, unknown> = encrypted;\n if (mode === 'merge') {\n const original = await storageClient.componentsAndConfigurations.getConfiguration({\n componentId,\n branchId,\n configId,\n });\n newConfiguration = schemaGuidedMerge(def.schema, original.configuration ?? {}, encrypted);\n }\n\n const data = await storageClient.componentsAndConfigurations.updateConfiguration({\n ...rest,\n branchId,\n componentId,\n configId,\n configuration: newConfiguration,\n });\n\n return toConfigResult<ComponentId>(data, def.schema);\n };\n\n return { getConfiguration, createConfiguration, updateConfiguration };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { concurrent } from './chunk-SJZ66FD5.js';
2
- import { createAuthHeaders } from './chunk-L4R66Q6S.js';
3
- import { createOpenapiFetchClient } from './chunk-3B3GOGAL.js';
2
+ import { createAuthHeaders } from './chunk-EDX5D6UY.js';
3
+ import { createOpenapiFetchClient } from './chunk-XHDYLUM4.js';
4
4
 
5
5
  // src/clients/notifications/notificationsClient.ts
6
6
  var createNotificationsClient = ({ baseUrl, middlewares, auth }) => {
@@ -57,5 +57,5 @@ var createNotificationsClient = ({ baseUrl, middlewares, auth }) => {
57
57
  };
58
58
 
59
59
  export { createNotificationsClient };
60
- //# sourceMappingURL=chunk-G5JMZI2L.js.map
61
- //# sourceMappingURL=chunk-G5JMZI2L.js.map
60
+ //# sourceMappingURL=chunk-S4JK7DKM.js.map
61
+ //# sourceMappingURL=chunk-S4JK7DKM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/notifications/notificationsClient.ts"],"names":[],"mappings":";;;;;AAQO,IAAM,4BAA4B,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AAC9F,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,gBAAA,GAAmB,OAAO,KAAA,EAAgC,MAAA,KAAyB;AACvF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,wBAAA,EAA0B,EAAE,KAAA,EAAM,EAAG,EAAE,MAAA,EAAQ,CAAA;AACjF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OAAO,cAAA,EAAgC,MAAA,KAAyB;AACtF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,yCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,cAAA,EAAe,EAAE;AAAA,MAC3B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAO,IAAA,EAA8B,MAAA,KAAyB;AACvF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,wBAAA,EAA0B,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AACjF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAOA,EAAA,MAAM,mBAAA,GAAsB,OAAO,MAAA,EAAkC,MAAA,KAAyB;AAC5F,IAAA,OAAO,UAAA,CAAW;AAAA,MAChB,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,CAAC,IAAA,KAAS,kBAAA,CAAmB,MAAM,MAAM,CAAA;AAAA,MAClD,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OACzB,cAAA,EACA,MAAA,KACkB;AAClB,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,yCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,cAAA,EAAe,EAAE;AAAA,MAC3B,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAGA,EAAA,MAAM,mBAAA,GAAsB,OAC1B,eAAA,EACA,MAAA,KACkB;AAClB,IAAA,MAAM,UAAA,CAAW;AAAA,MACf,KAAA,EAAO,eAAA;AAAA,MACP,OAAA,EAAS,CAAC,cAAA,KAAmB,kBAAA,CAAmB,gBAAgB,MAAM,CAAA;AAAA,MACtE,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,mBAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-G5JMZI2L.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { concurrent } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { CreateSubscriptionBody, ListSubscriptionsQuery, SubscriptionId } from './types';\n\nexport const createNotificationsClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getSubscriptions = async (query?: ListSubscriptionsQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/project-subscriptions', { query }, { signal });\n return data;\n };\n\n const getSubscription = async (subscriptionId: SubscriptionId, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/project-subscriptions/{subscriptionId}',\n { path: { subscriptionId } },\n { signal },\n );\n return data;\n };\n\n const createSubscription = async (body: CreateSubscriptionBody, signal?: AbortSignal) => {\n const { data } = await client.post('/project-subscriptions', { body }, { signal });\n return data;\n };\n\n /**\n * The service has no bulk create endpoint, so this fans out one request per subscription.\n * `process` is wrapped rather than passed by reference: `concurrent` calls it with\n * (item, index, arrayLength), and the index would land on `createSubscription`'s `signal`.\n */\n const createSubscriptions = async (bodies: CreateSubscriptionBody[], signal?: AbortSignal) => {\n return concurrent({\n items: bodies,\n process: (body) => createSubscription(body, signal),\n concurrency: 3,\n });\n };\n\n const deleteSubscription = async (\n subscriptionId: SubscriptionId,\n signal?: AbortSignal,\n ): Promise<void> => {\n await client.delete(\n '/project-subscriptions/{subscriptionId}',\n { path: { subscriptionId } },\n { signal },\n );\n };\n\n /** Bulk counterpart to `deleteSubscription`; see `createSubscriptions` for the fan-out note. */\n const deleteSubscriptions = async (\n subscriptionIds: SubscriptionId[],\n signal?: AbortSignal,\n ): Promise<void> => {\n await concurrent({\n items: subscriptionIds,\n process: (subscriptionId) => deleteSubscription(subscriptionId, signal),\n concurrency: 3,\n });\n };\n\n return {\n getSubscriptions,\n getSubscription,\n createSubscription,\n createSubscriptions,\n deleteSubscription,\n deleteSubscriptions,\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/clients/notifications/notificationsClient.ts"],"names":[],"mappings":";;;;;AAQO,IAAM,4BAA4B,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AAC9F,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,gBAAA,GAAmB,OAAO,KAAA,EAAgC,MAAA,KAAyB;AACvF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,wBAAA,EAA0B,EAAE,KAAA,EAAM,EAAG,EAAE,MAAA,EAAQ,CAAA;AACjF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OAAO,cAAA,EAAgC,MAAA,KAAyB;AACtF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,yCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,cAAA,EAAe,EAAE;AAAA,MAC3B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAO,IAAA,EAA8B,MAAA,KAAyB;AACvF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,wBAAA,EAA0B,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AACjF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAOA,EAAA,MAAM,mBAAA,GAAsB,OAAO,MAAA,EAAkC,MAAA,KAAyB;AAC5F,IAAA,OAAO,UAAA,CAAW;AAAA,MAChB,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,CAAC,IAAA,KAAS,kBAAA,CAAmB,MAAM,MAAM,CAAA;AAAA,MAClD,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OACzB,cAAA,EACA,MAAA,KACkB;AAClB,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,yCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,cAAA,EAAe,EAAE;AAAA,MAC3B,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAGA,EAAA,MAAM,mBAAA,GAAsB,OAC1B,eAAA,EACA,MAAA,KACkB;AAClB,IAAA,MAAM,UAAA,CAAW;AAAA,MACf,KAAA,EAAO,eAAA;AAAA,MACP,OAAA,EAAS,CAAC,cAAA,KAAmB,kBAAA,CAAmB,gBAAgB,MAAM,CAAA;AAAA,MACtE,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,mBAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-S4JK7DKM.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { concurrent } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { CreateSubscriptionBody, ListSubscriptionsQuery, SubscriptionId } from './types';\n\nexport const createNotificationsClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getSubscriptions = async (query?: ListSubscriptionsQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/project-subscriptions', { query }, { signal });\n return data;\n };\n\n const getSubscription = async (subscriptionId: SubscriptionId, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/project-subscriptions/{subscriptionId}',\n { path: { subscriptionId } },\n { signal },\n );\n return data;\n };\n\n const createSubscription = async (body: CreateSubscriptionBody, signal?: AbortSignal) => {\n const { data } = await client.post('/project-subscriptions', { body }, { signal });\n return data;\n };\n\n /**\n * The service has no bulk create endpoint, so this fans out one request per subscription.\n * `process` is wrapped rather than passed by reference: `concurrent` calls it with\n * (item, index, arrayLength), and the index would land on `createSubscription`'s `signal`.\n */\n const createSubscriptions = async (bodies: CreateSubscriptionBody[], signal?: AbortSignal) => {\n return concurrent({\n items: bodies,\n process: (body) => createSubscription(body, signal),\n concurrency: 3,\n });\n };\n\n const deleteSubscription = async (\n subscriptionId: SubscriptionId,\n signal?: AbortSignal,\n ): Promise<void> => {\n await client.delete(\n '/project-subscriptions/{subscriptionId}',\n { path: { subscriptionId } },\n { signal },\n );\n };\n\n /** Bulk counterpart to `deleteSubscription`; see `createSubscriptions` for the fan-out note. */\n const deleteSubscriptions = async (\n subscriptionIds: SubscriptionId[],\n signal?: AbortSignal,\n ): Promise<void> => {\n await concurrent({\n items: subscriptionIds,\n process: (subscriptionId) => deleteSubscription(subscriptionId, signal),\n concurrency: 3,\n });\n };\n\n return {\n getSubscriptions,\n getSubscription,\n createSubscription,\n createSubscriptions,\n deleteSubscription,\n deleteSubscriptions,\n };\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkU5SE6W5M_cjs = require('./chunk-U5SE6W5M.cjs');
4
- var chunk43CGBOVT_cjs = require('./chunk-43CGBOVT.cjs');
5
- var chunkDMNWPVVT_cjs = require('./chunk-DMNWPVVT.cjs');
4
+ var chunk7RO6PKZ4_cjs = require('./chunk-7RO6PKZ4.cjs');
5
+ var chunkMMOAH3EH_cjs = require('./chunk-MMOAH3EH.cjs');
6
6
  var zod = require('zod');
7
7
 
8
8
  var agentSettingsSchema = zod.z.object({
@@ -41,11 +41,11 @@ var createChatClient = ({
41
41
  storageApiUrl,
42
42
  auth
43
43
  }) => {
44
- const client = chunkDMNWPVVT_cjs.createOpenapiFetchClient({
44
+ const client = chunkMMOAH3EH_cjs.createOpenapiFetchClient({
45
45
  baseUrl,
46
46
  headers: new Headers({
47
- [chunkDMNWPVVT_cjs.KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,
48
- ...chunk43CGBOVT_cjs.createAuthHeaders(auth)
47
+ [chunkMMOAH3EH_cjs.KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,
48
+ ...chunk7RO6PKZ4_cjs.createAuthHeaders(auth)
49
49
  }),
50
50
  middlewares
51
51
  });
@@ -146,5 +146,5 @@ var createChatClient = ({
146
146
  };
147
147
 
148
148
  exports.createChatClient = createChatClient;
149
- //# sourceMappingURL=chunk-FVJC2GJY.cjs.map
150
- //# sourceMappingURL=chunk-FVJC2GJY.cjs.map
149
+ //# sourceMappingURL=chunk-T242YFMT.cjs.map
150
+ //# sourceMappingURL=chunk-T242YFMT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/chat/chatClient.ts"],"names":["z","createOpenapiFetchClient","KeboolaHttpHeader","createAuthHeaders","suggestionsApiResponseSchema"],"mappings":"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","file":"chunk-FVJC2GJY.cjs","sourcesContent":["import { z } from 'zod';\n\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { SuggestionsApiResponse, SuggestionsRequestBody } from './suggestions';\nimport { suggestionsApiResponseSchema } from './suggestions';\nimport type {\n AgentSettings,\n ChatRequest,\n GetChatPath,\n GetHistoryQuery,\n GetVotesQuery,\n ToolsListResponse,\n UpdateAgentSettingsRequest,\n UpdateUserAgentSettingsRequest,\n UsageResponse,\n UserAgentSettings,\n Vote,\n VoteRequest,\n} from './types';\n\nconst agentSettingsSchema = z.object({\n projectId: z.string(),\n customInstructions: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nconst toolPermissionValueSchema = z.enum(['always_allow', 'always_ask', 'blocked']);\n\nconst userAgentSettingsSchema = z.object({\n projectId: z.string(),\n userId: z.string(),\n customInstructions: z.string().nullable(),\n toolPermissions: z.record(z.string(), toolPermissionValueSchema).nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nconst toolInfoSchema = z.object({\n name: z.string(),\n description: z.string(),\n readOnly: z.boolean(),\n});\n\nconst toolsListResponseSchema = z.object({\n tools: z.array(toolInfoSchema),\n});\n\nconst votesResponseSchema = z.array(\n z.object({\n chatId: z.string(),\n messageId: z.string(),\n isUpvoted: z.boolean(),\n }),\n);\n\ntype ChatClientOptions = ClientInitOptions & {\n storageApiUrl: string;\n};\n\nexport const createChatClient = ({\n baseUrl,\n middlewares,\n storageApiUrl,\n auth,\n}: ChatClientOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n headers: new Headers({\n [KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,\n ...createAuthHeaders(auth),\n }),\n middlewares,\n });\n\n const getHistory = async (params?: GetHistoryQuery) => {\n const { data } = await client.get('/history', { query: params });\n return data;\n };\n\n const getChat = async (chatId: GetChatPath['id'], signal?: AbortSignal) => {\n const { data } = await client.get('/chat/{id}', { path: { id: chatId } }, { signal });\n return data;\n };\n\n const deleteChat = async (chatId: string) => {\n const { data } = await client.delete('/chat', { query: { id: chatId } });\n return data;\n };\n\n const getVotes = async (chatId: GetVotesQuery['chatId']): Promise<Vote[]> => {\n const { data } = await client.get('/vote', { query: { chatId } });\n\n const result = votesResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid votes response format');\n }\n\n return result.data;\n };\n\n const submitVote = async (params: VoteRequest) => {\n await client.patch('/vote', { body: params });\n };\n\n const createChat = async (request: ChatRequest) => {\n const { response } = await client.post('/chat', { body: request });\n return response;\n };\n\n const getUsage = async (signal?: AbortSignal): Promise<UsageResponse> => {\n const { data } = await client.get('/usage', {}, { signal });\n return data;\n };\n\n const getSuggestions = async (\n request: SuggestionsRequestBody,\n signal?: AbortSignal,\n ): Promise<SuggestionsApiResponse> => {\n const { data } = await client.post('/suggestions', { body: request }, { signal });\n\n const result = suggestionsApiResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid suggestions response format');\n }\n\n return result.data;\n };\n\n const getAgentSettings = async (signal?: AbortSignal): Promise<AgentSettings> => {\n const { data } = await client.get('/settings', {}, { signal });\n const result = agentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid agent settings response format');\n }\n return result.data;\n };\n\n const updateAgentSettings = async (\n request: UpdateAgentSettingsRequest,\n signal?: AbortSignal,\n ): Promise<AgentSettings> => {\n const { data } = await client.patch('/settings', { body: request }, { signal });\n const result = agentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid agent settings response format');\n }\n return result.data;\n };\n\n const getUserAgentSettings = async (signal?: AbortSignal): Promise<UserAgentSettings> => {\n const { data } = await client.get('/settings/user', {}, { signal });\n const result = userAgentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid user agent settings response format');\n }\n return result.data;\n };\n\n const updateUserAgentSettings = async (\n request: UpdateUserAgentSettingsRequest,\n signal?: AbortSignal,\n ): Promise<UserAgentSettings> => {\n const { data } = await client.patch('/settings/user', { body: request }, { signal });\n const result = userAgentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid user agent settings response format');\n }\n return result.data;\n };\n\n const getToolsList = async (signal?: AbortSignal): Promise<ToolsListResponse> => {\n const { data } = await client.get('/settings/tools', {}, { signal });\n const result = toolsListResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid tools list response format');\n }\n return result.data;\n };\n\n return {\n getHistory,\n getChat,\n deleteChat,\n createChat,\n getVotes,\n submitVote,\n getUsage,\n getSuggestions,\n getAgentSettings,\n updateAgentSettings,\n getUserAgentSettings,\n updateUserAgentSettings,\n getToolsList,\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/clients/chat/chatClient.ts"],"names":["z","createOpenapiFetchClient","KeboolaHttpHeader","createAuthHeaders","suggestionsApiResponseSchema"],"mappings":"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","file":"chunk-T242YFMT.cjs","sourcesContent":["import { z } from 'zod';\n\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { SuggestionsApiResponse, SuggestionsRequestBody } from './suggestions';\nimport { suggestionsApiResponseSchema } from './suggestions';\nimport type {\n AgentSettings,\n ChatRequest,\n GetChatPath,\n GetHistoryQuery,\n GetVotesQuery,\n ToolsListResponse,\n UpdateAgentSettingsRequest,\n UpdateUserAgentSettingsRequest,\n UsageResponse,\n UserAgentSettings,\n Vote,\n VoteRequest,\n} from './types';\n\nconst agentSettingsSchema = z.object({\n projectId: z.string(),\n customInstructions: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nconst toolPermissionValueSchema = z.enum(['always_allow', 'always_ask', 'blocked']);\n\nconst userAgentSettingsSchema = z.object({\n projectId: z.string(),\n userId: z.string(),\n customInstructions: z.string().nullable(),\n toolPermissions: z.record(z.string(), toolPermissionValueSchema).nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nconst toolInfoSchema = z.object({\n name: z.string(),\n description: z.string(),\n readOnly: z.boolean(),\n});\n\nconst toolsListResponseSchema = z.object({\n tools: z.array(toolInfoSchema),\n});\n\nconst votesResponseSchema = z.array(\n z.object({\n chatId: z.string(),\n messageId: z.string(),\n isUpvoted: z.boolean(),\n }),\n);\n\ntype ChatClientOptions = ClientInitOptions & {\n storageApiUrl: string;\n};\n\nexport const createChatClient = ({\n baseUrl,\n middlewares,\n storageApiUrl,\n auth,\n}: ChatClientOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n headers: new Headers({\n [KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,\n ...createAuthHeaders(auth),\n }),\n middlewares,\n });\n\n const getHistory = async (params?: GetHistoryQuery) => {\n const { data } = await client.get('/history', { query: params });\n return data;\n };\n\n const getChat = async (chatId: GetChatPath['id'], signal?: AbortSignal) => {\n const { data } = await client.get('/chat/{id}', { path: { id: chatId } }, { signal });\n return data;\n };\n\n const deleteChat = async (chatId: string) => {\n const { data } = await client.delete('/chat', { query: { id: chatId } });\n return data;\n };\n\n const getVotes = async (chatId: GetVotesQuery['chatId']): Promise<Vote[]> => {\n const { data } = await client.get('/vote', { query: { chatId } });\n\n const result = votesResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid votes response format');\n }\n\n return result.data;\n };\n\n const submitVote = async (params: VoteRequest) => {\n await client.patch('/vote', { body: params });\n };\n\n const createChat = async (request: ChatRequest) => {\n const { response } = await client.post('/chat', { body: request });\n return response;\n };\n\n const getUsage = async (signal?: AbortSignal): Promise<UsageResponse> => {\n const { data } = await client.get('/usage', {}, { signal });\n return data;\n };\n\n const getSuggestions = async (\n request: SuggestionsRequestBody,\n signal?: AbortSignal,\n ): Promise<SuggestionsApiResponse> => {\n const { data } = await client.post('/suggestions', { body: request }, { signal });\n\n const result = suggestionsApiResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid suggestions response format');\n }\n\n return result.data;\n };\n\n const getAgentSettings = async (signal?: AbortSignal): Promise<AgentSettings> => {\n const { data } = await client.get('/settings', {}, { signal });\n const result = agentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid agent settings response format');\n }\n return result.data;\n };\n\n const updateAgentSettings = async (\n request: UpdateAgentSettingsRequest,\n signal?: AbortSignal,\n ): Promise<AgentSettings> => {\n const { data } = await client.patch('/settings', { body: request }, { signal });\n const result = agentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid agent settings response format');\n }\n return result.data;\n };\n\n const getUserAgentSettings = async (signal?: AbortSignal): Promise<UserAgentSettings> => {\n const { data } = await client.get('/settings/user', {}, { signal });\n const result = userAgentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid user agent settings response format');\n }\n return result.data;\n };\n\n const updateUserAgentSettings = async (\n request: UpdateUserAgentSettingsRequest,\n signal?: AbortSignal,\n ): Promise<UserAgentSettings> => {\n const { data } = await client.patch('/settings/user', { body: request }, { signal });\n const result = userAgentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid user agent settings response format');\n }\n return result.data;\n };\n\n const getToolsList = async (signal?: AbortSignal): Promise<ToolsListResponse> => {\n const { data } = await client.get('/settings/tools', {}, { signal });\n const result = toolsListResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid tools list response format');\n }\n return result.data;\n };\n\n return {\n getHistory,\n getChat,\n deleteChat,\n createChat,\n getVotes,\n submitVote,\n getUsage,\n getSuggestions,\n getAgentSettings,\n updateAgentSettings,\n getUserAgentSettings,\n updateUserAgentSettings,\n getToolsList,\n };\n};\n"]}
@@ -0,0 +1,283 @@
1
+ import { ComponentId } from './chunk-KEFXOJD7.js';
2
+ import { SyncActionError } from './chunk-YGEJDWGG.js';
3
+ import { createAuthHeaders } from './chunk-EDX5D6UY.js';
4
+ import { createOpenapiFetchClient, defaultValidateStatus } from './chunk-XHDYLUM4.js';
5
+ import * as z3 from 'zod';
6
+
7
+ // src/clients/syncActions/utils/response.ts
8
+ var asErrorBody = (data) => typeof data === "object" && data !== null ? data : null;
9
+ var asString = (value) => typeof value === "string" && value ? value : void 0;
10
+ var asNumber = (value) => typeof value === "number" ? value : void 0;
11
+ var syncActionValidateStatus = (apiResponse) => {
12
+ const body = asErrorBody(apiResponse.data);
13
+ if (body?.status === "error") {
14
+ throw new SyncActionError(
15
+ asString(body.message) ?? asString(body.error) ?? apiResponse.response.statusText,
16
+ {
17
+ exceptionId: asString(body.exceptionId),
18
+ code: asNumber(body.code),
19
+ data: apiResponse.data
20
+ }
21
+ );
22
+ }
23
+ return defaultValidateStatus(apiResponse);
24
+ };
25
+
26
+ // src/clients/syncActions/constants.ts
27
+ var SyncAction = {
28
+ DATA_APP_GIT_REPOSITORY: "git-repository",
29
+ GIT_REPOSITORY: "gitRepository",
30
+ ENROLL_MFA: "enrollMFA",
31
+ LIST_ACTORS: "listActors",
32
+ LIST_TASKS: "listTasks"
33
+ };
34
+ var Component = {
35
+ DATA_APP: "keboola.data-apps"
36
+ };
37
+ var syncActionContextSchema = z3.object({
38
+ /**
39
+ * Required, because omitting it changes nothing: the service normalises a missing, empty or
40
+ * `null` value to `"default"` and resolves that to the default branch's numeric id — the same id,
41
+ * branch type and downstream context an explicit value resolves to, with no extra lookup either
42
+ * way. Requiring it keeps every request self-describing. Both a numeric id and the literal
43
+ * `"default"` are accepted (`keboola/runner-sync-api`: `ExecuteActionRequestProcessor` →
44
+ * `BranchTypeResolver`).
45
+ */
46
+ branchId: z3.string().min(1, "Required"),
47
+ /**
48
+ * Leave undefined. The service then runs the component's registered tag from the Developer
49
+ * Portal / Storage component definition — the currently published version, not Docker's
50
+ * `latest`. Set it only to deliberately pin a specific or branch build.
51
+ */
52
+ tag: z3.string().optional(),
53
+ mode: z3.enum(["run", "debug"]).optional()
54
+ });
55
+ var syncActionBodySchema = syncActionContextSchema.extend({
56
+ componentId: z3.string().min(1, "Required"),
57
+ action: z3.string().min(1, "Required"),
58
+ configData: z3.record(z3.string(), z3.unknown())
59
+ });
60
+
61
+ // src/clients/syncActions/apify/schemas.ts
62
+ var apifyObjectsInputSchema = syncActionContextSchema.extend({
63
+ "#token": z3.string().min(1, "Required")
64
+ });
65
+ var apifyObjectsSchema = z3.array(
66
+ z3.object({
67
+ id: z3.string(),
68
+ name: z3.string()
69
+ })
70
+ );
71
+
72
+ // src/clients/syncActions/apify/utils.ts
73
+ var apifyValidateStatus = (apiResponse) => {
74
+ const data = apiResponse.data;
75
+ if (typeof data === "object" && data !== null && "timeout" in data && data.timeout)
76
+ throw new SyncActionError("Timed out while loading data from Apify.", { data });
77
+ return syncActionValidateStatus(apiResponse);
78
+ };
79
+
80
+ // src/clients/syncActions/apify/apify.ts
81
+ var createApify = (sendSyncAction) => {
82
+ const _getObjects = async (action, input, signal) => {
83
+ const { "#token": token, ...context } = apifyObjectsInputSchema.parse(input);
84
+ const data = await sendSyncAction(
85
+ {
86
+ ...context,
87
+ action,
88
+ componentId: ComponentId.APIFY,
89
+ configData: { parameters: { "#token": token } }
90
+ },
91
+ { signal, validateStatus: apifyValidateStatus }
92
+ );
93
+ return apifyObjectsSchema.parse(data);
94
+ };
95
+ const getActors = (input, signal) => {
96
+ return _getObjects(SyncAction.LIST_ACTORS, input, signal);
97
+ };
98
+ const getTasks = (input, signal) => {
99
+ return _getObjects(SyncAction.LIST_TASKS, input, signal);
100
+ };
101
+ return { getActors, getTasks };
102
+ };
103
+ var Author = z3.object({
104
+ name: z3.string(),
105
+ email: z3.email()
106
+ });
107
+ var RepositoryBranch = z3.object({
108
+ sha: z3.string(),
109
+ date: z3.string(),
110
+ comment: z3.string(),
111
+ branch: z3.string(),
112
+ author: Author
113
+ });
114
+ var Repository = z3.object({
115
+ repository: z3.object({
116
+ url: z3.string()
117
+ }),
118
+ branches: z3.array(RepositoryBranch)
119
+ });
120
+
121
+ // src/clients/syncActions/gitRepository/utils.ts
122
+ var GitRepoConfigDataBuilder = class {
123
+ repositoryUrl;
124
+ config = {};
125
+ constructor(repositoryUrl) {
126
+ this.repositoryUrl = repositoryUrl;
127
+ }
128
+ withCredentials(username, password) {
129
+ this.config.username = username;
130
+ delete this.config["#sshKey"];
131
+ this.config["#password"] = password;
132
+ return this;
133
+ }
134
+ withSshKey(username, sshKey) {
135
+ this.config.username = username;
136
+ delete this.config["#password"];
137
+ this.config["#sshKey"] = sshKey;
138
+ return this;
139
+ }
140
+ build() {
141
+ return {
142
+ parameters: {
143
+ git: {
144
+ repo: this.repositoryUrl,
145
+ ...this.config
146
+ }
147
+ }
148
+ };
149
+ }
150
+ buildForDataApp() {
151
+ return {
152
+ parameters: {
153
+ dataApp: {
154
+ git: {
155
+ repository: this.repositoryUrl,
156
+ ...this.config
157
+ }
158
+ }
159
+ }
160
+ };
161
+ }
162
+ };
163
+ var createGitRepoConfigDataBuilder = (repositoryUrl) => new GitRepoConfigDataBuilder(repositoryUrl);
164
+
165
+ // src/clients/syncActions/gitRepository/gitRepository.ts
166
+ var createGitRepository = (sendSyncAction) => {
167
+ const getDataAppPublicGitRepository = async ({ repositoryUrl, ...other }, signal) => {
168
+ const data = await sendSyncAction(
169
+ {
170
+ ...other,
171
+ action: SyncAction.DATA_APP_GIT_REPOSITORY,
172
+ componentId: Component.DATA_APP,
173
+ configData: createGitRepoConfigDataBuilder(repositoryUrl).buildForDataApp()
174
+ },
175
+ { signal }
176
+ );
177
+ return Repository.parse(data);
178
+ };
179
+ const getDataAppPasswordPrivateGitRepository = async ({ repositoryUrl, username, password, ...other }, signal) => {
180
+ const data = await sendSyncAction(
181
+ {
182
+ ...other,
183
+ action: SyncAction.DATA_APP_GIT_REPOSITORY,
184
+ componentId: Component.DATA_APP,
185
+ configData: createGitRepoConfigDataBuilder(repositoryUrl).withCredentials(username, password).buildForDataApp()
186
+ },
187
+ { signal }
188
+ );
189
+ return Repository.parse(data);
190
+ };
191
+ const getDataAppSSHKeyPrivateGitRepository = async ({ repositoryUrl, username, sshKey, ...other }, signal) => {
192
+ const data = await sendSyncAction(
193
+ {
194
+ ...other,
195
+ action: SyncAction.DATA_APP_GIT_REPOSITORY,
196
+ componentId: Component.DATA_APP,
197
+ configData: createGitRepoConfigDataBuilder(repositoryUrl).withSshKey(username, sshKey).buildForDataApp()
198
+ },
199
+ { signal }
200
+ );
201
+ return Repository.parse(data);
202
+ };
203
+ const getPublicGitRepository = async ({ repositoryUrl, componentId, ...other }, signal) => {
204
+ const data = await sendSyncAction(
205
+ {
206
+ ...other,
207
+ action: SyncAction.GIT_REPOSITORY,
208
+ componentId,
209
+ configData: createGitRepoConfigDataBuilder(repositoryUrl).build()
210
+ },
211
+ { signal }
212
+ );
213
+ return Repository.parse(data);
214
+ };
215
+ const getPrivateGitRepository = async ({ repositoryUrl, username, password, componentId, ...other }, signal) => {
216
+ const data = await sendSyncAction(
217
+ {
218
+ ...other,
219
+ action: SyncAction.GIT_REPOSITORY,
220
+ componentId,
221
+ configData: createGitRepoConfigDataBuilder(repositoryUrl).withCredentials(username, password).build()
222
+ },
223
+ { signal }
224
+ );
225
+ return Repository.parse(data);
226
+ };
227
+ return {
228
+ getDataAppPublicGitRepository,
229
+ getDataAppPasswordPrivateGitRepository,
230
+ getDataAppSSHKeyPrivateGitRepository,
231
+ getPublicGitRepository,
232
+ getPrivateGitRepository
233
+ };
234
+ };
235
+
236
+ // src/clients/syncActions/syncActionsClient.ts
237
+ var createSendSyncAction = (client) => {
238
+ return async (body, options = {}) => {
239
+ const { data } = await client.post(
240
+ "/actions",
241
+ // The generated body type has `configData: Record<string, never>`, which nothing can satisfy;
242
+ // `syncActionBodySchema` is the real contract and is what the request is validated against.
243
+ { body: syncActionBodySchema.parse(body) },
244
+ options
245
+ );
246
+ return data;
247
+ };
248
+ };
249
+ var createSyncActionsClient = ({ baseUrl, middlewares, auth }) => {
250
+ const client = createOpenapiFetchClient({
251
+ baseUrl,
252
+ middlewares,
253
+ headers: createAuthHeaders(auth),
254
+ validateStatus: syncActionValidateStatus
255
+ });
256
+ const sendSyncAction = createSendSyncAction(client);
257
+ const enrollMFA = ({ email: email2, ...rest }, signal) => {
258
+ return sendSyncAction(
259
+ {
260
+ ...rest,
261
+ action: SyncAction.ENROLL_MFA,
262
+ configData: {
263
+ parameters: {
264
+ user: {
265
+ email: email2
266
+ }
267
+ }
268
+ }
269
+ },
270
+ { signal }
271
+ );
272
+ };
273
+ return {
274
+ sendSyncAction,
275
+ enrollMFA,
276
+ apify: createApify(sendSyncAction),
277
+ gitRepository: createGitRepository(sendSyncAction)
278
+ };
279
+ };
280
+
281
+ export { createSyncActionsClient };
282
+ //# sourceMappingURL=chunk-UQ5CACMW.js.map
283
+ //# sourceMappingURL=chunk-UQ5CACMW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/syncActions/utils/response.ts","../src/clients/syncActions/constants.ts","../src/clients/syncActions/schemas.ts","../src/clients/syncActions/apify/schemas.ts","../src/clients/syncActions/apify/utils.ts","../src/clients/syncActions/apify/apify.ts","../src/clients/syncActions/gitRepository/schemas.ts","../src/clients/syncActions/gitRepository/utils.ts","../src/clients/syncActions/gitRepository/gitRepository.ts","../src/clients/syncActions/syncActionsClient.ts"],"names":["z","z2","email"],"mappings":"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","file":"chunk-UQ5CACMW.js","sourcesContent":["import { SyncActionError } from '../../../errors';\nimport type { ValidateStatusFn } from '../../../fetchClient';\nimport { defaultValidateStatus } from '../../../fetchClient';\n\ntype SyncActionErrorBody = {\n status?: unknown;\n message?: unknown;\n error?: unknown;\n exceptionId?: unknown;\n code?: unknown;\n};\n\nconst asErrorBody = (data: unknown): SyncActionErrorBody | null =>\n typeof data === 'object' && data !== null ? (data as SyncActionErrorBody) : null;\n\nconst asString = (value: unknown) => (typeof value === 'string' && value ? value : undefined);\nconst asNumber = (value: unknown) => (typeof value === 'number' ? value : undefined);\n\n/**\n * A component reports failure two ways: a non-2xx response, and a **2xx** whose body carries\n * `status: 'error'` (the component ran, and said no). Both are recognised here so every sync action\n * fails as one `SyncActionError` — `validateStatus` is the only hook that sees the parsed body of a\n * successful response, which is what the second case needs.\n *\n * Throwing rather than returning the error is deliberate. `coreFetch` only rethrows a returned value\n * that is an `ApiError`, and `SyncActionError` is a peer of `ApiError`, not a subclass: a component\n * answering `status: 'error'` on a **200** gave a business answer, not a transport failure, so it\n * must not satisfy `isApiError` / `isFetchClientError` — those drive retry and \"network problem\"\n * handling, and `err.response.status` would read 200 and mislead every status-based branch.\n */\nexport const syncActionValidateStatus: ValidateStatusFn = (apiResponse) => {\n const body = asErrorBody(apiResponse.data);\n\n if (body?.status === 'error') {\n throw new SyncActionError(\n asString(body.message) ?? asString(body.error) ?? apiResponse.response.statusText,\n {\n exceptionId: asString(body.exceptionId),\n code: asNumber(body.code),\n data: apiResponse.data,\n },\n );\n }\n\n return defaultValidateStatus(apiResponse);\n};\n","export const SyncAction = {\n DATA_APP_GIT_REPOSITORY: 'git-repository',\n GIT_REPOSITORY: 'gitRepository',\n ENROLL_MFA: 'enrollMFA',\n LIST_ACTORS: 'listActors',\n LIST_TASKS: 'listTasks',\n};\n\nexport const Component = {\n DATA_APP: 'keboola.data-apps',\n};\n","import * as z from 'zod';\n\n/**\n * The Keboola-side context every sync action carries, whichever action it is. Namespaces extend it\n * with the fields their own action needs, so a caller never assembles the rest of the body.\n */\nexport const syncActionContextSchema = z.object({\n /**\n * Required, because omitting it changes nothing: the service normalises a missing, empty or\n * `null` value to `\"default\"` and resolves that to the default branch's numeric id — the same id,\n * branch type and downstream context an explicit value resolves to, with no extra lookup either\n * way. Requiring it keeps every request self-describing. Both a numeric id and the literal\n * `\"default\"` are accepted (`keboola/runner-sync-api`: `ExecuteActionRequestProcessor` →\n * `BranchTypeResolver`).\n */\n branchId: z.string().min(1, 'Required'),\n /**\n * Leave undefined. The service then runs the component's registered tag from the Developer\n * Portal / Storage component definition — the currently published version, not Docker's\n * `latest`. Set it only to deliberately pin a specific or branch build.\n */\n tag: z.string().optional(),\n mode: z.enum(['run', 'debug']).optional(),\n});\n\n/**\n * The `/actions` request body. `configData` is whatever the component's action expects, so it is\n * only asserted to be an object here — each namespace validates the shape its own action needs\n * before handing it over.\n */\nexport const syncActionBodySchema = syncActionContextSchema.extend({\n componentId: z.string().min(1, 'Required'),\n action: z.string().min(1, 'Required'),\n configData: z.record(z.string(), z.unknown()),\n});\n\nexport type SyncActionContext = z.infer<typeof syncActionContextSchema>;\nexport type SyncActionBody = z.infer<typeof syncActionBodySchema>;\n","import * as z from 'zod';\n\nimport { syncActionContextSchema } from '../schemas';\n\nexport const apifyObjectsInputSchema = syncActionContextSchema.extend({\n '#token': z.string().min(1, 'Required'),\n});\n\nexport const apifyObjectsSchema = z.array(\n z.object({\n id: z.string(),\n name: z.string(),\n }),\n);\n\nexport type ApifyObjectsInput = z.infer<typeof apifyObjectsInputSchema>;\n\nexport type ApifyObject = z.infer<typeof apifyObjectsSchema>[number];\n","import { SyncActionError } from '../../../errors';\nimport type { ValidateStatusFn } from '../../../fetchClient';\nimport { syncActionValidateStatus } from '../utils/response';\n\n/**\n * A slow Apify account makes the component answer `{ timeout: true }` on a 200 instead of the list —\n * a failure only this action knows how to spot, so it is checked before deferring to the shared\n * validation.\n */\nexport const apifyValidateStatus: ValidateStatusFn = (apiResponse) => {\n const data = apiResponse.data;\n\n if (typeof data === 'object' && data !== null && 'timeout' in data && data.timeout)\n throw new SyncActionError('Timed out while loading data from Apify.', { data });\n\n return syncActionValidateStatus(apiResponse);\n};\n","import { ComponentId } from '../../../constants';\nimport { SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport { type ApifyObjectsInput, apifyObjectsInputSchema, apifyObjectsSchema } from './schemas';\nimport { apifyValidateStatus } from './utils';\n\nexport const createApify = (sendSyncAction: SendSyncAction) => {\n const _getObjects = async (action: string, input: ApifyObjectsInput, signal?: AbortSignal) => {\n const { '#token': token, ...context } = apifyObjectsInputSchema.parse(input);\n\n const data = await sendSyncAction(\n {\n ...context,\n action,\n componentId: ComponentId.APIFY,\n configData: { parameters: { '#token': token } },\n },\n { signal, validateStatus: apifyValidateStatus },\n );\n\n return apifyObjectsSchema.parse(data);\n };\n\n const getActors = (input: ApifyObjectsInput, signal?: AbortSignal) => {\n return _getObjects(SyncAction.LIST_ACTORS, input, signal);\n };\n\n const getTasks = (input: ApifyObjectsInput, signal?: AbortSignal) => {\n return _getObjects(SyncAction.LIST_TASKS, input, signal);\n };\n\n return { getActors, getTasks };\n};\n","import * as z from 'zod';\n\nconst Author = z.object({\n name: z.string(),\n email: z.email(),\n});\n\nconst RepositoryBranch = z.object({\n sha: z.string(),\n date: z.string(),\n comment: z.string(),\n branch: z.string(),\n author: Author,\n});\n\nexport const Repository = z.object({\n repository: z.object({\n url: z.string(),\n }),\n branches: z.array(RepositoryBranch),\n});\n","type GitRepoConfig = {\n username?: string;\n '#password'?: string;\n '#sshKey'?: string;\n};\n\nclass GitRepoConfigDataBuilder {\n private readonly repositoryUrl: string;\n private config: GitRepoConfig = {};\n\n constructor(repositoryUrl: string) {\n this.repositoryUrl = repositoryUrl;\n }\n\n withCredentials(username: string, password: string) {\n this.config.username = username;\n\n delete this.config['#sshKey'];\n this.config['#password'] = password;\n return this;\n }\n\n withSshKey(username: string, sshKey: string) {\n this.config.username = username;\n\n delete this.config['#password'];\n this.config['#sshKey'] = sshKey;\n return this;\n }\n\n build() {\n return {\n parameters: {\n git: {\n repo: this.repositoryUrl,\n ...this.config,\n },\n },\n };\n }\n\n buildForDataApp() {\n return {\n parameters: {\n dataApp: {\n git: {\n repository: this.repositoryUrl,\n ...this.config,\n },\n },\n },\n };\n }\n}\n\nexport const createGitRepoConfigDataBuilder = (repositoryUrl: string) =>\n new GitRepoConfigDataBuilder(repositoryUrl);\n","import { Component, SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport { Repository } from './schemas';\nimport type {\n GetDataAppPasswordPrivateGitRepositoryInput,\n GetDataAppPublicGitRepositoryInput,\n GetDataAppSSHKeyPrivateGitRepositoryInput,\n GetGitPrivateRepositoryInput,\n GetPublicGitRepositoryInput,\n} from './types';\nimport { createGitRepoConfigDataBuilder } from './utils';\n\nexport const createGitRepository = (sendSyncAction: SendSyncAction) => {\n const getDataAppPublicGitRepository = async (\n { repositoryUrl, ...other }: GetDataAppPublicGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.DATA_APP_GIT_REPOSITORY,\n componentId: Component.DATA_APP,\n configData: createGitRepoConfigDataBuilder(repositoryUrl).buildForDataApp(),\n },\n { signal },\n );\n\n return Repository.parse(data);\n };\n\n const getDataAppPasswordPrivateGitRepository = async (\n { repositoryUrl, username, password, ...other }: GetDataAppPasswordPrivateGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.DATA_APP_GIT_REPOSITORY,\n componentId: Component.DATA_APP,\n configData: createGitRepoConfigDataBuilder(repositoryUrl)\n .withCredentials(username, password)\n .buildForDataApp(),\n },\n { signal },\n );\n\n return Repository.parse(data);\n };\n\n const getDataAppSSHKeyPrivateGitRepository = async (\n { repositoryUrl, username, sshKey, ...other }: GetDataAppSSHKeyPrivateGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.DATA_APP_GIT_REPOSITORY,\n componentId: Component.DATA_APP,\n configData: createGitRepoConfigDataBuilder(repositoryUrl)\n .withSshKey(username, sshKey)\n .buildForDataApp(),\n },\n { signal },\n );\n\n return Repository.parse(data);\n };\n\n const getPublicGitRepository = async (\n { repositoryUrl, componentId, ...other }: GetPublicGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.GIT_REPOSITORY,\n componentId,\n configData: createGitRepoConfigDataBuilder(repositoryUrl).build(),\n },\n { signal },\n );\n\n return Repository.parse(data);\n };\n\n const getPrivateGitRepository = async (\n { repositoryUrl, username, password, componentId, ...other }: GetGitPrivateRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.GIT_REPOSITORY,\n componentId,\n configData: createGitRepoConfigDataBuilder(repositoryUrl)\n .withCredentials(username, password)\n .build(),\n },\n { signal },\n );\n\n return Repository.parse(data);\n };\n\n return {\n getDataAppPublicGitRepository,\n getDataAppPasswordPrivateGitRepository,\n getDataAppSSHKeyPrivateGitRepository,\n getPublicGitRepository,\n getPrivateGitRepository,\n };\n};\n","import type { ValidateStatusFn } from '../../fetchClient';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { syncActionValidateStatus } from './utils/response';\nimport { createApify } from './apify';\nimport { SyncAction } from './constants';\nimport { createGitRepository } from './gitRepository';\nimport { type SyncActionBody, syncActionBodySchema } from './schemas';\nimport type { EnrollMFAInput, PostActionsBodyRaw } from './types';\n\nexport type SendSyncActionOptions = {\n signal?: AbortSignal;\n /**\n * Replaces the client's `syncActionValidateStatus` for this one request. Use it where a component\n * signals failure in a way only its own action knows about — delegate to the shared one for\n * everything else.\n */\n validateStatus?: ValidateStatusFn;\n};\n\nconst createSendSyncAction = (client: SyncActionClient) => {\n return async (body: SyncActionBody, options: SendSyncActionOptions = {}) => {\n const { data } = await client.post(\n '/actions',\n // The generated body type has `configData: Record<string, never>`, which nothing can satisfy;\n // `syncActionBodySchema` is the real contract and is what the request is validated against.\n { body: syncActionBodySchema.parse(body) as unknown as PostActionsBodyRaw },\n options,\n );\n\n return data;\n };\n};\n\nexport type SendSyncAction = ReturnType<typeof createSendSyncAction>;\ntype SyncActionClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createSyncActionsClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n validateStatus: syncActionValidateStatus,\n });\n\n const sendSyncAction = createSendSyncAction(client);\n\n const enrollMFA = ({ email, ...rest }: EnrollMFAInput, signal?: AbortSignal) => {\n return sendSyncAction(\n {\n ...rest,\n action: SyncAction.ENROLL_MFA,\n configData: {\n parameters: {\n user: {\n email,\n },\n },\n },\n },\n { signal },\n );\n };\n\n return {\n sendSyncAction,\n enrollMFA,\n apify: createApify(sendSyncAction),\n gitRepository: createGitRepository(sendSyncAction),\n };\n};\n"]}