@keboola/api-client 5.0.0 → 7.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 (229) hide show
  1. package/dist/ai/index.cjs +4 -4
  2. package/dist/ai/index.d.cts +23 -1
  3. package/dist/ai/index.d.ts +23 -1
  4. package/dist/ai/index.js +3 -3
  5. package/dist/ai/types.d.cts +1 -1
  6. package/dist/ai/types.d.ts +1 -1
  7. package/dist/assets/index.cjs +4 -4
  8. package/dist/assets/index.js +3 -3
  9. package/dist/chat/index.cjs +4 -4
  10. package/dist/chat/index.js +3 -3
  11. package/dist/{chunk-7JOV7PXU.js → chunk-2Q75RQ3X.js} +4 -4
  12. package/dist/{chunk-7JOV7PXU.js.map → chunk-2Q75RQ3X.js.map} +1 -1
  13. package/dist/{chunk-7PPUK4HS.js → chunk-4HORTOGH.js} +4 -4
  14. package/dist/{chunk-7PPUK4HS.js.map → chunk-4HORTOGH.js.map} +1 -1
  15. package/dist/chunk-4KJRGFNV.cjs +54 -0
  16. package/dist/chunk-4KJRGFNV.cjs.map +1 -0
  17. package/dist/{chunk-T7UDL2KI.cjs → chunk-4S3EKVQT.cjs} +9 -9
  18. package/dist/{chunk-T7UDL2KI.cjs.map → chunk-4S3EKVQT.cjs.map} +1 -1
  19. package/dist/{chunk-4FU45NEU.js → chunk-54N7LIDM.js} +5 -5
  20. package/dist/chunk-54N7LIDM.js.map +1 -0
  21. package/dist/{chunk-MUQ7TAWH.js → chunk-5S4HIHZA.js} +17 -5
  22. package/dist/chunk-5S4HIHZA.js.map +1 -0
  23. package/dist/{chunk-WOGG723K.cjs → chunk-5XKPYMQL.cjs} +8 -5
  24. package/dist/chunk-5XKPYMQL.cjs.map +1 -0
  25. package/dist/{chunk-S7HIK7XY.js → chunk-5YTV36EI.js} +4 -4
  26. package/dist/{chunk-S7HIK7XY.js.map → chunk-5YTV36EI.js.map} +1 -1
  27. package/dist/{chunk-XRHAE4SD.js → chunk-6S4JS7OJ.js} +3 -3
  28. package/dist/{chunk-XRHAE4SD.js.map → chunk-6S4JS7OJ.js.map} +1 -1
  29. package/dist/{chunk-DOUFVJJF.cjs → chunk-AK4ZHM77.cjs} +6 -6
  30. package/dist/{chunk-DOUFVJJF.cjs.map → chunk-AK4ZHM77.cjs.map} +1 -1
  31. package/dist/chunk-BBRS2HLH.cjs +46 -0
  32. package/dist/chunk-BBRS2HLH.cjs.map +1 -0
  33. package/dist/chunk-BZO2GTJP.js +44 -0
  34. package/dist/chunk-BZO2GTJP.js.map +1 -0
  35. package/dist/{chunk-AB6LHU2Z.cjs → chunk-CFRR7QPR.cjs} +12 -12
  36. package/dist/chunk-CFRR7QPR.cjs.map +1 -0
  37. package/dist/{chunk-XHQZ4TF7.cjs → chunk-CONUMVLZ.cjs} +7 -7
  38. package/dist/{chunk-XHQZ4TF7.cjs.map → chunk-CONUMVLZ.cjs.map} +1 -1
  39. package/dist/{chunk-XI6R76X3.js → chunk-D2SWTZFS.js} +3 -3
  40. package/dist/{chunk-XI6R76X3.js.map → chunk-D2SWTZFS.js.map} +1 -1
  41. package/dist/{chunk-5XADEX3R.js → chunk-EEG7YZUY.js} +4 -4
  42. package/dist/{chunk-5XADEX3R.js.map → chunk-EEG7YZUY.js.map} +1 -1
  43. package/dist/{chunk-KT4MFNBC.cjs → chunk-FB3E7VS6.cjs} +6 -6
  44. package/dist/{chunk-KT4MFNBC.cjs.map → chunk-FB3E7VS6.cjs.map} +1 -1
  45. package/dist/{chunk-OJJ3QLZP.js → chunk-H5DZOHH7.js} +4 -4
  46. package/dist/{chunk-OJJ3QLZP.js.map → chunk-H5DZOHH7.js.map} +1 -1
  47. package/dist/{chunk-3CIPWA33.cjs → chunk-IDYRJ4K3.cjs} +4 -4
  48. package/dist/{chunk-3CIPWA33.cjs.map → chunk-IDYRJ4K3.cjs.map} +1 -1
  49. package/dist/{chunk-UT3GUUCO.js → chunk-J5JUQRPD.js} +4 -4
  50. package/dist/{chunk-UT3GUUCO.js.map → chunk-J5JUQRPD.js.map} +1 -1
  51. package/dist/{chunk-P4CQFG3X.cjs → chunk-J7EQLDUU.cjs} +9 -9
  52. package/dist/{chunk-P4CQFG3X.cjs.map → chunk-J7EQLDUU.cjs.map} +1 -1
  53. package/dist/{chunk-KKZP4DUR.cjs → chunk-KCGEV4ZA.cjs} +6 -6
  54. package/dist/{chunk-KKZP4DUR.cjs.map → chunk-KCGEV4ZA.cjs.map} +1 -1
  55. package/dist/chunk-MQ554O4E.js +52 -0
  56. package/dist/chunk-MQ554O4E.js.map +1 -0
  57. package/dist/chunk-MRHQJNWF.cjs +8 -0
  58. package/dist/chunk-MRHQJNWF.cjs.map +1 -0
  59. package/dist/chunk-MSI6FVGG.js +6 -0
  60. package/dist/chunk-MSI6FVGG.js.map +1 -0
  61. package/dist/{chunk-2NLVV2MF.js → chunk-N37PZ2MB.js} +3 -3
  62. package/dist/{chunk-2NLVV2MF.js.map → chunk-N37PZ2MB.js.map} +1 -1
  63. package/dist/{chunk-OAQGC32L.cjs → chunk-NEN4NIYA.cjs} +26 -14
  64. package/dist/{chunk-MUQ7TAWH.js.map → chunk-NEN4NIYA.cjs.map} +1 -1
  65. package/dist/{chunk-V32CB5U2.cjs → chunk-NFGQHJVB.cjs} +6 -6
  66. package/dist/{chunk-V32CB5U2.cjs.map → chunk-NFGQHJVB.cjs.map} +1 -1
  67. package/dist/{chunk-RF64RAHW.cjs → chunk-OVGB3W3A.cjs} +19 -7
  68. package/dist/chunk-OVGB3W3A.cjs.map +1 -0
  69. package/dist/{chunk-VZROPAWL.cjs → chunk-PWA6XFXA.cjs} +6 -6
  70. package/dist/{chunk-VZROPAWL.cjs.map → chunk-PWA6XFXA.cjs.map} +1 -1
  71. package/dist/{chunk-4NUA46VD.js → chunk-QEQAZPWM.js} +4 -4
  72. package/dist/{chunk-4NUA46VD.js.map → chunk-QEQAZPWM.js.map} +1 -1
  73. package/dist/chunk-R7MQGDLC.cjs +61 -0
  74. package/dist/chunk-R7MQGDLC.cjs.map +1 -0
  75. package/dist/{chunk-7UQVB2SQ.cjs → chunk-RPKKOIYG.cjs} +7 -7
  76. package/dist/{chunk-7UQVB2SQ.cjs.map → chunk-RPKKOIYG.cjs.map} +1 -1
  77. package/dist/{chunk-2EWL5BAZ.cjs → chunk-S4PI2LUQ.cjs} +4 -4
  78. package/dist/{chunk-2EWL5BAZ.cjs.map → chunk-S4PI2LUQ.cjs.map} +1 -1
  79. package/dist/chunk-SI5TFV5M.js +54 -0
  80. package/dist/chunk-SI5TFV5M.js.map +1 -0
  81. package/dist/chunk-TD2PFSP6.js +248 -0
  82. package/dist/chunk-TD2PFSP6.js.map +1 -0
  83. package/dist/{chunk-CFR2CKM6.cjs → chunk-TXDMA4CT.cjs} +6 -6
  84. package/dist/{chunk-CFR2CKM6.cjs.map → chunk-TXDMA4CT.cjs.map} +1 -1
  85. package/dist/chunk-UYZTOVYS.cjs +252 -0
  86. package/dist/chunk-UYZTOVYS.cjs.map +1 -0
  87. package/dist/{chunk-4IBEYSSA.js → chunk-V2MQG3FZ.js} +17 -5
  88. package/dist/chunk-V2MQG3FZ.js.map +1 -0
  89. package/dist/{chunk-JKXQFEY7.js → chunk-VFZVLZC6.js} +4 -4
  90. package/dist/{chunk-JKXQFEY7.js.map → chunk-VFZVLZC6.js.map} +1 -1
  91. package/dist/chunk-VKHQ6BWE.cjs +30 -0
  92. package/dist/{chunk-GOC5UODV.cjs.map → chunk-VKHQ6BWE.cjs.map} +1 -1
  93. package/dist/{chunk-2CTHLPTU.js → chunk-VUVBYSYM.js} +4 -4
  94. package/dist/{chunk-2CTHLPTU.js.map → chunk-VUVBYSYM.js.map} +1 -1
  95. package/dist/{chunk-DGWPC6VR.cjs → chunk-W3AFDHXQ.cjs} +7 -7
  96. package/dist/{chunk-DGWPC6VR.cjs.map → chunk-W3AFDHXQ.cjs.map} +1 -1
  97. package/dist/{chunk-65YXOZDQ.js → chunk-WILFTDTS.js} +7 -4
  98. package/dist/chunk-WILFTDTS.js.map +1 -0
  99. package/dist/{chunk-RPNL672Y.cjs → chunk-XLFQJDYZ.cjs} +4 -4
  100. package/dist/{chunk-RPNL672Y.cjs.map → chunk-XLFQJDYZ.cjs.map} +1 -1
  101. package/dist/{chunk-Y3RILILK.js → chunk-Y26EBVMH.js} +4 -4
  102. package/dist/{chunk-Y3RILILK.js.map → chunk-Y26EBVMH.js.map} +1 -1
  103. package/dist/{chunk-WLS43HX4.cjs → chunk-YGAWVMHH.cjs} +6 -6
  104. package/dist/{chunk-WLS43HX4.cjs.map → chunk-YGAWVMHH.cjs.map} +1 -1
  105. package/dist/{chunk-EDDRN2CO.js → chunk-YIWAUNKU.js} +4 -4
  106. package/dist/{chunk-EDDRN2CO.js.map → chunk-YIWAUNKU.js.map} +1 -1
  107. package/dist/{chunk-6DPZQRNC.js → chunk-YLK5KBXD.js} +4 -4
  108. package/dist/{chunk-6DPZQRNC.js.map → chunk-YLK5KBXD.js.map} +1 -1
  109. package/dist/{chunk-YH52X52J.js → chunk-ZPSPCPDQ.js} +4 -4
  110. package/dist/{chunk-YH52X52J.js.map → chunk-ZPSPCPDQ.js.map} +1 -1
  111. package/dist/dataScience/index.cjs +6 -5
  112. package/dist/dataScience/index.js +4 -3
  113. package/dist/domain/permissions/index.cjs +5 -5
  114. package/dist/domain/permissions/index.d.cts +2 -2
  115. package/dist/domain/permissions/index.d.ts +2 -2
  116. package/dist/domain/permissions/index.js +1 -1
  117. package/dist/editor/index.cjs +4 -4
  118. package/dist/editor/index.js +3 -3
  119. package/dist/encryption/index.cjs +4 -4
  120. package/dist/encryption/index.d.cts +4 -1
  121. package/dist/encryption/index.d.ts +4 -1
  122. package/dist/encryption/index.js +3 -3
  123. package/dist/encryption/types.d.cts +62 -3
  124. package/dist/encryption/types.d.ts +62 -3
  125. package/dist/import/index.cjs +4 -4
  126. package/dist/import/index.js +3 -3
  127. package/dist/{index-KHRrA2IR.d.cts → index-DzhQuag5.d.cts} +4 -4
  128. package/dist/{index-BEE_qeId.d.ts → index-G9ZyDi7K.d.ts} +4 -4
  129. package/dist/index.cjs +133 -83
  130. package/dist/index.cjs.map +1 -1
  131. package/dist/index.d.cts +3018 -15
  132. package/dist/index.d.ts +3018 -15
  133. package/dist/index.js +71 -32
  134. package/dist/index.js.map +1 -1
  135. package/dist/management/index.cjs +6 -6
  136. package/dist/management/index.d.cts +36 -0
  137. package/dist/management/index.d.ts +36 -0
  138. package/dist/management/index.js +4 -4
  139. package/dist/management/types.d.cts +5 -1
  140. package/dist/management/types.d.ts +5 -1
  141. package/dist/metastore/index.cjs +4 -4
  142. package/dist/metastore/index.js +3 -3
  143. package/dist/notifications/index.cjs +14 -0
  144. package/dist/notifications/index.cjs.map +1 -0
  145. package/dist/notifications/index.d.cts +46 -0
  146. package/dist/notifications/index.d.ts +46 -0
  147. package/dist/notifications/index.js +5 -0
  148. package/dist/notifications/index.js.map +1 -0
  149. package/dist/notifications/types.cjs +4 -0
  150. package/dist/notifications/types.cjs.map +1 -0
  151. package/dist/notifications/types.d.cts +2 -0
  152. package/dist/notifications/types.d.ts +2 -0
  153. package/dist/notifications/types.js +3 -0
  154. package/dist/notifications/types.js.map +1 -0
  155. package/dist/oauth/index.cjs +4 -4
  156. package/dist/oauth/index.js +3 -3
  157. package/dist/{project-C4K5Dzoy.d.cts → project-C_m_tOgy.d.cts} +1 -1
  158. package/dist/{project-COwNmNoc.d.ts → project-DQLliCsX.d.ts} +1 -1
  159. package/dist/queryService/index.cjs +4 -4
  160. package/dist/queryService/index.js +3 -3
  161. package/dist/queue/index.cjs +4 -4
  162. package/dist/queue/index.js +3 -3
  163. package/dist/registry-Xwk-vCjf.d.cts +417 -0
  164. package/dist/registry-Xwk-vCjf.d.ts +417 -0
  165. package/dist/scheduler/index.cjs +14 -0
  166. package/dist/scheduler/index.cjs.map +1 -0
  167. package/dist/scheduler/index.d.cts +75 -0
  168. package/dist/scheduler/index.d.ts +75 -0
  169. package/dist/scheduler/index.js +5 -0
  170. package/dist/scheduler/index.js.map +1 -0
  171. package/dist/scheduler/types.cjs +4 -0
  172. package/dist/scheduler/types.cjs.map +1 -0
  173. package/dist/scheduler/types.d.cts +372 -0
  174. package/dist/scheduler/types.d.ts +372 -0
  175. package/dist/scheduler/types.js +3 -0
  176. package/dist/scheduler/types.js.map +1 -0
  177. package/dist/sdk/configurations/index.cjs +8 -8
  178. package/dist/sdk/configurations/index.cjs.map +1 -1
  179. package/dist/sdk/configurations/index.d.cts +1256 -10
  180. package/dist/sdk/configurations/index.d.ts +1256 -10
  181. package/dist/sdk/configurations/index.js +3 -9
  182. package/dist/sdk/configurations/index.js.map +1 -1
  183. package/dist/sdk/storage/index.d.cts +3 -3
  184. package/dist/sdk/storage/index.d.ts +3 -3
  185. package/dist/sdk/vault/index.d.cts +2 -1
  186. package/dist/sdk/vault/index.d.ts +2 -1
  187. package/dist/status/index.cjs +4 -4
  188. package/dist/status/index.js +3 -3
  189. package/dist/storage/index.cjs +4 -4
  190. package/dist/storage/index.d.cts +2 -2
  191. package/dist/storage/index.d.ts +2 -2
  192. package/dist/storage/index.js +3 -3
  193. package/dist/storage/types.d.cts +17 -17
  194. package/dist/storage/types.d.ts +17 -17
  195. package/dist/{storageSdk--0Hh4UCE.d.ts → storageSdk-TDISOoqX.d.ts} +1 -1
  196. package/dist/{storageSdk-DJz6WcW3.d.cts → storageSdk-VlBWkuF3.d.cts} +1 -1
  197. package/dist/stream/index.cjs +4 -4
  198. package/dist/stream/index.js +3 -3
  199. package/dist/syncActions/index.cjs +4 -4
  200. package/dist/syncActions/index.js +3 -3
  201. package/dist/telemetry/index.cjs +4 -4
  202. package/dist/telemetry/index.js +3 -3
  203. package/dist/{types-Dfw6a58i.d.ts → types-BG8yQyYt.d.ts} +3 -2
  204. package/dist/types-BVldT2vs.d.cts +404 -0
  205. package/dist/types-CS8MYc2k.d.ts +404 -0
  206. package/dist/{types-Brx8PoEB.d.cts → types-CfEvz7zi.d.cts} +2 -1
  207. package/dist/{types-DiC2wKsx.d.cts → types-CvHPHNH0.d.cts} +4 -1
  208. package/dist/{types-DFbHRDdR.d.ts → types-D3Kkh6yW.d.ts} +4 -1
  209. package/dist/{types-DcL25GqY.d.cts → types-DJbXfC2q.d.cts} +3 -2
  210. package/dist/{types-D4CDCW-Y.d.ts → types-sxxmo6h9.d.ts} +2 -1
  211. package/dist/vault/index.cjs +4 -4
  212. package/dist/vault/index.js +3 -3
  213. package/dist/verify/index.cjs +4 -4
  214. package/dist/verify/index.d.cts +1 -1
  215. package/dist/verify/index.d.ts +1 -1
  216. package/dist/verify/index.js +3 -3
  217. package/package.json +53 -1
  218. package/dist/chunk-4FU45NEU.js.map +0 -1
  219. package/dist/chunk-4I6TJWBG.cjs +0 -38
  220. package/dist/chunk-4I6TJWBG.cjs.map +0 -1
  221. package/dist/chunk-4IBEYSSA.js.map +0 -1
  222. package/dist/chunk-65YXOZDQ.js.map +0 -1
  223. package/dist/chunk-AB6LHU2Z.cjs.map +0 -1
  224. package/dist/chunk-FL54VJ35.js +0 -32
  225. package/dist/chunk-FL54VJ35.js.map +0 -1
  226. package/dist/chunk-GOC5UODV.cjs +0 -30
  227. package/dist/chunk-OAQGC32L.cjs.map +0 -1
  228. package/dist/chunk-RF64RAHW.cjs.map +0 -1
  229. package/dist/chunk-WOGG723K.cjs.map +0 -1
