@keboola/api-client 19.0.0 → 20.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/dist/{ManagementClientAuthError-DNUPB6cb.d.cts → ManagementClientAuthError-B7mGrnGn.d.cts} +1 -1
- package/dist/{ManagementClientAuthError-WRHtWJSv.d.ts → ManagementClientAuthError-BMOhz4mx.d.ts} +1 -1
- package/dist/ai/index.cjs +4 -3
- package/dist/ai/index.d.cts +2 -2
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.js +3 -2
- package/dist/assets/index.cjs +2 -2
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.d.cts +2 -2
- package/dist/assets/index.d.ts +2 -2
- package/dist/assets/index.js +1 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/auth/index.cjs +10 -10
- package/dist/auth/index.d.cts +5 -5
- package/dist/auth/index.d.ts +5 -5
- package/dist/auth/index.js +2 -2
- package/dist/{authMiddleware-B9RM45AH.d.cts → authMiddleware-BcRYj3eQ.d.cts} +1 -1
- package/dist/{authMiddleware-CwkfLK36.d.ts → authMiddleware-CirRGURb.d.ts} +1 -1
- package/dist/chat/index.cjs +4 -3
- package/dist/chat/index.d.cts +2 -2
- package/dist/chat/index.d.ts +2 -2
- package/dist/chat/index.js +3 -2
- package/dist/{chunk-2HPI7FTO.cjs → chunk-4H2DDEUI.cjs} +10 -9
- package/dist/chunk-4H2DDEUI.cjs.map +1 -0
- package/dist/{chunk-F6UMQZBC.js → chunk-4HJUQVXR.js} +29 -28
- package/dist/chunk-4HJUQVXR.js.map +1 -0
- package/dist/{chunk-BCCSLO2Q.cjs → chunk-4JCVPUXF.cjs} +12 -11
- package/dist/chunk-4JCVPUXF.cjs.map +1 -0
- package/dist/{chunk-BUHCOAT6.js → chunk-6FE3CWV6.js} +6 -5
- package/dist/chunk-6FE3CWV6.js.map +1 -0
- package/dist/{chunk-PSORECFP.js → chunk-7KMFRSYA.js} +6 -5
- package/dist/chunk-7KMFRSYA.js.map +1 -0
- package/dist/{chunk-7CTIKR3B.cjs → chunk-AKDJSXVJ.cjs} +7 -6
- package/dist/chunk-AKDJSXVJ.cjs.map +1 -0
- package/dist/{chunk-TNWN3QSY.cjs → chunk-ANRUSNYD.cjs} +8 -7
- package/dist/chunk-ANRUSNYD.cjs.map +1 -0
- package/dist/{chunk-YLZDOSIG.cjs → chunk-EKWD4ODT.cjs} +7 -6
- package/dist/chunk-EKWD4ODT.cjs.map +1 -0
- package/dist/{chunk-WERHQLXL.js → chunk-EXNR4FGV.js} +3 -3
- package/dist/chunk-EXNR4FGV.js.map +1 -0
- package/dist/{chunk-ZBPWLCSH.js → chunk-FPWOK2CR.js} +6 -5
- package/dist/chunk-FPWOK2CR.js.map +1 -0
- package/dist/{chunk-IPOWRVLR.cjs → chunk-G7VCXMQB.cjs} +7 -6
- package/dist/chunk-G7VCXMQB.cjs.map +1 -0
- package/dist/{chunk-FTN5DKXT.js → chunk-GENABZQ3.js} +6 -5
- package/dist/chunk-GENABZQ3.js.map +1 -0
- package/dist/{chunk-PC5GISUV.js → chunk-HEVDH4JQ.js} +6 -5
- package/dist/chunk-HEVDH4JQ.js.map +1 -0
- package/dist/chunk-HNP33VR5.cjs +16 -0
- package/dist/chunk-HNP33VR5.cjs.map +1 -0
- package/dist/{chunk-EFP5I3XX.js → chunk-IBELIKBL.js} +6 -5
- package/dist/chunk-IBELIKBL.js.map +1 -0
- package/dist/{chunk-IPCCJCV4.js → chunk-ISY2BOFY.js} +6 -5
- package/dist/chunk-ISY2BOFY.js.map +1 -0
- package/dist/{chunk-PC522LKL.cjs → chunk-IUN2ZSU3.cjs} +4 -3
- package/dist/chunk-IUN2ZSU3.cjs.map +1 -0
- package/dist/{chunk-HQM2LBGI.cjs → chunk-IZWNTRMT.cjs} +7 -6
- package/dist/chunk-IZWNTRMT.cjs.map +1 -0
- package/dist/{chunk-R34WMOOF.cjs → chunk-JIAMBOU7.cjs} +8 -7
- package/dist/chunk-JIAMBOU7.cjs.map +1 -0
- package/dist/{chunk-KIVPVVFK.cjs → chunk-JJXTE2SL.cjs} +7 -6
- package/dist/chunk-JJXTE2SL.cjs.map +1 -0
- package/dist/{chunk-YD3KMWND.js → chunk-K6E7LOWZ.js} +6 -5
- package/dist/chunk-K6E7LOWZ.js.map +1 -0
- package/dist/{chunk-K57JQFAE.js → chunk-KDWIJTED.js} +6 -5
- package/dist/chunk-KDWIJTED.js.map +1 -0
- package/dist/{chunk-QO7MNY6T.js → chunk-KLVBTRLR.js} +13 -8
- package/dist/chunk-KLVBTRLR.js.map +1 -0
- package/dist/{chunk-FTRHU6YC.js → chunk-M3UUJIMO.js} +6 -5
- package/dist/chunk-M3UUJIMO.js.map +1 -0
- package/dist/{chunk-U7K7Y2WN.cjs → chunk-MLCMKHMK.cjs} +7 -6
- package/dist/chunk-MLCMKHMK.cjs.map +1 -0
- package/dist/{chunk-RZIBC7G4.cjs → chunk-N3GNUFMA.cjs} +31 -30
- package/dist/chunk-N3GNUFMA.cjs.map +1 -0
- package/dist/{chunk-CWQHLSG4.cjs → chunk-NRJTA5P3.cjs} +4 -4
- package/dist/chunk-NRJTA5P3.cjs.map +1 -0
- package/dist/{chunk-EA26275C.js → chunk-PINOAERX.js} +6 -5
- package/dist/chunk-PINOAERX.js.map +1 -0
- package/dist/{chunk-A6YMIJAX.cjs → chunk-QQJXXNUE.cjs} +8 -7
- package/dist/chunk-QQJXXNUE.cjs.map +1 -0
- package/dist/{chunk-G7INDX44.js → chunk-RHLDDKX6.js} +8 -7
- package/dist/chunk-RHLDDKX6.js.map +1 -0
- package/dist/{chunk-FDFISPDO.js → chunk-RK2VGHJE.js} +4 -3
- package/dist/chunk-RK2VGHJE.js.map +1 -0
- package/dist/{chunk-PMPCP6PG.cjs → chunk-STAQJVW4.cjs} +7 -6
- package/dist/chunk-STAQJVW4.cjs.map +1 -0
- package/dist/{chunk-BPZ7746T.cjs → chunk-SWJHENEP.cjs} +23 -18
- package/dist/{chunk-QO7MNY6T.js.map → chunk-SWJHENEP.cjs.map} +1 -1
- package/dist/{chunk-IP4D4I42.js → chunk-UREIP7XG.js} +6 -5
- package/dist/chunk-UREIP7XG.js.map +1 -0
- package/dist/{chunk-MSLGNOIN.js → chunk-V4FLCCD4.js} +6 -5
- package/dist/chunk-V4FLCCD4.js.map +1 -0
- package/dist/chunk-WJRHT346.js +14 -0
- package/dist/chunk-WJRHT346.js.map +1 -0
- package/dist/{chunk-7Z7ETHFD.cjs → chunk-WWICQYOY.cjs} +4 -4
- package/dist/{chunk-7Z7ETHFD.cjs.map → chunk-WWICQYOY.cjs.map} +1 -1
- package/dist/{chunk-VTXVB54B.cjs → chunk-XISA4SYM.cjs} +7 -6
- package/dist/chunk-XISA4SYM.cjs.map +1 -0
- package/dist/{chunk-HACGJDAD.cjs → chunk-YLHZ2H7O.cjs} +10 -9
- package/dist/chunk-YLHZ2H7O.cjs.map +1 -0
- package/dist/{chunk-LBNWO5SO.js → chunk-YOD5F25S.js} +6 -5
- package/dist/chunk-YOD5F25S.js.map +1 -0
- package/dist/{chunk-EAWA66EE.cjs → chunk-YOPRPXER.cjs} +7 -6
- package/dist/chunk-YOPRPXER.cjs.map +1 -0
- package/dist/{chunk-X23LLSP6.js → chunk-ZAPK7HZS.js} +6 -5
- package/dist/chunk-ZAPK7HZS.js.map +1 -0
- package/dist/{chunk-3FYGTUWU.js → chunk-ZHNOZHJG.js} +3 -3
- package/dist/{chunk-3FYGTUWU.js.map → chunk-ZHNOZHJG.js.map} +1 -1
- package/dist/{chunk-KWO5WJUT.cjs → chunk-ZLW3243Q.cjs} +7 -6
- package/dist/chunk-ZLW3243Q.cjs.map +1 -0
- package/dist/{createGenericFetchClient-CSHOaFE3.d.cts → createGenericFetchClient-CrB9cdk8.d.cts} +1 -1
- package/dist/{createGenericFetchClient-D_vU8nco.d.ts → createGenericFetchClient-D4tfhW6Z.d.ts} +1 -1
- package/dist/{createOpenapiFetchClient-B50N1zkV.d.ts → createOpenapiFetchClient-DLA4-_yg.d.ts} +1 -1
- package/dist/{createOpenapiFetchClient-CKNLT4ND.d.cts → createOpenapiFetchClient-zK2SckO2.d.cts} +1 -1
- package/dist/dataScience/index.cjs +5 -4
- package/dist/dataScience/index.d.cts +2 -2
- package/dist/dataScience/index.d.ts +2 -2
- package/dist/dataScience/index.js +3 -2
- package/dist/editor/index.cjs +4 -3
- package/dist/editor/index.d.cts +2 -2
- package/dist/editor/index.d.ts +2 -2
- package/dist/editor/index.js +3 -2
- package/dist/encryption/index.cjs +3 -3
- package/dist/encryption/index.d.cts +2 -2
- package/dist/encryption/index.d.ts +2 -2
- package/dist/encryption/index.js +2 -2
- package/dist/import/index.cjs +4 -3
- package/dist/import/index.d.cts +2 -2
- package/dist/import/index.d.ts +2 -2
- package/dist/import/index.js +3 -2
- package/dist/index.cjs +89 -88
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -10
- package/dist/index.d.ts +11 -10
- package/dist/index.js +47 -46
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +5 -5
- package/dist/management/index.d.cts +17 -9
- package/dist/management/index.d.ts +17 -9
- package/dist/management/index.js +3 -3
- package/dist/metastore/index.cjs +4 -3
- package/dist/metastore/index.d.cts +3 -3
- package/dist/metastore/index.d.ts +3 -3
- package/dist/metastore/index.js +3 -2
- package/dist/notifications/index.cjs +4 -3
- package/dist/notifications/index.d.cts +2 -2
- package/dist/notifications/index.d.ts +2 -2
- package/dist/notifications/index.js +3 -2
- package/dist/oauth/index.cjs +4 -3
- package/dist/oauth/index.d.cts +2 -2
- package/dist/oauth/index.d.ts +2 -2
- package/dist/oauth/index.js +3 -2
- package/dist/queryService/index.cjs +4 -3
- package/dist/queryService/index.d.cts +2 -2
- package/dist/queryService/index.d.ts +2 -2
- package/dist/queryService/index.js +3 -2
- package/dist/queue/index.cjs +4 -3
- package/dist/queue/index.d.cts +2 -2
- package/dist/queue/index.d.ts +2 -2
- package/dist/queue/index.js +3 -2
- package/dist/scheduler/index.cjs +4 -3
- package/dist/scheduler/index.d.cts +2 -2
- package/dist/scheduler/index.d.ts +2 -2
- package/dist/scheduler/index.js +3 -2
- package/dist/sdk/configurations/index.d.cts +4 -4
- package/dist/sdk/configurations/index.d.ts +4 -4
- package/dist/sdk/storage/index.d.cts +5 -5
- package/dist/sdk/storage/index.d.ts +5 -5
- package/dist/sdk/tag/index.d.cts +2 -2
- package/dist/sdk/tag/index.d.ts +2 -2
- package/dist/sdk/tag/types.d.cts +2 -2
- package/dist/sdk/tag/types.d.ts +2 -2
- package/dist/sdk/vault/index.d.cts +1 -1
- package/dist/sdk/vault/index.d.ts +1 -1
- package/dist/status/index.cjs +2 -2
- package/dist/status/index.cjs.map +1 -1
- package/dist/status/index.d.cts +2 -2
- package/dist/status/index.d.ts +2 -2
- package/dist/status/index.js +1 -1
- package/dist/status/index.js.map +1 -1
- package/dist/storage/index.cjs +11 -10
- package/dist/storage/index.d.cts +5 -5
- package/dist/storage/index.d.ts +5 -5
- package/dist/storage/index.js +4 -3
- package/dist/{storageClient-Scemp8F6.d.ts → storageClient-Cwr5Vl45.d.ts} +4 -4
- package/dist/{storageClient-8LhUUGYa.d.cts → storageClient-D1USmiC5.d.cts} +4 -4
- package/dist/{storageSdk-CXFUSkSB.d.cts → storageSdk-MciYsR_e.d.cts} +1 -1
- package/dist/{storageSdk-r-6-GCFM.d.ts → storageSdk-Um7iSJMs.d.ts} +1 -1
- package/dist/stream/index.cjs +4 -3
- package/dist/stream/index.d.cts +2 -2
- package/dist/stream/index.d.ts +2 -2
- package/dist/stream/index.js +3 -2
- package/dist/syncActions/index.cjs +4 -3
- package/dist/syncActions/index.d.cts +3 -3
- package/dist/syncActions/index.d.ts +3 -3
- package/dist/syncActions/index.js +3 -2
- package/dist/telemetry/index.cjs +4 -3
- package/dist/telemetry/index.d.cts +3 -3
- package/dist/telemetry/index.d.ts +3 -3
- package/dist/telemetry/index.js +3 -2
- package/dist/{types-BLJoO6YL.d.cts → types-0yn6OefX.d.cts} +11 -2
- package/dist/{types-BLJoO6YL.d.ts → types-0yn6OefX.d.ts} +11 -2
- package/dist/vault/index.cjs +4 -3
- package/dist/vault/index.d.cts +2 -2
- package/dist/vault/index.d.ts +2 -2
- package/dist/vault/index.js +3 -2
- package/package.json +3 -3
- package/dist/chunk-2HPI7FTO.cjs.map +0 -1
- package/dist/chunk-7CTIKR3B.cjs.map +0 -1
- package/dist/chunk-A6YMIJAX.cjs.map +0 -1
- package/dist/chunk-BCCSLO2Q.cjs.map +0 -1
- package/dist/chunk-BPZ7746T.cjs.map +0 -1
- package/dist/chunk-BUHCOAT6.js.map +0 -1
- package/dist/chunk-CWQHLSG4.cjs.map +0 -1
- package/dist/chunk-EA26275C.js.map +0 -1
- package/dist/chunk-EAWA66EE.cjs.map +0 -1
- package/dist/chunk-EFP5I3XX.js.map +0 -1
- package/dist/chunk-F6UMQZBC.js.map +0 -1
- package/dist/chunk-FDFISPDO.js.map +0 -1
- package/dist/chunk-FTN5DKXT.js.map +0 -1
- package/dist/chunk-FTRHU6YC.js.map +0 -1
- package/dist/chunk-G7INDX44.js.map +0 -1
- package/dist/chunk-HACGJDAD.cjs.map +0 -1
- package/dist/chunk-HQM2LBGI.cjs.map +0 -1
- package/dist/chunk-IP4D4I42.js.map +0 -1
- package/dist/chunk-IPCCJCV4.js.map +0 -1
- package/dist/chunk-IPOWRVLR.cjs.map +0 -1
- package/dist/chunk-K57JQFAE.js.map +0 -1
- package/dist/chunk-KIVPVVFK.cjs.map +0 -1
- package/dist/chunk-KWO5WJUT.cjs.map +0 -1
- package/dist/chunk-LBNWO5SO.js.map +0 -1
- package/dist/chunk-MSLGNOIN.js.map +0 -1
- package/dist/chunk-PC522LKL.cjs.map +0 -1
- package/dist/chunk-PC5GISUV.js.map +0 -1
- package/dist/chunk-PMPCP6PG.cjs.map +0 -1
- package/dist/chunk-PSORECFP.js.map +0 -1
- package/dist/chunk-R34WMOOF.cjs.map +0 -1
- package/dist/chunk-RZIBC7G4.cjs.map +0 -1
- package/dist/chunk-TNWN3QSY.cjs.map +0 -1
- package/dist/chunk-U7K7Y2WN.cjs.map +0 -1
- package/dist/chunk-VTXVB54B.cjs.map +0 -1
- package/dist/chunk-WERHQLXL.js.map +0 -1
- package/dist/chunk-X23LLSP6.js.map +0 -1
- package/dist/chunk-YD3KMWND.js.map +0 -1
- package/dist/chunk-YLZDOSIG.cjs.map +0 -1
- package/dist/chunk-ZBPWLCSH.js.map +0 -1
- package/dist/{schemas-DVB6wC7L.d.cts → schemas-CraXbXke.d.cts} +15 -15
- package/dist/{schemas-DVB6wC7L.d.ts → schemas-CraXbXke.d.ts} +15 -15
|
@@ -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/createOpenapiFetchClient.ts"],"names":[],"mappings":"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","file":"chunk-FDFISPDO.js","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} 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 ...restDefaultOptions\n } = defaultOptions;\n const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = 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 { request, validateStatus: validateStatus ?? defValidateStatus };\n};\n","import { ApiError } from '../../errors';\n\nimport type {\n BaseFetchParams,\n CoreFetchFn,\n CreateFetchClientOptions,\n FetchClientOptions,\n FetchFn,\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\nconst createCoreFetch =\n (fetchFn: FetchFn): CoreFetchFn =>\n async ({ request, validateStatus }) => {\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 coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);\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 {\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/oauth/oauthClient.ts"],"names":[],"mappings":";;;AAaO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AACvF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAAC,iBAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,OAAO,KAAA,EAA6B,MAAA,KAAyB;AAClF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,OAAO,WAAA,EAAqB,EAAA,EAAY,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,iCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAG,EAAE;AAAA,MAC5B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OACzB,WAAA,EACA,IAAA,EACA,MAAA,KACwB;AACxB,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,4BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,IAAe,IAAA,EAAK;AAAA,MAC9B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAIA,EAAA,MAAM,wBAAA,GAA2B,OAC/B,WAAA,EACA,EAAE,MAAM,eAAA,EAAiB,GAAG,IAAA,EAAK,EACjC,MAAA,KACwB;AACxB,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,4BAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,WAAA,EAAY;AAAA,QACpB,IAAA,EAAM;AAAA,UACJ,GAAG,IAAA;AAAA,UACH,OAAA,EAAS,IAAA,CAAK,SAAA,CAAU,eAAe;AAAA;AACzC,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,WAAA,EACA,IAAA,EACA,MAAA,KACwB;AACxB,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,kBAAA,CAAmB,WAAA,EAAa,IAAA,EAAM,MAAM,CAAA;AAAA,IAC3D,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,WAAW,KAAK,CAAA,IAAK,MAAM,QAAA,CAAS,MAAA,KAAW,WAAW,oBAAA,EAAsB;AAClF,QAAA,OAAO,wBAAA,CAAyB,WAAA,EAAa,IAAA,EAAM,MAAM,CAAA;AAAA,MAC3D;AACA,MAAA,MAAM,KAAA;AAAA,IACR;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,WAAA,EACA,EAAA,EACA,MAAA,KACkB;AAClB,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,iCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAG,EAAE;AAAA,MAC5B,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-FTN5DKXT.js","sourcesContent":["import { createGenericFetchClient, isApiError } from '../../fetchClient';\nimport { HttpStatus, KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type {\n ComponentPath,\n CreateCredentialBody,\n Credential,\n CredentialPath,\n GetCredentialsQuery,\n LegacyCreateBody,\n} from './types';\n\nexport const createOauthClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const getCredentials = async (query?: GetCredentialsQuery, signal?: AbortSignal) => {\n const { data } = await client.get<Credential[], void, GetCredentialsQuery>(\n '/credentials',\n { query },\n { signal },\n );\n return data;\n };\n\n const getCredential = async (componentId: string, id: string, signal?: AbortSignal) => {\n const { data } = await client.get<Credential, CredentialPath>(\n '/credentials/{componentId}/{id}',\n { path: { componentId, id } },\n { signal },\n );\n return data;\n };\n\n const _createCredentials = async (\n componentId: string,\n body: CreateCredentialBody,\n signal?: AbortSignal,\n ): Promise<Credential> => {\n const { data } = await client.post<Credential, ComponentPath, void, CreateCredentialBody>(\n '/credentials/{componentId}',\n { path: { componentId }, body },\n { signal },\n );\n return data;\n };\n\n // Legacy OAuth service rejects `data` and requires `#data` as a JSON string.\n // Retry with the legacy shape on 422; modern stacks accept the first call.\n const _createLegacyCredentials = async (\n componentId: string,\n { data: credentialsData, ...rest }: CreateCredentialBody,\n signal?: AbortSignal,\n ): Promise<Credential> => {\n const { data } = await client.post<Credential, ComponentPath, void, LegacyCreateBody>(\n '/credentials/{componentId}',\n {\n path: { componentId },\n body: {\n ...rest,\n '#data': JSON.stringify(credentialsData),\n },\n },\n { signal },\n );\n\n return data;\n };\n\n const createCredential = async (\n componentId: string,\n body: CreateCredentialBody,\n signal?: AbortSignal,\n ): Promise<Credential> => {\n try {\n return await _createCredentials(componentId, body, signal);\n } catch (error) {\n if (isApiError(error) && error.response.status === HttpStatus.UNPROCESSABLE_ENTITY) {\n return _createLegacyCredentials(componentId, body, signal);\n }\n throw error;\n }\n };\n\n const deleteCredential = async (\n componentId: string,\n id: string,\n signal?: AbortSignal,\n ): Promise<void> => {\n await client.delete<void, CredentialPath>(\n '/credentials/{componentId}/{id}',\n { path: { componentId, id } },\n { signal },\n );\n };\n\n return {\n getCredentials,\n getCredential,\n createCredential,\n deleteCredential,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/chat/chatClient.ts"],"names":[],"mappings":"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","file":"chunk-FTRHU6YC.js","sourcesContent":["import { z } from 'zod';\n\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { SuggestionsApiResponse, SuggestionsRequestBody } from './suggestions';\nimport { suggestionsApiResponseSchema } from './suggestions';\nimport type {\n AgentSettings,\n ChatRequest,\n GetChatPath,\n GetHistoryQuery,\n GetVotesQuery,\n ToolsListResponse,\n UpdateAgentSettingsRequest,\n UpdateUserAgentSettingsRequest,\n UsageResponse,\n UserAgentSettings,\n VoteRequest,\n} from './types';\n\nconst agentSettingsSchema = z.object({\n projectId: z.string(),\n customInstructions: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nconst toolPermissionValueSchema = z.enum(['always_allow', 'always_ask', 'blocked']);\n\nconst userAgentSettingsSchema = z.object({\n projectId: z.string(),\n userId: z.string(),\n customInstructions: z.string().nullable(),\n toolPermissions: z.record(z.string(), toolPermissionValueSchema).nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nconst toolInfoSchema = z.object({\n name: z.string(),\n description: z.string(),\n readOnly: z.boolean(),\n});\n\nconst toolsListResponseSchema = z.object({\n tools: z.array(toolInfoSchema),\n});\n\ntype ChatClientOptions = ClientInitOptions & {\n storageApiUrl: string;\n};\n\nexport const createChatClient = ({\n baseUrl,\n middlewares,\n storageApiUrl,\n token,\n}: ChatClientOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n headers: new Headers({\n [KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl,\n [KeboolaHttpHeader.STORAGE_API_TOKEN]: token,\n }),\n middlewares,\n });\n\n const getHistory = async (params?: GetHistoryQuery) => {\n const { data } = await client.get('/history', { query: params });\n return data;\n };\n\n const getChat = async (chatId: GetChatPath['id'], signal?: AbortSignal) => {\n const { data } = await client.get('/chat/{id}', { path: { id: chatId } }, { signal });\n return data;\n };\n\n const deleteChat = async (chatId: string) => {\n const { data } = await client.delete('/chat', { query: { id: chatId } });\n return data;\n };\n\n const getVotes = async (chatId: GetVotesQuery['chatId']) => {\n const { data } = await client.get('/vote', { query: { chatId } });\n return data;\n };\n\n const submitVote = async (params: VoteRequest) => {\n await client.patch('/vote', { body: params });\n };\n\n const createChat = async (request: ChatRequest) => {\n const { response } = await client.post('/chat', { body: request });\n return response;\n };\n\n const getUsage = async (signal?: AbortSignal): Promise<UsageResponse> => {\n const { data } = await client.get('/usage', {}, { signal });\n return data;\n };\n\n const getSuggestions = async (\n request: SuggestionsRequestBody,\n signal?: AbortSignal,\n ): Promise<SuggestionsApiResponse> => {\n const { data } = await client.post('/suggestions', { body: request }, { signal });\n\n const result = suggestionsApiResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid suggestions response format');\n }\n\n return result.data;\n };\n\n const getAgentSettings = async (signal?: AbortSignal): Promise<AgentSettings> => {\n const { data } = await client.get('/settings', {}, { signal });\n const result = agentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid agent settings response format');\n }\n return result.data;\n };\n\n const updateAgentSettings = async (\n request: UpdateAgentSettingsRequest,\n signal?: AbortSignal,\n ): Promise<AgentSettings> => {\n const { data } = await client.patch('/settings', { body: request }, { signal });\n const result = agentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid agent settings response format');\n }\n return result.data;\n };\n\n const getUserAgentSettings = async (signal?: AbortSignal): Promise<UserAgentSettings> => {\n const { data } = await client.get('/settings/user', {}, { signal });\n const result = userAgentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid user agent settings response format');\n }\n return result.data;\n };\n\n const updateUserAgentSettings = async (\n request: UpdateUserAgentSettingsRequest,\n signal?: AbortSignal,\n ): Promise<UserAgentSettings> => {\n const { data } = await client.patch('/settings/user', { body: request }, { signal });\n const result = userAgentSettingsSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid user agent settings response format');\n }\n return result.data;\n };\n\n const getToolsList = async (signal?: AbortSignal): Promise<ToolsListResponse> => {\n const { data } = await client.get('/settings/tools', {}, { signal });\n const result = toolsListResponseSchema.safeParse(data);\n if (!result.success) {\n throw new Error('Invalid tools list response format');\n }\n return result.data;\n };\n\n return {\n getHistory,\n getChat,\n deleteChat,\n createChat,\n getVotes,\n submitVote,\n getUsage,\n getSuggestions,\n getAgentSettings,\n updateAgentSettings,\n getUserAgentSettings,\n updateUserAgentSettings,\n getToolsList,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/ServiceUnavailableError.ts","../src/clients/storage/configurationVersions/configurationVersions.ts","../src/clients/storage/mergeRequests/mergeRequests.ts","../src/clients/storage/branches/mappers.ts","../src/clients/storage/branches/branches.ts","../src/clients/storage/buckets/listingConversion.ts","../src/clients/storage/buckets/buckets.ts","../src/clients/storage/columns/columns.ts","../src/utils/series.ts","../src/clients/storage/componentsAndConfigurations/componentsAndConfigurations.ts","../src/clients/storage/events/events.ts","../src/clients/storage/files/files.ts","../src/clients/storage/jobs/jobs.ts","../src/clients/storage/refreshTokenMiddleware.ts","../src/clients/storage/search/search.ts","../src/clients/storage/stats/stats.ts","../src/clients/storage/tables/tables.ts","../src/clients/storage/tokens/tokens.ts","../src/clients/storage/triggers/triggers.ts","../src/clients/storage/workspaces/workspaces.ts","../src/clients/storage/storageClient.ts"],"names":[],"mappings":"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","file":"chunk-G7INDX44.js","sourcesContent":["export class ServiceUnavailableError extends Error {\n constructor(serviceId: string, path: string[], clientName: string) {\n super(\n `Service \"${serviceId}\" is not available in this stack. Caused by: ${clientName}.${path.join('.')}()`,\n );\n this.name = 'ServiceUnavailableError';\n Object.setPrototypeOf(this, ServiceUnavailableError.prototype);\n }\n}\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n ConfigurationVersion,\n ConfigurationVersionDetail,\n ConfigurationVersionDetailPath,\n ConfigurationVersionPath,\n} from './types';\n\nexport const createConfigurationVersions = (client: GenericFetchClient) => {\n const listConfigurationVersions = async (\n { branchId, componentId, configId }: ConfigurationVersionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ConfigurationVersion[], ConfigurationVersionPath, void, void>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/versions',\n { path: { branchId, componentId, configId } },\n { signal },\n );\n return data;\n };\n\n const getConfigurationVersion = async (\n { branchId, componentId, configId, versionId }: ConfigurationVersionDetailPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<\n ConfigurationVersionDetail,\n ConfigurationVersionDetailPath,\n void,\n void\n >(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/versions/{versionId}',\n { path: { branchId, componentId, configId, versionId } },\n { signal },\n );\n return data;\n };\n\n return {\n listConfigurationVersions,\n getConfigurationVersion,\n };\n};\n","import type { StorageOpenApiFetchClient } from '../storageClient';\n\nimport type {\n CreateMergeRequestParams,\n MergeRequestDetail,\n MergeRequestDetailWithActivityLog,\n UpdateMergeRequestParams,\n} from './types';\n\nexport const createMergeRequests = (client: StorageOpenApiFetchClient) => {\n const getMergeRequests = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v2/storage/merge-request', {}, { signal });\n return data;\n };\n\n const getMergeRequest = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v2/storage/merge-request/{id}',\n { path: { id } },\n { signal },\n );\n // Schema types changeLog as Record<string, never>; cast to the real shape.\n return data as MergeRequestDetail;\n };\n\n const getMergeRequestWithActivityLog = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v2/storage/merge-request/{id}',\n { path: { id }, query: { include: 'activityLog' } },\n { signal },\n );\n return data as MergeRequestDetailWithActivityLog;\n };\n\n const createMergeRequest = async (params: CreateMergeRequestParams) => {\n const { data } = await client.post('/v2/storage/merge-request', { body: params });\n return data;\n };\n\n const updateMergeRequest = async (id: number, params: UpdateMergeRequestParams) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}', {\n path: { id },\n body: params,\n });\n return data;\n };\n\n const requestReview = async (id: number) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/request-review', {\n path: { id },\n });\n return data;\n };\n\n const approveMergeRequest = async (id: number) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/approve', {\n path: { id },\n });\n return data;\n };\n\n const requestChangesMergeRequest = async (id: number, reason?: string) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/request-changes', {\n path: { id },\n body: reason ? { reason } : undefined,\n });\n return data;\n };\n\n /**\n * Merges an approved merge request. The endpoint is async — it returns the created merge job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/merge-requests/PUT/v2/storage/merge-request/{id}/merge\n */\n const mergeMergeRequest = async (id: number) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/merge', {\n path: { id },\n });\n return data;\n };\n\n const getMergeRequestConflicts = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v2/storage/merge-request/{id}/conflicts',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n return {\n getMergeRequests,\n getMergeRequest,\n getMergeRequestWithActivityLog,\n createMergeRequest,\n updateMergeRequest,\n requestReview,\n approveMergeRequest,\n requestChangesMergeRequest,\n mergeMergeRequest,\n getMergeRequestConflicts,\n };\n};\n","import type { BranchMetadata, BranchMetadataRaw } from './types';\n\nexport const mapBranchMetadata = (data: BranchMetadataRaw): BranchMetadata => ({\n ...data,\n timestamp: new Date(data.timestamp),\n});\n","import type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport { mapBranchMetadata } from './mappers';\nimport type {\n BranchMetadataEntry,\n BranchMetadataRaw,\n CreateDevBranchJobBody,\n DevBranch,\n DevBranchPath,\n} from './types';\n\nexport const createBranches = (client: GenericFetchClient) => {\n const getDevBranches = async (signal?: AbortSignal) => {\n const { data } = await client.get<DevBranch[]>('/v2/storage/dev-branches', {}, { signal });\n return data;\n };\n\n const createDevBranchJob = async (body: CreateDevBranchJobBody) => {\n const { data } = await client.post<Job<'devBranchCreate'>, void, void, CreateDevBranchJobBody>(\n '/v2/storage/dev-branches',\n {\n body,\n },\n );\n return data;\n };\n\n const updateDevBranch = async ({\n id,\n name,\n description,\n }: CreateDevBranchJobBody & DevBranchPath) => {\n const { data } = await client.put<DevBranch, DevBranchPath, void, CreateDevBranchJobBody>(\n '/v2/storage/dev-branches/{id}',\n {\n path: { id },\n body: {\n name,\n description,\n },\n },\n );\n return data;\n };\n\n const deleteDevBranchJob = async (id: number) => {\n const { data } = await client.delete<Job<'devBranchDelete'>, DevBranchPath>(\n '/v2/storage/dev-branches/{id}',\n {\n path: { id },\n },\n );\n\n return data;\n };\n\n const getDevBranchMetadata = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get<BranchMetadataRaw[], { id: string }>(\n '/v2/storage/branch/{id}/metadata',\n { path: { id } },\n { signal },\n );\n\n return data.map(mapBranchMetadata);\n };\n\n const saveDevBranchMetadata = async (\n id: string,\n metadata: BranchMetadataEntry[],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n BranchMetadataRaw[],\n { id: string },\n void,\n { metadata: BranchMetadataEntry[] }\n >('/v2/storage/branch/{id}/metadata', { path: { id }, body: { metadata } }, { signal });\n\n return data.map(mapBranchMetadata);\n };\n\n const deleteDevBranchMetadata = async (id: string, metadataId: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string; metadataId: string }>(\n '/v2/storage/branch/{id}/metadata/{metadataId}',\n { path: { id, metadataId } },\n { signal },\n );\n };\n\n return {\n getDevBranches,\n createDevBranchJob,\n updateDevBranch,\n deleteDevBranchJob,\n getDevBranchMetadata,\n saveDevBranchMetadata,\n deleteDevBranchMetadata,\n };\n};\n","import type { BucketListing, RawBucketListingResponse, Subscriber } from './types';\n\nexport const toBackendSubscribers = (subscribers: Subscriber[]): string[] =>\n subscribers.map((s) => `${s.type}:${s.email}`);\n\n// Forward-compatible: silently skip rows with an unknown prefix or a missing\n// email rather than throwing — a single bad row shouldn't break the grid.\nexport const fromBackendSubscribers = (raw: string[]): Subscriber[] => {\n const result: Subscriber[] = [];\n for (const entry of raw) {\n const colon = entry.indexOf(':');\n if (colon === -1) continue;\n const prefix = entry.slice(0, colon);\n const email = entry.slice(colon + 1);\n if (prefix !== 'user' && prefix !== 'group') continue;\n if (email.length === 0) continue;\n result.push({ type: prefix, email });\n }\n return result;\n};\n\nexport const toBucketListing = (\n raw: RawBucketListingResponse,\n bucketId: string,\n): BucketListing => ({\n bucketId,\n name: raw.name,\n description: raw.description ?? null,\n listingId: raw.bigquery.listingId,\n subscribers: fromBackendSubscribers(raw.bigquery.subscribers),\n createdAt: raw.createdAt,\n});\n","import { isApiError } from '../../../fetchClient';\nimport type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport { toBackendSubscribers, toBucketListing } from './listingConversion';\nimport type {\n Bucket,\n BucketDetail,\n BucketListing,\n BucketMetadata,\n BucketOwner,\n BucketRegistrationGuide,\n BucketRegistrationGuideQuery,\n CreateBucketBody,\n CreateBucketListingInput,\n CreateScheduledRefreshBody,\n CreateScheduledRefreshPath,\n GetBucketsQuery,\n RawBucketListingResponse,\n RawBucketListingRow,\n RefreshExternalBucketQuery,\n RegisterBucketBody,\n SaveBucketMetadataBody,\n ScheduledTask,\n ShareBucketToProjectsBody,\n ShareBucketToUsersBody,\n SharedBuckets,\n UpdateBucketBody,\n UpdateBucketListingInput,\n UpdateBucketOwnerBody,\n} from './types';\n\n// PATCH /buckets/{id}/listing uses `exposureName` / `exposureDescription`\n// while POST uses `listingName` / `listingDescription` (see createListing).\ntype UpdateBucketListingRequestBody = {\n exposureName?: string;\n exposureDescription?: string | null;\n bigquery?: { subscribers: string[] };\n};\n\nexport const createBuckets = (client: GenericFetchClient) => {\n const getBuckets = async (\n branchId: string,\n query: GetBucketsQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Bucket[], { branchId: string }, GetBucketsQuery>(\n `/v2/storage/branch/{branchId}/buckets`,\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n\n return data;\n };\n\n const getBucket = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get<BucketDetail, { id: string }>(\n `/v2/storage/buckets/{id}`,\n { path: { id } },\n { signal },\n );\n\n return data;\n };\n\n const createBucket = async (body: CreateBucketBody) => {\n const { data } = await client.post<BucketDetail, void, never, CreateBucketBody>(\n `/v2/storage/buckets`,\n {\n body,\n },\n );\n\n return data;\n };\n\n const updateBucket = async (id: string, body: UpdateBucketBody) => {\n const { data } = await client.put<BucketDetail, { id: string }, never, UpdateBucketBody>(\n `/v2/storage/buckets/{id}`,\n { path: { id }, body },\n );\n\n return data;\n };\n\n const deleteBucket = async (id: string) => {\n await client.delete<void, { id: string }>(`/v2/storage/buckets/{id}`, { path: { id } });\n };\n\n /**\n * Deletes a bucket asynchronously and returns a job to poll.\n * Required on GCP stacks where synchronous bucket deletion is not supported.\n *\n * `force` deletes all tables inside the bucket before removing it.\n * The parameter is supported by the API but not reflected in the generated OpenAPI schema.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets\n */\n const deleteBucketAsync = async (id: string, options: { force?: boolean } = {}) => {\n const { data } = await client.delete<\n Job<'bucketDelete'>,\n { id: string },\n { async: true; force?: boolean }\n >(`/v2/storage/buckets/{id}`, { path: { id }, query: { async: true, ...options } });\n return data;\n };\n\n const createScheduledRefresh = async (\n input: CreateScheduledRefreshPath & CreateScheduledRefreshBody,\n ) => {\n const { branchId, bucketId, cronExpression } = input;\n const { data } = await client.post<\n ScheduledTask,\n CreateScheduledRefreshPath,\n never,\n CreateScheduledRefreshBody\n >(`/v2/storage/branch/{branchId}/buckets/{bucketId}/scheduled-tasks/refresh`, {\n path: { branchId, bucketId },\n body: { cronExpression },\n });\n\n return data;\n };\n\n const deleteScheduledTask = async (taskId: string) => {\n await client.delete<void, { taskId: string }>(`/v2/storage/scheduled-tasks/{taskId}`, {\n path: { taskId },\n });\n };\n\n const getListing = async (\n bucketId: string,\n signal?: AbortSignal,\n ): Promise<BucketListing | null> => {\n try {\n const { data } = await client.get<RawBucketListingResponse, { bucketId: string }>(\n `/v2/storage/buckets/{bucketId}/listing`,\n { path: { bucketId } },\n { signal },\n );\n return toBucketListing(data, bucketId);\n } catch (error) {\n if (isApiError(error) && error.response.status === 404) return null;\n throw error;\n }\n };\n\n const createListing = async (\n bucketId: string,\n input: CreateBucketListingInput,\n signal?: AbortSignal,\n ): Promise<Job<'bucketListingCreate'>> => {\n const { data } = await client.post<\n Job<'bucketListingCreate'>,\n { bucketId: string },\n never,\n {\n listingName: string;\n listingDescription: string | null;\n bigquery: { listingId: string; subscribers: string[] };\n }\n >(\n `/v2/storage/buckets/{bucketId}/listing`,\n {\n path: { bucketId },\n body: {\n listingName: input.name,\n listingDescription: input.description?.trim() || null,\n bigquery: {\n listingId: input.listingId,\n subscribers: toBackendSubscribers(input.subscribers),\n },\n },\n },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Update a bucket exposure. At least one of `name`, `description`, or\n * `subscribers` must be provided — the SDK throws synchronously if all three\n * are absent, since the backend would otherwise no-op a PATCH with an empty\n * body and we'd return a job that's already in `success` with no actual\n * change. Callers should gate the call against the form's \"dirty\" state.\n */\n const updateListing = async (\n bucketId: string,\n input: UpdateBucketListingInput,\n signal?: AbortSignal,\n ): Promise<Job<'bucketListingUpdate'>> => {\n // PATCH uses `exposureName` / `exposureDescription`; POST uses\n // `listingName` / `listingDescription`. Do not \"normalize\" without\n // coordinating with the bucket-listing backend owner.\n const body: UpdateBucketListingRequestBody = {};\n if (input.name !== undefined) body.exposureName = input.name;\n if (input.description !== undefined) {\n body.exposureDescription = input.description?.trim() || null;\n }\n if (input.subscribers !== undefined) {\n body.bigquery = { subscribers: toBackendSubscribers(input.subscribers) };\n }\n if (Object.keys(body).length === 0) {\n throw new Error('updateListing requires at least one field');\n }\n\n const { data } = await client.patch<\n Job<'bucketListingUpdate'>,\n { bucketId: string },\n never,\n UpdateBucketListingRequestBody\n >(`/v2/storage/buckets/{bucketId}/listing`, { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n const deleteListing = async (\n bucketId: string,\n signal?: AbortSignal,\n ): Promise<Job<'bucketListingDelete'>> => {\n const { data } = await client.delete<Job<'bucketListingDelete'>, { bucketId: string }>(\n `/v2/storage/buckets/{bucketId}/listing`,\n { path: { bucketId } },\n { signal },\n );\n\n return data;\n };\n\n const listListings = async (signal?: AbortSignal): Promise<BucketListing[]> => {\n const { data } = await client.get<RawBucketListingRow[]>(\n `/v2/storage/listings`,\n {},\n { signal },\n );\n\n return data.map((row) => toBucketListing(row, row.bucketId));\n };\n\n /**\n * Shares a bucket with everyone in the organization. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/share-organization\n */\n const shareBucketToOrganization = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.post<\n Job<'bucketShareToOrganization'>,\n { bucketId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/share-organization`,\n { path: { bucketId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Shares a bucket with every project in the organization. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/share-organization-project\n */\n const shareBucketToOrganizationProject = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.post<\n Job<'bucketShareToOrganizationProject'>,\n { bucketId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/share-organization-project`,\n { path: { bucketId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Shares a bucket with specific projects. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/{bucketId}/share-to-projects\n */\n const shareBucketToProjects = async (\n bucketId: string,\n body: ShareBucketToProjectsBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'bucketShareToProjects'>,\n { bucketId: string },\n { async: true },\n ShareBucketToProjectsBody\n >(\n `/v2/storage/buckets/{bucketId}/share-to-projects`,\n { path: { bucketId }, query: { async: true }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Shares a bucket with specific users (by ID or e-mail). Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/{bucketId}/share-to-users\n */\n const shareBucketToUsers = async (\n bucketId: string,\n body: ShareBucketToUsersBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'bucketShareToAdmins'>,\n { bucketId: string },\n { async: true },\n ShareBucketToUsersBody\n >(\n `/v2/storage/buckets/{bucketId}/share-to-users`,\n { path: { bucketId }, query: { async: true }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Stops sharing a bucket. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}/share\n */\n const unshareBucket = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.delete<\n Job<'bucketRemoveShare'>,\n { bucketId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/share`,\n { path: { bucketId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Force-unlinks a bucket from a linked project. Async — returns a job to poll.\n * The path is absent from the generated OpenAPI schema, so the call is hand-typed.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets\n */\n const forceUnlinkBucket = async (\n bucketId: string,\n linkedProjectId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete<\n Job<'bucketForceUnlink'>,\n { bucketId: string; linkedProjectId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/links/{linkedProjectId}`,\n { path: { bucketId, linkedProjectId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Returns the owner of a bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/buckets/{bucketId}/owner\n */\n const getBucketOwner = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.get<BucketOwner, { bucketId: string }>(\n `/v2/storage/buckets/{bucketId}/owner`,\n { path: { bucketId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Changes the owner of a bucket (by `id` or `email`).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/owner\n */\n const updateBucketOwner = async (\n bucketId: string,\n body: UpdateBucketOwnerBody,\n signal?: AbortSignal,\n ) => {\n await client.post<void, { bucketId: string }, never, UpdateBucketOwnerBody>(\n `/v2/storage/buckets/{bucketId}/owner`,\n { path: { bucketId }, body },\n { signal },\n );\n };\n\n /**\n * Refreshes an external bucket's table metadata. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/PUT/v2/storage/buckets/{bucketId}/refresh\n */\n const refreshExternalBucket = async (\n bucketId: string,\n query: RefreshExternalBucketQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put<\n Job<'bucketRefresh'>,\n { bucketId: string },\n RefreshExternalBucketQuery\n >(`/v2/storage/buckets/{bucketId}/refresh`, { path: { bucketId }, query }, { signal });\n\n return data;\n };\n\n /**\n * Registers an external bucket. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/register\n */\n const registerBucket = async (body: RegisterBucketBody, signal?: AbortSignal) => {\n const { data } = await client.post<\n Job<'bucketRegister'>,\n void,\n { async: true },\n RegisterBucketBody\n >(`/v2/storage/buckets/register`, { query: { async: true }, body }, { signal });\n\n return data;\n };\n\n /**\n * Returns a markdown guide for registering an external bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/buckets/register-guide\n */\n const getBucketRegistrationGuide = async (\n query: BucketRegistrationGuideQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<BucketRegistrationGuide, void, BucketRegistrationGuideQuery>(\n `/v2/storage/buckets/register-guide`,\n { query },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Lists buckets shared with the current project.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/shared-buckets/GET/v2/storage/shared-buckets\n */\n const sharedBuckets = async (signal?: AbortSignal) => {\n const { data } = await client.get<SharedBuckets>(`/v2/storage/shared-buckets`, {}, { signal });\n\n return data;\n };\n\n /**\n * Adds or updates metadata on a bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/metadata\n */\n const saveBucketMetadata = async (\n bucketId: string,\n body: SaveBucketMetadataBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n BucketMetadata,\n { bucketId: string },\n never,\n SaveBucketMetadataBody\n >(`/v2/storage/buckets/{bucketId}/metadata`, { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Deletes a single metadata entry from a bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}/metadata/{metadataId}\n */\n const deleteBucketMetadata = async (\n bucketId: string,\n metadataId: string,\n signal?: AbortSignal,\n ) => {\n await client.delete<void, { bucketId: string; metadataId: string }>(\n `/v2/storage/buckets/{bucketId}/metadata/{metadataId}`,\n { path: { bucketId, metadataId } },\n { signal },\n );\n };\n\n return {\n getBuckets,\n getBucket,\n createBucket,\n updateBucket,\n deleteBucket,\n deleteBucketAsync,\n createScheduledRefresh,\n deleteScheduledTask,\n getListing,\n createListing,\n updateListing,\n deleteListing,\n listListings,\n shareBucketToOrganization,\n shareBucketToOrganizationProject,\n shareBucketToProjects,\n shareBucketToUsers,\n unshareBucket,\n forceUnlinkBucket,\n getBucketOwner,\n updateBucketOwner,\n refreshExternalBucket,\n registerBucket,\n getBucketRegistrationGuide,\n sharedBuckets,\n saveBucketMetadata,\n deleteBucketMetadata,\n };\n};\n","import type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\nimport type { Metadata, SaveMetadataBody } from '../tables/types';\n\nimport type {\n AddTableColumnBody,\n CreateTablePrimaryKeyBody,\n DeleteTableColumnQuery,\n} from './types';\n\nexport const createColumns = (client: GenericFetchClient) => {\n /**\n * Adds a column to a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns/POST/v2/storage/tables/{id}/columns\n */\n const addTableColumn = async (\n tableId: string,\n body: AddTableColumnBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tableColumnAdd'>,\n { id: string },\n never,\n AddTableColumnBody\n >('/v2/storage/tables/{id}/columns', { path: { id: tableId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Drops a column from a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns\n */\n const deleteTableColumn = async (\n tableId: string,\n columnName: string,\n query?: DeleteTableColumnQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete<\n Job<'tableColumnDelete'>,\n { id: string; column: string },\n DeleteTableColumnQuery\n >(\n '/v2/storage/tables/{id}/columns/{column}',\n { path: { id: tableId, column: columnName }, query },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Sets the primary key of a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const createTablePrimaryKey = async (\n tableId: string,\n body: CreateTablePrimaryKeyBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tablePrimaryKeyAdd'>,\n { id: string },\n never,\n CreateTablePrimaryKeyBody\n >('/v2/storage/tables/{id}/primary-key', { path: { id: tableId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Removes the primary key of a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const removeTablePrimaryKey = async (tableId: string, signal?: AbortSignal) => {\n const { data } = await client.delete<Job<'tablePrimaryKeyDelete'>, { id: string }>(\n '/v2/storage/tables/{id}/primary-key',\n { path: { id: tableId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Adds or updates metadata on a column.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns/POST/v2/storage/columns/{id}/metadata\n */\n const saveColumnMetadata = async (\n columnId: string,\n body: SaveMetadataBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<Metadata[], { id: string }, never, SaveMetadataBody>(\n '/v2/storage/columns/{id}/metadata',\n { path: { id: columnId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a single metadata entry from a column.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns/DELETE/v2/storage/columns/{id}/metadata/{metadataId}\n */\n const deleteColumnMetadata = async (\n columnId: string,\n metadataId: string,\n signal?: AbortSignal,\n ) => {\n await client.delete<void, { id: string; metadataId: string }>(\n '/v2/storage/columns/{id}/metadata/{metadataId}',\n { path: { id: columnId, metadataId } },\n { signal },\n );\n };\n\n return {\n addTableColumn,\n deleteTableColumn,\n createTablePrimaryKey,\n removeTablePrimaryKey,\n saveColumnMetadata,\n deleteColumnMetadata,\n };\n};\n","import type { ConcurrentOptions } from './concurrent';\nimport { concurrent } from './concurrent';\n\n/**\n * Executes an asynchronous callback function on an array of items in series (one at a time).\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 */\nexport const series = async <T, R>(\n options: Omit<ConcurrentOptions<T, R>, 'concurrency'>,\n): Promise<R[]> =>\n concurrent({\n ...options,\n concurrency: 1,\n });\n","import type { MiddlewareFn } from '../../../utils';\nimport { concurrent, series } from '../../../utils';\nimport type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\nimport type { Component, PartialKey, SearchComponentConfiguration, Workspace } from '../types';\n\nimport type {\n ComponentConfig,\n ConfigType,\n ConfigurationDiff,\n ConfigurationDiffPath,\n ConfigurationPath,\n ConfigurationRowDiff,\n ConfigurationRowDiffPath,\n CreateConfigurationBody,\n CreateConfigurationInput,\n CreateConfigurationRowBody,\n CreateConfigurationRowInput,\n CreateConfigurationRowPath,\n CreateConfigurationRowsInput,\n CreateConfigurationWorkspaceBody,\n CreateConfigurationWorkspaceQuery,\n DeleteConfigurationRowBody,\n DeleteConfigurationRowInput,\n DeleteConfigurationRowPath,\n DeleteConfigurationRowsInput,\n GetComponentPath,\n GetComponentsPath,\n GetComponentsQuery,\n GetConfigurationsPath,\n GetSearchComponentConfigurationsPath,\n RebaseConfigurationBody,\n RebaseConfigurationInput,\n RebaseConfigurationPath,\n Row,\n SearchComponentConfigurationsQuery,\n UpdateConfigurationInput,\n UpdateConfigurationRequestBody,\n} from './types';\n\nexport const createComponentsAndConfigurations = (client: GenericFetchClient) => {\n const getComponent = async (\n { componentId, branchId = 'default' }: GetComponentPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Component, GetComponentPath, void, void>(\n '/v2/storage/branch/{branchId}/components/{componentId}',\n { path: { componentId, branchId } },\n { signal },\n );\n return data;\n };\n\n const getComponents = async (\n { branchId = 'default', ...query }: GetComponentsPath & GetComponentsQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Component[], GetComponentsPath, GetComponentsQuery, void>(\n '/v2/storage/branch/{branchId}/components',\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n return data;\n };\n\n const getConfiguration = async <T extends ConfigType = 'unknown'>(\n { componentId, configId, branchId = 'default' }: ConfigurationPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ComponentConfig<T>, Required<ConfigurationPath>>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}',\n { path: { componentId, configId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n const getConfigurationDiff = async (\n { componentId, configId, branchId }: ConfigurationDiffPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ConfigurationDiff, ConfigurationDiffPath>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/diff',\n { path: { componentId, configId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Rebase a dev-branch configuration onto a default-branch version, carrying\n * the user's resolved values (the 3-way merge result) as the new head. After\n * a successful rebase the configuration has no outstanding merge conflict with\n * the default branch.\n *\n * Phase 1: config body only. Rows are reset to the target default version —\n * dev-branch row edits are not preserved yet (row reconciliation is a deferred\n * follow-up).\n */\n const rebaseConfiguration = async ({\n branchId,\n componentId,\n configId,\n ...body\n }: RebaseConfigurationInput) => {\n const { data } = await client.post<\n ComponentConfig,\n RebaseConfigurationPath,\n void,\n RebaseConfigurationBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rebase', {\n path: { branchId, componentId, configId },\n body,\n });\n\n return data;\n };\n\n const getConfigurationRowDiff = async (\n { componentId, configId, rowId, branchId }: ConfigurationRowDiffPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ConfigurationRowDiff, ConfigurationRowDiffPath>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}/diff',\n { path: { componentId, configId, rowId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n const createConfiguration = async ({\n branchId = 'default',\n componentId,\n ...body\n }: CreateConfigurationInput) => {\n const { data } = await client.post<\n ComponentConfig,\n Required<GetConfigurationsPath>,\n void,\n CreateConfigurationBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs', {\n path: { branchId, componentId },\n body,\n });\n return data;\n };\n\n /**\n * Update an existing configuration. Only the fields provided are sent; the\n * `configuration` object is JSON-stringified into a string field, matching\n * the Storage API contract.\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configurations/PUT/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}\n */\n const updateConfiguration = async <T extends ConfigType = 'unknown'>(\n {\n branchId = 'default',\n componentId,\n configId,\n configuration,\n ...rest\n }: PartialKey<UpdateConfigurationInput, 'branchId'>,\n signal?: AbortSignal,\n ) => {\n const body: UpdateConfigurationRequestBody = {\n ...rest,\n ...(configuration !== undefined && { configuration: JSON.stringify(configuration) }),\n };\n\n const { data } = await client.put<\n ComponentConfig<T>,\n Required<ConfigurationPath>,\n void,\n UpdateConfigurationRequestBody\n >(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}',\n { path: { branchId, componentId, configId }, body },\n { signal },\n );\n\n return data;\n };\n\n const deleteConfiguration = async (path: Required<ConfigurationPath>) => {\n await client.delete<void, Required<ConfigurationPath>, void, void>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}',\n { path },\n );\n };\n\n const deleteConfigurations = async ({\n configIds,\n ...rest\n }: Required<Omit<ConfigurationPath, 'configId'>> & {\n configIds: string[];\n }) => {\n await concurrent({\n items: configIds,\n process: async (configId) => deleteConfiguration({ ...rest, configId }),\n });\n };\n\n const getConfigurations = async <T extends ConfigType = 'unknown'>(\n { componentId, branchId = 'default' }: GetConfigurationsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ComponentConfig<T>[], Required<GetConfigurationsPath>>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs',\n { path: { componentId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configurations/GET/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/workspaces\n */\n const getConfigurationWorkspaces = async ({\n componentId,\n branchId,\n configId,\n }: ConfigurationPath) => {\n const { data } = await client.get<Workspace[], ConfigurationPath>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces',\n {\n path: { componentId, branchId, configId },\n },\n );\n\n return data;\n };\n\n const createConfigurationWorkspace = async ({\n componentId,\n branchId,\n configId,\n ...body\n }: Required<ConfigurationPath> & CreateConfigurationWorkspaceBody) => {\n const { data } = await client.post<\n Workspace,\n ConfigurationPath,\n CreateConfigurationWorkspaceQuery,\n CreateConfigurationWorkspaceBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces', {\n path: { componentId, branchId, configId },\n body,\n });\n\n return data;\n };\n\n const createConfigurationWorkspaceJob = async ({\n componentId,\n branchId,\n configId,\n ...body\n }: Required<ConfigurationPath> & CreateConfigurationWorkspaceBody) => {\n const { data } = await client.post<\n Job<'workspaceCreate'>,\n ConfigurationPath,\n CreateConfigurationWorkspaceQuery,\n CreateConfigurationWorkspaceBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces', {\n path: { componentId, branchId, configId },\n body,\n query: { async: true },\n });\n\n return data;\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/POST/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows\n */\n const createConfigurationRow = async ({\n branchId = 'default',\n componentId,\n configId,\n ...body\n }: PartialKey<CreateConfigurationRowInput, 'branchId'>) => {\n const { data } = await client.post<\n Row,\n CreateConfigurationRowPath,\n void,\n CreateConfigurationRowBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rows', {\n path: { branchId, componentId, configId },\n body,\n });\n\n return data;\n };\n\n /**\n * NOTE: Do not run this method concurrently; BE will return 500 server errors under load due to a BE bottleneck with IDs allocation.\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/POST/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows\n */\n const createConfigurationRows = async (\n {\n branchId = 'default',\n componentId,\n configId,\n data,\n }: PartialKey<CreateConfigurationRowsInput, 'branchId'>,\n options?: { middlewares: MiddlewareFn<CreateConfigurationRowBody, Row>[] },\n ) => {\n return series({\n items: data,\n process: (rowBody) => {\n return createConfigurationRow({\n branchId,\n componentId,\n configId,\n ...rowBody,\n });\n },\n middlewares: options?.middlewares,\n });\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/DELETE/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}\n */\n const deleteConfigurationRow = async ({\n changeDescription,\n ...path\n }: DeleteConfigurationRowInput) => {\n await client.delete<void, DeleteConfigurationRowPath, void, DeleteConfigurationRowBody>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}',\n {\n path,\n body: { changeDescription },\n },\n );\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/DELETE/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}\n */\n const deleteConfigurationRows = async (\n { rowIds, changeDescription, ...input }: DeleteConfigurationRowsInput,\n options?: { middlewares: MiddlewareFn<string, void>[] },\n ) => {\n await concurrent({\n items: rowIds,\n process: (rowId) => {\n const resolvedDescription =\n typeof changeDescription === 'string' ? changeDescription : changeDescription?.(rowId);\n\n return deleteConfigurationRow({\n rowId,\n changeDescription: resolvedDescription,\n ...input,\n });\n },\n concurrency: 5,\n middlewares: options?.middlewares,\n });\n };\n\n const searchComponentConfigurations = async (\n { branchId = 'default' }: GetSearchComponentConfigurationsPath = {},\n query?: SearchComponentConfigurationsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<\n SearchComponentConfiguration[],\n GetSearchComponentConfigurationsPath,\n SearchComponentConfigurationsQuery,\n void\n >(\n '/v2/storage/branch/{branchId}/search/component-configurations',\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n\n return data;\n };\n\n return {\n // components\n getComponent,\n getComponents,\n searchComponentConfigurations,\n\n // configurations\n createConfiguration,\n updateConfiguration,\n getConfiguration,\n getConfigurationDiff,\n getConfigurationRowDiff,\n rebaseConfiguration,\n deleteConfiguration,\n deleteConfigurations,\n getConfigurations,\n\n // configuration's rows\n createConfigurationRow,\n createConfigurationRows,\n deleteConfigurationRow,\n deleteConfigurationRows,\n\n // configuration's workspaces\n createConfigurationWorkspace,\n createConfigurationWorkspaceJob,\n getConfigurationWorkspaces,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateEventBody,\n EventPath,\n GetEventsQuery,\n GetTableEventsQuery,\n StorageEvent,\n TableEvent,\n TableEventPath,\n} from './types';\n\nexport const createEvents = (client: GenericFetchClient) => {\n const getEvents = async (query?: GetEventsQuery, signal?: AbortSignal) => {\n const { data } = await client.get<StorageEvent[], never, GetEventsQuery>(\n '/v2/storage/events',\n { query },\n { signal },\n );\n\n return data;\n };\n\n const getEvent = async (eventId: string | number, signal?: AbortSignal) => {\n const { data } = await client.get<StorageEvent, EventPath, never>(\n '/v2/storage/events/{eventId}',\n {\n path: { eventId },\n },\n { signal },\n );\n\n return data;\n };\n\n const getTableEvents = async (\n tableId: string,\n query?: GetTableEventsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<TableEvent[], TableEventPath, GetTableEventsQuery>(\n '/v2/storage/tables/{tableId}/events',\n { path: { tableId }, query },\n { signal },\n );\n\n return data;\n };\n\n const createEvent = async (body: CreateEventBody, signal?: AbortSignal) => {\n const { data } = await client.post<StorageEvent, never, never, CreateEventBody>(\n '/v2/storage/events',\n {\n body,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getEvents,\n getEvent,\n getTableEvents,\n createEvent,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n AddFileTagBody,\n DeleteFileTagPath,\n File,\n FilePath,\n GetFilesQuery,\n PreparedFile,\n PrepareFileBody,\n} from './types';\n\nexport const createFiles = (client: GenericFetchClient) => {\n const getFile = async (fileId: number, signal?: AbortSignal) => {\n const { data } = await client.get<File, FilePath, never>(\n `/v2/storage/files/{fileId}`,\n {\n path: { fileId },\n },\n { signal },\n );\n\n return data;\n };\n\n const getFiles = async (query?: GetFilesQuery, signal?: AbortSignal) => {\n const { data } = await client.get<File[], never, GetFilesQuery>(\n '/v2/storage/files',\n { query },\n { signal, queryArrayFormat: 'brackets' },\n );\n\n return data;\n };\n\n const deleteFile = async (fileId: number) => {\n const { data } = await client.delete<void, FilePath, never>(`/v2/storage/files/{fileId}`, {\n path: { fileId },\n });\n\n return data;\n };\n\n const addFileTag = async (fileId: number, tag: string) => {\n const { data } = await client.post<void, FilePath, never, AddFileTagBody>(\n `/v2/storage/files/{fileId}/tags`,\n {\n path: { fileId },\n body: { tag },\n },\n );\n\n return data;\n };\n\n const getFileContent = async (fileId: number, signal?: AbortSignal) => {\n const { data } = await client.get<string, FilePath, never>(\n `/v2/storage/files/{fileId}/content`,\n {\n path: { fileId },\n },\n { signal },\n );\n\n // The fetch client auto-parses JSON responses into objects,\n // but we always need a string for file preview rendering.\n return typeof data === 'string' ? data : JSON.stringify(data, null, 2);\n };\n\n const deleteFileTag = async (\n fileId: DeleteFileTagPath['fileId'],\n tag: DeleteFileTagPath['tag'],\n ) => {\n const { data } = await client.delete<void, DeleteFileTagPath, never>(\n '/v2/storage/files/{fileId}/tags/{tag}',\n {\n path: { fileId, tag },\n },\n );\n\n return data;\n };\n\n const prepareFile = async (body: PrepareFileBody, signal?: AbortSignal) => {\n const { data } = await client.post<PreparedFile, never, never, PrepareFileBody>(\n '/v2/storage/files/prepare',\n { body },\n { signal },\n );\n\n return data;\n };\n\n return {\n getFile,\n getFileContent,\n getFiles,\n deleteFile,\n addFileTag,\n deleteFileTag,\n prepareFile,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { GetJobPath, GetJobsQuery, Job, JobOperation } from './types';\n\nexport const createJobs = (client: GenericFetchClient) => {\n const getJob = async <T extends JobOperation | string = string>(\n id: GetJobPath['id'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Job<T>, GetJobPath>(\n `/v2/storage/jobs/{id}`,\n {\n path: { id },\n },\n { signal },\n );\n\n return data;\n };\n\n const getJobs = async <T extends JobOperation | string = string>(\n query?: GetJobsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Job<T>[], never, GetJobsQuery>(\n '/v2/storage/jobs',\n { query },\n { signal, queryArrayFormat: 'brackets' },\n );\n\n return data;\n };\n\n return { getJob, getJobs };\n};\n","import type { MiddlewareFn } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\n\nconst isTokenRefreshEndpoint = (request: Request): boolean => {\n const url = new URL(request.url);\n return request.method === 'POST' && /\\/tokens\\/[^/]+\\/refresh$/.test(url.pathname);\n};\n\nconst tryParseNewToken = (data: unknown): string | null => {\n if (data === null || typeof data !== 'object') return null;\n const token = (data as Record<string, unknown>).token;\n return typeof token === 'string' ? token : null;\n};\n\ntype Options = {\n accessToken: string;\n onRefresh?: (newToken: string) => void;\n};\n\nexport const createRefreshTokenMiddlware = ({ accessToken, onRefresh }: Options): MiddlewareFn => {\n let current = accessToken;\n\n return (next) => async (request) => {\n request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);\n\n if (!isTokenRefreshEndpoint(request.request)) return next(request);\n\n const response = await next(request);\n const newToken = tryParseNewToken(response.data);\n if (newToken === null) return response;\n\n current = newToken;\n onRefresh?.(current);\n\n return response;\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { GlobalSearchQuery, GlobalSearchResponse } from './types';\n\nexport const createSearch = (client: GenericFetchClient) => {\n /**\n * Project- and organization-wide search across buckets, tables, configurations, flows, ….\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/global-search/GET/v2/storage/global-search\n */\n const globalSearch = async (query: GlobalSearchQuery, signal?: AbortSignal) => {\n const { data } = await client.get<GlobalSearchResponse, void, GlobalSearchQuery, void>(\n '/v2/storage/global-search',\n { query },\n { signal },\n );\n\n return data;\n };\n\n return { globalSearch };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { GetRunIdStatsQuery, RunIdStats } from './types';\n\nexport const createStats = (client: GenericFetchClient) => {\n /**\n * Returns import/export table stats for a job run, identified by its runId.\n *\n * @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/stats\n */\n const getRunIdStats = async (runId: string, signal?: AbortSignal) => {\n const { data } = await client.get<RunIdStats, void, GetRunIdStatsQuery, void>(\n '/v2/storage/stats',\n { query: { runId } },\n { signal },\n );\n\n return data;\n };\n\n return { getRunIdStats };\n};\n","import { concurrent } from '../../../utils';\nimport type { Job, TableCreateJob, TableExportJob, TableImportJob } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateAliasTableBody,\n CreateSnapshotBody,\n CreateTableAsyncBody,\n CreateTableDefinitionBody,\n DeleteTableRows,\n GetDataPreview,\n GetTablesQuery,\n Metadata,\n PreviewData,\n SaveMetadataBody,\n SetAliasTableFilterBody,\n Snapshot,\n Table,\n TableDetail,\n TableExportAsyncBody,\n TableImportAsyncBody,\n UpdateTableBody,\n UpdateTableDefinitionBody,\n UpdateTableDefinitionInput,\n UpdateTableDefinitionPath,\n} from './types';\n\nexport const createTables = (client: GenericFetchClient) => {\n /**\n * Returns every table in the given branch. Filter client-side by\n * `table.bucket?.id` (requires `include: ['buckets']`) or by the\n * `{bucketId}.` prefix in `table.id` (IDs use `{bucketId}.{tableName}`,\n * e.g. `in.c-main.users`).\n *\n * @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/branch/{branchId}/tables\n */\n const getTables = async (\n branchId: string,\n query: GetTablesQuery = { include: [] },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Table[], { branchId: string }, GetTablesQuery>(\n `/v2/storage/branch/{branchId}/tables`,\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n\n return data;\n };\n\n const getTable = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get<TableDetail, { id: string }>(\n `/v2/storage/tables/{id}`,\n { path: { id } },\n { signal },\n );\n\n return data;\n };\n\n const deleteTable = async (id: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string }>(\n `/v2/storage/tables/{id}`,\n { path: { id } },\n { signal },\n );\n };\n\n const deleteTables = async (ids: string[]) => {\n await concurrent({\n items: ids,\n process: (id) => deleteTable(id),\n });\n };\n\n const deleteTableRows = async (id: string, query?: DeleteTableRows, signal?: AbortSignal) => {\n const { data } = await client.delete<Job, { id: string }, DeleteTableRows>(\n `/v2/storage/tables/{id}/rows`,\n { path: { id }, query },\n { signal },\n );\n\n return data;\n };\n\n const getDataPreview = async (id: string, query?: GetDataPreview, signal?: AbortSignal) => {\n const { data } = await client.get<PreviewData, { id: string }, GetDataPreview>(\n `/v2/storage/tables/{id}/data-preview`,\n { path: { id }, query: { format: 'json', ...query } },\n { signal },\n );\n\n return data;\n };\n\n const exportAsync = async (\n tableId: string,\n body?: TableExportAsyncBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<TableExportJob, { id: string }, never, TableExportAsyncBody>(\n '/v2/storage/tables/{id}/export-async',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n const createTableAsync = async (\n bucketId: string,\n body: CreateTableAsyncBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n TableCreateJob,\n { bucketId: string },\n never,\n CreateTableAsyncBody\n >('/v2/storage/buckets/{bucketId}/tables-async', { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Creates a typed table from an explicit column definition (no data) in the given bucket.\n * The endpoint is async: it returns a `tableDefinitionCreate` storage job the caller can poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/tables-definition\n */\n const createTableDefinitionAsync = async (\n bucketId: string,\n body: CreateTableDefinitionBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tableDefinitionCreate'>,\n { bucketId: string },\n never,\n CreateTableDefinitionBody\n >('/v2/storage/buckets/{bucketId}/tables-definition', { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n const importAsync = async (tableId: string, body: TableImportAsyncBody, signal?: AbortSignal) => {\n const { data } = await client.post<TableImportJob, { id: string }, never, TableImportAsyncBody>(\n '/v2/storage/tables/{id}/import-async',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates a table's definition in place — `displayName`, `description`, and\n * per-column `length`/`nullable`/`default`/`description`. The endpoint is\n * async: it returns a `tableDefinitionUpdate` storage job that the caller\n * can poll.\n *\n * `displayName` is required by the server even when only `description` or\n * column-level fields change — read the current value from the same branch\n * (e.g. via `GET /v2/storage/branch/{branchId}/tables/{id}`) and pass it\n * through.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/PUT/v2/storage/branch/{branchId}/tables/{tableId}/definition\n */\n const updateTableDefinition = async (\n { branchId = 'default', tableId, ...body }: UpdateTableDefinitionInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put<\n Job<'tableDefinitionUpdate'>,\n UpdateTableDefinitionPath,\n never,\n UpdateTableDefinitionBody\n >(\n '/v2/storage/branch/{branchId}/tables/{tableId}/definition',\n { path: { branchId, tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates a table's display name (synchronous). For typed-table column/definition changes use\n * `updateTableDefinition` instead.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const updateTable = async (tableId: string, body: UpdateTableBody, signal?: AbortSignal) => {\n const { data } = await client.put<Table, { id: string }, never, UpdateTableBody>(\n '/v2/storage/tables/{id}',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Pulls a table from the default branch into the current dev branch. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const pullTable = async (tableId: string, signal?: AbortSignal) => {\n const { data } = await client.post<Job<'devBranchTablePull'>, { id: string }>(\n '/v2/storage/tables/{id}/pull',\n { path: { id: tableId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Creates an alias table in the given bucket. Usually returns the created alias `Table`\n * synchronously; for BigQuery VIEW-persisted aliases the API instead returns an `aliasCreate`\n * storage job, so the response is typed as a union — narrow on `operationName` before use.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const createAliasTable = async (\n bucketId: string,\n body: CreateAliasTableBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Table | Job<'aliasCreate'>,\n { bucketId: string },\n never,\n CreateAliasTableBody\n >('/v2/storage/buckets/{bucketId}/table-aliases', { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Sets (replaces) the filter of an alias table (synchronous).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const setAliasTableFilter = async (\n tableId: string,\n body: SetAliasTableFilterBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<Table, { id: string }, never, SetAliasTableFilterBody>(\n '/v2/storage/tables/{id}/alias-filter',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Removes the filter of an alias table (synchronous).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const removeAliasTableFilter = async (tableId: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string }>(\n '/v2/storage/tables/{id}/alias-filter',\n { path: { id: tableId } },\n { signal },\n );\n };\n\n /**\n * Creates a snapshot of a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/tables/{id}/snapshots\n */\n const createSnapshot = async (\n tableId: string,\n body?: CreateSnapshotBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tableSnapshotCreate'>,\n { id: string },\n never,\n CreateSnapshotBody\n >('/v2/storage/tables/{id}/snapshots', { path: { id: tableId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Deletes a snapshot.\n *\n * @link https://api.keboola.com/?service=storage#storage/DELETE/v2/storage/snapshots/{snapshotId}\n */\n const deleteSnapshot = async (snapshotId: string, signal?: AbortSignal) => {\n await client.delete<void, { snapshotId: string }>(\n '/v2/storage/snapshots/{snapshotId}',\n { path: { snapshotId } },\n { signal },\n );\n };\n\n /**\n * Lists the snapshots of a table.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/GET/v2/storage/tables/{id}/snapshots\n */\n const loadTableSnapshots = async (tableId: string, signal?: AbortSignal) => {\n const { data } = await client.get<Snapshot[], { id: string }>(\n '/v2/storage/tables/{id}/snapshots',\n { path: { id: tableId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Adds or updates metadata on a table.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/tables/{id}/metadata\n */\n const saveTableMetadata = async (\n tableId: string,\n body: SaveMetadataBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<Metadata[], { id: string }, never, SaveMetadataBody>(\n '/v2/storage/tables/{id}/metadata',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a single metadata entry from a table.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/DELETE/v2/storage/tables/{id}/metadata/{metadataId}\n */\n const deleteTableMetadata = async (tableId: string, metadataId: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string; metadataId: string }>(\n '/v2/storage/tables/{id}/metadata/{metadataId}',\n { path: { id: tableId, metadataId } },\n { signal },\n );\n };\n\n return {\n getTables,\n getTable,\n getDataPreview,\n deleteTable,\n deleteTables,\n deleteTableRows,\n exportAsync,\n createTableAsync,\n createTableDefinitionAsync,\n importAsync,\n updateTableDefinition,\n updateTable,\n pullTable,\n createAliasTable,\n setAliasTableFilter,\n removeAliasTableFilter,\n createSnapshot,\n deleteSnapshot,\n loadTableSnapshots,\n saveTableMetadata,\n deleteTableMetadata,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateTokenBody,\n CreateTokenResponse,\n ShareTokenBody,\n StorageToken,\n TokenListItem,\n UpdateTokenBody,\n} from './types';\n\nexport const createTokens = (client: GenericFetchClient) => {\n const verify = async (signal?: AbortSignal) => {\n const { data } = await client.get<StorageToken, void, void, void>(\n '/v2/storage/tokens/verify',\n {},\n { signal },\n );\n\n return data;\n };\n\n const refresh = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.post<StorageToken, void, void, void>(\n `/v2/storage/tokens/${id}/refresh`,\n {},\n { signal },\n );\n\n return data;\n };\n\n /**\n * Lists storage tokens accessible by the current token.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/GET/v2/storage/tokens\n */\n const getTokens = async (signal?: AbortSignal) => {\n const { data } = await client.get<TokenListItem[], void, void, void>(\n '/v2/storage/tokens',\n {},\n { signal },\n );\n\n return data;\n };\n\n /**\n * Creates a new storage token. The response includes the freshly issued `token` secret.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/POST/v2/storage/tokens\n */\n const createToken = async (body: CreateTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post<CreateTokenResponse, void, void, CreateTokenBody>(\n '/v2/storage/tokens',\n { body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates an existing storage token (description, permissions, expiration, …).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/PUT/v2/storage/tokens/{id}\n */\n const updateToken = async (id: string, body: UpdateTokenBody, signal?: AbortSignal) => {\n const { data } = await client.put<StorageToken, { id: string }, void, UpdateTokenBody>(\n '/v2/storage/tokens/{id}',\n { path: { id }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a storage token.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/DELETE/v2/storage/tokens/{id}\n */\n const deleteToken = async (id: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string }>(\n '/v2/storage/tokens/{id}',\n { path: { id } },\n { signal },\n );\n };\n\n /**\n * Shares a storage token with another user by email.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/POST/v2/storage/tokens/{id}/share\n */\n const shareToken = async (id: string, body: ShareTokenBody, signal?: AbortSignal) => {\n await client.post<void, { id: string }, void, ShareTokenBody>(\n '/v2/storage/tokens/{id}/share',\n { path: { id }, body },\n { signal },\n );\n };\n\n return {\n verify,\n refresh,\n getTokens,\n createToken,\n updateToken,\n deleteToken,\n shareToken,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { CreateTriggerBody, ListTriggersQuery, Trigger, UpdateTriggerBody } from './types';\n\nexport const createTriggers = (client: GenericFetchClient) => {\n /**\n * Lists triggers in the project, optionally filtered by component / configuration.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/GET/v2/storage/triggers\n */\n const listTriggers = async (query?: ListTriggersQuery, signal?: AbortSignal) => {\n const { data } = await client.get<Trigger[], void, ListTriggersQuery, void>(\n '/v2/storage/triggers',\n { query },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Creates a new trigger for a component configuration.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/POST/v2/storage/triggers\n */\n const createTrigger = async (body: CreateTriggerBody, signal?: AbortSignal) => {\n const { data } = await client.post<Trigger, void, void, CreateTriggerBody>(\n '/v2/storage/triggers',\n { body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates an existing trigger.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/PUT/v2/storage/triggers/{triggerId}\n */\n const updateTrigger = async (\n triggerId: string,\n body: UpdateTriggerBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put<Trigger, { triggerId: string }, void, UpdateTriggerBody>(\n '/v2/storage/triggers/{triggerId}',\n { path: { triggerId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a trigger.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/DELETE/v2/storage/triggers/{triggerId}\n */\n const deleteTrigger = async (triggerId: string, signal?: AbortSignal) => {\n await client.delete<void, { triggerId: string }>(\n '/v2/storage/triggers/{triggerId}',\n { path: { triggerId } },\n { signal },\n );\n };\n\n return {\n listTriggers,\n createTrigger,\n updateTrigger,\n deleteTrigger,\n };\n};\n","import { concurrent } from '../../../utils';\nimport type { Job } from '../jobs/types';\nimport type { GenericFetchClient, StorageOpenApiFetchClient } from '../storageClient';\n\nimport type {\n DeleteWorkspaceObjectBody,\n DeleteWorkspaceObjectInput,\n DeleteWorkspaceQuery,\n GetWorkspaceSaml2LoginPath,\n ResetWorkspacePassword,\n SetWorkspacePublicInput,\n SetWorkspacePublicKeyBody,\n SetWorkspacePublicKeyPath,\n UnloadWorkspaceInput,\n Workspace,\n WorkspaceInputMappingLoadPreviewInput,\n WorkspaceObject,\n WorkspacePath,\n WorkspaceSaml2Login,\n WorkspacesPath,\n} from './types';\n\nexport const createWorkspaces = (\n client: GenericFetchClient,\n openApiClient: StorageOpenApiFetchClient,\n) => {\n const getWorkspaces = async (branchId: WorkspacesPath['branchId'], signal?: AbortSignal) => {\n const { data } = await client.get<Workspace[], WorkspacesPath>(\n '/v2/storage/branch/{branchId}/workspaces',\n { path: { branchId } },\n { signal },\n );\n\n return data;\n };\n\n const getWorkspace = async (path: WorkspacePath, signal?: AbortSignal) => {\n const { data } = await client.get<Workspace, WorkspacePath>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}',\n { path },\n { signal },\n );\n\n return data;\n };\n\n const deleteWorkspace = async (path: WorkspacePath) => {\n await client.delete<void, WorkspacePath, DeleteWorkspaceQuery>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}',\n { path },\n );\n };\n\n const deleteWorkspaces = async ({\n workspaceIds,\n branchId,\n }: Omit<WorkspacePath, 'workspaceId'> & {\n workspaceIds: WorkspacePath['workspaceId'][];\n }) => {\n await concurrent({\n items: workspaceIds,\n process: async (workspaceId) => deleteWorkspace({ branchId, workspaceId }),\n concurrency: 5,\n });\n };\n\n const deleteWorkspaceJob = async (path: WorkspacePath) => {\n const { data } = await client.delete<Job<'workspaceDrop'>, WorkspacePath, DeleteWorkspaceQuery>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}',\n { path, query: { async: true } },\n {},\n );\n\n return data;\n };\n\n const resetWorkspacePassword = async ({ branchId, workspaceId }: WorkspacePath) => {\n const { data } = await client.post<ResetWorkspacePassword, WorkspacePath, void, void>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/password',\n {\n path: { branchId, workspaceId },\n },\n );\n\n return data;\n };\n\n const getWorkspaceSaml2Login = async (path: GetWorkspaceSaml2LoginPath, signal?: AbortSignal) => {\n const { data } = await client.get<WorkspaceSaml2Login, GetWorkspaceSaml2LoginPath>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/saml2-login',\n { path },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Set the public key for the workspace user, or migrate workspace from password to key auth.\n * Supported only on Snowflake.\n * When called, either a new key is created, or the older one is replaced.\n */\n const setWorkspacePublicKey = async ({\n branchId,\n workspaceId,\n publicKey,\n }: SetWorkspacePublicInput) => {\n const { data } = await client.post<\n Workspace,\n SetWorkspacePublicKeyPath,\n void,\n SetWorkspacePublicKeyBody\n >('/v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key', {\n path: { branchId, workspaceId },\n body: { publicKey },\n });\n\n return data;\n };\n\n const getWorkspaceObjects = async (path: WorkspacePath, signal?: AbortSignal) => {\n const { data } = await client.get<WorkspaceObject[], WorkspacePath>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects',\n { path },\n { signal },\n );\n\n return data;\n };\n\n const deleteWorkspaceObjectsAsync = async ({\n branchId,\n workspaceId,\n ...body\n }: DeleteWorkspaceObjectInput) => {\n const { data } = await client.post<\n Job<'workspaceBatchDeleteObject'>,\n WorkspacePath,\n never,\n DeleteWorkspaceObjectBody\n >('/v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete', {\n path: { branchId, workspaceId },\n body,\n });\n\n return data;\n };\n\n const unloadWorkspace = async ({ branchId, workspaceId, ...query }: UnloadWorkspaceInput) => {\n const { data } = await openApiClient.post(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/unload',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n /**\n * Preview the resolved load types for a component-style input-mapping config without a workspace.\n * Returns the preferred load type plus the possible load types per table for the resolved backend,\n * without creating a job. The backend is resolved per item from the item `backend` field, then the\n * `backend` argument, then the project default.\n */\n const inputMappingLoadPreview = async (\n { branchId, body, backend }: WorkspaceInputMappingLoadPreviewInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await openApiClient.post(\n '/v2/storage/branch/{branchId}/input-mapping-load/preview',\n {\n path: { branchId: String(branchId) },\n query: backend ? { backend } : undefined,\n body,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getWorkspace,\n getWorkspaces,\n deleteWorkspace,\n resetWorkspacePassword,\n deleteWorkspaces,\n deleteWorkspaceJob,\n setWorkspacePublicKey,\n getWorkspaceSaml2Login,\n getWorkspaceObjects,\n deleteWorkspaceObjectsAsync,\n unloadWorkspace,\n inputMappingLoadPreview,\n };\n};\n","import { type MiddlewareFn } from '../../fetchClient';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createConfigurationVersions } from './configurationVersions/configurationVersions';\nimport { createMergeRequests } from './mergeRequests/mergeRequests';\nimport { createBranches } from './branches';\nimport { createBuckets } from './buckets';\nimport { createColumns } from './columns';\nimport { createComponentsAndConfigurations } from './componentsAndConfigurations';\nimport { createEvents } from './events';\nimport { createFiles } from './files';\nimport { createJobs } from './jobs';\nimport { createRefreshTokenMiddlware } from './refreshTokenMiddleware';\nimport { createSearch } from './search';\nimport { createStats } from './stats';\nimport { createTables } from './tables';\nimport { createTokens } from './tokens';\nimport { createTriggers } from './triggers';\nimport type { GetStackInfoQuery, StackInfo } from './types';\nimport { createWorkspaces } from './workspaces';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\nexport type StorageOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\ntype StorageClientInitOptions = Omit<ClientInitOptions, 'middlewares'> & {\n middlewares?: MiddlewareFn[];\n onRefreshToken?: (newToken: string) => void;\n};\n\nexport const createStorageClient = ({\n baseUrl,\n token,\n middlewares = [],\n onRefreshToken,\n}: StorageClientInitOptions) => {\n // Token-rotation tracking only matters on the client that calls the refresh\n // endpoint. A reader (no `onRefreshToken`) keeps its token fresh via a caller-\n // supplied token-sync middleware instead, so the refresh middleware must not\n // tag along — it would set the header from its stale private `current`.\n const allMiddlewares = onRefreshToken\n ? [\n ...middlewares,\n createRefreshTokenMiddlware({ accessToken: token, onRefresh: onRefreshToken }),\n ]\n : middlewares;\n\n const headers = { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token };\n\n const client = createGenericFetchClient({\n baseUrl,\n middlewares: allMiddlewares,\n headers,\n });\n\n const openApiClient = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: allMiddlewares,\n headers,\n });\n\n const getStackInfo = async (query?: GetStackInfoQuery, signal?: AbortSignal) => {\n const { data } = await client.get<StackInfo, never, GetStackInfoQuery>(\n '/v2/storage',\n { query },\n { signal },\n );\n\n return data;\n };\n\n return {\n buckets: createBuckets(client),\n events: createEvents(client),\n files: createFiles(client),\n tables: createTables(client),\n columns: createColumns(client),\n branches: createBranches(client),\n workspaces: createWorkspaces(client, openApiClient),\n mergeRequests: createMergeRequests(openApiClient),\n jobs: createJobs(client),\n componentsAndConfigurations: createComponentsAndConfigurations(client),\n configurationVersions: createConfigurationVersions(client),\n tokens: createTokens(client),\n triggers: createTriggers(client),\n search: createSearch(client),\n stats: createStats(client),\n getStackInfo,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/queryService/queryServiceClient.ts"],"names":["createOpenapiFetchClient","KeboolaHttpHeader","HttpHeader","parseContentDispositionHeader"],"mappings":"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","file":"chunk-HACGJDAD.cjs","sourcesContent":["import {\n createOpenapiFetchClient,\n HttpHeader,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n ExportResultsResponse,\n GetExportResultsQuery,\n GetQueriesHistoryQuery,\n GetQueriesPath,\n GetQueryJobPath,\n GetQueryResultsPath,\n GetQueryResutsQuery,\n PostCancelQueryJobPath,\n PostQueryBody,\n PostQueryPath,\n} from './types';\n\nexport const createQueryServiceClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const createQueryJob = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n ) => {\n const { data } = await client.post(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n { path: { branchId, workspaceId }, body },\n );\n\n return data;\n };\n\n const cancelQueryJob = async (queryJobId: PostCancelQueryJobPath['queryJobId']) => {\n const { data } = await client.post('/api/v1/queries/{queryJobId}/cancel', {\n path: { queryJobId },\n body: { reason: 'Cancelled by user' },\n });\n\n return data;\n };\n\n const getQueryJob = async (queryJobId: GetQueryJobPath['queryJobId']) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}', { path: { queryJobId } });\n\n return data;\n };\n\n const getQueryResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query?: GetQueryResutsQuery,\n ) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}/{statementId}/results', {\n path: { queryJobId, statementId },\n query,\n });\n\n return data;\n };\n\n const getQueryHistory = async (\n branchId: GetQueriesPath['branchId'],\n workspaceId: GetQueriesPath['workspaceId'],\n query?: GetQueriesHistoryQuery,\n ) => {\n const { data } = await client.get(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n const exportResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query: GetExportResultsQuery,\n signal?: AbortSignal,\n ): Promise<ExportResultsResponse> => {\n const { data, response } = await client.get(\n '/api/v1/queries/{queryJobId}/{statementId}/export',\n {\n path: { queryJobId, statementId },\n query,\n },\n { signal },\n );\n\n const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? 'text/csv';\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n mimeType,\n content: data,\n fileName: contentDisposition?.filename ?? 'export.csv',\n };\n };\n\n return {\n createQueryJob,\n cancelQueryJob,\n getQueryJob,\n getQueryResults,\n getQueryHistory,\n exportResults,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/notifications/notificationsClient.ts"],"names":["createOpenapiFetchClient","KeboolaHttpHeader"],"mappings":";;;;;AAYO,IAAM,4BAA4B,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AAC/F,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAACC,mCAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,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,OACtB,cAAA,EACA,MAAA,KACG;AACH,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;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;AAUA,EAAA,OAAO;AAAA,IACL,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-HQM2LBGI.cjs","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateSubscriptionBody,\n DeleteSubscriptionPath,\n GetSubscriptionPath,\n ListSubscriptionsQuery,\n} from './types';\n\nexport const createNotificationsClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\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 (\n subscriptionId: GetSubscriptionPath['subscriptionId'],\n signal?: AbortSignal,\n ) => {\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 const deleteSubscription = async (\n subscriptionId: DeleteSubscriptionPath['subscriptionId'],\n signal?: AbortSignal,\n ): Promise<void> => {\n await client.delete(\n '/project-subscriptions/{subscriptionId}',\n { path: { subscriptionId } },\n { signal },\n );\n };\n\n /**\n * The `POST /events/{eventName}` (push event) and `POST /notifications` (send direct\n * notification) endpoints are intentionally omitted by design. They are server-to-server\n * endpoints that require a Manage API application token (header `X-Kbc-Manageapitoken`,\n * scopes `notifications:push-event` / `notifications:send-notification`), whereas this\n * client authenticates with the project Storage API token. Add them — with the correct\n * Manage API token wiring — once a consumer actually needs them.\n */\n return {\n getSubscriptions,\n getSubscription,\n createSubscription,\n deleteSubscription,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":[],"mappings":";;;AAeO,IAAM,iBAAiB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AACpF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAAC,iBAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,CAAA;AAED,EAAA,MAAM,4BAAA,GAA+B,OAAO,IAAA,KAA2C;AACrF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,iCAAA,EAAmC,EAAE,IAAA,EAAM,CAAA;AAE9E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,IAAA,KAAyC;AACjF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,+BAAA,EAAiC,EAAE,IAAA,EAAM,CAAA;AAE5E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,UAAA,EAAY,EAAE,IAAA,EAAM,CAAA;AAEvD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,OAAO,IAAA,KAAoC;AACvE,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,yBAAA,EAA2B,EAAE,IAAA,EAAM,CAAA;AAEtE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,KAA+B;AAC7D,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,oBAAA,EAAsB,EAAE,IAAA,EAAM,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,IAAA,KAAuB;AAC7C,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,WAAA,EAAa,EAAE,IAAA,EAAM,CAAA;AAExD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,gBAAA,EAAkB,EAAE,IAAA,EAAM,CAAA;AAE7D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,kBAAA,GAAqB,OAAO,WAAA,KAAwB;AACxD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,gCAAA,EAAkC;AAAA,MAClE,IAAA,EAAM,EAAE,WAAA;AAAY,KACrB,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-IP4D4I42.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n DescribeConfigurationBody,\n DescribeConfigurationMergeBody,\n DescribeConfigurationVersionBody,\n DocsQuestionBody,\n ExplainErrorBody,\n FeedbackBody,\n SuggestComponentBody,\n} from './types';\n\nexport const createAiClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const describeConfigurationVersion = async (body: DescribeConfigurationVersionBody) => {\n const { data } = await client.post('/describe/configuration-version', { body });\n\n return data;\n };\n\n const describeConfigurationMerge = async (body: DescribeConfigurationMergeBody) => {\n const { data } = await client.post('/describe/configuration-merge', { body });\n\n return data;\n };\n\n const explainError = async (body: ExplainErrorBody) => {\n const { data } = await client.post('/explain', { body });\n\n return data;\n };\n\n const describeConfiguration = async (body: DescribeConfigurationBody) => {\n const { data } = await client.post('/describe/configuration', { body });\n\n return data;\n };\n\n const suggestComponent = async (body: SuggestComponentBody) => {\n const { data } = await client.post('/suggest/component', { body });\n\n return data;\n };\n\n const feedback = async (body: FeedbackBody) => {\n const { data } = await client.post('/feedback', { body });\n\n return data;\n };\n\n /** Answers a question using the Keboola documentation as a source. */\n const docsQuestion = async (body: DocsQuestionBody) => {\n const { data } = await client.post('/docs/question', { body });\n\n return data;\n };\n\n /** Retrieves documentation details for a single component. */\n const getComponentDetail = async (componentId: string) => {\n const { data } = await client.get('/docs/components/{componentId}', {\n path: { componentId },\n });\n\n return data;\n };\n\n return {\n describeConfigurationVersion,\n describeConfigurationMerge,\n explainError,\n describeConfiguration,\n suggestComponent,\n feedback,\n docsQuestion,\n getComponentDetail,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/stream/streamClient.ts"],"names":[],"mappings":"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","file":"chunk-IPCCJCV4.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateSinkRequestBody,\n CreateSourceRequestBody,\n DeleteSourceQuery,\n PaginationQuery,\n SinkStatisticsFilesQuery,\n TestSourceQuery,\n UpdateSinkRequestBody,\n UpdateSinkSettingsRequestBody,\n UpdateSourceRequestBody,\n UpdateSourceSettingsRequestBody,\n} from './types';\n\nexport const createStreamClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n // ── Sources ────────────────────────────────────────────────────────────────\n const getSources = async (branchId: string, query?: PaginationQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources',\n { path: { branchId }, query },\n { signal },\n );\n return data;\n };\n\n const getDeletedSources = async (\n branchId: string,\n query?: PaginationQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/deleted',\n { path: { branchId }, query },\n { signal },\n );\n return data;\n };\n\n const getAggregatedSources = async (\n branchId: string,\n query?: PaginationQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/aggregation/sources',\n { path: { branchId }, query },\n { signal },\n );\n return data;\n };\n\n const getSource = async (branchId: string, sourceId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}',\n { path: { branchId, sourceId } },\n { signal },\n );\n return data;\n };\n\n const createSource = async (\n branchId: string,\n body: CreateSourceRequestBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/v1/branches/{branchId}/sources',\n { path: { branchId }, body },\n { signal },\n );\n return data;\n };\n\n const updateSource = async (\n branchId: string,\n sourceId: string,\n body: UpdateSourceRequestBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/v1/branches/{branchId}/sources/{sourceId}',\n { path: { branchId, sourceId }, body },\n { signal },\n );\n return data;\n };\n\n const deleteSource = async (\n branchId: string,\n sourceId: string,\n query?: DeleteSourceQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete(\n '/v1/branches/{branchId}/sources/{sourceId}',\n { path: { branchId, sourceId }, query },\n { signal },\n );\n return data;\n };\n\n const disableSource = async (branchId: string, sourceId: string, signal?: AbortSignal) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/disable',\n { path: { branchId, sourceId } },\n { signal },\n );\n return data;\n };\n\n const enableSource = async (branchId: string, sourceId: string, signal?: AbortSignal) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/enable',\n { path: { branchId, sourceId } },\n { signal },\n );\n return data;\n };\n\n const undeleteSource = async (branchId: string, sourceId: string, signal?: AbortSignal) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/undelete',\n { path: { branchId, sourceId } },\n { signal },\n );\n return data;\n };\n\n const rotateSourceSecret = async (branchId: string, sourceId: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/v1/branches/{branchId}/sources/{sourceId}/rotate-secret',\n { path: { branchId, sourceId } },\n { signal },\n );\n return data;\n };\n\n const getSourceSettings = async (branchId: string, sourceId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/settings',\n { path: { branchId, sourceId } },\n { signal },\n );\n return data;\n };\n\n const updateSourceSettings = async (\n branchId: string,\n sourceId: string,\n body: UpdateSourceSettingsRequestBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/v1/branches/{branchId}/sources/{sourceId}/settings',\n { path: { branchId, sourceId }, body },\n { signal },\n );\n return data;\n };\n\n const clearSourceStatistics = async (\n branchId: string,\n sourceId: string,\n signal?: AbortSignal,\n ) => {\n await client.delete(\n '/v1/branches/{branchId}/sources/{sourceId}/statistics/clear',\n { path: { branchId, sourceId } },\n { signal },\n );\n };\n\n // The OpenAPI spec models POST .../test without a request body, but the\n // endpoint evaluates a sample record sent as a JSON body (see the spec's own\n // description and the legacy client). The generated param type forbids a\n // body, hence the `as never` on `payload`.\n const testSource = async (\n branchId: string,\n sourceId: string,\n payload: Record<string, unknown>,\n query?: TestSourceQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/v1/branches/{branchId}/sources/{sourceId}/test',\n { path: { branchId, sourceId }, query, body: payload as never },\n { signal },\n );\n return data;\n };\n\n const getSourceVersions = async (\n branchId: string,\n sourceId: string,\n query?: PaginationQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/versions',\n { path: { branchId, sourceId }, query },\n { signal },\n );\n return data;\n };\n\n const getSourceVersion = async (\n branchId: string,\n sourceId: string,\n versionNumber: number,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/versions/{versionNumber}',\n { path: { branchId, sourceId, versionNumber } },\n { signal },\n );\n return data;\n };\n\n const rollbackSourceVersion = async (\n branchId: string,\n sourceId: string,\n versionNumber: number,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/versions/{versionNumber}/rollback',\n { path: { branchId, sourceId, versionNumber } },\n { signal },\n );\n return data;\n };\n\n // ── Sinks ────────────────────────────────────────────────────────────────--\n const getSinks = async (\n branchId: string,\n sourceId: string,\n query?: PaginationQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks',\n { path: { branchId, sourceId }, query },\n { signal },\n );\n return data;\n };\n\n const getDeletedSinks = async (\n branchId: string,\n sourceId: string,\n query?: PaginationQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/deleted',\n { path: { branchId, sourceId }, query },\n { signal },\n );\n return data;\n };\n\n const getSink = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n return data;\n };\n\n const createSink = async (\n branchId: string,\n sourceId: string,\n body: CreateSinkRequestBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks',\n { path: { branchId, sourceId }, body },\n { signal },\n );\n return data;\n };\n\n const updateSink = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n body: UpdateSinkRequestBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}',\n { path: { branchId, sourceId, sinkId }, body },\n { signal },\n );\n return data;\n };\n\n const deleteSink = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n return data;\n };\n\n const disableSink = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/disable',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n return data;\n };\n\n const enableSink = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/enable',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n return data;\n };\n\n const undeleteSink = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/undelete',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n return data;\n };\n\n const getSinkSettings = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/settings',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n return data;\n };\n\n const updateSinkSettings = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n body: UpdateSinkSettingsRequestBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/settings',\n { path: { branchId, sourceId, sinkId }, body },\n { signal },\n );\n return data;\n };\n\n const getSinkStatisticsTotal = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/statistics/total',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n return data;\n };\n\n const getSinkStatisticsFiles = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n query?: SinkStatisticsFilesQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/statistics/files',\n { path: { branchId, sourceId, sinkId }, query },\n { signal },\n );\n return data;\n };\n\n const clearSinkStatistics = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n signal?: AbortSignal,\n ) => {\n await client.delete(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/statistics/clear',\n { path: { branchId, sourceId, sinkId } },\n { signal },\n );\n };\n\n const getSinkVersions = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n query?: PaginationQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/versions',\n { path: { branchId, sourceId, sinkId }, query },\n { signal },\n );\n return data;\n };\n\n const getSinkVersion = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n versionNumber: number,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/versions/{versionNumber}',\n { path: { branchId, sourceId, sinkId, versionNumber } },\n { signal },\n );\n return data;\n };\n\n const rollbackSinkVersion = async (\n branchId: string,\n sourceId: string,\n sinkId: string,\n versionNumber: number,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put(\n '/v1/branches/{branchId}/sources/{sourceId}/sinks/{sinkId}/versions/{versionNumber}/rollback',\n { path: { branchId, sourceId, sinkId, versionNumber } },\n { signal },\n );\n return data;\n };\n\n // ── Tasks ────────────────────────────────────────────────────────────────--\n const getTask = async (taskId: string, signal?: AbortSignal) => {\n const { data } = await client.get('/v1/tasks/{taskId}', { path: { taskId } }, { signal });\n return data;\n };\n\n return {\n // sources\n getSources,\n getDeletedSources,\n getAggregatedSources,\n getSource,\n createSource,\n updateSource,\n deleteSource,\n disableSource,\n enableSource,\n undeleteSource,\n rotateSourceSecret,\n getSourceSettings,\n updateSourceSettings,\n clearSourceStatistics,\n testSource,\n getSourceVersions,\n getSourceVersion,\n rollbackSourceVersion,\n // sinks\n getSinks,\n getDeletedSinks,\n getSink,\n createSink,\n updateSink,\n deleteSink,\n disableSink,\n enableSink,\n undeleteSink,\n getSinkSettings,\n updateSinkSettings,\n getSinkStatisticsTotal,\n getSinkStatisticsFiles,\n clearSinkStatistics,\n getSinkVersions,\n getSinkVersion,\n rollbackSinkVersion,\n // tasks\n getTask,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/scheduler/schedulerClient.ts"],"names":["createOpenapiFetchClient","KeboolaHttpHeader"],"mappings":";;;;;AAYO,IAAM,wBAAwB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AAC3F,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAACC,mCAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,OAAO,KAAA,EAA2B,MAAA,KAAyB;AAC9E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,YAAA,EAAc,EAAE,KAAA,EAAM,EAAG,EAAE,MAAA,EAAQ,CAAA;AACrE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,EAA4B,MAAA,KAAyB;AACnF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,YAAA,EAAc,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AACrE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,OAAO,UAAA,EAAwC,MAAA,KAAyB;AAC1F,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,yBAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,UAAA,EAAW,EAAE;AAAA,MACvB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,UAAA,EAAwC,MAAA,KAAyB;AAC7F,IAAA,MAAM,MAAA,CAAO,MAAA,CAAO,yBAAA,EAA2B,EAAE,IAAA,EAAM,EAAE,UAAA,EAAW,EAAE,EAAG,EAAE,MAAA,EAAQ,CAAA;AAAA,EACrF,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,OAC3B,UAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,MAAA,CAAO,IAAA,CAAK,sCAAA,EAAwC,EAAE,IAAA,EAAM,EAAE,UAAA,EAAW,EAAE,EAAG,EAAE,MAAA,EAAQ,CAAA;AAAA,EAChG,CAAA;AAEA,EAAA,MAAM,+BAAA,GAAkC,OACtC,eAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,eAAA,EAAgB,EAAE;AAAA,MAC5B,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-IPOWRVLR.cjs","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n ActivateScheduleBody,\n ConfigurationPath,\n GetSchedulesQuery,\n SchedulePath,\n} from './types';\n\nexport const createSchedulerClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const getSchedules = async (query?: GetSchedulesQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/schedules', { query }, { signal });\n return data;\n };\n\n const activateSchedule = async (body: ActivateScheduleBody, signal?: AbortSignal) => {\n const { data } = await client.post('/schedules', { body }, { signal });\n return data;\n };\n\n const getSchedule = async (scheduleId: SchedulePath['scheduleId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/schedules/{scheduleId}',\n { path: { scheduleId } },\n { signal },\n );\n return data;\n };\n\n const deleteSchedule = async (scheduleId: SchedulePath['scheduleId'], signal?: AbortSignal) => {\n await client.delete('/schedules/{scheduleId}', { path: { scheduleId } }, { signal });\n };\n\n const refreshScheduleToken = async (\n scheduleId: SchedulePath['scheduleId'],\n signal?: AbortSignal,\n ) => {\n await client.post('/schedules/{scheduleId}/refreshToken', { path: { scheduleId } }, { signal });\n };\n\n const deleteSchedulesForConfiguration = async (\n configurationId: ConfigurationPath['configurationId'],\n signal?: AbortSignal,\n ) => {\n await client.delete(\n '/configurations/{configurationId}',\n { path: { configurationId } },\n { signal },\n );\n };\n\n return {\n getSchedules,\n activateSchedule,\n getSchedule,\n deleteSchedule,\n refreshScheduleToken,\n deleteSchedulesForConfiguration,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/queryService/queryServiceClient.ts"],"names":[],"mappings":"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","file":"chunk-K57JQFAE.js","sourcesContent":["import {\n createOpenapiFetchClient,\n HttpHeader,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n ExportResultsResponse,\n GetExportResultsQuery,\n GetQueriesHistoryQuery,\n GetQueriesPath,\n GetQueryJobPath,\n GetQueryResultsPath,\n GetQueryResutsQuery,\n PostCancelQueryJobPath,\n PostQueryBody,\n PostQueryPath,\n} from './types';\n\nexport const createQueryServiceClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const createQueryJob = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n ) => {\n const { data } = await client.post(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n { path: { branchId, workspaceId }, body },\n );\n\n return data;\n };\n\n const cancelQueryJob = async (queryJobId: PostCancelQueryJobPath['queryJobId']) => {\n const { data } = await client.post('/api/v1/queries/{queryJobId}/cancel', {\n path: { queryJobId },\n body: { reason: 'Cancelled by user' },\n });\n\n return data;\n };\n\n const getQueryJob = async (queryJobId: GetQueryJobPath['queryJobId']) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}', { path: { queryJobId } });\n\n return data;\n };\n\n const getQueryResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query?: GetQueryResutsQuery,\n ) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}/{statementId}/results', {\n path: { queryJobId, statementId },\n query,\n });\n\n return data;\n };\n\n const getQueryHistory = async (\n branchId: GetQueriesPath['branchId'],\n workspaceId: GetQueriesPath['workspaceId'],\n query?: GetQueriesHistoryQuery,\n ) => {\n const { data } = await client.get(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n const exportResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query: GetExportResultsQuery,\n signal?: AbortSignal,\n ): Promise<ExportResultsResponse> => {\n const { data, response } = await client.get(\n '/api/v1/queries/{queryJobId}/{statementId}/export',\n {\n path: { queryJobId, statementId },\n query,\n },\n { signal },\n );\n\n const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? 'text/csv';\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n mimeType,\n content: data,\n fileName: contentDisposition?.filename ?? 'export.csv',\n };\n };\n\n return {\n createQueryJob,\n cancelQueryJob,\n getQueryJob,\n getQueryResults,\n getQueryHistory,\n exportResults,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":["createOpenapiFetchClient","KeboolaHttpHeader"],"mappings":";;;;;AAeO,IAAM,iBAAiB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,OAAM,KAAyB;AACpF,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAS,EAAE,CAACC,mCAAA,CAAkB,iBAAiB,GAAG,KAAA;AAAM,GACzD,CAAA;AAED,EAAA,MAAM,4BAAA,GAA+B,OAAO,IAAA,KAA2C;AACrF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,iCAAA,EAAmC,EAAE,IAAA,EAAM,CAAA;AAE9E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,IAAA,KAAyC;AACjF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,+BAAA,EAAiC,EAAE,IAAA,EAAM,CAAA;AAE5E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,UAAA,EAAY,EAAE,IAAA,EAAM,CAAA;AAEvD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,OAAO,IAAA,KAAoC;AACvE,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,yBAAA,EAA2B,EAAE,IAAA,EAAM,CAAA;AAEtE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,KAA+B;AAC7D,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,oBAAA,EAAsB,EAAE,IAAA,EAAM,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,IAAA,KAAuB;AAC7C,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,WAAA,EAAa,EAAE,IAAA,EAAM,CAAA;AAExD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,gBAAA,EAAkB,EAAE,IAAA,EAAM,CAAA;AAE7D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,kBAAA,GAAqB,OAAO,WAAA,KAAwB;AACxD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,gCAAA,EAAkC;AAAA,MAClE,IAAA,EAAM,EAAE,WAAA;AAAY,KACrB,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-KIVPVVFK.cjs","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n DescribeConfigurationBody,\n DescribeConfigurationMergeBody,\n DescribeConfigurationVersionBody,\n DocsQuestionBody,\n ExplainErrorBody,\n FeedbackBody,\n SuggestComponentBody,\n} from './types';\n\nexport const createAiClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const describeConfigurationVersion = async (body: DescribeConfigurationVersionBody) => {\n const { data } = await client.post('/describe/configuration-version', { body });\n\n return data;\n };\n\n const describeConfigurationMerge = async (body: DescribeConfigurationMergeBody) => {\n const { data } = await client.post('/describe/configuration-merge', { body });\n\n return data;\n };\n\n const explainError = async (body: ExplainErrorBody) => {\n const { data } = await client.post('/explain', { body });\n\n return data;\n };\n\n const describeConfiguration = async (body: DescribeConfigurationBody) => {\n const { data } = await client.post('/describe/configuration', { body });\n\n return data;\n };\n\n const suggestComponent = async (body: SuggestComponentBody) => {\n const { data } = await client.post('/suggest/component', { body });\n\n return data;\n };\n\n const feedback = async (body: FeedbackBody) => {\n const { data } = await client.post('/feedback', { body });\n\n return data;\n };\n\n /** Answers a question using the Keboola documentation as a source. */\n const docsQuestion = async (body: DocsQuestionBody) => {\n const { data } = await client.post('/docs/question', { body });\n\n return data;\n };\n\n /** Retrieves documentation details for a single component. */\n const getComponentDetail = async (componentId: string) => {\n const { data } = await client.get('/docs/components/{componentId}', {\n path: { componentId },\n });\n\n return data;\n };\n\n return {\n describeConfigurationVersion,\n describeConfigurationMerge,\n explainError,\n describeConfiguration,\n suggestComponent,\n feedback,\n docsQuestion,\n getComponentDetail,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/metastore/repository/repository.ts","../src/clients/metastore/schema/schema.ts","../src/clients/metastore/metastoreClient.ts"],"names":["createOpenapiFetchClient","KeboolaHttpHeader"],"mappings":"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","file":"chunk-KWO5WJUT.cjs","sourcesContent":["import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type {\n CreateMetaObjectInput,\n DeleteMetaObjectPath,\n DeleteMetaObjectRevisionPath,\n GetMetaObjectPath,\n GetMetaObjectRevisionPath,\n GetMetaObjectRevisionsPath,\n GetMetaObjectsPath,\n MetaStoreListResponse,\n MetaStoreObjectResponse,\n ReplaceMetaObjectInput,\n UpdateMetaObjectInput,\n} from './types';\n\nexport const createRepository = (client: MetastoreFetchClient) => {\n const getMetaObjects = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData, TDataOptional>;\n };\n\n const getMetaObjectRevisions = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectRevisionsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/revisions',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData, TDataOptional>;\n };\n\n const getMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: input,\n },\n {\n signal,\n },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const createMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n data,\n ...body\n }: CreateMetaObjectInput<TData>) => {\n const { data: createdMetaObject } = await client.post('/api/v1/repository/{objectType}', {\n path: { objectType: objectType },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n });\n\n return createdMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const deleteMetaObject = async (input: DeleteMetaObjectPath) => {\n const { data } = await client.delete('/api/v1/repository/{objectType}/{UUID}', {\n path: input,\n });\n\n return data;\n };\n\n const updateMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n UUID,\n data,\n ...body\n }: UpdateMetaObjectInput<TData>) => {\n const { data: updatedMetaObject } = await client.patch(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return updatedMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const replaceMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n UUID,\n data,\n ...body\n }: ReplaceMetaObjectInput<TData>) => {\n const { data: replacedMetaObject } = await client.put(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return replacedMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const getMetaObjectRevision = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectRevisionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const deleteMetaObjectRevision = async (input: DeleteMetaObjectRevisionPath) => {\n const { data } = await client.delete(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n );\n\n return data;\n };\n\n return {\n // lists\n getMetaObjects,\n getMetaObjectRevisions,\n\n // objects\n getMetaObject,\n createMetaObject,\n deleteMetaObject,\n updateMetaObject,\n replaceMetaObject,\n\n // revisons\n getMetaObjectRevision,\n deleteMetaObjectRevision,\n };\n};\n","import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type { GetSchemaPath, GetVersionedSchemaPath } from './types';\n\nexport const createSchema = (client: MetastoreFetchClient) => {\n const getSchema = async (input: GetSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n return data;\n };\n\n const getVersionedSchema = async (input: GetVersionedSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}/{version}',\n {\n path: input,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getSchema,\n getVersionedSchema,\n };\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createRepository } from './repository';\nimport { createSchema } from './schema';\n\nexport type MetastoreFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createMetastoreClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await client.get('/health-check', {}, { signal });\n return data;\n };\n\n return {\n healthCheck,\n repository: createRepository(client),\n schema: createSchema(client),\n };\n};\n"]}
|