@keboola/api-client 25.0.0 → 27.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.
- package/AGENTS.md +489 -0
- package/API-SURFACE.md +126 -57
- package/README.md +29 -25
- package/dist/{adminRoles-Cil1lavB.d.cts → adminRoles-BSUPLfNf.d.cts} +1 -7
- package/dist/{adminRoles-Cil1lavB.d.ts → adminRoles-BSUPLfNf.d.ts} +1 -7
- package/dist/ai/index.cjs +4 -4
- package/dist/ai/index.d.cts +5 -2
- package/dist/ai/index.d.ts +5 -2
- package/dist/ai/index.js +3 -3
- package/dist/ai/types.d.cts +2 -2
- package/dist/ai/types.d.ts +2 -2
- package/dist/appLogs-BbgAJ5I8.d.cts +7 -0
- package/dist/appLogs-BbgAJ5I8.d.ts +7 -0
- package/dist/apps/index.cjs +16 -0
- package/dist/apps/index.cjs.map +1 -0
- package/dist/apps/index.d.cts +249 -0
- package/dist/apps/index.d.ts +249 -0
- package/dist/apps/index.js +7 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/types.cjs +4 -0
- package/dist/apps/types.cjs.map +1 -0
- package/dist/apps/types.d.cts +3 -0
- package/dist/apps/types.d.ts +3 -0
- package/dist/apps/types.js +3 -0
- package/dist/apps/types.js.map +1 -0
- package/dist/assets/index.cjs +2 -2
- package/dist/assets/index.js +1 -1
- package/dist/auth/index.cjs +17 -13
- package/dist/auth/index.d.cts +18 -5
- package/dist/auth/index.d.ts +18 -5
- package/dist/auth/index.js +2 -2
- package/dist/auth/types.d.cts +3 -3
- package/dist/auth/types.d.ts +3 -3
- package/dist/backends-UNp_e5y9.d.cts +7 -0
- package/dist/backends-UNp_e5y9.d.ts +7 -0
- package/dist/chat/index.cjs +4 -4
- package/dist/chat/index.d.cts +5 -2
- package/dist/chat/index.d.ts +5 -2
- package/dist/chat/index.js +3 -3
- package/dist/chat/types.d.cts +2 -2
- package/dist/chat/types.d.ts +2 -2
- package/dist/{chunk-LD3JERYP.js → chunk-24YVNNAG.js} +10 -4
- package/dist/chunk-24YVNNAG.js.map +1 -0
- package/dist/{chunk-CV2JGHBN.js → chunk-255CHZ3U.js} +23 -6
- package/dist/chunk-255CHZ3U.js.map +1 -0
- package/dist/{chunk-S4JK7DKM.js → chunk-2BCH2U57.js} +11 -5
- package/dist/chunk-2BCH2U57.js.map +1 -0
- package/dist/{chunk-XHDYLUM4.js → chunk-2BQBKU6E.js} +15 -13
- package/dist/chunk-2BQBKU6E.js.map +1 -0
- package/dist/{chunk-NVQ6LGDO.cjs → chunk-2JKTV7UG.cjs} +6 -6
- package/dist/{chunk-NVQ6LGDO.cjs.map → chunk-2JKTV7UG.cjs.map} +1 -1
- package/dist/chunk-3UBGQFBU.js +29 -0
- package/dist/chunk-3UBGQFBU.js.map +1 -0
- package/dist/chunk-57Q4CY4H.js +190 -0
- package/dist/chunk-57Q4CY4H.js.map +1 -0
- package/dist/{chunk-EDX5D6UY.js → chunk-5A3AQIXR.js} +3 -3
- package/dist/{chunk-EDX5D6UY.js.map → chunk-5A3AQIXR.js.map} +1 -1
- package/dist/{chunk-UABYNGBZ.js → chunk-5HEIR4DC.js} +4 -4
- package/dist/chunk-5HEIR4DC.js.map +1 -0
- package/dist/{chunk-Z3HZ4MP4.cjs → chunk-5SR2L35Y.cjs} +885 -553
- package/dist/chunk-5SR2L35Y.cjs.map +1 -0
- package/dist/{chunk-OUSPQ55W.js → chunk-62LG5KPI.js} +29 -7
- package/dist/chunk-62LG5KPI.js.map +1 -0
- package/dist/{chunk-HMCZUHR7.js → chunk-67P5UI6H.js} +9 -4
- package/dist/{chunk-2CFM7K4U.cjs.map → chunk-67P5UI6H.js.map} +1 -1
- package/dist/{chunk-HY7J3OD3.cjs → chunk-6PVEHUJL.cjs} +39 -29
- package/dist/chunk-6PVEHUJL.cjs.map +1 -0
- package/dist/chunk-6XFXU5N4.js +119 -0
- package/dist/chunk-6XFXU5N4.js.map +1 -0
- package/dist/chunk-6ZQBFK2Y.js +24 -0
- package/dist/chunk-6ZQBFK2Y.js.map +1 -0
- package/dist/{chunk-AFJGNBVM.cjs → chunk-AJ3SCWUB.cjs} +14 -8
- package/dist/chunk-AJ3SCWUB.cjs.map +1 -0
- package/dist/{chunk-GF4XZK5N.cjs → chunk-AXYNFDUI.cjs} +4 -4
- package/dist/chunk-AXYNFDUI.cjs.map +1 -0
- package/dist/{chunk-UP5SEEYZ.js → chunk-B45B4AYG.js} +61 -7
- package/dist/chunk-B45B4AYG.js.map +1 -0
- package/dist/{chunk-4VVF2PIX.js → chunk-B4T4QCLB.js} +10 -4
- package/dist/chunk-B4T4QCLB.js.map +1 -0
- package/dist/{chunk-XIIER7QQ.js → chunk-BGJWHTBJ.js} +10 -4
- package/dist/chunk-BGJWHTBJ.js.map +1 -0
- package/dist/chunk-BVRPZKRE.cjs +147 -0
- package/dist/chunk-BVRPZKRE.cjs.map +1 -0
- package/dist/chunk-BZB4UVQA.cjs +192 -0
- package/dist/chunk-BZB4UVQA.cjs.map +1 -0
- package/dist/{chunk-IAYPOSMM.cjs → chunk-CHRBWCL7.cjs} +8 -8
- package/dist/chunk-CHRBWCL7.cjs.map +1 -0
- package/dist/{chunk-3PVERYSF.js → chunk-CPZME73I.js} +3 -3
- package/dist/{chunk-3PVERYSF.js.map → chunk-CPZME73I.js.map} +1 -1
- package/dist/{chunk-RVBGE2Z4.js → chunk-DVV35AIS.js} +7 -7
- package/dist/chunk-DVV35AIS.js.map +1 -0
- package/dist/{chunk-CWUQ6ZAO.cjs → chunk-E7GGDLAH.cjs} +25 -8
- package/dist/chunk-E7GGDLAH.cjs.map +1 -0
- package/dist/{chunk-J3NLKXQ5.cjs → chunk-EQPBR3BE.cjs} +15 -9
- package/dist/chunk-EQPBR3BE.cjs.map +1 -0
- package/dist/{chunk-SJZ66FD5.js → chunk-ERZEQ5JR.js} +8 -3
- package/dist/chunk-ERZEQ5JR.js.map +1 -0
- package/dist/{chunk-CWCUQACX.cjs → chunk-ES3ADC2G.cjs} +4 -4
- package/dist/{chunk-CWCUQACX.cjs.map → chunk-ES3ADC2G.cjs.map} +1 -1
- package/dist/{chunk-2CFM7K4U.cjs → chunk-FEAE6L3K.cjs} +13 -8
- package/dist/chunk-FEAE6L3K.cjs.map +1 -0
- package/dist/{chunk-IDWGBCSB.cjs → chunk-FVU7WU2H.cjs} +11 -6
- package/dist/chunk-FVU7WU2H.cjs.map +1 -0
- package/dist/{chunk-3BFPNM2J.js → chunk-FW5GBBKL.js} +11 -5
- package/dist/chunk-FW5GBBKL.js.map +1 -0
- package/dist/chunk-G2SWCC3X.js +90 -0
- package/dist/chunk-G2SWCC3X.js.map +1 -0
- package/dist/{chunk-KUYVBCUM.cjs → chunk-G3JHVIDZ.cjs} +63 -8
- package/dist/chunk-G3JHVIDZ.cjs.map +1 -0
- package/dist/{chunk-D4WOOKMI.js → chunk-HGKDXF35.js} +58 -107
- package/dist/chunk-HGKDXF35.js.map +1 -0
- package/dist/chunk-HQO572JW.cjs +34 -0
- package/dist/chunk-HQO572JW.cjs.map +1 -0
- package/dist/{chunk-MMOAH3EH.cjs → chunk-HUQ5ATIL.cjs} +15 -13
- package/dist/chunk-HUQ5ATIL.cjs.map +1 -0
- package/dist/{chunk-XKIENBIE.js → chunk-HZDVMHU6.js} +10 -4
- package/dist/chunk-HZDVMHU6.js.map +1 -0
- package/dist/{chunk-7R22VKV7.cjs → chunk-ICWUR5WA.cjs} +13 -7
- package/dist/chunk-ICWUR5WA.cjs.map +1 -0
- package/dist/{chunk-BR6WZE3O.cjs → chunk-IQFNHQWP.cjs} +9 -4
- package/dist/chunk-IQFNHQWP.cjs.map +1 -0
- package/dist/{chunk-7Z4MU7ZB.js → chunk-IZ4QM7O4.js} +32 -22
- package/dist/chunk-IZ4QM7O4.js.map +1 -0
- package/dist/{chunk-UWQUHP3T.cjs → chunk-J5JCXSAS.cjs} +11 -6
- package/dist/chunk-J5JCXSAS.cjs.map +1 -0
- package/dist/{chunk-LIXSIM3H.cjs → chunk-JI7HLIDL.cjs} +12 -6
- package/dist/chunk-JI7HLIDL.cjs.map +1 -0
- package/dist/chunk-JWISA775.cjs +92 -0
- package/dist/chunk-JWISA775.cjs.map +1 -0
- package/dist/chunk-K3BLXPLA.cjs +16 -0
- package/dist/{chunk-7RO6PKZ4.cjs.map → chunk-K3BLXPLA.cjs.map} +1 -1
- package/dist/{chunk-BZA3FGO6.js → chunk-KATUDT3E.js} +8 -3
- package/dist/chunk-KATUDT3E.js.map +1 -0
- package/dist/chunk-KGBWWS6I.js +32 -0
- package/dist/chunk-KGBWWS6I.js.map +1 -0
- package/dist/chunk-KQENBXPS.cjs +34 -0
- package/dist/chunk-KQENBXPS.cjs.map +1 -0
- package/dist/chunk-KTKJD4DM.js +60 -0
- package/dist/chunk-KTKJD4DM.js.map +1 -0
- package/dist/{chunk-2BOG5U7C.js → chunk-LWQP7OWA.js} +3 -3
- package/dist/{chunk-2BOG5U7C.js.map → chunk-LWQP7OWA.js.map} +1 -1
- package/dist/chunk-NFJKJGXR.js +397 -0
- package/dist/chunk-NFJKJGXR.js.map +1 -0
- package/dist/chunk-NH2TQGRL.cjs +28 -0
- package/dist/chunk-NH2TQGRL.cjs.map +1 -0
- package/dist/{chunk-KEFXOJD7.js → chunk-NHYL5QPM.js} +16 -3
- package/dist/chunk-NHYL5QPM.js.map +1 -0
- package/dist/{chunk-AVH6F5LB.js → chunk-ON4ILCHP.js} +876 -546
- package/dist/chunk-ON4ILCHP.js.map +1 -0
- package/dist/{chunk-T242YFMT.cjs → chunk-PLF4JX5B.cjs} +12 -7
- package/dist/chunk-PLF4JX5B.cjs.map +1 -0
- package/dist/{chunk-77LILJYX.js → chunk-QNF3L4B7.js} +9 -4
- package/dist/chunk-QNF3L4B7.js.map +1 -0
- package/dist/{chunk-NVRVPWNY.js → chunk-RBN3ITTM.js} +9 -4
- package/dist/chunk-RBN3ITTM.js.map +1 -0
- package/dist/{chunk-DRNOCC6W.cjs → chunk-RXYT7EMN.cjs} +31 -8
- package/dist/chunk-RXYT7EMN.cjs.map +1 -0
- package/dist/chunk-S46FMY4G.cjs +64 -0
- package/dist/chunk-S46FMY4G.cjs.map +1 -0
- package/dist/chunk-S6BWQKHJ.cjs +116 -0
- package/dist/chunk-S6BWQKHJ.cjs.map +1 -0
- package/dist/{chunk-3YWQQ3OG.cjs → chunk-SFTI6QFB.cjs} +13 -7
- package/dist/chunk-SFTI6QFB.cjs.map +1 -0
- package/dist/{chunk-7YXL4FKN.cjs → chunk-SNP577FA.cjs} +12 -6
- package/dist/chunk-SNP577FA.cjs.map +1 -0
- package/dist/{chunk-PPQF7LTS.cjs → chunk-SUVM3S2T.cjs} +15 -9
- package/dist/chunk-SUVM3S2T.cjs.map +1 -0
- package/dist/chunk-SYZ5OFNT.js +114 -0
- package/dist/chunk-SYZ5OFNT.js.map +1 -0
- package/dist/{chunk-FRLSKIUI.cjs → chunk-SZBW4EE2.cjs} +6 -6
- package/dist/{chunk-FRLSKIUI.cjs.map → chunk-SZBW4EE2.cjs.map} +1 -1
- package/dist/{chunk-G66EP527.js → chunk-TBHJQCAE.js} +9 -4
- package/dist/chunk-TBHJQCAE.js.map +1 -0
- package/dist/{chunk-EYIPM2XB.cjs → chunk-U3E5YMLO.cjs} +4 -4
- package/dist/{chunk-EYIPM2XB.cjs.map → chunk-U3E5YMLO.cjs.map} +1 -1
- package/dist/{chunk-34GM6NXB.js → chunk-UVX733BX.js} +10 -4
- package/dist/chunk-UVX733BX.js.map +1 -0
- package/dist/{chunk-FMS5PNM2.cjs → chunk-V6FT3RTU.cjs} +8 -3
- package/dist/chunk-V6FT3RTU.cjs.map +1 -0
- package/dist/{chunk-F6ZAYTBX.cjs → chunk-VB56OVFM.cjs} +58 -110
- package/dist/chunk-VB56OVFM.cjs.map +1 -0
- package/dist/{chunk-5XWVWFTC.js → chunk-WQ7NNIJ3.js} +4 -4
- package/dist/{chunk-5XWVWFTC.js.map → chunk-WQ7NNIJ3.js.map} +1 -1
- package/dist/{chunk-DHOVQ2TW.js → chunk-WUFODWZV.js} +3 -3
- package/dist/{chunk-DHOVQ2TW.js.map → chunk-WUFODWZV.js.map} +1 -1
- package/dist/{chunk-FJBP3MRI.cjs → chunk-WUJ53PP7.cjs} +16 -3
- package/dist/chunk-WUJ53PP7.cjs.map +1 -0
- package/dist/chunk-YDOSWWE4.cjs +419 -0
- package/dist/chunk-YDOSWWE4.cjs.map +1 -0
- package/dist/constants/index.cjs +2 -2
- package/dist/constants/index.d.cts +13 -1
- package/dist/constants/index.d.ts +13 -1
- package/dist/constants/index.js +1 -1
- package/dist/createFetchClient-BHAsPDgF.d.cts +86 -0
- package/dist/createFetchClient-CFIwc6Lh.d.ts +86 -0
- package/dist/{createOpenapiFetchClient-BFmiJ9C5.d.cts → createOpenapiFetchClient-CduEua6F.d.cts} +1 -1
- package/dist/{createOpenapiFetchClient-6RX67Hws.d.ts → createOpenapiFetchClient-wLlVgp3k.d.ts} +1 -1
- package/dist/dataScience/index.cjs +6 -5
- package/dist/dataScience/index.d.cts +7 -5
- package/dist/dataScience/index.d.ts +7 -5
- package/dist/dataScience/index.js +4 -3
- package/dist/dataScience/types.d.cts +2172 -2
- package/dist/dataScience/types.d.ts +2172 -2
- package/dist/domain/permissions/index.cjs +3 -3
- package/dist/domain/permissions/index.d.cts +5 -4
- package/dist/domain/permissions/index.d.ts +5 -4
- package/dist/domain/permissions/index.js +1 -1
- package/dist/editor/index.cjs +4 -4
- package/dist/editor/index.d.cts +5 -2
- package/dist/editor/index.d.ts +5 -2
- package/dist/editor/index.js +3 -3
- package/dist/editor/types.d.cts +2 -2
- package/dist/editor/types.d.ts +2 -2
- package/dist/encryption/index.cjs +3 -3
- package/dist/encryption/index.d.cts +5 -3
- package/dist/encryption/index.d.ts +5 -3
- package/dist/encryption/index.js +2 -2
- package/dist/encryption/types.d.cts +4 -3
- package/dist/encryption/types.d.ts +4 -3
- package/dist/import/index.cjs +4 -4
- package/dist/import/index.d.cts +5 -2
- package/dist/import/index.d.ts +5 -2
- package/dist/import/index.js +3 -3
- package/dist/index.cjs +211 -127
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +934 -457
- package/dist/index.d.ts +934 -457
- package/dist/index.js +95 -44
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +5 -5
- package/dist/management/index.d.cts +60 -67
- package/dist/management/index.d.ts +60 -67
- package/dist/management/index.js +3 -3
- package/dist/management/types.d.cts +3 -3
- package/dist/management/types.d.ts +3 -3
- package/dist/metastore/index.cjs +4 -4
- package/dist/metastore/index.d.cts +5 -6
- package/dist/metastore/index.d.ts +5 -6
- package/dist/metastore/index.js +3 -3
- package/dist/metastore/types.d.cts +2 -2
- package/dist/metastore/types.d.ts +2 -2
- package/dist/notifications/index.cjs +5 -5
- package/dist/notifications/index.d.cts +3 -2
- package/dist/notifications/index.d.ts +3 -2
- package/dist/notifications/index.js +4 -4
- package/dist/notifications/types.d.cts +2 -2
- package/dist/notifications/types.d.ts +2 -2
- package/dist/oauth/index.cjs +4 -4
- package/dist/oauth/index.d.cts +2 -1
- package/dist/oauth/index.d.ts +2 -1
- package/dist/oauth/index.js +3 -3
- package/dist/oauth/types.d.cts +1 -1
- package/dist/oauth/types.d.ts +1 -1
- package/dist/omnisearch/index.cjs +14 -0
- package/dist/omnisearch/index.cjs.map +1 -0
- package/dist/omnisearch/index.d.cts +32 -0
- package/dist/omnisearch/index.d.ts +32 -0
- package/dist/omnisearch/index.js +5 -0
- package/dist/omnisearch/index.js.map +1 -0
- package/dist/omnisearch/types.cjs +4 -0
- package/dist/omnisearch/types.cjs.map +1 -0
- package/dist/omnisearch/types.d.cts +3 -0
- package/dist/omnisearch/types.d.ts +3 -0
- package/dist/omnisearch/types.js +3 -0
- package/dist/omnisearch/types.js.map +1 -0
- package/dist/{project-CXqPYo4T.d.ts → project-Dmr-zrQG.d.ts} +2 -2
- package/dist/{project-CZPvcxRW.d.cts → project-DstzWVMN.d.cts} +2 -2
- package/dist/queryService/index.cjs +4 -4
- package/dist/queryService/index.d.cts +3 -2
- package/dist/queryService/index.d.ts +3 -2
- package/dist/queryService/index.js +3 -3
- package/dist/queryService/types.d.cts +2 -2
- package/dist/queryService/types.d.ts +2 -2
- package/dist/queue/index.cjs +4 -4
- package/dist/queue/index.d.cts +8 -2
- package/dist/queue/index.d.ts +8 -2
- package/dist/queue/index.js +3 -3
- package/dist/queue/types.d.cts +2 -2
- package/dist/queue/types.d.ts +2 -2
- package/dist/scheduler/index.cjs +5 -5
- package/dist/scheduler/index.d.cts +2 -1
- package/dist/scheduler/index.d.ts +2 -1
- package/dist/scheduler/index.js +4 -4
- package/dist/scheduler/types.d.cts +3 -3
- package/dist/scheduler/types.d.ts +3 -3
- package/dist/sdk/configurations/index.cjs +3 -3
- package/dist/sdk/configurations/index.d.cts +7 -6
- package/dist/sdk/configurations/index.d.ts +7 -6
- package/dist/sdk/configurations/index.js +2 -2
- package/dist/sdk/queryService/index.cjs +16 -0
- package/dist/sdk/queryService/index.cjs.map +1 -0
- package/dist/sdk/queryService/index.d.cts +35 -0
- package/dist/sdk/queryService/index.d.ts +35 -0
- package/dist/sdk/queryService/index.js +7 -0
- package/dist/sdk/queryService/index.js.map +1 -0
- package/dist/sdk/semanticLayer/index.cjs +18 -14
- package/dist/sdk/semanticLayer/index.d.cts +25 -10
- package/dist/sdk/semanticLayer/index.d.ts +25 -10
- package/dist/sdk/semanticLayer/index.js +2 -2
- package/dist/sdk/semanticLayer/types.d.cts +25 -5
- package/dist/sdk/semanticLayer/types.d.ts +25 -5
- package/dist/sdk/storage/index.cjs +12 -11
- package/dist/sdk/storage/index.d.cts +7 -6
- package/dist/sdk/storage/index.d.ts +7 -6
- package/dist/sdk/storage/index.js +2 -1
- package/dist/sdk/tag/index.cjs +3 -3
- package/dist/sdk/tag/index.d.cts +3 -3
- package/dist/sdk/tag/index.d.ts +3 -3
- package/dist/sdk/tag/index.js +2 -2
- package/dist/sdk/tag/types.d.cts +10 -4
- package/dist/sdk/tag/types.d.ts +10 -4
- package/dist/sdk/vault/index.cjs +8 -8
- package/dist/sdk/vault/index.d.cts +5 -4
- package/dist/sdk/vault/index.d.ts +5 -4
- package/dist/sdk/vault/index.js +2 -2
- package/dist/status/index.cjs +2 -2
- package/dist/status/index.js +1 -1
- package/dist/storage/index.cjs +50 -12
- package/dist/storage/index.d.cts +17 -36
- package/dist/storage/index.d.ts +17 -36
- package/dist/storage/index.js +7 -5
- package/dist/storage/types.d.cts +720 -425
- package/dist/storage/types.d.ts +720 -425
- package/dist/{storageClient-Dkcg7hKa.d.cts → storageClient-BAid0vi2.d.cts} +478 -247
- package/dist/{storageClient-Cd4jVt58.d.ts → storageClient-BX50Attd.d.ts} +478 -247
- package/dist/{storageSdk-L6NOdgSJ.d.ts → storageSdk-BS5982c_.d.cts} +22 -15
- package/dist/{storageSdk-15_Fbucc.d.cts → storageSdk-BeJcnEIO.d.ts} +22 -15
- package/dist/stream/index.cjs +4 -4
- package/dist/stream/index.d.cts +3 -2
- package/dist/stream/index.d.ts +3 -2
- package/dist/stream/index.js +3 -3
- package/dist/stream/types.d.cts +2 -2
- package/dist/stream/types.d.ts +2 -2
- package/dist/syncActions/index.cjs +6 -5
- package/dist/syncActions/index.d.cts +31 -76
- package/dist/syncActions/index.d.ts +31 -76
- package/dist/syncActions/index.js +5 -4
- package/dist/syncActions/types.d.cts +334 -18
- package/dist/syncActions/types.d.ts +334 -18
- package/dist/telemetry/index.cjs +4 -4
- package/dist/telemetry/index.js +3 -3
- package/dist/{types-DbAO-Tgk.d.ts → types-BALUbGA5.d.ts} +10 -2
- package/dist/{types-B30y9Lhc.d.ts → types-BCBF_5cU.d.cts} +186 -4
- package/dist/{types-B-vmDlWB.d.cts → types-BPKQRahf.d.cts} +3 -3
- package/dist/types-BcaALDYY.d.cts +2130 -0
- package/dist/{types-BfuVN8Pk.d.cts → types-Bom93Zx2.d.cts} +3 -3
- package/dist/types-Bp8d9PJf.d.cts +607 -0
- package/dist/types-BsejtGjZ.d.ts +2130 -0
- package/dist/{types-DeoA45gz.d.cts → types-BuEkMmKT.d.ts} +491 -308
- package/dist/{types-BqC3U0k0.d.cts → types-C5DdOzx8.d.cts} +1 -1
- package/dist/{types-D-MuJHwl.d.cts → types-CFeOCzzg.d.cts} +3 -2
- package/dist/{types-DpUcInCX.d.ts → types-COti0FGo.d.ts} +3 -3
- package/dist/{types-Dkipk6NN.d.ts → types-C_jxWM7A.d.ts} +1 -1
- package/dist/{types-CM1zHzgm.d.ts → types-Cffam0Nw.d.ts} +856 -36
- package/dist/{types-BieLFMW1.d.cts → types-CfzHhZVG.d.ts} +3 -3
- package/dist/{types-DYnHIm7m.d.cts → types-CniF_D1P.d.cts} +3 -3
- package/dist/{types-BEnE7LHB.d.cts → types-CwAYn1EJ.d.cts} +10 -2
- package/dist/{types-DgSyBwP3.d.cts → types-CxAH36ip.d.cts} +3 -3
- package/dist/{types-DwMezEHT.d.ts → types-D2qGShlS.d.ts} +15 -3
- package/dist/{types-CSZoV4lM.d.cts → types-D6dnnju2.d.ts} +186 -4
- package/dist/{types-CrLjE5xf.d.ts → types-DM1glEQI.d.ts} +3 -3
- package/dist/{types-Hj1CaKtV.d.ts → types-DNyZ0z3L.d.cts} +491 -308
- package/dist/types-DOc5_aYZ.d.ts +607 -0
- package/dist/{types-DHXZZKb3.d.ts → types-Dpwb4dD0.d.ts} +3 -3
- package/dist/{types-YzkNUuYo.d.ts → types-DrGnvgkB.d.ts} +3 -3
- package/dist/{types-00IaLn3S.d.ts → types-EZBBpiFU.d.ts} +695 -82
- package/dist/{types-BX1xr4CX.d.cts → types-Y1ynT2PH.d.cts} +15 -3
- package/dist/{types-sVyfECai.d.cts → types-cxk-0ftN.d.cts} +695 -82
- package/dist/{types-DeS-oVdn.d.ts → types-ebolWqn1.d.ts} +3 -2
- package/dist/{types-gcShAmmi.d.cts → types-f8dUjMX4.d.cts} +1 -1
- package/dist/{types-gcShAmmi.d.ts → types-f8dUjMX4.d.ts} +1 -1
- package/dist/{types-CiJ5ULtS.d.ts → types-nt7I4XNc.d.cts} +3 -3
- package/dist/{types-Cgh3jqrV.d.cts → types-qvle4Ydu.d.cts} +856 -36
- package/dist/vault/index.cjs +4 -4
- package/dist/vault/index.d.cts +2 -1
- package/dist/vault/index.d.ts +2 -1
- package/dist/vault/index.js +3 -3
- package/dist/vault/types.d.cts +3 -3
- package/dist/vault/types.d.ts +3 -3
- package/package.json +71 -3
- package/surface/ai.md +1 -0
- package/surface/apps.md +32 -0
- package/surface/auth.md +6 -4
- package/surface/chat.md +1 -0
- package/surface/dataScience.md +1 -0
- package/surface/editor.md +1 -0
- package/surface/encryption.md +1 -0
- package/surface/import.md +1 -0
- package/surface/kaiAgent.md +1 -0
- package/surface/management.md +17 -16
- package/surface/metastore.md +2 -1
- package/surface/notifications.md +1 -0
- package/surface/oauth.md +1 -0
- package/surface/omnisearch.md +9 -0
- package/surface/queryService.md +1 -0
- package/surface/queue.md +7 -6
- package/surface/scheduler.md +1 -0
- package/surface/sdk.md +16 -16
- package/surface/storage.md +119 -83
- package/surface/stream.md +1 -0
- package/surface/syncActions.md +13 -6
- package/surface/vault.md +1 -0
- package/dist/chunk-34GM6NXB.js.map +0 -1
- package/dist/chunk-3BFPNM2J.js.map +0 -1
- package/dist/chunk-3YWQQ3OG.cjs.map +0 -1
- package/dist/chunk-4VVF2PIX.js.map +0 -1
- package/dist/chunk-77LILJYX.js.map +0 -1
- package/dist/chunk-7R22VKV7.cjs.map +0 -1
- package/dist/chunk-7RO6PKZ4.cjs +0 -16
- package/dist/chunk-7YXL4FKN.cjs.map +0 -1
- package/dist/chunk-7Z4MU7ZB.js.map +0 -1
- package/dist/chunk-AFJGNBVM.cjs.map +0 -1
- package/dist/chunk-AVH6F5LB.js.map +0 -1
- package/dist/chunk-AXEANGGK.js +0 -226
- package/dist/chunk-AXEANGGK.js.map +0 -1
- package/dist/chunk-BR6WZE3O.cjs.map +0 -1
- package/dist/chunk-BZA3FGO6.js.map +0 -1
- package/dist/chunk-CV2JGHBN.js.map +0 -1
- package/dist/chunk-CWUQ6ZAO.cjs.map +0 -1
- package/dist/chunk-D4WOOKMI.js.map +0 -1
- package/dist/chunk-DRNOCC6W.cjs.map +0 -1
- package/dist/chunk-F6ZAYTBX.cjs.map +0 -1
- package/dist/chunk-FJBP3MRI.cjs.map +0 -1
- package/dist/chunk-FMS5PNM2.cjs.map +0 -1
- package/dist/chunk-G66EP527.js.map +0 -1
- package/dist/chunk-GF4XZK5N.cjs.map +0 -1
- package/dist/chunk-HMCZUHR7.js.map +0 -1
- package/dist/chunk-HTVJR5WS.cjs +0 -305
- package/dist/chunk-HTVJR5WS.cjs.map +0 -1
- package/dist/chunk-HY7J3OD3.cjs.map +0 -1
- package/dist/chunk-IAYPOSMM.cjs.map +0 -1
- package/dist/chunk-IDWGBCSB.cjs.map +0 -1
- package/dist/chunk-J3NLKXQ5.cjs.map +0 -1
- package/dist/chunk-KEFXOJD7.js.map +0 -1
- package/dist/chunk-KUYVBCUM.cjs.map +0 -1
- package/dist/chunk-L262THNK.cjs +0 -253
- package/dist/chunk-L262THNK.cjs.map +0 -1
- package/dist/chunk-LD3JERYP.js.map +0 -1
- package/dist/chunk-LIXSIM3H.cjs.map +0 -1
- package/dist/chunk-MMOAH3EH.cjs.map +0 -1
- package/dist/chunk-NVRVPWNY.js.map +0 -1
- package/dist/chunk-OUSPQ55W.js.map +0 -1
- package/dist/chunk-PPQF7LTS.cjs.map +0 -1
- package/dist/chunk-RVBGE2Z4.js.map +0 -1
- package/dist/chunk-S4JK7DKM.js.map +0 -1
- package/dist/chunk-SJZ66FD5.js.map +0 -1
- package/dist/chunk-T242YFMT.cjs.map +0 -1
- package/dist/chunk-UABYNGBZ.js.map +0 -1
- package/dist/chunk-UP5SEEYZ.js.map +0 -1
- package/dist/chunk-UQ5CACMW.js +0 -283
- package/dist/chunk-UQ5CACMW.js.map +0 -1
- package/dist/chunk-UWQUHP3T.cjs.map +0 -1
- package/dist/chunk-XHDYLUM4.js.map +0 -1
- package/dist/chunk-XIIER7QQ.js.map +0 -1
- package/dist/chunk-XKIENBIE.js.map +0 -1
- package/dist/chunk-Z3HZ4MP4.cjs.map +0 -1
- package/dist/utils-B_SOM1XR.d.ts +0 -3051
- package/dist/utils-DK7uJcmR.d.cts +0 -3051
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/ApiError.ts","../src/internal.ts","../src/fetchClient/createFetchClient/utils.ts","../src/fetchClient/createFetchClient/createFetchClient.ts","../src/fetchClient/createGenericFetchClient.ts","../src/fetchClient/xhrFetch.ts","../src/fetchClient/createOpenapiFetchClient.ts"],"names":["qs"],"mappings":";;;;;;;;;AAEO,IAAM,QAAA,GAAN,cAAuB,KAAA,CAAM;AAAA,EAClC,QAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EAEA,WAAA,CAAY,EAAE,QAAA,EAAU,OAAA,EAAS,MAAK,EAAgB;AACpD,IAAA,KAAA,CAAM,SAAS,UAAU,CAAA;AACzB,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAChB,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,EACd;AACF;;;ACVO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,iBAAA,EAAmB,oBAAA;AAAA,EACnB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,eAAA,EAAiB,kBAAA;AAAA,EACjB,UAAA,EAAY;AACd;AAEO,IAAM,UAAA,GAAa;AAAA,EACxB,UAAA,EAAY,GAAA;AAAA,EACZ,WAAA,EAAa,GAAA;AAAA,EACb,YAAA,EAAc,GAAA;AAAA,EACd,oBAAA,EAAsB,GAAA;AAAA,EACtB,qBAAA,EAAuB,GAAA;AAAA,EACvB,WAAA,EAAa,GAAA;AAAA,EACb,mBAAA,EAAqB,GAAA;AAAA,EACrB,eAAA,EAAiB;AACnB;AAEO,IAAM,sBAAA,GAAyB;ACN/B,IAAM,mBAAmB,CAAC,OAAA,KAA4B,OAAA,CAAQ,OAAA,CAAQ,QAAQ,EAAE;AAEhF,IAAM,UAAA,GAAa;AAAA,EACxB,YAAA,EAAc,cAAA;AAAA,EACd,mBAAA,EAAqB,qBAAA;AAAA,EACrB,aAAA,EAAe;AACjB;AAEO,IAAM,eAAA,GAAkB;AAAA,EAC7B,IAAA,EAAM,kBAAA;AAAA,EACN,UAAA,EAAY,YAAA;AAAA,EACZ,SAAA,EAAW,qBAAA;AAAA,EACX,SAAA,EAAW;AACb;AAEO,IAAM,qBAAA,GAA0C,CAAC,EAAE,QAAA,OACxD,QAAA,CAAS,MAAA,IAAU,GAAA,IAAO,QAAA,CAAS,MAAA,IAAU;AAE/C,SAAS,gBAAgB,GAAA,EAA6B;AACpD,EAAA,MAAM,OAAA,GAAU,EAAE,GAAG,GAAA,EAAI;AACzB,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,OAAO,CAAA,EAAG;AAClD,IAAA,IAAI,KAAA,IAAS,IAAA,EAAM,OAAO,OAAA,CAAQ,GAAG,CAAA;AAAA,EACvC;AACA,EAAA,OAAO,OAAA;AACT;AAEO,IAAM,SAAA,GAAY,OAAO,QAAA,KAAuB;AACrD,EAAA,IAAI,QAAA,CAAS,MAAA,KAAW,UAAA,CAAW,UAAA,EAAY,OAAO,IAAA;AAGtD,EAAA,MAAM,WAAA,GAAc,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,WAAW,YAAY,CAAA;AAChE,EAAA,IAAI,WAAA,IAAe,WAAA,IAAe,eAAA,CAAgB,IAAA,EAAM;AACtD,IAAA,OAAO,SAAS,IAAA,EAAK;AAAA,EACvB;AAIA,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,EAAA,IAAI;AACF,IAAA,OAAO,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,EACxB,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;AAAA,EACT;AACF,CAAA;AAGA,IAAM,gBAAA,GAAmB,CAAC,WAAA,KAAyC;AACjE,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,WAAW,CAAA,EAAG,OAAO,WAAA;AACvC,EAAA,IAAI,WAAA,YAAuB,SAAS,OAAO,WAAA;AAC3C,EAAA,IAAI,WAAA,IAAe,MAAM,OAAO,WAAA;AAEhC,EAAA,OAAO,gBAAgB,WAAW,CAAA;AACpC,CAAA;AAEA,IAAM,aAAA,GAAgB,CACpB,YAAA,EACA,YAAA,KACG;AACH,EAAA,MAAM,QAAA,GAAW,IAAI,OAAA,CAAQ,gBAAA,CAAiB,YAAY,CAAC,CAAA;AAC3D,EAAA,MAAM,QAAA,GAAW,IAAI,OAAA,CAAQ,gBAAA,CAAiB,YAAY,CAAC,CAAA;AAE3D,EAAA,QAAA,CAAS,OAAA,CAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AAC/B,IAAA,QAAA,CAAS,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,EACzB,CAAC,CAAA;AAED,EAAA,OAAO,QAAA;AACT,CAAA;AAEO,IAAM,UAAA,GAAa,CAAC,IAAA,EAAc,SAAA,GAAuB,EAAC,KAC/D,IAAA,CAAK,OAAA,CAAQ,aAAA,EAAe,CAAC,CAAA,EAAG,GAAA,KAAQ;AACtC,EAAA,IAAI,EAAE,GAAA,IAAO,SAAA,CAAA;AACX,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,gBAAA,EAAmB,GAAG,CAAA,0BAAA,EAA6B,IAAI,CAAA,CAAA,CAAG,CAAA;AAE5E,EAAA,OAAO,kBAAA,CAAmB,SAAA,CAAU,GAAG,CAAE,CAAA;AAC3C,CAAC,CAAA;AAEI,IAAM,YAAA,GAAe,CAC1B,KAAA,EACA,OAAA,GAAkD,EAAC,KAChD;AACH,EAAA,OAAOA,mBAAA,CAAG,UAAU,KAAA,EAAO;AAAA,IACzB,gBAAA,EAAkB,IAAA;AAAA,IAClB,SAAA,EAAW,IAAA;AAAA,IACX,GAAG;AAAA,GACJ,CAAA;AACH,CAAA;AAEO,IAAM,UAAA,GAAa,CAAC,IAAA,EAAiB,OAAA,KAAqB;AAC/D,EAAA,IAAI,IAAA,IAAQ,MAAM,OAAO,IAAA;AACzB,EAAA,IAAI,IAAA,YAAgB,UAAU,OAAO,IAAA;AACrC,EAAA,IAAI,OAAO,IAAA,KAAS,QAAA,EAAU,OAAO,IAAA;AAErC,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,SAAA,CAAU,IAAI,CAAA;AACzC,EAAA,MAAM,UAAA,GAAa,aAAA,KAAkB,IAAA,GAAO,IAAA,GAAO,aAAA;AACnD,EAAA,IAAI,YAAY,OAAA,CAAQ,GAAA,CAAI,UAAA,CAAW,YAAA,EAAc,gBAAgB,IAAI,CAAA;AAEzE,EAAA,OAAO,UAAA;AACT,CAAA;AAEO,IAAM,6BAAA,GAAgC,CAAC,kBAAA,KAAuC;AAEnF,EAAA,MAAM,QAAQ,MAAM;AAClB,IAAA,MAAM,SAAA,GAAY,kBAAA,EAAoB,KAAA,CAAM,8BAA8B,CAAA;AAC1E,IAAA,OAAQ,SAAA,GAAY,CAAC,CAAA,EAAG,WAAA,EAAY,IAAK,SAAA;AAAA,EAC3C,CAAA,GAAG;AAGH,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,MAAM,aAAA,GAAgB,kBAAA,EAAoB,KAAA,CAAM,qBAAqB,CAAA;AACrE,IAAA,IAAI,aAAA,EAAe,OAAO,aAAA,CAAc,CAAC,CAAA;AAGzC,IAAA,MAAM,oBAAA,GAAuB,kBAAA,EAAoB,KAAA,CAAM,iCAAiC,CAAA;AACxF,IAAA,IAAI,uBAAuB,CAAC,CAAA,SAAU,kBAAA,CAAmB,oBAAA,CAAqB,CAAC,CAAC,CAAA;AAGhF,IAAA,MAAM,qBAAA,GAAwB,kBAAA,EAAoB,KAAA,CAAM,mBAAmB,CAAA;AAC3E,IAAA,OAAO,qBAAA,GAAwB,CAAC,CAAA,IAAK,IAAA;AAAA,EACvC,CAAA,GAAG;AAGH,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEO,IAAM,qBAA2C,CAAC;AAAA,EACvD,GAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAU,EAAC;AAAA,EACX;AACF,CAAA,KAAM;AACJ,EAAA,MAAM;AAAA,IACJ,OAAA;AAAA,IACA,gBAAgB,iBAAA,GAAoB,qBAAA;AAAA,IACpC,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS,cAAA;AAAA,IACT,GAAG;AAAA,GACL,GAAI,cAAA;AACJ,EAAA,MAAM;AAAA,IACJ,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA,EAAS,eAAA;AAAA,IACT,OAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,OAAA;AAEJ,EAAA,MAAM,OAAA,GAAU,aAAA,CAAc,cAAA,EAAgB,eAAe,CAAA;AAC7D,EAAA,MAAM,IAAA,GAAO,UAAA,CAAW,GAAA,EAAK,MAAA,CAAO,IAAI,CAAA;AACxC,EAAA,MAAM,MAAA,GAAS,aAAa,MAAA,CAAO,KAAA,IAAS,EAAC,EAAG,EAAE,WAAA,EAAa,gBAAA,EAAkB,CAAA;AACjF,EAAA,MAAM,IAAA,GAAO,UAAA,CAAW,MAAA,CAAO,IAAA,EAAM,OAAO,CAAA;AAE5C,EAAA,MAAM,cAAc,IAAI,GAAA,CAAI,gBAAA,CAAiB,OAAO,IAAI,IAAI,CAAA;AAC5D,EAAA,WAAA,CAAY,MAAA,GAAS,MAAA;AAErB,EAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAQ,WAAA,EAAa;AAAA,IACvC,GAAG,kBAAA;AAAA,IACH,GAAG,WAAA;AAAA,IACH,OAAA;AAAA,IACA,MAAA,EAAQ,OAAO,WAAA,EAAY;AAAA,IAC3B;AAAA,GACD,CAAA;AAED,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,gBAAgB,cAAA,IAAkB,iBAAA;AAAA,IAClC,SAAS,OAAA,IAAW;AAAA,GACtB;AACF,CAAA;;;ACzKO,IAAM,UAAA,GAAa,CAAC,KAAA,KAAsC,KAAA,YAAiB;AAE3E,IAAM,eAAe,CAAC,KAAA,KAC3B,KAAA,YAAiB,YAAA,IAAgB,MAAM,IAAA,KAAS;AAE3C,IAAM,kBAAA,GAAqB,CAAC,KAAA,KACjC,KAAA,YAAiB,aAAa,KAAA,YAAiB,WAAA,IAAe,WAAW,KAAK;AAIhF,IAAM,YAAyB,OAAO,EAAE,SAAS,cAAA,EAAgB,OAAA,GAAU,OAAM,KAAM;AACrF,EAAA,MAAM,QAAA,GAAW,MAAM,OAAA,CAAQ,OAAO,CAAA;AACtC,EAAA,MAAM,IAAA,GAAO,MAAM,SAAA,CAAU,QAAQ,CAAA;AAErC,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,OAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,WAAA,GAAc,eAAe,WAAW,CAAA;AAC9C,EAAA,IAAI,UAAA,CAAW,WAAW,CAAA,EAAG,MAAM,WAAA;AACnC,EAAA,IAAI,CAAC,WAAA,EAAa,MAAM,IAAI,SAAS,WAAW,CAAA;AAEhD,EAAA,OAAO,WAAA;AACT,CAAA;AAEO,IAAM,oBAAoB,CAAC;AAAA,EAChC,cAAc,EAAC;AAAA,EACf,GAAG;AACL,CAAA,KAAgC;AAC9B,EAAA,MAAM,uBAAuB,WAAA,CAAY,WAAA;AAAA,IACvC,CAAC,IAAA,EAAM,UAAA,KAAe,UAAA,CAAW,IAAI,CAAA;AAAA,IACrC;AAAA,GACF;AAEA,EAAA,MAAM,iBAAA,GACJ,CAAC,MAAA,KACD,OAAO,KAAa,MAAA,EAAyB,OAAA,GAA8B,EAAC,KAAM;AAChF,IAAA,MAAM,UAAU,kBAAA,CAAmB;AAAA,MACjC,GAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,iBAAA,GAAoB,OAAA,EAAS,WAAA,IAAe,EAAC;AAEnD,IAAA,OAAO,iBAAA,CAAkB,WAAA;AAAA,MACvB,CAAC,IAAA,EAAM,UAAA,KAAe,UAAA,CAAW,IAAI,CAAA;AAAA,MACrC;AAAA,MACA,OAAO,CAAA;AAAA,EACX,CAAA;AAEF,EAAA,OAAO;AAAA,IACL,GAAA,EAAK,kBAAkB,KAAK,CAAA;AAAA,IAC5B,IAAA,EAAM,kBAAkB,MAAM,CAAA;AAAA,IAC9B,GAAA,EAAK,kBAAkB,KAAK,CAAA;AAAA,IAC5B,KAAA,EAAO,kBAAkB,OAAO,CAAA;AAAA,IAChC,MAAA,EAAQ,kBAAkB,QAAQ;AAAA,GACpC;AACF,CAAA;;;AC7CO,IAAM,wBAAA,GAA2B,CAAC,cAAA,KACvC,iBAAA,CAAkB,cAAc;;;ACvBlC,IAAM,oBAAA,GAAuB,CAAC,GAAA,KAAgB;AAC5C,EAAA,MAAM,OAAA,GAAU,IAAI,OAAA,EAAQ;AAE5B,EAAA,KAAA,MAAW,QAAQ,GAAA,CAAI,IAAA,EAAK,CAAE,KAAA,CAAM,SAAS,CAAA,EAAG;AAC9C,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA;AAClC,IAAA,IAAI,YAAY,CAAA,EAAG;AAEnB,IAAA,OAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,SAAS,CAAA,CAAE,IAAA,EAAK,EAAG,IAAA,CAAK,KAAA,CAAM,SAAA,GAAY,CAAC,CAAA,CAAE,MAAM,CAAA;AAAA,EAClF;AAEA,EAAA,OAAO,OAAA;AACT,CAAA;AAEA,IAAM,gBAAA,GAAmB,MAAM,IAAI,YAAA,CAAa,8BAA8B,YAAY,CAAA;AAG1F,IAAM,iBAAA,GAAoB,CAAC,GAAA,EAAK,GAAG,CAAA;AAEnC,IAAM,gBAAA,GAAmB,CAAC,KAAA,EAAO,MAAM,CAAA;AAMhC,IAAM,QAAA,GAAW,CAAC,UAAA,KAA4D;AACnF,EAAA,OAAO,OAAO,OAAO,IAAA,KAAS;AAG5B,IAAA,IAAI,OAAO,cAAA,KAAmB,WAAA,EAAa,OAAO,KAAA,CAAM,OAAO,IAAI,CAAA;AAEnE,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAQ,KAAA,EAAO,IAAI,CAAA;AACvC,IAAA,MAAM,IAAA,GAAO,iBAAiB,QAAA,CAAS,OAAA,CAAQ,MAAM,CAAA,GAAI,IAAA,GAAO,MAAM,OAAA,CAAQ,IAAA,EAAK;AAEnF,IAAA,IAAI,OAAA,CAAQ,MAAA,CAAO,OAAA,EAAS,MAAM,gBAAA,EAAiB;AAEnD,IAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAS,MAAA,EAAO,GAAI,QAAQ,aAAA,EAAwB;AACrE,IAAA,MAAM,GAAA,GAAM,IAAI,cAAA,EAAe;AAE/B,IAAA,MAAM,cAAA,GAAiB,CAAC,KAAA,KAAyB;AAC/C,MAAA,IAAI,CAAC,MAAM,gBAAA,EAAkB;AAE7B,MAAA,UAAA,CAAW;AAAA,QACT,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,OAAA,EAAU,KAAA,CAAM,MAAA,GAAS,KAAA,CAAM,KAAA,GAAS;AAAA,OACzC,CAAA;AAAA,IACH,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,OAAA;AAAA,QACE,IAAI,SAAS,iBAAA,CAAkB,QAAA,CAAS,IAAI,MAAM,CAAA,GAAI,IAAA,GAAO,GAAA,CAAI,QAAA,EAAU;AAAA,UACzE,QAAQ,GAAA,CAAI,MAAA;AAAA,UACZ,YAAY,GAAA,CAAI,UAAA;AAAA,UAChB,OAAA,EAAS,oBAAA,CAAqB,GAAA,CAAI,qBAAA,EAAuB;AAAA,SAC1D;AAAA,OACH;AAAA,IACF,CAAA;AAGA,IAAA,MAAM,cAAc,MAAM,MAAA,CAAO,IAAI,SAAA,CAAU,iBAAiB,CAAC,CAAA;AACjE,IAAA,MAAM,WAAA,GAAc,MAAM,MAAA,CAAO,gBAAA,EAAkB,CAAA;AAEnD,IAAA,GAAA,CAAI,IAAA,CAAK,OAAA,CAAQ,MAAA,EAAQ,OAAA,CAAQ,KAAK,IAAI,CAAA;AAC1C,IAAA,GAAA,CAAI,YAAA,GAAe,MAAA;AACnB,IAAA,GAAA,CAAI,eAAA,GAAkB,QAAQ,WAAA,KAAgB,SAAA;AAI9C,IAAA,OAAA,CAAQ,OAAA,CAAQ,QAAQ,CAAC,KAAA,EAAO,SAAS,GAAA,CAAI,gBAAA,CAAiB,IAAA,EAAM,KAAK,CAAC,CAAA;AAE1E,IAAA,GAAA,CAAI,MAAA,CAAO,gBAAA,CAAiB,UAAA,EAAY,cAAc,CAAA;AACtD,IAAA,GAAA,CAAI,gBAAA,CAAiB,QAAQ,UAAU,CAAA;AACvC,IAAA,GAAA,CAAI,gBAAA,CAAiB,SAAS,WAAW,CAAA;AACzC,IAAA,GAAA,CAAI,gBAAA,CAAiB,SAAS,WAAW,CAAA;AACzC,IAAA,OAAA,CAAQ,MAAA,CAAO,gBAAA,CAAiB,OAAA,EAAS,MAAM,GAAA,CAAI,OAAM,EAAG,EAAE,IAAA,EAAM,IAAA,EAAM,CAAA;AAE1E,IAAA,GAAA,CAAI,KAAK,IAAI,CAAA;AAEb,IAAA,OAAO,OAAA;AAAA,EACT,CAAA;AACF;;;ACjDO,IAAM,wBAAA,GAA2B,CACtC,cAAA,KACG,iBAAA,CAAkB,cAAc","file":"chunk-MMOAH3EH.cjs","sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nexport class ApiError extends Error {\n response: Response;\n request: Request;\n data: unknown;\n\n constructor({ response, request, data }: ApiResponse) {\n super(response.statusText);\n this.response = response;\n this.request = request;\n this.data = data;\n }\n}\n","// Package-internal constants. Not part of the public\n// `@keboola/api-client/constants` sub-path (that is the `constants/` directory).\n\nexport const KeboolaHttpHeader = {\n STORAGE_API_TOKEN: 'X-StorageApi-Token',\n MANAGEMENT_API_TOKEN: 'X-Kbc-Manageapitoken',\n STORAGE_API_URL: 'x-storageapi-url',\n PROJECT_ID: 'X-KBC-ProjectId',\n} as const;\n\nexport const HttpStatus = {\n NO_CONTENT: 204,\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n} as const;\n\nexport const ENCRYPTED_VALUE_PREFIX = 'KBC::';\n","import type { IStringifyOptions } from 'qs';\nimport qs from 'qs';\n\nimport { HttpStatus } from '../../internal';\n\nimport type { BodyParam, CreateFetchRequestFn, PathParam, ValidateStatusFn } from './types';\n\n/**\n * Strips trailing slashes from a base URL so concatenating a leading-slash\n * path (e.g. `/v2/storage`) never produces a double slash.\n *\n * Without this, callers that pass `https://connection.keboola.com/` end up\n * issuing requests to `https://connection.keboola.com//v2/storage/...`, which\n * the Storage API rejects with a 404.\n */\nexport const normalizeBaseUrl = (baseUrl: string): string => baseUrl.replace(/\\/+$/, '');\n\nexport const HttpHeader = {\n CONTENT_TYPE: 'content-type',\n CONTENT_DISPOSITION: 'content-disposition',\n AUTHORIZATION: 'Authorization',\n};\n\nexport const HttpContentType = {\n JSON: 'application/json',\n TEXT_PLAIN: 'text/plain',\n FORM_DATA: 'multipart/form-data',\n TEXT_HTML: 'text/html',\n};\n\nexport const defaultValidateStatus: ValidateStatusFn = ({ response }) =>\n response.status >= 200 && response.status <= 299;\n\nfunction removeUndefined(obj: Record<string, string>) {\n const objCopy = { ...obj };\n for (const [key, value] of Object.entries(objCopy)) {\n if (value == null) delete objCopy[key];\n }\n return objCopy;\n}\n\nexport const parseData = async (response: Response) => {\n if (response.status === HttpStatus.NO_CONTENT) return null;\n\n // headers indicates that the content is JSON, so parse it.\n const contentType = response.headers.get(HttpHeader.CONTENT_TYPE);\n if (contentType && contentType == HttpContentType.JSON) {\n return response.json();\n }\n\n // try JSON parsing on the text\n // If it fails, return the string. The headers does not have a content type.\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch {\n return text;\n }\n};\n\n// Header instance serialize undefined value as `undefined`, we do not want that\nconst cleanHeadersInit = (headersInit: HeadersInit | undefined) => {\n if (Array.isArray(headersInit)) return headersInit;\n if (headersInit instanceof Headers) return headersInit;\n if (headersInit == null) return headersInit;\n\n return removeUndefined(headersInit);\n};\n\nconst createHeaders = (\n headersInitA: HeadersInit | undefined,\n headersInitB: HeadersInit | undefined,\n) => {\n const headersA = new Headers(cleanHeadersInit(headersInitA));\n const headersB = new Headers(cleanHeadersInit(headersInitB));\n\n headersB.forEach((value, key) => {\n headersA.set(key, value);\n });\n\n return headersA;\n};\n\nexport const createPath = (path: string, pathParam: PathParam = {}) =>\n path.replace(/\\{([^}]+)}/g, (_, key) => {\n if (!(key in pathParam))\n throw new Error(`Path parameter \"${key}\" is missing in the path \"${path}\"`);\n\n return encodeURIComponent(pathParam[key]!);\n });\n\nexport const createSearch = (\n query: Record<string, unknown>,\n options: Pick<IStringifyOptions, 'arrayFormat'> = {},\n) => {\n return qs.stringify(query, {\n encodeValuesOnly: true,\n skipNulls: true,\n ...options,\n });\n};\n\nexport const createBody = (body: BodyParam, headers: Headers) => {\n if (body == null) return null;\n if (body instanceof FormData) return body; // fetch automatically sets content-type header\n if (typeof body === 'string') return body; // fetch automatically sets content-type header\n\n const stringifyBody = JSON.stringify(body);\n const stringBody = stringifyBody === '{}' ? null : stringifyBody;\n if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);\n\n return stringBody;\n};\n\nexport const parseContentDispositionHeader = (contentDisposition?: string | null) => {\n // extract the type ('inline' or 'attachment'), default the type to 'unknown'\n const type = (() => {\n const typeMatch = contentDisposition?.match(/^\\s*(inline|attachment)\\s*;/i);\n return (typeMatch?.[1]?.toLowerCase() ?? 'unknown') as 'inline' | 'attachment' | 'unknown';\n })();\n\n // extract the filename, default the type to null\n const filename = (() => {\n const filenameMatch = contentDisposition?.match(/filename=\"([^\"]+)\"/i);\n if (filenameMatch) return filenameMatch[1];\n\n // If no filename=\"...\", check for encoded filename*=UTF-8''\n const encodedFilenameMatch = contentDisposition?.match(/filename\\*=(?:UTF-8'')?([^;]+)/i);\n if (encodedFilenameMatch?.[1]) return decodeURIComponent(encodedFilenameMatch[1]);\n\n // Check for unquoted filenames (rare but possible)\n const unquotedFilenameMatch = contentDisposition?.match(/filename=([^;]+)/i);\n return unquotedFilenameMatch?.[1] ?? null;\n })();\n\n // Return the parsed result\n return { type, filename };\n};\n\nexport const createFetchRequest: CreateFetchRequestFn = ({\n url,\n method,\n params,\n options = {},\n defaultOptions,\n}) => {\n const {\n baseUrl,\n validateStatus: defValidateStatus = defaultValidateStatus,\n headers: defaultHeaders,\n fetchFn: defaultFetchFn,\n ...restDefaultOptions\n } = defaultOptions;\n const {\n validateStatus,\n queryArrayFormat,\n headers: endpointHeaders,\n fetchFn,\n ...restOptions\n } = options;\n\n const headers = createHeaders(defaultHeaders, endpointHeaders);\n const path = createPath(url, params.path);\n const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });\n const body = createBody(params.body, headers);\n\n const urlInstance = new URL(normalizeBaseUrl(baseUrl) + path);\n urlInstance.search = search;\n\n const request = new Request(urlInstance, {\n ...restDefaultOptions,\n ...restOptions,\n headers,\n method: method.toUpperCase(),\n body,\n });\n\n return {\n request,\n validateStatus: validateStatus ?? defValidateStatus,\n fetchFn: fetchFn ?? defaultFetchFn,\n };\n};\n","import { ApiError } from '../../errors';\n\nimport type {\n BaseFetchParams,\n CoreFetchFn,\n CreateFetchClientOptions,\n FetchClientOptions,\n HttpMethod,\n} from './types';\nimport { createFetchRequest, parseData } from './utils';\n\nexport type FetchClientError = TypeError | ApiError | SyntaxError | DOMException;\n\nexport const isApiError = (error: unknown): error is ApiError => error instanceof ApiError;\n\nexport const isAbortError = (error: unknown): error is DOMException =>\n error instanceof DOMException && error.name === 'AbortError';\n\nexport const isFetchClientError = (error: unknown): error is FetchClientError =>\n error instanceof TypeError || error instanceof SyntaxError || isApiError(error);\n\n// `fetchFn` is resolved per request by `createFetchRequest` (endpoint option beats client option),\n// so a single request can swap the transport without rebuilding the client.\nconst coreFetch: CoreFetchFn = async ({ request, validateStatus, fetchFn = fetch }) => {\n const response = await fetchFn(request);\n const data = await parseData(response);\n\n const apiResponse = {\n request,\n response,\n data,\n };\n\n const boolOrError = validateStatus(apiResponse);\n if (isApiError(boolOrError)) throw boolOrError;\n if (!boolOrError) throw new ApiError(apiResponse);\n\n return apiResponse;\n};\n\nexport const createFetchClient = ({\n middlewares = [],\n ...defaultOptions\n}: CreateFetchClientOptions) => {\n const fetchWithMiddlewares = middlewares.reduceRight(\n (next, middleware) => middleware(next),\n coreFetch,\n );\n\n const createFetchMethod =\n (method: HttpMethod) =>\n async (url: string, params: BaseFetchParams, options: FetchClientOptions = {}) => {\n const request = createFetchRequest({\n url,\n method,\n params,\n defaultOptions,\n options,\n });\n\n const methodMiddlewares = options?.middlewares ?? [];\n\n return methodMiddlewares.reduceRight(\n (next, middleware) => middleware(next),\n fetchWithMiddlewares,\n )(request);\n };\n\n return {\n get: createFetchMethod('get'),\n post: createFetchMethod('post'),\n put: createFetchMethod('put'),\n patch: createFetchMethod('patch'),\n delete: createFetchMethod('delete'),\n };\n};\n","import type {\n ApiResponse,\n BodyParam,\n CreateFetchClientOptions,\n FetchClientOptions,\n PathParam,\n QueryParam,\n} from './createFetchClient';\nimport { createFetchClient } from './createFetchClient';\n\ntype FetchParams<Path = PathParam, Query = QueryParam, Body = BodyParam> = {\n path?: Path;\n query?: Query;\n body?: Body;\n};\n\ntype FetchMethod = <Data, Path = PathParam, Query = QueryParam, Body = BodyParam>(\n url: string,\n params: FetchParams<Path, Query, Body>,\n options?: FetchClientOptions,\n) => Promise<ApiResponse<Data>>;\n\ntype FetchClient = {\n get: FetchMethod;\n post: FetchMethod;\n put: FetchMethod;\n patch: FetchMethod;\n delete: FetchMethod;\n};\n\nexport const createGenericFetchClient = (defaultOptions: CreateFetchClientOptions) =>\n createFetchClient(defaultOptions) as FetchClient;\n","import type { FetchFn } from './createFetchClient';\n\nexport type UploadProgress = {\n loaded: number;\n total: number;\n percent: number;\n};\n\nconst parseResponseHeaders = (raw: string) => {\n const headers = new Headers();\n\n for (const line of raw.trim().split(/[\\r\\n]+/)) {\n const separator = line.indexOf(':');\n if (separator < 0) continue;\n\n headers.append(line.slice(0, separator).trim(), line.slice(separator + 1).trim());\n }\n\n return headers;\n};\n\nconst createAbortError = () => new DOMException('The operation was aborted.', 'AbortError');\n\n// `new Response(body)` throws for these statuses even when the body is empty.\nconst BODILESS_STATUSES = [204, 205];\n\nconst BODILESS_METHODS = ['GET', 'HEAD'];\n\n/**\n * A `fetch` implementation backed by XHR, for the `fetchFn` escape hatch: `fetch` cannot observe\n * request-body upload progress outside Chromium, `xhr.upload.onprogress` can.\n */\nexport const xhrFetch = (onProgress: (progress: UploadProgress) => void): FetchFn => {\n return async (input, init) => {\n // Node has no XHR, and asking for progress is not worth failing an upload over — the caller\n // simply gets no progress events there.\n if (typeof XMLHttpRequest === 'undefined') return fetch(input, init);\n\n const request = new Request(input, init);\n const body = BODILESS_METHODS.includes(request.method) ? null : await request.blob();\n\n if (request.signal.aborted) throw createAbortError();\n\n const { promise, resolve, reject } = Promise.withResolvers<Response>();\n const xhr = new XMLHttpRequest();\n\n const handleProgress = (event: ProgressEvent) => {\n if (!event.lengthComputable) return;\n\n onProgress({\n loaded: event.loaded,\n total: event.total,\n percent: (event.loaded / event.total) * 100,\n });\n };\n\n const handleLoad = () => {\n resolve(\n new Response(BODILESS_STATUSES.includes(xhr.status) ? null : xhr.response, {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseResponseHeaders(xhr.getAllResponseHeaders()),\n }),\n );\n };\n\n // `TypeError` for parity with `fetch` — `isFetchClientError` keys off it.\n const handleError = () => reject(new TypeError('Failed to fetch'));\n const handleAbort = () => reject(createAbortError());\n\n xhr.open(request.method, request.url, true);\n xhr.responseType = 'blob';\n xhr.withCredentials = request.credentials === 'include';\n\n // The body we send is the one this `Request` serialized, so its `content-type` — multipart\n // boundary included — describes those exact bytes and can be forwarded as-is.\n request.headers.forEach((value, name) => xhr.setRequestHeader(name, value));\n\n xhr.upload.addEventListener('progress', handleProgress);\n xhr.addEventListener('load', handleLoad);\n xhr.addEventListener('error', handleError);\n xhr.addEventListener('abort', handleAbort);\n request.signal.addEventListener('abort', () => xhr.abort(), { once: true });\n\n xhr.send(body);\n\n return promise;\n };\n};\n","import {\n type ApiResponse,\n createFetchClient,\n type CreateFetchClientOptions,\n type FetchClientOptions,\n type HttpMethod,\n} from './createFetchClient';\nimport type { OpenapiParametersType, OpenapiReturnType } from './types';\n\ntype OpenapiPaths<Paths> = {\n [P in keyof Paths]: {\n [M in HttpMethod]?: unknown;\n };\n};\n\ntype PathsWithMethod<Paths extends OpenapiPaths<Paths>, PathnameMethod extends HttpMethod> = {\n [Pathname in keyof Paths]: Paths[Pathname] extends {\n [K in PathnameMethod]: any;\n }\n ? Pathname\n : never;\n}[keyof Paths];\n\ntype FetchMethod<Paths extends OpenapiPaths<Paths>, Method extends HttpMethod> = <\n Path extends PathsWithMethod<Paths, Method>,\n>(\n url: Path,\n params: OpenapiParametersType<Paths[Path][Method]>,\n options?: FetchClientOptions,\n) => Promise<ApiResponse<OpenapiReturnType<Paths[Path][Method]>>>;\n\ntype FetchClient<Paths extends OpenapiPaths<Paths>> = {\n get: FetchMethod<Paths, 'get'>;\n post: FetchMethod<Paths, 'post'>;\n put: FetchMethod<Paths, 'put'>;\n patch: FetchMethod<Paths, 'patch'>;\n delete: FetchMethod<Paths, 'delete'>;\n};\n\nexport const createOpenapiFetchClient = <Paths extends OpenapiPaths<Paths>>(\n defaultOptions: CreateFetchClientOptions,\n) => createFetchClient(defaultOptions) as FetchClient<Paths>;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/chat/chatClient.ts"],"names":[],"mappings":"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","file":"chunk-NVRVPWNY.js","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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/auth/login/schemas.ts","../src/clients/auth/mfa/schemas.ts","../src/clients/auth/password/schemas.ts","../src/clients/auth/device/device.ts","../src/clients/auth/login/login.ts","../src/clients/auth/mfa/mfa.ts","../src/clients/auth/password/password.ts","../src/clients/auth/pat/pat.ts","../src/clients/auth/pkce/pkce.ts","../src/clients/auth/saml/saml.ts","../src/clients/auth/session/session.ts","../src/clients/auth/sudo/sudo.ts","../src/clients/auth/token/token.ts","../src/clients/auth/authClient.ts"],"names":["z2","z3","email"],"mappings":"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","file":"chunk-OUSPQ55W.js","sourcesContent":["import * as z from 'zod';\n\nexport const loginInputSchema = z.object({\n email: z.email(),\n password: z.string().min(1, 'Required'),\n});\n\nexport const oidcInputSchema = z.object({\n grantType: z.enum(['google', 'microsoft']),\n idToken: z.string().min(1, 'Required'),\n});\n\nexport type LoginInput = z.infer<typeof loginInputSchema>;\nexport type OidcInput = z.infer<typeof oidcInputSchema>;\n\nconst userSchema = z.object({\n id: z.number(),\n email: z.string(),\n name: z.string(),\n});\n\n// Success shape. The backend omits `mfaRequired` here, so we inject a `false`\n// literal to make the outcome a discriminated union on `mfaRequired`.\nexport const loginSuccessSchema = z.object({\n mfaRequired: z.literal(false).default(false),\n accessToken: z.string(),\n refreshToken: z.string(),\n tokenType: z.string(),\n expiresIn: z.number(),\n sessionId: z.string(),\n user: userSchema,\n});\n\n// MFA-challenge shape. `mfaRequired` is always true here — it is the discriminant.\nexport const mfaChallengeSchema = z.object({\n mfaRequired: z.literal(true),\n mfaType: z.string(),\n mfaToken: z.string(),\n expiresIn: z.number(),\n allowedMethods: z.array(z.string()),\n});\n\nexport const loginResultSchema = z.union([loginSuccessSchema, mfaChallengeSchema]);\n\nexport type LoginUser = z.infer<typeof userSchema>;\nexport type LoginSuccess = z.infer<typeof loginSuccessSchema>;\nexport type LoginResult = z.infer<typeof loginResultSchema>;\n","import * as z from 'zod';\n\nexport const mfaCodeInputSchema = z.object({\n mfaToken: z.string(),\n type: z.enum(['totp', 'recovery_code']),\n code: z.string().min(1, 'Required'),\n});\n\nexport const mfaWebauthnInputSchema = z.object({\n mfaToken: z.string(),\n assertion: z.string(),\n});\n\nexport type MfaCodeInput = z.infer<typeof mfaCodeInputSchema>;\nexport type MfaWebauthnInput = z.infer<typeof mfaWebauthnInputSchema>;\n","import * as z from 'zod';\n\nexport const resetRequestInputSchema = z.object({\n email: z.email(),\n});\n\nexport const resetInputSchema = z.object({\n // The single-use reset token (`kbc_pr_…`) delivered by e-mail.\n token: z.string().min(1, 'Required'),\n newPassword: z.string().min(1, 'Required'),\n // Revoke every session after the reset. Defaults to true (the backend's own default), so callers\n // may omit it; set false only to keep existing sessions alive. Password policy is backend-enforced.\n revokeSessions: z.boolean().default(true),\n});\n\nexport const changeInputSchema = z.object({\n currentPassword: z.string().min(1, 'Required'),\n newPassword: z.string().min(1, 'Required'),\n // Revoke every other session once the password changes. The schema fills in `true` on parse, so\n // the SDK always sends the field (matching the backend's own default); callers may omit it. Set\n // false only to keep the other sessions alive.\n revokeOtherSessions: z.boolean().default(true),\n});\n\nexport type ResetRequestInput = z.infer<typeof resetRequestInputSchema>;\n// `z.input`, not `z.infer`: callers may omit `revokeSessions` (the default fills it in on parse).\nexport type ResetInput = z.input<typeof resetInputSchema>;\n// `z.input`: callers may omit `revokeOtherSessions` (the default fills it in on parse).\nexport type ChangePasswordInput = z.input<typeof changeInputSchema>;\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type {\n ApproveDeviceAuthorizationBody,\n CreateDeviceAuthorizationBody,\n GetDeviceAuthorizationTokenBody,\n} from './types';\n\nexport const createDevice = (client: AuthOpenApiFetchClient) => {\n const create = async (body: CreateDeviceAuthorizationBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device', { body }, { signal });\n return data;\n };\n\n const approve = async (body: ApproveDeviceAuthorizationBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device/approve', { body }, { signal });\n return data;\n };\n\n const getToken = async (body: GetDeviceAuthorizationTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device/token', { body }, { signal });\n return data;\n };\n\n return { create, approve, getToken };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { LoginInput, OidcInput } from './schemas';\nimport { loginInputSchema, loginResultSchema, oidcInputSchema } from './schemas';\nimport type { LoginBody } from './types';\n\nexport const createLogin = (client: AuthOpenApiFetchClient) => {\n const _login = async (body: LoginBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/login', { body }, { signal });\n return data;\n };\n\n const withPassword = async (input: LoginInput, signal?: AbortSignal) => {\n const { email, password } = loginInputSchema.parse(input);\n // Cast: omit fields outside the grant — the backend rejects null.\n const data = await _login({ grantType: 'password', email, password } as LoginBody, signal);\n // Validate against our own schema — the generated response type is unreliable,\n // and this narrows the outcome to a discriminated union on `mfaRequired`.\n return loginResultSchema.parse(data);\n };\n\n const withOidc = async (input: OidcInput, signal?: AbortSignal) => {\n const { grantType, idToken } = oidcInputSchema.parse(input);\n // Cast: omit fields outside the grant — the backend rejects null.\n const data = await _login({ grantType, idToken } as LoginBody, signal);\n return loginResultSchema.parse(data);\n };\n\n return { withPassword, withOidc };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { MfaCodeInput, MfaWebauthnInput } from './schemas';\nimport { mfaCodeInputSchema, mfaWebauthnInputSchema } from './schemas';\nimport type { DisableTotpPath, TotpVerifyBody, VerifyMfaBody } from './types';\n\nexport const createMfa = (client: AuthOpenApiFetchClient) => {\n const _verify = async (body: VerifyMfaBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa', { body }, { signal });\n return data;\n };\n\n const verifyWithCode = async (input: MfaCodeInput, signal?: AbortSignal) => {\n const { mfaToken, type, code } = mfaCodeInputSchema.parse(input);\n // Cast: omit fields outside the type — the backend rejects null.\n return _verify({ mfaToken, type, code } as VerifyMfaBody, signal);\n };\n\n const verifyWithWebauthn = async (input: MfaWebauthnInput, signal?: AbortSignal) => {\n const { mfaToken, assertion } = mfaWebauthnInputSchema.parse(input);\n // Cast: omit fields outside the type — the backend rejects null.\n return _verify({ mfaToken, type: 'webauthn', assertion } as VerifyMfaBody, signal);\n };\n\n const regenerateRecoveryCodes = async (signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa/recovery-codes', {}, { signal });\n return data;\n };\n\n // TOTP enrollment for the signed-in user (account MFA management). `setup` returns the shared\n // secret + `otpauthUri` to render as a QR; `verify` confirms the first code and hands back the\n // one-time recovery codes plus the new factor `id`; `disable` removes a factor by that `id`.\n const totp = {\n setup: async (signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa/totp', {}, { signal });\n return data;\n },\n verify: async (input: TotpVerifyBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa/totp/verify', { body: input }, { signal });\n return data;\n },\n disable: async (id: DisableTotpPath['id'], signal?: AbortSignal) => {\n await client.delete('/v1/auth/mfa/totp/{id}', { path: { id } }, { signal });\n },\n };\n\n return { verifyWithCode, verifyWithWebauthn, regenerateRecoveryCodes, totp };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { ChangePasswordInput, ResetInput, ResetRequestInput } from './schemas';\nimport { changeInputSchema, resetInputSchema, resetRequestInputSchema } from './schemas';\n\nexport const createPassword = (client: AuthOpenApiFetchClient) => {\n // Fire-and-forget from the caller's view: the backend always answers 202 and reveals nothing about\n // whether the account exists. Resolves on 202; rejects on 429 (rate limited) or 400.\n const resetRequest = async (input: ResetRequestInput, signal?: AbortSignal) => {\n const body = resetRequestInputSchema.parse(input);\n await client.post('/v1/auth/password/reset-request', { body }, { signal });\n };\n\n // Applies the new password for the given reset token. Resolves on 204; rejects on 400 (invalid or\n // expired token, or a password that violates the policy).\n const reset = async (input: ResetInput, signal?: AbortSignal) => {\n // `revokeSessions` is defaulted by the schema, so the parsed body always carries all three\n // fields the endpoint requires — no field omission, no type assertion.\n const body = resetInputSchema.parse(input);\n await client.post('/v1/auth/password/reset', { body }, { signal });\n };\n\n // Changes the password for the signed-in user (bearer session). Resolves on 204; rejects on 400\n // (wrong current password, or a new password that violates the policy). Password policy is\n // backend-enforced.\n const change = async (input: ChangePasswordInput, signal?: AbortSignal) => {\n const body = changeInputSchema.parse(input);\n await client.post('/v1/auth/password/change', { body }, { signal });\n };\n\n return { resetRequest, reset, change };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { CreatePatBody, ExchangePatBody, RevokePatPath } from './types';\n\nexport const createPat = (client: AuthOpenApiFetchClient) => {\n const getAll = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v1/auth/pat', {}, { signal });\n return data;\n };\n\n const create = async (body: CreatePatBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pat', { body }, { signal });\n return data;\n };\n\n const exchange = async (body?: ExchangePatBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pat/exchange', { body }, { signal });\n return data;\n };\n\n const revoke = async (id: RevokePatPath['id'], signal?: AbortSignal) => {\n await client.delete('/v1/auth/pat/{id}', { path: { id } }, { signal });\n };\n\n return { create, exchange, revoke, getAll };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { GetPkceTokenBody } from './types';\n\nexport const createPkce = (client: AuthOpenApiFetchClient) => {\n const getToken = async (body: GetPkceTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pkce/token', { body }, { signal });\n return data;\n };\n\n return { getToken };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { AssertSamlBody, InitiateSamlBody } from './types';\n\nexport const createSaml = (client: AuthOpenApiFetchClient) => {\n const assert = async (body: AssertSamlBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/saml/assert', { body }, { signal });\n return data;\n };\n\n const initiate = async (body?: InitiateSamlBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/saml/initiate', { body }, { signal });\n return data;\n };\n\n return { assert, initiate };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { RevokeSessionPath } from './types';\n\nexport const createSession = (client: AuthOpenApiFetchClient) => {\n const getAll = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v1/auth/sessions', {}, { signal });\n return data;\n };\n\n const revoke = async (sessionId: RevokeSessionPath['sessionId'], signal?: AbortSignal) => {\n await client.delete('/v1/auth/sessions/{sessionId}', { path: { sessionId } }, { signal });\n };\n\n const revokeAll = async (signal?: AbortSignal) => {\n await client.delete('/v1/auth/sessions', {}, { signal });\n };\n\n return { getAll, revoke, revokeAll };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { SudoBody } from './types';\n\nexport const createSudo = (client: AuthOpenApiFetchClient) => {\n const verify = async (body: SudoBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/sudo', { body }, { signal });\n return data;\n };\n\n const challenge = async (signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/sudo/challenge', {}, { signal });\n return data;\n };\n\n return { verify, challenge };\n};\n","import { HttpHeader } from '../../../fetchClient';\nimport type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { RevokeTokenBody } from './types';\n\nexport const createToken = (client: AuthOpenApiFetchClient) => {\n const refresh = async (refreshToken: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/v1/auth/token/refresh',\n { body: { refreshToken } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Introspects an authenticated session token.\n *\n * @param token - Optional token to introspect (`Authorization: Bearer`); a middleware-set header wins.\n */\n const introspect = async (token?: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v1/auth/token/introspect',\n {},\n { signal, headers: token ? { [HttpHeader.AUTHORIZATION]: `Bearer ${token}` } : undefined },\n );\n return data;\n };\n\n const revoke = async (body: RevokeTokenBody, signal?: AbortSignal) => {\n await client.post('/v1/auth/token/revoke', { body }, { signal });\n };\n\n return { refresh, introspect, revoke };\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createDevice } from './device';\nimport { createLogin } from './login';\nimport { createMfa } from './mfa';\nimport { createPassword } from './password';\nimport { createPat } from './pat';\nimport { createPkce } from './pkce';\nimport { createSaml } from './saml';\nimport { createSession } from './session';\nimport { createSudo } from './sudo';\nimport { createToken } from './token';\n\nexport type AuthClientInitOptions = Omit<ClientInitOptions, 'auth'>;\n\nexport type AuthOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createAuthClient = ({ baseUrl, middlewares }: AuthClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n\n return {\n login: createLogin(client),\n mfa: createMfa(client),\n password: createPassword(client),\n saml: createSaml(client),\n pat: createPat(client),\n device: createDevice(client),\n sudo: createSudo(client),\n pkce: createPkce(client),\n session: createSession(client),\n token: createToken(client),\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/notifications/notificationsClient.ts"],"names":["createOpenapiFetchClient","createAuthHeaders","concurrent"],"mappings":";;;;;;;AAQO,IAAM,4BAA4B,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AAC9F,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAASC,oCAAkB,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,OAAOC,4BAAA,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,MAAMA,4BAAA,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-PPQF7LTS.cjs","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 +0,0 @@
|
|
|
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":";;;;;;AAUO,IAAM,WAAA,GAAc,CAAC,KAAA,KAA4B;AACtD,EAAA,IAAI,KAAA,IAAS,MAAM,OAAO,IAAA;AAC1B,EAAA,IAAI,MAAM,OAAA,CAAQ,KAAK,GAAG,OAAO,KAAA,CAAM,MAAM,WAAW,CAAA;AACxD,EAAA,IAAI,aAAA,CAAc,KAAK,CAAA,EAAG,OAAO,OAAO,MAAA,CAAO,KAAK,CAAA,CAAE,KAAA,CAAM,WAAW,CAAA;AACvE,EAAA,OAAO,KAAA;AACT;ACVA,IAAM,SAAS,CAAC,MAAA,KACd,MAAA,YAAkB,CAAA,CAAE,eACpB,MAAA,YAAkB,CAAA,CAAE,WAAA,IACpB,MAAA,YAAkB,EAAE,UAAA,GAChB,MAAA,CAAO,MAAA,CAAO,MAAA,EAAQ,CAAA,GACtB,MAAA;AAiBC,IAAM,iBAAA,GAAoB,CAC/B,MAAA,EACA,IAAA,EACA,KAAA,KACM;AACN,EAAA,MAAM,IAAA,GAAO,OAAO,MAAM,CAAA;AAC1B,EAAA,IAAI,EAAE,gBAAgB,CAAA,CAAE,SAAA,CAAA,IAAc,CAAC,aAAA,CAAc,IAAI,GAAG,OAAO,KAAA;AAEnE,EAAA,MAAM,GAAA,GAA+B,EAAE,GAAG,IAAA,EAAK;AAC/C,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,EAAG;AAChD,IAAA,IAAI,UAAU,MAAA,EAAW;AACzB,IAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAI,GAAG,CAAA;AACvB,IAAA,GAAA,CAAI,GAAG,CAAA,GACL,KAAA,IAAS,aAAA,CAAc,OAAO,CAAA,IAAK,aAAA,CAAc,KAAK,CAAA,GAClD,iBAAA,CAAkB,KAAA,EAAO,OAAA,EAAS,KAAK,CAAA,GACvC,KAAA;AAAA,EACR;AAEA,EAAA,OAAO,GAAA;AACT;ACxCO,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,EAAA,EAAIA,EAAE,MAAA,CAAO;AAAA,MACX,WAAA,EAAaA,EAAE,MAAA;AAAO,KACvB;AAAA,GACF;AACH,CAAC,CAAA;ACVM,IAAM,QAAA,GAAW,CAAuB,EAAA,KAC7CA,CAAAA,CAAE,MAAA,CAAO,EAAE,UAAA,EAAYA,CAAAA,CAAE,MAAA,CAAO,EAAE,EAAA,EAAI,GAAG,CAAA;ACIpC,IAAM,kBAAA,GAAqBA,EAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,UAAU,CAAA;AAAA,EACpC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,MAAM,CAAA;AAAA,EAChC,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,UAAU,CAAA;AAAA,EACpC,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,UAAU,CAAA;AAAA,EAC3C,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,eAAe;AAC/C,CAAC,CAAA;ACLM,IAAM,SAAA,GAAYA,CAAAA,CAAE,SAAA,EAAU,CAAE,QAAA,EAAS;ACFzC,IAAM,wBAAA,GAA2BA,EAAE,MAAA,CAAO;AAAA,EAC/C,SAAA,EAAWA,EAAE,MAAA,CAAO;AAAA,IAClB,EAAA,EAAIA,EAAE,MAAA,EAAO;AAAA,IACb,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC9B;AACH,CAAC,CAAA;ACVM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,OAAA,EAASA,EAAE,OAAA,EAAQ;AAAA,EACnB,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAE7B,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACtC,IAAA,EAAMA,EACH,MAAA,CAAO;AAAA,IACN,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC5B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GACjC,EACA,QAAA;AACL,CAAC,CAAA;ACZM,IAAM,SAAA,GAAYA,EAAE,MAAA,CAAO;AAAA,EAChC,OAAA,EAASA,EAAE,OAAA,EAAQ;AAAA,EACnB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,gBAAA,EAAkBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAChC,CAAC,CAAA;;;ACAD,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EAC7B,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,EAC1B,SAAA,EAAWA,EAAE,MAAA;AACf,CAAC,CAAA;AAEM,IAAM,4BAAA,GAA+BA,EAAE,MAAA,CAAO;AAAA,EACnD,UAAA,EAAYA,EAAE,KAAA,CAAM;AAAA,IAClB,aAAA,CAAc,OAAO,EAAE,kBAAA,EAAoBA,EAAE,MAAA,EAAO,EAAG,qBAAA,EAAuB,SAAA,EAAW,CAAA;AAAA,IACzF,aAAA,CAAc,OAAO,EAAE,qBAAA,EAAuBA,EAAE,MAAA,EAAO,EAAG,kBAAA,EAAoB,SAAA,EAAW;AAAA,GAC1F;AACH,CAAC,CAAA;ACfD,IAAM,kBAAA,GAAqBA,EACxB,MAAA,CAAO;AAAA,EACN,SAAA,EAAWA,CAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAClC,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,kBAAA,EAAoBA,EAAE,MAAA,EAAO;AAAA,EAC7B,SAAA,EAAW,SAAA;AAAA,EACX,QAAA,EAAU;AACZ,CAAC,EACA,KAAA,EAAM;AAGT,IAAM,WAAA,GAAcA,EACjB,MAAA,CAAO;AAAA,EACN,SAAA,EAAWA,CAAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EAC3B,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,EACpB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,WAAA,EAAa,SAAA;AAAA,EACb,kBAAA,EAAoB;AACtB,CAAC,EACA,KAAA,EAAM;AASF,IAAM,aAAA,GAAgBA,EAC1B,MAAA,CAAO;AAAA,EACN,YAAYA,CAAAA,CAAE,KAAA,CAAM,CAAC,kBAAA,EAAoB,WAAW,CAAC;AACvD,CAAC,EACA,KAAA,EAAM;AChCF,IAAM,iBAAA,GAAoBA,EAC9B,MAAA,CAAO;AAAA,EACN,UAAA,EAAYA,EACT,MAAA,CAAO;AAAA,IACN,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,IACvB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,IACzB,cAAA,EAAgBA,EAAE,MAAA;AAAO,GAC1B,EACA,KAAA;AACL,CAAC,EACA,KAAA,EAAM;ACVF,IAAM,qBAAA,GAAwBA,EAClC,MAAA,CAAO;AAAA,EACN,UAAA,EAAYA,EACT,MAAA,CAAO;AAAA,IACN,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,IACvB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,IACzB,WAAA,EAAaA,EAAE,MAAA;AAAO,GACvB,EACA,KAAA;AACL,CAAC,EACA,KAAA,EAAM;ACZT,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EAC7B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,gBAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EAC9C,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,oBAAA,EAAsBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC3C,GAAA,EAAK,gBAAgB,QAAA,EAAS;AAAA,EAC9B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,YAAA,EAAcA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAC5B,CAAC,CAAA;AAID,IAAM,eAAA,GAAkB,aAAA,CACrB,MAAA,CAAO,EAAE,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,EAAG,aAAA,EAAe,SAAA,EAAW,CAAA,CAC5D,KAAA,EAAM;AAGT,IAAM,iBAAA,GAAoB,aAAA,CACvB,MAAA,CAAO,EAAE,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,EAAG,WAAA,EAAa,SAAA,EAAW,CAAA,CAC5D,KAAA,EAAM;AAUF,IAAM,WAAA,GAAcA,EACxB,MAAA,CAAO;AAAA,EACN,YAAYA,CAAAA,CAAE,KAAA,CAAM,CAAC,eAAA,EAAiB,iBAAiB,CAAC;AAC1D,CAAC,EACA,KAAA,EAAM;AC/BF,IAAM,YAAA,GAAeA,EACzB,MAAA,CAAO;AAAA,EACN,YAAYA,CAAAA,CAAE,MAAA,CAAO,EAAE,OAAA,EAASA,EAAE,MAAA,EAAO,EAAG,YAAA,EAAcA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,EAAG,EAAE,KAAA;AACrF,CAAC,EACA,KAAA,EAAM;;;ACDF,IAAM,iBAAA,GAAoB,QAAA;AAAA,EAC/B,mBAAmB,MAAA,CAAO,EAAE,KAAK,eAAA,CAAgB,QAAA,IAAY;AAC/D,CAAA;;;ACVO,IAAM,eAAA,GAAkB,QAAA;AAAA,EAC7B,kBAAA,CAAmB,MAAA,CAAO,EAAE,GAAA,EAAK,eAAA,CAAgB,QAAA,EAAS,EAAG,GAAA,EAAK,SAAA,CAAU,QAAA,EAAS,EAAG;AAC1F,CAAA;;;ACFO,IAAM,kBAAA,GAAqB,SAAS,kBAAkB,CAAA;ACEtD,IAAM,eAAA,GAAkB,QAAA;AAAA,EAC7B,mBAAmB,MAAA,CAAO;AAAA,IACxB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,yBAAA,EAA2BA,CAAAA,CACxB,IAAA,CAAK,CAAC,iBAAA,EAAmB,kBAAkB,kBAAA,EAAoB,cAAc,CAAC,CAAA,CAC9E,QAAA,EAAS;AAAA,IACZ,kBAAA,EAAoBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,IACzC,GAAA,EAAK,gBAAgB,QAAA,EAAS;AAAA,IAC9B,GAAA,EAAK,UAAU,QAAA;AAAS,GACzB;AACH,CAAA;ACVO,IAAM,eAAA,GAAkB,QAAA;AAAA,EAC7B,mBAAmB,MAAA,CAAO;AAAA,IACxB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,GAAA,EAAK,gBAAgB,QAAA,EAAS;AAAA,IAC9B,GAAA,EAAK,UAAU,QAAA;AAAS,GACzB;AACH,CAAA;ACNO,IAAM,gBAAA,GAAmB,QAAA;AAAA,EAC9B,kBAAA,CAAmB,IAAA,CAAK,EAAE,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAA,CAAE,MAAA,CAAO;AAAA,IACzE,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,cAAA,EAAgBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,IACrC,GAAA,EAAK,gBAAgB,QAAA;AAAS,GAC/B;AACH,CAAA;ACTO,IAAM,kBAAA,GAAqB,QAAA;AAAA,EAChCA,CAAAA,CAAE,MAAA,CAAO,EAAE,MAAA,EAAQA,EAAE,MAAA,EAAO,EAAG,IAAA,EAAMA,CAAAA,CAAE,QAAO,EAAG,WAAA,EAAaA,CAAAA,CAAE,MAAA,IAAU;AAC5E,CAAA;ACFO,IAAM,gBAAA,GAAmB,QAAA;AAAA,EAC9B,kBAAA,CAAmB,OAAO,EAAE,QAAA,EAAUA,EAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG;AAC/D,CAAA;ACFO,IAAM,kBAAA,GAAqB,QAAA;AAAA,EAChC,mBAAmB,MAAA,CAAO;AAAA,IACxB,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,IACrB,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,UAAU,CAAC,CAAA;AAAA,IACzC,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC/B;AACH,CAAA;ACDA,IAAM,eAAA,GAAkB,mBACrB,IAAA,CAAK,EAAE,aAAa,IAAA,EAAM,CAAA,CAC1B,MAAA,CAAO,EAAE,MAAA,EAAQA,EAAE,MAAA,EAAO,CAAE,UAAS,EAAG,SAAA,EAAWA,EAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG,CAAA;AAEtE,IAAM,mBAAA,GAAsB,QAAA;AAAA,EACjCA,EAAE,KAAA,CAAM;AAAA,IACN,eAAA,CAAgB,OAAO,EAAE,WAAA,EAAaA,EAAE,MAAA,EAAO,EAAG,aAAA,EAAe,SAAA,EAAW,CAAA;AAAA,IAC5E,eAAA,CAAgB,OAAO,EAAE,aAAA,EAAeA,EAAE,MAAA,EAAO,EAAG,WAAA,EAAa,SAAA,EAAW;AAAA,GAC7E;AACH,CAAA;ACdO,IAAM,kBAAA,GAAqB,QAAA;AAAA,EAChCA,EAAE,MAAA,CAAO;AAAA,IACP,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,IACpB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,WAAA,EAAaA,EAAE,MAAA;AAAO,GACvB;AACH,CAAA;AAGO,IAAM,mBAAA,GAAsB,QAAA;AAAA,EACjCA,EAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,oBAAoBA,CAAAA,CAAE,IAAA,CAAK,CAAC,cAAA,EAAgB,eAAe,CAAC,CAAA;AAAA,IAC5D,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,IACrB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,IAClB,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,WAAA,EAAaA,EAAE,MAAA;AAAO,GACvB;AACH,CAAA;ACfA,IAAM,cAAA,GAAiBA,EAAE,MAAA,CAAO;AAAA,EAC9B,IAAA,EAAMA,EAAE,IAAA,CAAK;AAAA,IACX,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAA,EAAQ,SAAA,EAAW,KAAA,EAAO,SAAS,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3E,YAAA,EAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACrC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,SAAA,EAAWA,EAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,EAAE,QAAA,EAAS;AAAA,EAC5C,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACnC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACrC,mBAAA,EAAqBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAClC,CAAC,CAAA;AAID,IAAM,aAAA,GAAgBA,EAAE,MAAA,CAAO;AAAA,EAC7B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC/B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,SAASA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAU,cAAc;AAC9C,CAAC,CAAA;AAID,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACjC,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,WAAA,EAAaA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAClC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACzB,CAAC,CAAA;AAUM,IAAM,oBAAA,GAAuBA,EAAE,MAAA,CAAO;AAAA,EAC3C,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,OAAA,EAASA,CAAAA,CAAE,MAAA,CAAO,EAAE,KAAKA,CAAAA,CAAE,MAAA,EAAO,EAAG,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,IAAY,CAAA;AAAA,IACxE,IAAA,EAAMA,CAAAA,CAAE,MAAA,CAAO,EAAE,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,EAAG,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,EAAG,CAAA;AAAA,IAC7D,QAAA,EAAUA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,IAC/B,SAAA,EAAWA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,IAChC,MAAA,EAAQA,EAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,EAAG,aAAa,EAAE,QAAA,EAAS;AAAA,IACrD,UAAA,EAAYA,EAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,EAAG,iBAAiB,EAAE,QAAA;AAAS,GAC9D;AACH,CAAC,CAAA;ACjEM,IAAM,iBAAA,GAAoBA,EAAE,MAAA,CAAO;AAAA,EACxC,aAAA,EAAe,wBAAA;AAAA,EACf,UAAA,EAAYA,EAAE,MAAA,CAAO;AAAA,IACnB,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA;AAAA,IAC9B,oBAAA,EAAsBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,IAC3C,kBAAA,EAAoBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAAS,GAC1C;AACH,CAAC,CAAA;ACJM,IAAM,eAAA,GAAkBA,EAAE,MAAA,CAAO;AAAA,EACtC,QAAA,EAAUA,EAAE,MAAA,CAAO;AAAA,IACjB,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA;AAAA;AAAA,IAGlB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,OAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,UAAU,CAAC;AAAA,GACtC,CAAA;AAAA,EACD,MAAA,EAAQA,EAAE,MAAA,CAAO;AAAA,IACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,IACtB,eAAA,EAAiBA,EAAE,MAAA,EAAO;AAAA,IAC1B,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,KAAK;AAAA,GACtB;AACH,CAAC,CAAA;;;ACdM,IAAM,iBAAA,GAAoB,QAAA;AAAA,EAC/B,kBAAA,CAAmB,MAAA,CAAO,EAAE,GAAA,EAAK,eAAA,CAAgB,QAAA,EAAS,EAAG,GAAA,EAAK,SAAA,CAAU,QAAA,EAAS,EAAG;AAC1F,CAAA;ACJO,IAAM,eAAA,GAAkB,QAAA;AAAA,EAC7B,kBAAA,CAAmB,MAAA,CAAO,EAAE,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,EAAG,GAAA,EAAK,eAAA,CAAgB,QAAA,EAAS,EAAG;AACnF,CAAA;ACFO,IAAM,gBAAA,GAAmB,QAAA;AAAA,EAC9B,kBAAA,CAAmB,MAAA,CAAO,EAAE,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG,GAAA,EAAK,eAAA,CAAgB,QAAA,IAAY;AAC9F,CAAA;ACFO,IAAM,eAAA,GAAkB,QAAA;AAAA,EAC7B,kBAAA,CAAmB,OAAO,EAAE,MAAA,EAAQA,EAAE,MAAA,EAAO,CAAE,QAAA,EAAS,EAAG;AAC7D,CAAA;ACFO,IAAM,gBAAA,GAAmB,QAAA;AAAA,EAC9B,kBAAA,CAAmB,MAAA,CAAO,EAAE,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,EAAG,GAAA,EAAK,eAAA,CAAgB,QAAA,EAAS,EAAG;AACnF,CAAA;ACFO,IAAM,eAAA,GAAkB,QAAA;AAAA,EAC7B,mBAAmB,MAAA,CAAO;AAAA,IACxB,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,UAAA,EAAYA,EAAE,IAAA,CAAK,CAAC,OAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAK,CAAC,CAAA;AAAA,IACtD,GAAA,EAAK,gBAAgB,QAAA;AAAS,GAC/B;AACH,CAAA;ACNO,IAAM,gBAAA,GAAmB,QAAA;AAAA,EAC9B,kBAAA,CAAmB,MAAA,CAAO,EAAE,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,EAAG,GAAA,EAAK,eAAA,CAAgB,QAAA,EAAS,EAAG;AACtF,CAAA;ACGA,IAAM,UAAA,GAAaA,EAAE,MAAA,CAAO;AAAA,EAC1B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,MAAA,EAAQA,EAAE,MAAA;AACZ,CAAC,CAAA;AAEM,IAAM,cAAA,GAAiB,QAAA;AAAA,EAC5BA,EAAE,KAAA,CAAM;AAAA,IACN,UAAA,CAAW,MAAA,CAAO,EAAE,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,EAAG,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,IAAY,CAAA;AAAA,IACtF,UAAA,CAAW,MAAA,CAAO,EAAE,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,EAAG,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,IAAY;AAAA,GACvF;AACH,CAAA;ACjBO,IAAM,gBAAA,GAAmB,QAAA;AAAA,EAC9BA,EAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,IACtB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,IACnB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,IACzB,qBAAA,EAAuBA,EAAE,MAAA,EAAO;AAAA,IAChC,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,IACzB,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAClC;AACH,CAAA;ACVO,IAAM,gBAAA,GAAmB,QAAA;AAAA,EAC9B,mBAAmB,MAAA,CAAO;AAAA,IACxB,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA,IACzB,gBAAA,EAAkBA,EAAE,MAAA,EAAO;AAAA,IAC3B,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,SAAA,EAAWA,EAAE,MAAA,EAAO;AAAA,IACpB,GAAA,EAAK,gBAAgB,QAAA;AAAS,GAC/B;AACH,CAAA;ACRO,IAAM,mBAAA,GAAsB,QAAA;AAAA,EACjC,mBAAmB,MAAA,CAAO;AAAA,IACxB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC5B,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,IAClB,cAAA,EAAgBA,EAAE,MAAA;AAAO,GAC1B;AACH,CAAA;ACNO,IAAM,eAAA,GAAkB,QAAA;AAAA,EAC7BA,EAAE,MAAA,CAAO;AAAA,IACP,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,IACf,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,IACnB,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,IACtB,QAAA,EAAUA,EAAE,MAAA;AAAO,GACpB;AACH,CAAA;ACFA,IAAMC,gBAAAA,GAAkB,mBACrB,IAAA,CAAK,EAAE,aAAa,IAAA,EAAM,EAC1B,MAAA,CAAO,EAAE,QAAQD,CAAAA,CAAE,MAAA,IAAU,SAAA,EAAWA,CAAAA,CAAE,QAAO,CAAE,QAAA,IAAY,CAAA;AAE3D,IAAM,mBAAA,GAAsB,QAAA;AAAA,EACjCA,EAAE,KAAA,CAAM;AAAA,IACNC,gBAAAA,CAAgB,OAAO,EAAE,WAAA,EAAaD,EAAE,MAAA,EAAO,EAAG,aAAA,EAAe,SAAA,EAAW,CAAA;AAAA,IAC5EC,gBAAAA,CAAgB,OAAO,EAAE,aAAA,EAAeD,EAAE,MAAA,EAAO,EAAG,WAAA,EAAa,SAAA,EAAW;AAAA,GAC7E;AACH,CAAA;ACfA,IAAM,UAAA,GAAa,CAAC,MAAA,KAAiC;AACnD,EAAA,IAAI,MAAA,YAAkBA,CAAAA,CAAE,SAAA,EAAW,OAAO,YAAY,MAAM,CAAA;AAC5D,EAAA,IAAI,MAAA,YAAkBA,EAAE,QAAA,EAAU;AAChC,IAAA,MAAM,OAAA,GAAW,MAAA,CAAO,OAAA,CAAwB,GAAA,CAAI,UAAU,CAAA;AAC9D,IAAA,OAAOA,CAAAA,CAAE,MAAM,OAAiD,CAAA;AAAA,EAClE;AACA,EAAA,OAAO,MAAA;AACT,CAAA;AAEA,IAAM,WAAA,GAAc,CAAC,MAAA,KAAqC;AACxD,EAAA,MAAM,QAAmC,EAAC;AAC1C,EAAA,KAAA,MAAW,CAAC,KAAK,KAAK,CAAA,IAAK,OAAO,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAA,EAAG;AACvD,IAAA,MAAM,KAAA,GAAQ,KAAA;AACd,IAAA,MAAM,QAAQ,KAAA,YAAiBA,CAAAA,CAAE,WAAA,GAAe,KAAA,CAAM,QAAO,GAAkB,KAAA;AAC/E,IAAA,KAAA,CAAM,GAAG,CAAA,GAAI,UAAA,CAAW,KAAK,CAAA;AAAA,EAC/B;AACA,EAAA,MAAM,OAAA,GAAUA,CAAAA,CAAE,MAAA,CAAO,KAAK,EAAE,OAAA,EAAQ;AAGxC,EAAA,OAAO,MAAA,CAAO,IAAI,QAAA,GAAW,OAAA,CAAQ,SAAS,MAAA,CAAO,GAAA,CAAI,QAAQ,CAAA,GAAI,OAAA;AACvE,CAAA;AAsBO,IAAM,iBAAiB,MAAsC;AAClE,EAAA,MAAM,GAAA,uBAAU,GAAA,EAAyB;AAEzC,EAAA,MAAME,SAAAA,GAAW;AAAA,IACf,GAAA,CAAI,aAAqB,MAAA,EAAqB;AAC5C,MAAA,GAAA,CAAI,GAAA,CAAI,aAAa,MAAM,CAAA;AAC3B,MAAA,OAAOA,SAAAA;AAAA,IACT,CAAA;AAAA,IACA,IAAI,WAAA,EAAqB;AACvB,MAAA,MAAM,MAAA,GAAS,GAAA,CAAI,GAAA,CAAI,WAAW,CAAA;AAClC,MAAA,IAAI,CAAC,MAAA,EAAQ,MAAM,IAAI,KAAA,CAAM,CAAA,2CAAA,EAA8C,WAAW,CAAA,EAAA,CAAI,CAAA;AAC1F,MAAA,OAAO,EAAE,MAAA,EAAQ,WAAA,EAAa,WAAA,CAAY,MAAM,CAAA,EAAE;AAAA,IACpD,CAAA;AAAA,IACA,GAAA,EAAK,CAAC,WAAA,KAAwB,GAAA,CAAI,IAAI,WAAW;AAAA,GACnD;AAEA,EAAA,OAAOA,SAAAA;AACT,CAAA;;;ACnBO,IAAM,QAAA,GAAW,cAAA,EAAe,CAQpC,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,iBAAiB,CAAA,CAC9C,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,eAAe,CAAA,CAC5C,GAAA,CAAI,WAAA,CAAY,UAAA,EAAY,eAAe,CAAA,CAC3C,GAAA,CAAI,WAAA,CAAY,YAAA,EAAc,gBAAgB,CAAA,CAC9C,GAAA,CAAI,WAAA,CAAY,eAAA,EAAiB,mBAAmB,CAAA,CACpD,GAAA,CAAI,YAAY,mBAAA,EAAqB,mBAAmB,CAAA,CACxD,GAAA,CAAI,WAAA,CAAY,sBAAA,EAAwB,mBAAmB,CAAA,CAC3D,GAAA,CAAI,WAAA,CAAY,yBAAA,EAA2B,mBAAmB,CAAA,CAC9D,GAAA,CAAI,WAAA,CAAY,YAAA,EAAc,mBAAmB,CAAA,CACjD,GAAA,CAAI,WAAA,CAAY,UAAA,EAAY,eAAe,CAAA,CAC3C,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,gBAAgB,CAAA,CAC7C,GAAA,CAAI,WAAA,CAAY,aAAa,eAAe,CAAA,CAC5C,GAAA,CAAI,WAAA,CAAY,UAAA,EAAY,iBAAiB,CAAA,CAC7C,GAAA,CAAI,WAAA,CAAY,YAAA,EAAc,gBAAgB,CAAA,CAG9C,GAAA,CAAI,WAAA,CAAY,YAAA,EAAc,gBAAgB,CAAA,CAC9C,GAAA,CAAI,WAAA,CAAY,cAAA,EAAgB,mBAAmB,CAAA,CACnD,GAAA,CAAI,WAAA,CAAY,SAAA,EAAW,cAAc,CAAA,CACzC,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,gBAAgB,CAAA,CAC7C,GAAA,CAAI,WAAA,CAAY,UAAA,EAAY,eAAe,CAAA,CAC3C,GAAA,CAAI,WAAA,CAAY,gBAAA,EAAkB,oBAAoB,CAAA,CACtD,GAAA,CAAI,WAAA,CAAY,SAAA,EAAW,eAAe,CAAA,CAG1C,GAAA,CAAI,WAAA,CAAY,yBAAA,EAA2B,4BAA4B,CAAA,CACvE,GAAA,CAAI,WAAA,CAAY,eAAA,EAAiB,oBAAoB,CAAA,CASrD,GAAA,CAAI,WAAA,CAAY,cAAA,EAAgB,iBAAiB,CAAA,CACjD,IAAI,WAAA,CAAY,SAAA,EAAW,iBAAiB,CAAA,CAC5C,GAAA,CAAI,WAAA,CAAY,cAAA,EAAgB,iBAAiB,CAAA,CACjD,GAAA,CAAI,WAAA,CAAY,iBAAA,EAAmB,iBAAiB,CAAA,CACpD,GAAA,CAAI,WAAA,CAAY,YAAA,EAAc,iBAAiB,CAAA,CAC/C,GAAA,CAAI,WAAA,CAAY,UAAA,EAAY,iBAAiB,CAAA,CAC7C,GAAA,CAAI,WAAA,CAAY,eAAA,EAAiB,iBAAiB,CAAA,CAClD,GAAA,CAAI,YAAY,oBAAA,EAAsB,iBAAiB,CAAA,CAGvD,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,eAAe,CAAA,CAC5C,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,eAAe,CAAA,CAC5C,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,eAAe,CAAA,CAC5C,GAAA,CAAI,WAAA,CAAY,YAAA,EAAc,gBAAgB,CAAA,CAC9C,GAAA,CAAI,WAAA,CAAY,eAAA,EAAiB,mBAAmB,CAAA,CACpD,GAAA,CAAI,WAAA,CAAY,gBAAgB,kBAAkB,CAAA,CAClD,GAAA,CAAI,WAAA,CAAY,cAAA,EAAgB,kBAAkB,CAAA,CAClD,GAAA,CAAI,WAAA,CAAY,cAAA,EAAgB,kBAAkB,CAAA,CAClD,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,gBAAgB,CAAA,CAC7C,GAAA,CAAI,WAAA,CAAY,eAAA,EAAiB,mBAAmB,CAAA,CACpD,GAAA,CAAI,WAAA,CAAY,kBAAA,EAAoB,kBAAkB,CAAA,CAEtD,GAAA,CAAI,WAAA,CAAY,aAAA,EAAe,iBAAiB,CAAA,CAMhD,GAAA,CAAI,WAAA,CAAY,OAAA,EAAS,YAAY,CAAA,CACrC,GAAA,CAAI,WAAA,CAAY,MAAA,EAAQ,WAAW,CAAA,CACnC,GAAA,CAAI,WAAA,CAAY,WAAA,EAAa,WAAW,CAAA,CACxC,GAAA,CAAI,WAAA,CAAY,SAAA,EAAW,aAAa,CAAA,CACxC,GAAA,CAAI,WAAA,CAAY,4BAAA,EAA8B,iBAAiB,CAAA,CAC/D,GAAA,CAAI,WAAA,CAAY,2BAAA,EAA6B,qBAAqB,CAAA;;;AClErE,IAAM,cAAA,GAAiB,CACrB,IAAA,EACA,MAAA,KACG;AACH,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,SAAA,CAAU,IAAA,CAAK,aAAa,CAAA;AAElD,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,UAAU,MAAA,CAAO,OAAA;AAAA,IACjB,OAAO,MAAA,CAAO;AAAA,GAChB;AACF,CAAA;AAEO,IAAM,yBAAyB,CAAC,EAAE,aAAA,EAAe,gBAAA,EAAkB,SAAQ,KAAe;AAC/F,EAAA,MAAM,QAAA,GAAW,OACf,WAAA,EACA,IAAA,KACqC;AACrC,IAAA,IAAI,WAAA,CAAY,IAAI,CAAA,EAAG,OAAO,IAAA;AAE9B,IAAA,OAAO,iBAAiB,oBAAA,CAAqB;AAAA,MAC3C,KAAA,EAAO,eAAA;AAAA,MACP,WAAA;AAAA,MACA,SAAA,EAAW,OAAA,CAAQ,OAAA,CAAQ,SAAA,CAAU,KAAA,CAAM,EAAA;AAAA,MAC3C;AAAA,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,IAAA,KACG;AACH,IAAA,MAAM,IAAA,GAAO,MAAM,aAAA,CAAc,2BAAA,CAA4B,iBAAiB,IAAI,CAAA;AAClF,IAAA,MAAM,GAAA,GAAM,QAAA,CAAS,GAAA,CAAI,IAAA,CAAK,WAAW,CAAA;AAEzC,IAAA,OAAO,cAAA,CAA4B,IAAA,EAAM,GAAA,CAAI,MAAM,CAAA;AAAA,EACrD,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,OAC1B,KAAA,KAEG;AACH,IAAA,MAAM,EAAE,WAAA,EAAa,QAAA,EAAU,aAAA,EAAe,GAAG,MAAK,GAAI,KAAA;AAC1D,IAAA,4BAAA,CAA6B,OAAA,CAAQ,QAAQ,SAAA,EAAW;AAAA,MACtD,eAAA,EAAiB,OAAA,CAAQ,aAAA,CAAc,KAAA,CAAM,QAAQ;AAAA,KACtD,CAAA;AACD,IAAA,MAAM,GAAA,GAAM,QAAA,CAAS,GAAA,CAAI,WAAW,CAAA;AACpC,IAAA,MAAM,SAAA,GAAY,GAAA,CAAI,WAAA,CAAY,KAAA,CAAM,aAAa,CAAA;AACrD,IAAA,MAAM,SAAA,GAAY,MAAM,QAAA,CAAS,WAAA,EAAa,SAAS,CAAA;AAEvD,IAAA,MAAM,IAAA,GAAO,MAAM,aAAA,CAAc,2BAAA,CAA4B,mBAAA,CAAoB;AAAA,MAC/E,GAAG,IAAA;AAAA,MACH,QAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA,EAAe;AAAA,KAChB,CAAA;AAED,IAAA,OAAO,cAAA,CAA4B,IAAA,EAAM,GAAA,CAAI,MAAM,CAAA;AAAA,EACrD,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,OAC1B,KAAA,KAEG;AACH,IAAA,MAAM,EAAE,aAAa,QAAA,EAAU,QAAA,EAAU,eAAe,IAAA,GAAO,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,KAAA;AACpF,IAAA,4BAAA,CAA6B,OAAA,CAAQ,QAAQ,SAAA,EAAW;AAAA,MACtD,eAAA,EAAiB,OAAA,CAAQ,aAAA,CAAc,KAAA,CAAM,QAAQ;AAAA,KACtD,CAAA;AACD,IAAA,MAAM,GAAA,GAAM,QAAA,CAAS,GAAA,CAAI,WAAW,CAAA;AAEpC,IAAA,MAAM,SAAA,GAAY,GAAA,CAAI,WAAA,CAAY,KAAA,CAAM,aAAa,CAAA;AACrD,IAAA,MAAM,SAAA,GAAY,MAAM,QAAA,CAAS,WAAA,EAAa,SAAS,CAAA;AAEvD,IAAA,IAAI,gBAAA,GAA4C,SAAA;AAChD,IAAA,IAAI,SAAS,OAAA,EAAS;AACpB,MAAA,MAAM,QAAA,GAAW,MAAM,aAAA,CAAc,2BAAA,CAA4B,gBAAA,CAAiB;AAAA,QAChF,WAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACD,CAAA;AACD,MAAA,gBAAA,GAAmB,kBAAkB,GAAA,CAAI,MAAA,EAAQ,SAAS,aAAA,IAAiB,IAAI,SAAS,CAAA;AAAA,IAC1F;AAEA,IAAA,MAAM,IAAA,GAAO,MAAM,aAAA,CAAc,2BAAA,CAA4B,mBAAA,CAAoB;AAAA,MAC/E,GAAG,IAAA;AAAA,MACH,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA,EAAe;AAAA,KAChB,CAAA;AAED,IAAA,OAAO,cAAA,CAA4B,IAAA,EAAM,GAAA,CAAI,MAAM,CAAA;AAAA,EACrD,CAAA;AAEA,EAAA,OAAO,EAAE,gBAAA,EAAkB,mBAAA,EAAqB,mBAAA,EAAoB;AACtE","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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/async/concurrent.ts"],"names":[],"mappings":";AAgBO,IAAM,aAAa,OAAa;AAAA,EACrC,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,GAAc,CAAA;AAAA,EACd,cAAc;AAChB,CAAA,KAA6C;AAC3C,EAAA,IAAI,WAAA,GAAc,CAAA,EAAG,MAAM,IAAI,MAAM,oCAAoC,CAAA;AACzE,EAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,EAAC;AAChC,EAAA,IAAI,WAAA,KAAgB,QAAA;AAClB,IAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU,OAAA,CAAQ,IAAA,EAAM,KAAA,EAAO,KAAA,CAAM,MAAM,CAAC,CAAC,CAAA;AAEnF,EAAA,MAAM,IAAI,KAAA,CAAM,MAAA;AAChB,EAAA,MAAM,UAAe,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,GAAG,CAAA;AAE7C,EAAA,MAAM,yBAAyB,WAAA,CAAY,WAAA;AAAA,IACzC,CAAC,IAAA,EAAM,UAAA,KAAe,UAAA,CAAW,IAAI,CAAA;AAAA,IACrC;AAAA,GACF;AAEA,EAAA,MAAM,QAAQ,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,UAAU,YAAY;AACnD,IAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,MAAM,uBAAuB,IAAA,EAAM,KAAA,EAAO,MAAM,MAAM,CAAA;AAAA,EACzE,CAAC,CAAA;AAED,EAAA,MAAM,UAAU,KAAA,CAAM,IAAA;AAAA,IACpB,EAAE,MAAA,EAAQ,IAAA,CAAK,IAAI,WAAA,EAAa,KAAA,CAAM,MAAM,CAAA,EAAE;AAAA,IAC9C,eAAe,YAAA,GAAe;AAC5B,MAAA,OAAO,MAAM,MAAA,EAAQ;AACnB,QAAA,MAAM,KAAA,CAAM,OAAM,IAAI;AAAA,MACxB;AAAA,IACF;AAAA,GACF;AAEA,EAAA,MAAM,OAAA,CAAQ,IAAI,OAAO,CAAA;AACzB,EAAA,OAAO,OAAA;AACT","file":"chunk-SJZ66FD5.js","sourcesContent":["type ProcessFn<T, R> = (item: T, index: number, arrayLength: number) => Promise<R>;\nexport type MiddlewareFn<T, R> = (next: ProcessFn<T, R>) => ProcessFn<T, R>;\n\nexport type ConcurrentOptions<T, R> = {\n items: T[];\n process: ProcessFn<T, R>;\n concurrency?: number;\n middlewares?: MiddlewareFn<T, R>[];\n};\n\n/**\n * Executes an asynchronous callback function on an array of items, processing multiple items concurrently with a specified concurrency limit.\n * It behaves similarly to Promise.all(), failing on the first rejected promise.\n * The order of the results matches the order of the promises.\n * The API is the same as Bluebird.map().\n */\nexport const concurrent = async <T, R>({\n items,\n process,\n concurrency = 2,\n middlewares = [],\n}: ConcurrentOptions<T, R>): Promise<R[]> => {\n if (concurrency < 1) throw new Error('Concurrency must be greater than 0');\n if (items.length === 0) return [];\n if (concurrency === Infinity)\n return Promise.all(items.map((item, index) => process(item, index, items.length)));\n\n const n = items.length;\n const results: R[] = Array.from({ length: n });\n\n const processWithMiddlewares = middlewares.reduceRight(\n (next, middleware) => middleware(next),\n process,\n );\n\n const queue = items.map((item, index) => async () => {\n results[index] = await processWithMiddlewares(item, index, items.length);\n });\n\n const workers = Array.from(\n { length: Math.min(concurrency, items.length) },\n async function processQueue() {\n while (queue.length) {\n await queue.shift()?.();\n }\n },\n );\n\n await Promise.all(workers);\n return results;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/domain/project.ts"],"names":["hasFeature","hasAdminFeature"],"mappings":";AAMO,IAAM,UAAA,GAAa,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AAChF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACtD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AACtD;AAEO,IAAM,eAAA,GAAkB,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AACrF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACpD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AACpD;AAEO,IAAM,aAAA,GAAgB,CAAC,EAAE,SAAA,EAAU,KAAe;AACvD,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAM,GAAI,SAAA;AACzB,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAChD,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAE9C,EAAA,MAAMA,WAAAA,GAAa,IAAI,OAAA,KAAsB;AAC3C,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACtD,CAAA;AAEA,EAAA,MAAMC,gBAAAA,GAAkB,IAAI,OAAA,KAAsB;AAChD,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACpD,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,OAAA,KAA8B;AAChD,IAAA,IAAI,OAAA,KAAY,UAAA,EAAY,OAAO,KAAA,CAAM,WAAA;AACzC,IAAA,IAAI,OAAA,KAAY,WAAA,EAAa,OAAO,KAAA,CAAM,YAAA;AAC1C,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,UAAA,EAAAD,WAAAA;AAAA,IACA,eAAA,EAAAC,gBAAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-UABYNGBZ.js","sourcesContent":["import type { Backend, StorageToken } from '../clients/storage/tokens/types';\n\ntype Options = {\n sapiToken: StorageToken;\n};\n\nexport const hasFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const projectFeatureSet = new Set(token.owner.features);\n return feature.every((x) => projectFeatureSet.has(x));\n};\n\nexport const hasAdminFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const adminFeatureSet = new Set(token.admin.features);\n return feature.every((x) => adminFeatureSet.has(x));\n};\n\nexport const createProject = ({ sapiToken }: Options) => {\n const { owner, admin } = sapiToken;\n const projectFeatureSet = new Set(owner.features);\n const adminFeatureSet = new Set(admin.features);\n\n const hasFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => projectFeatureSet.has(x));\n };\n\n const hasAdminFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => adminFeatureSet.has(x));\n };\n\n const hasBackend = (backend: Backend): boolean => {\n if (backend === 'bigquery') return owner.hasBigquery;\n if (backend === 'snowflake') return owner.hasSnowflake;\n return false;\n };\n\n return {\n hasFeature,\n hasAdminFeature,\n hasBackend,\n sapiToken,\n };\n};\n\nexport type Project = ReturnType<typeof createProject>;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sdks/semanticLayer/semanticLayerSdk.ts","../src/sdks/semanticLayer/schemas.ts"],"names":[],"mappings":"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","file":"chunk-UP5SEEYZ.js","sourcesContent":["import { concurrent, generateUUID } from '../../utils';\n\nimport type {\n CreateSemanticObjectMeta,\n MetastoreClient,\n SemanticChildObjectDataMap,\n SemanticChildObjectType,\n SemanticConstraintType,\n SemanticModelData,\n SemanticObject,\n SemanticObjectMeta,\n SemanticObjectType,\n UpdateSemanticObjectMeta,\n} from './types';\n\nexport const SEMANTIC_OBJECT_TYPE = {\n MODEL: 'semantic-model',\n DATASET: 'semantic-dataset',\n METRIC: 'semantic-metric',\n RELATIONSHIP: 'semantic-relationship',\n GLOSSARY: 'semantic-glossary',\n CONSTRAINT: 'semantic-constraint',\n} as const satisfies Record<string, SemanticObjectType>;\n\n/**\n * `readonly` because this drives `createModelTree`, `listModelChildren` and `deleteModel` —\n * a consumer-side `.push()` would silently change what a cascade delete touches.\n */\nexport const MODEL_CHILD_OBJECT_TYPES: readonly SemanticChildObjectType[] = [\n SEMANTIC_OBJECT_TYPE.DATASET,\n SEMANTIC_OBJECT_TYPE.METRIC,\n SEMANTIC_OBJECT_TYPE.RELATIONSHIP,\n SEMANTIC_OBJECT_TYPE.GLOSSARY,\n SEMANTIC_OBJECT_TYPE.CONSTRAINT,\n] as const;\n\n/**\n * The dialects the metastore accepts, exactly as it spells them. A lowercase value is\n * rejected with `422 value must be one of 'Snowflake', 'BigQuery'`, which surfaces only as a\n * generic \"Validation failed\" — so callers need the real set rather than a bare `string`.\n *\n * `SemanticModelData.sql_dialect` stays `string` for now: narrowing it would break any caller\n * passing a `string` variable, which is a major bump. Validate against this instead.\n */\nexport const SQL_DIALECTS = ['Snowflake', 'BigQuery'] as const;\n\n/** The metastore's constraint kinds. Runtime counterpart to `SemanticConstraintType`. */\nexport const CONSTRAINT_TYPES = [\n 'inequality',\n 'equality',\n 'range',\n 'composition',\n 'exclusion',\n 'temporal',\n 'conditional',\n] as const satisfies readonly SemanticConstraintType[];\n\nconst DEFAULT_BRANCH = 'main';\n\n// The metastore has no bulk endpoint; large semantic-layer inits are written as\n// concurrent single POSTs (the same approach the ai-kit sl-toolkit importer uses).\nconst WRITE_CONCURRENCY = 5;\n\n// The live metastore envelope: `attributes` carries the object's data payload directly,\n// the UUID is the top-level `id`, and revision/branch/audit fields live in `meta`. The\n// legacy wrapper types in clients/metastore/repository/types.ts do not match this shape.\ntype RawSemanticObject<TData> = {\n type: string;\n id: string;\n attributes: TData;\n meta: SemanticObjectMeta;\n};\n\nconst mapObject = <TData>(item: RawSemanticObject<TData>): SemanticObject<TData> => ({\n uuid: item.id,\n data: item.attributes,\n meta: item.meta,\n});\n\nconst deriveOptionalObjectName = (data: Record<string, unknown>): string | undefined => {\n if (typeof data.name === 'string') return data.name;\n if (typeof data.term === 'string') return data.term;\n return undefined;\n};\n\nconst deriveObjectName = (data: Record<string, unknown>) =>\n deriveOptionalObjectName(data) ?? generateUUID();\n\n/**\n * The label a UI shows for an object, as opposed to the identifier it is addressed by.\n *\n * Constraints carry an optional `displayName`; kbc-ui's constraint tables already render\n * `displayName ?? name`, so a confirmation listing what a cascade delete would destroy has to\n * agree with them or it names objects the user can't find on screen.\n *\n * Deliberately **not** used for lookup: `displayName` is optional and not unique, so matching on\n * it would make `findObjectsByName` ambiguous for callers that resolve a write target by name.\n */\nconst deriveObjectLabel = (data: Record<string, unknown>): string | undefined => {\n if (typeof data.displayName === 'string' && data.displayName !== '') return data.displayName;\n return deriveOptionalObjectName(data);\n};\n\ntype Options = {\n metastoreClient: MetastoreClient;\n};\n\nexport const createSemanticLayerSdk = ({ metastoreClient }: Options) => {\n const _listObjects = async <TData extends Record<string, unknown>>(\n objectType: SemanticObjectType,\n signal?: AbortSignal,\n ) => {\n const response = await metastoreClient.repository.getMetaObjects<TData>({ objectType }, signal);\n return (response.data as unknown as RawSemanticObject<TData>[]).map(mapObject);\n };\n\n const listModels = async (signal?: AbortSignal) =>\n _listObjects<SemanticModelData>(SEMANTIC_OBJECT_TYPE.MODEL, signal);\n\n const createModel = async (data: SemanticModelData, meta: CreateSemanticObjectMeta = {}) => {\n const response = await metastoreClient.repository.createMetaObject<SemanticModelData>({\n objectType: SEMANTIC_OBJECT_TYPE.MODEL,\n data,\n branch: DEFAULT_BRANCH,\n ...meta,\n // Derived name wins over meta so the metastore name stays in sync with the payload.\n name: data.name,\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticModelData>);\n };\n\n const updateModel = async (\n modelUUID: string,\n data: Partial<SemanticModelData>,\n meta: UpdateSemanticObjectMeta = {},\n ) => {\n const response = await metastoreClient.repository.updateMetaObject<SemanticModelData>({\n objectType: SEMANTIC_OBJECT_TYPE.MODEL,\n UUID: modelUUID,\n data,\n ...meta,\n // Derived rename wins over meta so the metastore name stays in sync with the payload.\n ...(data.name ? { name: data.name } : {}),\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticModelData>);\n };\n\n const listObjects = async <T extends SemanticChildObjectType>(\n objectType: T,\n modelUUID: string,\n signal?: AbortSignal,\n ) => {\n const objects = await _listObjects<SemanticChildObjectDataMap[T]>(objectType, signal);\n return objects.filter((object) => object.data.modelUUID === modelUUID);\n };\n\n /**\n * Find a model's child objects by their user-facing name.\n *\n * Returns every match rather than resolving to one, because a name is not unique: the caller\n * decides whether that's an error (an agent needs an unambiguous target) or a choice to offer\n * (a UI can render a picker). Glossary entries key on `term`, so both are matched.\n */\n const findObjectsByName = async <T extends SemanticChildObjectType>(\n objectType: T,\n name: string,\n modelUUID: string,\n signal?: AbortSignal,\n ) => {\n const objects = await listObjects(objectType, modelUUID, signal);\n return objects.filter((object) => deriveOptionalObjectName(object.data) === name);\n };\n\n const createObject = async <T extends SemanticChildObjectType>(\n objectType: T,\n data: SemanticChildObjectDataMap[T],\n meta: CreateSemanticObjectMeta = {},\n ) => {\n const response = await metastoreClient.repository.createMetaObject<\n SemanticChildObjectDataMap[T]\n >({\n objectType,\n data,\n branch: DEFAULT_BRANCH,\n ...meta,\n // Derived name wins over meta so the metastore name stays in sync with the payload.\n name: deriveObjectName(data),\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticChildObjectDataMap[T]>);\n };\n\n const createObjects = async <T extends SemanticChildObjectType>(\n objectType: T,\n items: SemanticChildObjectDataMap[T][],\n meta: CreateSemanticObjectMeta = {},\n ) =>\n concurrent({\n items,\n process: async (data) => createObject(objectType, data, meta),\n concurrency: WRITE_CONCURRENCY,\n });\n\n // Create a model and all its child objects in one call: the model first (so its\n // UUID exists), then every child concurrently with the modelUUID injected.\n const createModelTree = async (\n model: SemanticModelData,\n children: Partial<{\n [T in SemanticChildObjectType]: Omit<SemanticChildObjectDataMap[T], 'modelUUID'>[];\n }>,\n meta: CreateSemanticObjectMeta = {},\n ) => {\n const createdModel = await createModel(model, meta);\n\n const items = MODEL_CHILD_OBJECT_TYPES.flatMap((objectType) =>\n (children[objectType] ?? []).map((data) => ({\n objectType,\n data: {\n ...data,\n modelUUID: createdModel.uuid,\n } satisfies SemanticChildObjectDataMap[typeof objectType],\n })),\n );\n\n const createdChildren = await concurrent({\n items,\n process: async ({ objectType, data }) => createObject(objectType, data, meta),\n concurrency: WRITE_CONCURRENCY,\n });\n\n return { model: createdModel, children: createdChildren };\n };\n\n const updateObject = async <T extends SemanticChildObjectType>(\n objectType: T,\n objectUUID: string,\n data: Partial<SemanticChildObjectDataMap[T]>,\n meta: UpdateSemanticObjectMeta = {},\n ) => {\n const name = deriveOptionalObjectName(data);\n const response = await metastoreClient.repository.updateMetaObject<\n SemanticChildObjectDataMap[T]\n >({\n objectType,\n UUID: objectUUID,\n data,\n ...meta,\n // Derived rename wins over meta so the metastore name stays in sync with the payload.\n ...(name ? { name } : {}),\n });\n\n return mapObject(response.data as unknown as RawSemanticObject<SemanticChildObjectDataMap[T]>);\n };\n\n const deleteObject = async (objectType: SemanticChildObjectType, objectUUID: string) => {\n await metastoreClient.repository.deleteMetaObject({\n objectType,\n UUID: objectUUID,\n });\n };\n\n /**\n * Every child object of a model, across all five types, flattened.\n *\n * `deleteModel` uses this to find what to remove; callers can use it to say what a delete\n * would destroy *before* asking the user to confirm. Each entry's `name` is the object's\n * display label (a constraint's `displayName` in preference to its `name`, matching what the\n * SL tables render), so a confirmation lists objects as the user sees them on screen.\n *\n * Costs five list requests: the metastore has no per-model filter, so `listObjects`\n * fetches each collection and filters client-side.\n */\n const listModelChildren = async (modelUUID: string, signal?: AbortSignal) => {\n const childrenByType = await Promise.all(\n MODEL_CHILD_OBJECT_TYPES.map(async (objectType) => {\n const objects = await listObjects(objectType, modelUUID, signal);\n return objects.map((object) => ({\n objectType,\n objectUUID: object.uuid,\n name: deriveObjectLabel(object.data),\n }));\n }),\n );\n\n return childrenByType.flat();\n };\n\n const deleteModel = async (modelUUID: string) => {\n const children = await listModelChildren(modelUUID);\n\n await concurrent({\n items: children,\n process: async ({ objectType, objectUUID }) => deleteObject(objectType, objectUUID),\n concurrency: WRITE_CONCURRENCY,\n });\n\n await metastoreClient.repository.deleteMetaObject({\n objectType: SEMANTIC_OBJECT_TYPE.MODEL,\n UUID: modelUUID,\n });\n };\n\n return {\n // models\n listModels,\n createModel,\n updateModel,\n deleteModel,\n listModelChildren,\n\n // child objects (datasets, metrics, relationships, glossary, constraints)\n listObjects,\n findObjectsByName,\n createObject,\n createObjects,\n createModelTree,\n updateObject,\n deleteObject,\n };\n};\n","import { z } from 'zod';\n\nimport { CONSTRAINT_TYPES, SQL_DIALECTS } from './semanticLayerSdk';\n\n/**\n * Runtime validators for the semantic-layer payload shapes.\n *\n * These exist because the metastore's validation errors are opaque — a missing or misspelled\n * field surfaces only as a generic \"Validation failed\", and a wrong `sql_dialect` casing as a\n * 422 that names neither the field nor the accepted values. Parsing first turns those into a\n * message that says what is wrong.\n *\n * **Only the fields the SDK types mark as required are declared.** The metastore owns each\n * object type's full schema, so every schema is a `looseObject`: unknown fields pass through\n * untouched rather than being stripped or rejected. Re-declaring the optional fields here\n * would create a second source of truth that silently drops whatever the metastore adds next.\n *\n * The SDK does **not** parse on its own writes — these are for callers that accept untrusted\n * or hand-authored input (an agent's tool call, a form submission) and want to fail early.\n * `modelUUID` is omitted throughout: the SDK injects it, so callers never supply it.\n */\n\nexport const semanticModelSchema = z.looseObject({\n name: z.string().min(1),\n sql_dialect: z.enum(SQL_DIALECTS),\n});\n\nexport const semanticDatasetSchema = z.looseObject({\n name: z.string().min(1),\n tableId: z.string().min(1),\n fqn: z.string().min(1),\n});\n\nexport const semanticMetricSchema = z.looseObject({\n name: z.string().min(1),\n sql: z.string().min(1),\n});\n\nexport const semanticRelationshipSchema = z.looseObject({\n from: z.string().min(1),\n to: z.string().min(1),\n on: z.string().min(1),\n});\n\nexport const semanticGlossarySchema = z.looseObject({\n term: z.string().min(1),\n definition: z.string().min(1),\n});\n\nexport const semanticConstraintSchema = z.looseObject({\n name: z.string().min(1),\n constraintType: z.enum(CONSTRAINT_TYPES),\n metrics: z.array(z.string()),\n rule: z.string().min(1),\n});\n\n/** Keyed by object type so a caller can pick the schema from a `SemanticChildObjectType`. */\nexport const SEMANTIC_CHILD_OBJECT_SCHEMAS = {\n 'semantic-dataset': semanticDatasetSchema,\n 'semantic-metric': semanticMetricSchema,\n 'semantic-relationship': semanticRelationshipSchema,\n 'semantic-glossary': semanticGlossarySchema,\n 'semantic-constraint': semanticConstraintSchema,\n} as const;\n"]}
|