@@ -0,0 +1,252 @@
1
+ 'use strict';
2
+
3
+ var chunkMRHQJNWF_cjs = require('./chunk-MRHQJNWF.cjs');
4
+ var chunkR7MQGDLC_cjs = require('./chunk-R7MQGDLC.cjs');
5
+ var zod = require('zod');
6
+
7
+ // src/utils/isEmptyDeep.ts
8
+ var isEmptyDeep = (value) => {
9
+ if (value == null) return true;
10
+ if (Array.isArray(value)) return value.every(isEmptyDeep);
11
+ if (chunkMRHQJNWF_cjs.isPlainObject(value)) return Object.values(value).every(isEmptyDeep);
12
+ return false;
13
+ };
14
+ var unwrap = (schema) => schema instanceof zod.z.ZodOptional || schema instanceof zod.z.ZodNullable || schema instanceof zod.z.ZodDefault ? unwrap(schema.unwrap()) : schema;
15
+ var schemaGuidedMerge = (schema, base, patch) => {
16
+ const node = unwrap(schema);
17
+ if (!(node instanceof zod.z.ZodObject) || !chunkMRHQJNWF_cjs.isPlainObject(base)) return patch;
18
+ const out = { ...base };
19
+ for (const [key, value] of Object.entries(patch)) {
20
+ if (value === void 0) continue;
21
+ const child = node.shape[key];
22
+ const current = out[key];
23
+ out[key] = child && chunkMRHQJNWF_cjs.isPlainObject(current) && chunkMRHQJNWF_cjs.isPlainObject(value) ? schemaGuidedMerge(child, current, value) : value;
24
+ }
25
+ return out;
26
+ };
27
+ var appDataGatewaySchema = zod.z.object({
28
+ parameters: zod.z.object({
29
+ db: zod.z.object({
30
+ workspaceId: zod.z.number()
31
+ })
32
+ })
33
+ });
34
+ var dbConnectionSchema = zod.z.object({
35
+ host: zod.z.string().describe("Hostname"),
36
+ port: zod.z.number().describe("Port"),
37
+ user: zod.z.string().describe("Username"),
38
+ "#password": zod.z.string().describe("Password"),
39
+ database: zod.z.string().describe("Database Name")
40
+ });
41
+ var sshTunnelSchema = zod.z.object({
42
+ enabled: zod.z.boolean(),
43
+ sshHost: zod.z.string().optional(),
44
+ user: zod.z.string().optional(),
45
+ sshPort: zod.z.number().optional(),
46
+ /** FTP passive-mode port range (e.g. `10000:10005`); only relevant to FTP extractors. */
47
+ passivePortRange: zod.z.string().optional(),
48
+ keys: zod.z.object({
49
+ public: zod.z.string().optional(),
50
+ "#private": zod.z.string().optional()
51
+ }).optional()
52
+ });
53
+ var sslSchema = zod.z.object({
54
+ enabled: zod.z.boolean(),
55
+ cert: zod.z.string().optional(),
56
+ "#key": zod.z.string().optional(),
57
+ ca: zod.z.string().optional(),
58
+ cipher: zod.z.string().optional(),
59
+ verifyServerCert: zod.z.boolean().optional()
60
+ });
61
+
62
+ // src/sdks/configurations/schemas/wrDb.ts
63
+ var dbConfig = (db) => zod.z.object({ parameters: zod.z.object({ db }) });
64
+ var wrDbMysqlSchema = dbConfig(
65
+ dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() })
66
+ );
67
+ var wrDbPgsqlSchema = dbConfig(
68
+ dbConnectionSchema.extend({ schema: zod.z.string(), ssh: sshTunnelSchema.optional() })
69
+ );
70
+ var wrDbOracleSchema = dbConfig(
71
+ dbConnectionSchema.extend({ schema: zod.z.string().optional(), ssh: sshTunnelSchema.optional() })
72
+ );
73
+ var wrSynapseSchema = dbConfig(
74
+ dbConnectionSchema.extend({ schema: zod.z.string().optional() })
75
+ );
76
+ var wrRedshiftSchema = dbConfig(
77
+ dbConnectionSchema.extend({ schema: zod.z.string(), ssh: sshTunnelSchema.optional() })
78
+ );
79
+ var wrDbMssqlSchema = dbConfig(
80
+ dbConnectionSchema.extend({
81
+ instance: zod.z.string().optional(),
82
+ tdsVersion: zod.z.enum(["7.0", "7.1", "7.2", "7.3", "7.4"]),
83
+ ssh: sshTunnelSchema.optional()
84
+ })
85
+ );
86
+ var wrDbHiveSchema = dbConfig(
87
+ dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() })
88
+ );
89
+ var wrDbImpalaSchema = dbConfig(
90
+ dbConnectionSchema.extend({ auth_mech: zod.z.number(), ssh: sshTunnelSchema.optional() })
91
+ );
92
+ var wrExasolSchema = dbConfig(
93
+ zod.z.object({
94
+ host: zod.z.string(),
95
+ port: zod.z.number(),
96
+ user: zod.z.string(),
97
+ "#password": zod.z.string(),
98
+ "#refresh_token": zod.z.string().optional(),
99
+ schema: zod.z.string()
100
+ })
101
+ );
102
+ var wrFireboltSchema = dbConfig(
103
+ zod.z.object({
104
+ user: zod.z.string(),
105
+ "#password": zod.z.string(),
106
+ database: zod.z.string(),
107
+ aws_api_key_id: zod.z.string(),
108
+ "#aws_api_key_secret": zod.z.string(),
109
+ staging_bucket: zod.z.string(),
110
+ engine_name: zod.z.string().optional()
111
+ })
112
+ );
113
+ var wrHiveCsasSchema = dbConfig(
114
+ dbConnectionSchema.extend({
115
+ kinitPrincipal: zod.z.string(),
116
+ servicePrincipal: zod.z.string(),
117
+ config: zod.z.string(),
118
+ "#keytab": zod.z.string(),
119
+ ssh: sshTunnelSchema.optional()
120
+ })
121
+ );
122
+ var wrThoughtspotSchema = dbConfig(
123
+ dbConnectionSchema.extend({
124
+ schema: zod.z.string().optional(),
125
+ sshUser: zod.z.string(),
126
+ "#sshPassword": zod.z.string()
127
+ })
128
+ );
129
+ var wrSisenseSchema = dbConfig(
130
+ zod.z.object({
131
+ host: zod.z.string(),
132
+ port: zod.z.number(),
133
+ username: zod.z.string(),
134
+ "#password": zod.z.string(),
135
+ database: zod.z.string()
136
+ })
137
+ );
138
+ var snowflakeCommon = dbConnectionSchema.omit({ "#password": true }).extend({ schema: zod.z.string(), warehouse: zod.z.string().optional() });
139
+ var forbidden = zod.z.undefined().optional();
140
+ var wrDbSnowflakeSchema = zod.z.object({
141
+ parameters: zod.z.object({
142
+ db: zod.z.union([
143
+ snowflakeCommon.extend({ "#password": zod.z.string(), "#privateKey": forbidden }),
144
+ snowflakeCommon.extend({ "#privateKey": zod.z.string(), "#password": forbidden })
145
+ ])
146
+ })
147
+ });
148
+ var partialize = (schema) => {
149
+ if (schema instanceof zod.z.ZodObject) return deepPartial(schema);
150
+ if (schema instanceof zod.z.ZodUnion) {
151
+ const options = schema.options.map(partialize);
152
+ return zod.z.union(options);
153
+ }
154
+ return schema;
155
+ };
156
+ var deepPartial = (schema) => {
157
+ const shape = {};
158
+ for (const [key, value] of Object.entries(schema.shape)) {
159
+ const field = value;
160
+ const inner = field instanceof zod.z.ZodOptional ? field.unwrap() : field;
161
+ shape[key] = partialize(inner);
162
+ }
163
+ return zod.z.object(shape).partial();
164
+ };
165
+ var createRegistry = () => {
166
+ const map = /* @__PURE__ */ new Map();
167
+ const registry2 = {
168
+ add(componentId, schema) {
169
+ map.set(componentId, schema);
170
+ return registry2;
171
+ },
172
+ get(componentId) {
173
+ const schema = map.get(componentId);
174
+ if (!schema) throw new Error(`No configuration registered for component "${componentId}".`);
175
+ return { schema, inputSchema: deepPartial(schema) };
176
+ },
177
+ has: (componentId) => map.has(componentId)
178
+ };
179
+ return registry2;
180
+ };
181
+
182
+ // src/sdks/configurations/registry.ts
183
+ var registry = createRegistry().add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_MYSQL, wrDbMysqlSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_PGSQL, wrDbPgsqlSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_PAIRITY, wrDbPgsqlSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_ORACLE, wrDbOracleSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_SNOWFLAKE, wrDbSnowflakeSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_SNOWFLAKE_GCS, wrDbSnowflakeSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_SNOWFLAKE_GCS_S3, wrDbSnowflakeSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_SNOWFLAKE_BLOB_STORAGE, wrDbSnowflakeSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_LOOKER_V2, wrDbSnowflakeSchema).add(chunkR7MQGDLC_cjs.ComponentId.APP_DATA_GATEWAY, appDataGatewaySchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_SYNAPSE, wrSynapseSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_REDSHIFT, wrRedshiftSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_MSSQL, wrDbMssqlSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_HIVE, wrDbHiveSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_HIVE_CSAS, wrHiveCsasSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_DB_IMPALA, wrDbImpalaSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_EXASOL, wrExasolSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_FIREBOLT, wrFireboltSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_THOUGHTSPOT, wrThoughtspotSchema).add(chunkR7MQGDLC_cjs.ComponentId.WR_SISENSE, wrSisenseSchema);
184
+
185
+ // src/sdks/configurations/configurationsSdk.ts
186
+ var toConfigResult = (data, schema) => {
187
+ const result = schema.safeParse(data.configuration);
188
+ return {
189
+ data,
190
+ runnable: result.success,
191
+ error: result.error
192
+ };
193
+ };
194
+ var createConfigurationSdk = ({ storageClient, encryptionClient, context }) => {
195
+ const _encrypt = async (componentId, data) => {
196
+ if (isEmptyDeep(data)) return data;
197
+ return encryptionClient.encryptScopedSecrets({
198
+ scope: "ProjectSecure",
199
+ componentId,
200
+ projectId: context.project.sapiToken.owner.id,
201
+ data
202
+ });
203
+ };
204
+ const getConfiguration = async (path) => {
205
+ const data = await storageClient.componentsAndConfigurations.getConfiguration(path);
206
+ const def = registry.get(path.componentId);
207
+ return toConfigResult(data, def.schema);
208
+ };
209
+ const createConfiguration = async (input) => {
210
+ const { componentId, branchId, configuration, ...rest } = input;
211
+ const def = registry.get(componentId);
212
+ const validated = def.inputSchema.parse(configuration);
213
+ const encrypted = await _encrypt(componentId, validated);
214
+ const data = await storageClient.componentsAndConfigurations.createConfiguration({
215
+ ...rest,
216
+ branchId,
217
+ componentId,
218
+ configuration: encrypted
219
+ });
220
+ return toConfigResult(data, def.schema);
221
+ };
222
+ const updateConfiguration = async (input) => {
223
+ const { componentId, branchId, configId, configuration, mode = "merge", ...rest } = input;
224
+ const def = registry.get(componentId);
225
+ const validated = def.inputSchema.parse(configuration);
226
+ const encrypted = await _encrypt(componentId, validated);
227
+ let newConfiguration = encrypted;
228
+ if (mode === "merge") {
229
+ const original = await storageClient.componentsAndConfigurations.getConfiguration({
230
+ componentId,
231
+ branchId,
232
+ configId
233
+ });
234
+ newConfiguration = schemaGuidedMerge(def.schema, original.configuration ?? {}, encrypted);
235
+ }
236
+ const data = await storageClient.componentsAndConfigurations.updateConfiguration({
237
+ ...rest,
238
+ branchId,
239
+ componentId,
240
+ configId,
241
+ configuration: newConfiguration
242
+ });
243
+ return toConfigResult(data, def.schema);
244
+ };
245
+ return { getConfiguration, createConfiguration, updateConfiguration };
246
+ };
247
+
248
+ exports.createConfigurationSdk = createConfigurationSdk;
249
+ exports.isEmptyDeep = isEmptyDeep;
250
+ exports.schemaGuidedMerge = schemaGuidedMerge;
251
+ //# sourceMappingURL=chunk-UYZTOVYS.cjs.map
252
+ //# sourceMappingURL=chunk-UYZTOVYS.cjs.map
@@ -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/dbConnection.ts","../src/sdks/configurations/schemas/common/sshTunnelSchema.ts","../src/sdks/configurations/schemas/common/sslSchema.ts","../src/sdks/configurations/schemas/wrDb.ts","../src/sdks/configurations/schemas/wrDbSnowflakeSchema.ts","../src/sdks/configurations/createRegistry/createRegistry.ts","../src/sdks/configurations/registry.ts","../src/sdks/configurations/configurationsSdk.ts"],"names":["isPlainObject","z","registry","ComponentId"],"mappings":"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","file":"chunk-UYZTOVYS.cjs","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/**\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\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 { dbConnectionSchema, sshTunnelSchema, sslSchema } from './common';\n\n/** Wrap a `parameters.db` credential schema into the full component config shape. */\nconst dbConfig = <Db extends z.ZodType>(db: Db) => z.object({ parameters: z.object({ db }) });\n\n/** `keboola.wr-db-mysql` — host/port/user/#password/database, optional SSH + SSL tunnels. */\nexport const wrDbMysqlSchema = dbConfig(\n dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() }),\n);\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\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\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\n/** `keboola.wr-redshift-v2` — required `schema`, optional SSH. */\nexport const wrRedshiftSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string(), ssh: sshTunnelSchema.optional() }),\n);\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\n/** `keboola.wr-db-hive` — optional SSH + SSL tunnels. */\nexport const wrDbHiveSchema = dbConfig(\n dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() }),\n);\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\n// ── Divergent shapes (don't fit the shared db-connection base) ───────────────────────────\n\n/** `kds-team.wr-exasol` — no `database`; SaaS personal-access-token alongside the password. */\nexport const wrExasolSchema = dbConfig(\n z.object({\n host: z.string(),\n port: z.number(),\n user: z.string(),\n '#password': z.string(),\n '#refresh_token': z.string().optional(),\n schema: z.string(),\n }),\n);\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\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\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\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 { dbConnectionSchema } 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\nconst forbidden = z.undefined().optional();\n\nexport const wrDbSnowflakeSchema = z.object({\n parameters: z.object({\n db: z.union([\n snowflakeCommon.extend({ '#password': z.string(), '#privateKey': forbidden }),\n snowflakeCommon.extend({ '#privateKey': z.string(), '#password': forbidden }),\n ]),\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 return z.object(shape).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';\n\nimport { appDataGatewaySchema } from './schemas/appDataGatewaySchema';\nimport {\n wrDbHiveSchema,\n wrDbImpalaSchema,\n wrDbMssqlSchema,\n wrDbMysqlSchema,\n wrDbOracleSchema,\n wrDbPgsqlSchema,\n wrExasolSchema,\n wrFireboltSchema,\n wrHiveCsasSchema,\n wrRedshiftSchema,\n wrSisenseSchema,\n wrSynapseSchema,\n wrThoughtspotSchema,\n} from './schemas/wrDb';\nimport { wrDbSnowflakeSchema } from './schemas/wrDbSnowflakeSchema';\nimport { createRegistry, type GetRegisteredId } from './createRegistry';\n\nexport const registry = createRegistry()\n .add(ComponentId.WR_DB_MYSQL, wrDbMysqlSchema)\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.APP_DATA_GATEWAY, appDataGatewaySchema) // snowflake-provisioned\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, wrDbHiveSchema)\n .add(ComponentId.WR_HIVE_CSAS, wrHiveCsasSchema)\n .add(ComponentId.WR_DB_IMPALA, wrDbImpalaSchema)\n .add(ComponentId.WR_EXASOL, wrExasolSchema)\n .add(ComponentId.WR_FIREBOLT, wrFireboltSchema)\n .add(ComponentId.WR_THOUGHTSPOT, wrThoughtspotSchema)\n .add(ComponentId.WR_SISENSE, wrSisenseSchema);\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 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 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 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,5 +1,5 @@
1
- import { createOpenapiFetchClient } from './chunk-XI6R76X3.js';
2
- import { KeboolaHttpHeader } from './chunk-FL54VJ35.js';
1
+ import { createOpenapiFetchClient } from './chunk-D2SWTZFS.js';
2
+ import { KeboolaHttpHeader } from './chunk-SI5TFV5M.js';
3
3
 
4
4
  // src/clients/ai/aiClient.ts
5
5
  var createAiClient = ({ baseUrl, middlewares, token }) => {
@@ -32,16 +32,28 @@ var createAiClient = ({ baseUrl, middlewares, token }) => {
32
32
  const { data } = await client.post("/feedback", { body });
33
33
  return data;
34
34
  };
35
+ const docsQuestion = async (body) => {
36
+ const { data } = await client.post("/docs/question", { body });
37
+ return data;
38
+ };
39
+ const getComponentDetail = async (componentId) => {
40
+ const { data } = await client.get("/docs/components/{componentId}", {
41
+ path: { componentId }
42
+ });
43
+ return data;
44
+ };
35
45
  return {
36
46
  describeConfigurationVersion,
37
47
  describeConfigurationMerge,
38
48
  explainError,
39
49
  describeConfiguration,
40
50
  suggestComponent,
41
- feedback
51
+ feedback,
52
+ docsQuestion,
53
+ getComponentDetail
42
54
  };
43
55
  };
44
56
 
45
57
  export { createAiClient };
46
- //# sourceMappingURL=chunk-4IBEYSSA.js.map
47
- //# sourceMappingURL=chunk-4IBEYSSA.js.map
58
+ //# sourceMappingURL=chunk-V2MQG3FZ.js.map
59
+ //# sourceMappingURL=chunk-V2MQG3FZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":[],"mappings":";;;;AAeO,IAAM,iBAAiB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AACpF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAAC,iBAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,CAAA;AAED,EAAA,MAAM,4BAAA,GAA+B,OAAO,IAAA,KAA2C;AACrF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,iCAAA,EAAmC,EAAE,IAAA,EAAM,CAAA;AAE9E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,IAAA,KAAyC;AACjF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,+BAAA,EAAiC,EAAE,IAAA,EAAM,CAAA;AAE5E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,UAAA,EAAY,EAAE,IAAA,EAAM,CAAA;AAEvD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,OAAO,IAAA,KAAoC;AACvE,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,yBAAA,EAA2B,EAAE,IAAA,EAAM,CAAA;AAEtE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,KAA+B;AAC7D,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,oBAAA,EAAsB,EAAE,IAAA,EAAM,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,IAAA,KAAuB;AAC7C,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,WAAA,EAAa,EAAE,IAAA,EAAM,CAAA;AAExD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,gBAAA,EAAkB,EAAE,IAAA,EAAM,CAAA;AAE7D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,kBAAA,GAAqB,OAAO,WAAA,KAAwB;AACxD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,gCAAA,EAAkC;AAAA,MAClE,IAAA,EAAM,EAAE,WAAA;AAAY,KACrB,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-V2MQG3FZ.js","sourcesContent":["import { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n DescribeConfigurationBody,\n DescribeConfigurationMergeBody,\n DescribeConfigurationVersionBody,\n DocsQuestionBody,\n ExplainErrorBody,\n FeedbackBody,\n SuggestComponentBody,\n} from './types';\n\nexport const createAiClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const describeConfigurationVersion = async (body: DescribeConfigurationVersionBody) => {\n const { data } = await client.post('/describe/configuration-version', { body });\n\n return data;\n };\n\n const describeConfigurationMerge = async (body: DescribeConfigurationMergeBody) => {\n const { data } = await client.post('/describe/configuration-merge', { body });\n\n return data;\n };\n\n const explainError = async (body: ExplainErrorBody) => {\n const { data } = await client.post('/explain', { body });\n\n return data;\n };\n\n const describeConfiguration = async (body: DescribeConfigurationBody) => {\n const { data } = await client.post('/describe/configuration', { body });\n\n return data;\n };\n\n const suggestComponent = async (body: SuggestComponentBody) => {\n const { data } = await client.post('/suggest/component', { body });\n\n return data;\n };\n\n const feedback = async (body: FeedbackBody) => {\n const { data } = await client.post('/feedback', { body });\n\n return data;\n };\n\n /** Answers a question using the Keboola documentation as a source. */\n const docsQuestion = async (body: DocsQuestionBody) => {\n const { data } = await client.post('/docs/question', { body });\n\n return data;\n };\n\n /** Retrieves documentation details for a single component. */\n const getComponentDetail = async (componentId: string) => {\n const { data } = await client.get('/docs/components/{componentId}', {\n path: { componentId },\n });\n\n return data;\n };\n\n return {\n describeConfigurationVersion,\n describeConfigurationMerge,\n explainError,\n describeConfiguration,\n suggestComponent,\n feedback,\n docsQuestion,\n getComponentDetail,\n };\n};\n"]}
@@ -1,5 +1,5 @@
1
- import { createOpenapiFetchClient } from './chunk-XI6R76X3.js';
2
- import { KeboolaHttpHeader } from './chunk-FL54VJ35.js';
1
+ import { createOpenapiFetchClient } from './chunk-D2SWTZFS.js';
2
+ import { KeboolaHttpHeader } from './chunk-SI5TFV5M.js';
3
3
 
4
4
  // src/clients/queue/queueClient.ts
5
5
  var createQueueClient = ({ baseUrl, middlewares, token }) => {
@@ -32,5 +32,5 @@ var createQueueClient = ({ baseUrl, middlewares, token }) => {
32
32
  };
33
33
 
34
34
  export { createQueueClient };
35
- //# sourceMappingURL=chunk-JKXQFEY7.js.map
36
- //# sourceMappingURL=chunk-JKXQFEY7.js.map
35
+ //# sourceMappingURL=chunk-VFZVLZC6.js.map
36
+ //# sourceMappingURL=chunk-VFZVLZC6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/queue/queueClient.ts"],"names":[],"mappings":";;;;AAOO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AACvF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAAC,iBAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,CAAA;AAED,EAAA,MAAM,MAAA,GAAS,OAAO,KAAA,EAAiC,MAAA,KAAyB;AAC9E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,eAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA;AAAM,OAChB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,KAAA,EAAyB,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA;AAAA,QACE;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO,EAAE,QAAQ,UAAA,EAAW;AAC9B","file":"chunk-JKXQFEY7.js","sourcesContent":["import { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { GetQueueJobPath, SearchJobsQuery } from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n return { getJob, searchJobs };\n};\n"]}
1
+ {"version":3,"sources":["../src/clients/queue/queueClient.ts"],"names":[],"mappings":";;;;AAOO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AACvF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAAC,iBAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,CAAA;AAED,EAAA,MAAM,MAAA,GAAS,OAAO,KAAA,EAAiC,MAAA,KAAyB;AAC9E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,eAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA;AAAM,OAChB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,KAAA,EAAyB,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA;AAAA,QACE;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO,EAAE,QAAQ,UAAA,EAAW;AAC9B","file":"chunk-VFZVLZC6.js","sourcesContent":["import { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { GetQueueJobPath, SearchJobsQuery } from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n return { getJob, searchJobs };\n};\n"]}
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var chunkIDYRJ4K3_cjs = require('./chunk-IDYRJ4K3.cjs');
4
+ var chunkR7MQGDLC_cjs = require('./chunk-R7MQGDLC.cjs');
5
+
6
+ // src/clients/verify/createVerifyClient.ts
7
+ var createVerifyClient = () => {
8
+ const storageApiToken = async (host, token, signal) => {
9
+ const { data } = await chunkIDYRJ4K3_cjs.createGenericFetchClient({
10
+ baseUrl: `${chunkIDYRJ4K3_cjs.normalizeBaseUrl(host)}/v2/storage`,
11
+ headers: new Headers({ [chunkR7MQGDLC_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN]: token })
12
+ }).get("/tokens/verify", {}, { signal });
13
+ return data;
14
+ };
15
+ const managementApiToken = async (host, token, signal) => {
16
+ const { data } = await chunkIDYRJ4K3_cjs.createGenericFetchClient({
17
+ baseUrl: chunkIDYRJ4K3_cjs.normalizeBaseUrl(host),
18
+ headers: new Headers({ [chunkR7MQGDLC_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: token })
19
+ }).get("/manage/tokens/verify", {}, { signal });
20
+ return data;
21
+ };
22
+ return {
23
+ storageApiToken,
24
+ managementApiToken
25
+ };
26
+ };
27
+
28
+ exports.createVerifyClient = createVerifyClient;
29
+ //# sourceMappingURL=chunk-VKHQ6BWE.cjs.map
30
+ //# sourceMappingURL=chunk-VKHQ6BWE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/verify/createVerifyClient.ts"],"names":["createGenericFetchClient","normalizeBaseUrl","KeboolaHttpHeader"],"mappings":";;;;;;AAMO,IAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,eAAA,GAAkB,OAAO,IAAA,EAAc,KAAA,EAAe,MAAA,KAAyB;AACnF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAMA,0CAAA,CAAyB;AAAA,MAC9C,OAAA,EAAS,CAAA,EAAGC,kCAAA,CAAiB,IAAI,CAAC,CAAA,WAAA,CAAA;AAAA,MAClC,OAAA,EAAS,IAAI,OAAA,CAAQ,EAAE,CAACC,mCAAA,CAAkB,iBAAiB,GAAG,KAAA,EAAO;AAAA,KACtE,EAAE,GAAA,CAAoC,gBAAA,EAAkB,EAAC,EAAG,EAAE,QAAQ,CAAA;AAEvE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAO,IAAA,EAAc,KAAA,EAAe,MAAA,KAAyB;AACtF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAMF,0CAAA,CAAyB;AAAA,MAC9C,OAAA,EAASC,mCAAiB,IAAI,CAAA;AAAA,MAC9B,OAAA,EAAS,IAAI,OAAA,CAAQ,EAAE,CAACC,mCAAA,CAAkB,oBAAoB,GAAG,KAAA,EAAO;AAAA,KACzE,EAAE,GAAA,CAAuC,uBAAA,EAAyB,EAAC,EAAG,EAAE,QAAQ,CAAA;AAEjF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,eAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-GOC5UODV.cjs","sourcesContent":["import { KeboolaHttpHeader } from '../../constants';\nimport { createGenericFetchClient, normalizeBaseUrl } from '../../fetchClient';\nimport type { StorageToken } from '../storage/tokens/types';\n\nimport type { ManagementToken } from './types';\n\nexport const createVerifyClient = () => {\n const storageApiToken = async (host: string, token: string, signal?: AbortSignal) => {\n const { data } = await createGenericFetchClient({\n baseUrl: `${normalizeBaseUrl(host)}/v2/storage`,\n headers: new Headers({ [KeboolaHttpHeader.STORAGE_API_TOKEN]: token }),\n }).get<StorageToken, void, void, void>('/tokens/verify', {}, { signal });\n\n return data;\n };\n\n const managementApiToken = async (host: string, token: string, signal?: AbortSignal) => {\n const { data } = await createGenericFetchClient({\n baseUrl: normalizeBaseUrl(host),\n headers: new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: token }),\n }).get<ManagementToken, void, void, void>('/manage/tokens/verify', {}, { signal });\n\n return data;\n };\n\n return {\n storageApiToken,\n managementApiToken,\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/clients/verify/createVerifyClient.ts"],"names":["createGenericFetchClient","normalizeBaseUrl","KeboolaHttpHeader"],"mappings":";;;;;;AAMO,IAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,eAAA,GAAkB,OAAO,IAAA,EAAc,KAAA,EAAe,MAAA,KAAyB;AACnF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAMA,0CAAA,CAAyB;AAAA,MAC9C,OAAA,EAAS,CAAA,EAAGC,kCAAA,CAAiB,IAAI,CAAC,CAAA,WAAA,CAAA;AAAA,MAClC,OAAA,EAAS,IAAI,OAAA,CAAQ,EAAE,CAACC,mCAAA,CAAkB,iBAAiB,GAAG,KAAA,EAAO;AAAA,KACtE,EAAE,GAAA,CAAoC,gBAAA,EAAkB,EAAC,EAAG,EAAE,QAAQ,CAAA;AAEvE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAO,IAAA,EAAc,KAAA,EAAe,MAAA,KAAyB;AACtF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAMF,0CAAA,CAAyB;AAAA,MAC9C,OAAA,EAASC,mCAAiB,IAAI,CAAA;AAAA,MAC9B,OAAA,EAAS,IAAI,OAAA,CAAQ,EAAE,CAACC,mCAAA,CAAkB,oBAAoB,GAAG,KAAA,EAAO;AAAA,KACzE,EAAE,GAAA,CAAuC,uBAAA,EAAyB,EAAC,EAAG,EAAE,QAAQ,CAAA;AAEjF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,eAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-VKHQ6BWE.cjs","sourcesContent":["import { KeboolaHttpHeader } from '../../constants';\nimport { createGenericFetchClient, normalizeBaseUrl } from '../../fetchClient';\nimport type { StorageToken } from '../storage/tokens/types';\n\nimport type { ManagementToken } from './types';\n\nexport const createVerifyClient = () => {\n const storageApiToken = async (host: string, token: string, signal?: AbortSignal) => {\n const { data } = await createGenericFetchClient({\n baseUrl: `${normalizeBaseUrl(host)}/v2/storage`,\n headers: new Headers({ [KeboolaHttpHeader.STORAGE_API_TOKEN]: token }),\n }).get<StorageToken, void, void, void>('/tokens/verify', {}, { signal });\n\n return data;\n };\n\n const managementApiToken = async (host: string, token: string, signal?: AbortSignal) => {\n const { data } = await createGenericFetchClient({\n baseUrl: normalizeBaseUrl(host),\n headers: new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: token }),\n }).get<ManagementToken, void, void, void>('/manage/tokens/verify', {}, { signal });\n\n return data;\n };\n\n return {\n storageApiToken,\n managementApiToken,\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { suggestionsApiResponseSchema } from './chunk-4RC5E3SL.js';
2
- import { createOpenapiFetchClient } from './chunk-XI6R76X3.js';
3
- import { KeboolaHttpHeader } from './chunk-FL54VJ35.js';
2
+ import { createOpenapiFetchClient } from './chunk-D2SWTZFS.js';
3
+ import { KeboolaHttpHeader } from './chunk-SI5TFV5M.js';
4
4
  import { z } from 'zod';
5
5
 
6
6
  var agentSettingsSchema = z.object({
@@ -133,5 +133,5 @@ var createChatClient = ({
133
133
  };
134
134
 
135
135
  export { createChatClient };
136
- //# sourceMappingURL=chunk-2CTHLPTU.js.map
137
- //# sourceMappingURL=chunk-2CTHLPTU.js.map
136
+ //# sourceMappingURL=chunk-VUVBYSYM.js.map
137
+ //# sourceMappingURL=chunk-VUVBYSYM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/chat/chatClient.ts"],"names":[],"mappings":"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","file":"chunk-2CTHLPTU.js","sourcesContent":["import { z } from 'zod';\n\nimport { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\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 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\ntype ChatClientOptions = ClientInitOptions & {\n storageApiUrl: string;\n};\n\nexport const createChatClient = ({\n baseUrl,\n middlewares,\n storageApiUrl,\n token,\n}: ChatClientOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n headers: new Headers({\n [KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,\n [KeboolaHttpHeader.STORAGE_API_TOKEN]: token,\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']) => {\n const { data } = await client.get('/vote', { query: { chatId } });\n return 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":[],"mappings":"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","file":"chunk-VUVBYSYM.js","sourcesContent":["import { z } from 'zod';\n\nimport { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\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 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\ntype ChatClientOptions = ClientInitOptions & {\n storageApiUrl: string;\n};\n\nexport const createChatClient = ({\n baseUrl,\n middlewares,\n storageApiUrl,\n token,\n}: ChatClientOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n headers: new Headers({\n [KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,\n [KeboolaHttpHeader.STORAGE_API_TOKEN]: token,\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']) => {\n const { data } = await client.get('/vote', { query: { chatId } });\n return 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,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkU5SE6W5M_cjs = require('./chunk-U5SE6W5M.cjs');
4
- var chunk3CIPWA33_cjs = require('./chunk-3CIPWA33.cjs');
5
- var chunk4I6TJWBG_cjs = require('./chunk-4I6TJWBG.cjs');
4
+ var chunkIDYRJ4K3_cjs = require('./chunk-IDYRJ4K3.cjs');
5
+ var chunkR7MQGDLC_cjs = require('./chunk-R7MQGDLC.cjs');
6
6
  var zod = require('zod');
7
7
 
8
8
  var agentSettingsSchema = zod.z.object({
@@ -34,11 +34,11 @@ var createChatClient = ({
34
34
  storageApiUrl,
35
35
  token
36
36
  }) => {
37
- const client = chunk3CIPWA33_cjs.createOpenapiFetchClient({
37
+ const client = chunkIDYRJ4K3_cjs.createOpenapiFetchClient({
38
38
  baseUrl,
39
39
  headers: new Headers({
40
- [chunk4I6TJWBG_cjs.KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,
41
- [chunk4I6TJWBG_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN]: token
40
+ [chunkR7MQGDLC_cjs.KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,
41
+ [chunkR7MQGDLC_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN]: token
42
42
  }),
43
43
  middlewares
44
44
  });
@@ -135,5 +135,5 @@ var createChatClient = ({
135
135
  };
136
136
 
137
137
  exports.createChatClient = createChatClient;
138
- //# sourceMappingURL=chunk-DGWPC6VR.cjs.map
139
- //# sourceMappingURL=chunk-DGWPC6VR.cjs.map
138
+ //# sourceMappingURL=chunk-W3AFDHXQ.cjs.map
139
+ //# sourceMappingURL=chunk-W3AFDHXQ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/chat/chatClient.ts"],"names":["z","createOpenapiFetchClient","KeboolaHttpHeader","suggestionsApiResponseSchema"],"mappings":"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","file":"chunk-DGWPC6VR.cjs","sourcesContent":["import { z } from 'zod';\n\nimport { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\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 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\ntype ChatClientOptions = ClientInitOptions & {\n storageApiUrl: string;\n};\n\nexport const createChatClient = ({\n baseUrl,\n middlewares,\n storageApiUrl,\n token,\n}: ChatClientOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n headers: new Headers({\n [KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,\n [KeboolaHttpHeader.STORAGE_API_TOKEN]: token,\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']) => {\n const { data } = await client.get('/vote', { query: { chatId } });\n return 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","suggestionsApiResponseSchema"],"mappings":";;;;;;;AAuBA,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EACnC,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,kBAAA,EAAoBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxC,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,SAAA,EAAWA,MAAE,MAAA;AACf,CAAC,CAAA;AAED,IAAM,4BAA4BA,KAAA,CAAE,IAAA,CAAK,CAAC,cAAA,EAAgB,YAAA,EAAc,SAAS,CAAC,CAAA;AAElF,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EACvC,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,MAAA,EAAQA,MAAE,MAAA,EAAO;AAAA,EACjB,kBAAA,EAAoBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxC,eAAA,EAAiBA,MAAE,MAAA,CAAOA,KAAA,CAAE,QAAO,EAAG,yBAAyB,EAAE,QAAA,EAAS;AAAA,EAC1E,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,SAAA,EAAWA,MAAE,MAAA;AACf,CAAC,CAAA;AAED,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EAC9B,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAUA,MAAE,OAAA;AACd,CAAC,CAAA;AAED,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EACvC,KAAA,EAAOA,KAAA,CAAE,KAAA,CAAM,cAAc;AAC/B,CAAC,CAAA;AAMM,IAAM,mBAAmB,CAAC;AAAA,EAC/B,OAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,KAAyB;AACvB,EAAA,MAAM,SAASC,0CAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,OAAA,EAAS,IAAI,OAAA,CAAQ;AAAA,MACnB,CAACC,mCAAA,CAAkB,eAAe,GAAG,aAAA;AAAA,MACrC,CAACA,mCAAA,CAAkB,iBAAiB,GAAG;AAAA,KACxC,CAAA;AAAA,IACD;AAAA,GACD,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,OAAO,MAAA,KAA6B;AACrD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,UAAA,EAAY,EAAE,KAAA,EAAO,MAAA,EAAQ,CAAA;AAC/D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,OAAA,GAAU,OAAO,MAAA,EAA2B,MAAA,KAAyB;AACzE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,YAAA,EAAc,EAAE,IAAA,EAAM,EAAE,IAAI,MAAA,EAAO,EAAE,EAAG,EAAE,QAAQ,CAAA;AACpF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,MAAA,KAAmB;AAC3C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAA,CAAO,OAAA,EAAS,EAAE,KAAA,EAAO,EAAE,EAAA,EAAI,MAAA,IAAU,CAAA;AACvE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,MAAA,KAAoC;AAC1D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,OAAA,EAAS,EAAE,KAAA,EAAO,EAAE,MAAA,EAAO,EAAG,CAAA;AAChE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,MAAA,KAAwB;AAChD,IAAA,MAAM,OAAO,KAAA,CAAM,OAAA,EAAS,EAAE,IAAA,EAAM,QAAQ,CAAA;AAAA,EAC9C,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,OAAA,KAAyB;AACjD,IAAA,MAAM,EAAE,QAAA,EAAS,GAAI,MAAM,MAAA,CAAO,KAAK,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA,EAAS,CAAA;AACjE,IAAA,OAAO,QAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,MAAA,KAAiD;AACvE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,QAAA,EAAU,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAC1D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OACrB,OAAA,EACA,MAAA,KACoC;AACpC,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,cAAA,EAAgB,EAAE,IAAA,EAAM,OAAA,EAAQ,EAAG,EAAE,QAAQ,CAAA;AAEhF,IAAA,MAAM,MAAA,GAASC,8CAAA,CAA6B,SAAA,CAAU,IAAI,CAAA;AAC1D,IAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,MAAA,MAAM,IAAI,MAAM,qCAAqC,CAAA;AAAA,IACvD;AAEA,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,MAAA,KAAiD;AAC/E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,WAAA,EAAa,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAC7D,IAAA,MAAM,MAAA,GAAS,mBAAA,CAAoB,SAAA,CAAU,IAAI,CAAA;AACjD,IAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,MAAA,MAAM,IAAI,MAAM,wCAAwC,CAAA;AAAA,IAC1D;AACA,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,OAC1B,OAAA,EACA,MAAA,KAC2B;AAC3B,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAA,CAAM,WAAA,EAAa,EAAE,IAAA,EAAM,OAAA,EAAQ,EAAG,EAAE,QAAQ,CAAA;AAC9E,IAAA,MAAM,MAAA,GAAS,mBAAA,CAAoB,SAAA,CAAU,IAAI,CAAA;AACjD,IAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,MAAA,MAAM,IAAI,MAAM,wCAAwC,CAAA;AAAA,IAC1D;AACA,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,OAAO,MAAA,KAAqD;AACvF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,gBAAA,EAAkB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAClE,IAAA,MAAM,MAAA,GAAS,uBAAA,CAAwB,SAAA,CAAU,IAAI,CAAA;AACrD,IAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,MAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,IAC/D;AACA,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,OAC9B,OAAA,EACA,MAAA,KAC+B;AAC/B,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAA,CAAM,gBAAA,EAAkB,EAAE,IAAA,EAAM,OAAA,EAAQ,EAAG,EAAE,QAAQ,CAAA;AACnF,IAAA,MAAM,MAAA,GAAS,uBAAA,CAAwB,SAAA,CAAU,IAAI,CAAA;AACrD,IAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,MAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,IAC/D;AACA,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,MAAA,KAAqD;AAC/E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,iBAAA,EAAmB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AACnE,IAAA,MAAM,MAAA,GAAS,uBAAA,CAAwB,SAAA,CAAU,IAAI,CAAA;AACrD,IAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,MAAA,MAAM,IAAI,MAAM,oCAAoC,CAAA;AAAA,IACtD;AACA,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,mBAAA;AAAA,IACA,oBAAA;AAAA,IACA,uBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-W3AFDHXQ.cjs","sourcesContent":["import { z } from 'zod';\n\nimport { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\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 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\ntype ChatClientOptions = ClientInitOptions & {\n storageApiUrl: string;\n};\n\nexport const createChatClient = ({\n baseUrl,\n middlewares,\n storageApiUrl,\n token,\n}: ChatClientOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n headers: new Headers({\n [KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,\n [KeboolaHttpHeader.STORAGE_API_TOKEN]: token,\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']) => {\n const { data } = await client.get('/vote', { query: { chatId } });\n return 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"]}