@keboola/api-client 3.0.0 → 4.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/README.md +0 -33
- package/dist/ai/index.cjs +3 -3
- package/dist/ai/index.d.cts +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.js +2 -2
- package/dist/assets/index.cjs +3 -3
- package/dist/assets/index.d.cts +1 -1
- package/dist/assets/index.d.ts +1 -1
- package/dist/assets/index.js +2 -2
- package/dist/{authMiddleware-BteBe1Bt.d.cts → authMiddleware-CeIxAJQ5.d.cts} +1 -1
- package/dist/{authMiddleware-BTFSCMTE.d.ts → authMiddleware-Dcy9gRT9.d.ts} +1 -1
- package/dist/chat/index.cjs +3 -3
- package/dist/chat/index.d.cts +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +2 -2
- package/dist/{chunk-R7PD3BRA.js → chunk-2ZMZ4KWJ.js} +3 -23
- package/dist/chunk-2ZMZ4KWJ.js.map +1 -0
- package/dist/{chunk-VS5PM7KL.js → chunk-3DW7RIEB.js} +4 -4
- package/dist/chunk-3DW7RIEB.js.map +1 -0
- package/dist/{chunk-633QJMHH.cjs → chunk-4TENBFWN.cjs} +5 -5
- package/dist/chunk-4TENBFWN.cjs.map +1 -0
- package/dist/{chunk-LZ6A6J2E.cjs → chunk-5DVEQBCD.cjs} +8 -8
- package/dist/chunk-5DVEQBCD.cjs.map +1 -0
- package/dist/{chunk-3Y6NK7TC.js → chunk-5PUNJJAR.js} +4 -4
- package/dist/chunk-5PUNJJAR.js.map +1 -0
- package/dist/{chunk-6RQDX6JY.cjs → chunk-5YN6FED2.cjs} +6 -6
- package/dist/chunk-5YN6FED2.cjs.map +1 -0
- package/dist/{chunk-3T54WH4X.cjs → chunk-6D3MJRXE.cjs} +5 -5
- package/dist/chunk-6D3MJRXE.cjs.map +1 -0
- package/dist/{chunk-76AHKXLC.cjs → chunk-6FW72PC2.cjs} +9 -9
- package/dist/chunk-6FW72PC2.cjs.map +1 -0
- package/dist/{chunk-IY3VNVXD.cjs → chunk-6HBXNLB7.cjs} +5 -5
- package/dist/chunk-6HBXNLB7.cjs.map +1 -0
- package/dist/{chunk-WQ7EZWBF.js → chunk-6TUGEXVX.js} +4 -4
- package/dist/chunk-6TUGEXVX.js.map +1 -0
- package/dist/{chunk-OKVYLO6C.js → chunk-76Q2CTFV.js} +4 -4
- package/dist/chunk-76Q2CTFV.js.map +1 -0
- package/dist/chunk-7ETZQGY7.js +75 -0
- package/dist/chunk-7ETZQGY7.js.map +1 -0
- package/dist/{chunk-TNJWOHPM.js → chunk-7NX56CKZ.js} +127 -77
- package/dist/chunk-7NX56CKZ.js.map +1 -0
- package/dist/{chunk-EY5LALX2.cjs → chunk-AYXQJONA.cjs} +5 -5
- package/dist/chunk-AYXQJONA.cjs.map +1 -0
- package/dist/{chunk-YPCD7M2N.cjs → chunk-BA2JMZP6.cjs} +5 -5
- package/dist/chunk-BA2JMZP6.cjs.map +1 -0
- package/dist/{chunk-SAEG42HW.js → chunk-CQFZ7PGZ.js} +4 -4
- package/dist/chunk-CQFZ7PGZ.js.map +1 -0
- package/dist/{chunk-JKFIB6SQ.cjs → chunk-D2ZTB5R2.cjs} +33 -35
- package/dist/chunk-D2ZTB5R2.cjs.map +1 -0
- package/dist/{chunk-YXCVNX2Q.cjs → chunk-ECQZAWH3.cjs} +5 -5
- package/dist/chunk-ECQZAWH3.cjs.map +1 -0
- package/dist/{chunk-GO6SOMGL.js → chunk-GLQZHLLN.js} +4 -4
- package/dist/chunk-GLQZHLLN.js.map +1 -0
- package/dist/{chunk-XFC52BJV.cjs → chunk-HCH4WXK2.cjs} +131 -81
- package/dist/chunk-HCH4WXK2.cjs.map +1 -0
- package/dist/{chunk-TXFQ4YIK.js → chunk-HLGMFFDF.js} +4 -4
- package/dist/chunk-HLGMFFDF.js.map +1 -0
- package/dist/{chunk-JLNOESHX.cjs → chunk-IL2PAEG3.cjs} +5 -5
- package/dist/chunk-IL2PAEG3.cjs.map +1 -0
- package/dist/chunk-IWIN6HKU.cjs +82 -0
- package/dist/chunk-IWIN6HKU.cjs.map +1 -0
- package/dist/{chunk-HCNNMUTR.cjs → chunk-KOO3ZG5X.cjs} +5 -5
- package/dist/chunk-KOO3ZG5X.cjs.map +1 -0
- package/dist/{chunk-VAOCYA6B.js → chunk-LBVYZLWL.js} +4 -4
- package/dist/chunk-LBVYZLWL.js.map +1 -0
- package/dist/{chunk-BGLICNTG.cjs → chunk-LI3BAYDV.cjs} +5 -5
- package/dist/chunk-LI3BAYDV.cjs.map +1 -0
- package/dist/{chunk-HPVTVQBJ.cjs → chunk-MTFRH3R5.cjs} +4 -22
- package/dist/chunk-MTFRH3R5.cjs.map +1 -0
- package/dist/{chunk-GNPQB3MT.js → chunk-OAKTIIG4.js} +3 -3
- package/dist/chunk-OAKTIIG4.js.map +1 -0
- package/dist/{chunk-LV3ZWNDC.js → chunk-PM2FAMWT.js} +4 -4
- package/dist/chunk-PM2FAMWT.js.map +1 -0
- package/dist/{chunk-PV4HIVW2.js → chunk-Q6T6GRDR.js} +4 -4
- package/dist/chunk-Q6T6GRDR.js.map +1 -0
- package/dist/{chunk-PD3LJYS2.js → chunk-QXWPUKK2.js} +5 -22
- package/dist/chunk-QXWPUKK2.js.map +1 -0
- package/dist/{chunk-UXF53ZOV.js → chunk-RBGTWJ7G.js} +4 -4
- package/dist/chunk-RBGTWJ7G.js.map +1 -0
- package/dist/{chunk-ZEMKE6DI.js → chunk-RBW5ABSQ.js} +24 -26
- package/dist/chunk-RBW5ABSQ.js.map +1 -0
- package/dist/{chunk-TIIRBQUA.cjs → chunk-REXMA2IN.cjs} +5 -5
- package/dist/chunk-REXMA2IN.cjs.map +1 -0
- package/dist/{chunk-HYUGRMCY.cjs → chunk-RTD3XWBM.cjs} +8 -8
- package/dist/chunk-RTD3XWBM.cjs.map +1 -0
- package/dist/{chunk-FBQHHAL5.js → chunk-T23NVI3Q.js} +4 -4
- package/dist/chunk-T23NVI3Q.js.map +1 -0
- package/dist/{chunk-IJMQCOBC.js → chunk-V35JLM5Q.js} +4 -4
- package/dist/chunk-V35JLM5Q.js.map +1 -0
- package/dist/{chunk-DCTDH77P.cjs → chunk-VLSN55I3.cjs} +2 -24
- package/dist/chunk-VLSN55I3.cjs.map +1 -0
- package/dist/{chunk-XUDMML5C.cjs → chunk-WMJUK4P4.cjs} +6 -5
- package/dist/chunk-WMJUK4P4.cjs.map +1 -0
- package/dist/{chunk-3B7L6MCG.js → chunk-X73I4PLK.js} +5 -4
- package/dist/chunk-X73I4PLK.js.map +1 -0
- package/dist/{chunk-YUEYMIMI.cjs → chunk-ZIVZF6M2.cjs} +6 -6
- package/dist/chunk-ZIVZF6M2.cjs.map +1 -0
- package/dist/{chunk-7FY6COWG.js → chunk-ZQPET6GI.js} +4 -4
- package/dist/chunk-ZQPET6GI.js.map +1 -0
- package/dist/{createGenericFetchClient-DEakI3F1.d.ts → createGenericFetchClient-Cp2By_KQ.d.ts} +1 -1
- package/dist/{createGenericFetchClient-CLUzu-jY.d.cts → createGenericFetchClient-DuW7iSRy.d.cts} +1 -1
- package/dist/{createOpenapiFetchClient-CpXmAIFB.d.cts → createOpenapiFetchClient-BuKDZcLD.d.cts} +1 -1
- package/dist/{createOpenapiFetchClient-_sm4bchL.d.ts → createOpenapiFetchClient-DhL2gQvd.d.ts} +1 -1
- package/dist/dataScience/index.cjs +4 -4
- package/dist/dataScience/index.d.cts +1 -1
- package/dist/dataScience/index.d.ts +1 -1
- package/dist/dataScience/index.js +2 -2
- package/dist/domain/storageTable/index.cjs +267 -0
- package/dist/domain/storageTable/index.cjs.map +1 -0
- package/dist/domain/storageTable/index.d.cts +131 -0
- package/dist/domain/storageTable/index.d.ts +131 -0
- package/dist/domain/storageTable/index.js +264 -0
- package/dist/domain/storageTable/index.js.map +1 -0
- package/dist/editor/index.cjs +3 -3
- package/dist/editor/index.d.cts +2 -2
- package/dist/editor/index.d.ts +2 -2
- package/dist/editor/index.js +2 -2
- package/dist/editor/types.d.cts +1 -1
- package/dist/editor/types.d.ts +1 -1
- package/dist/encryption/index.cjs +3 -3
- package/dist/encryption/index.d.cts +1 -1
- package/dist/encryption/index.d.ts +1 -1
- package/dist/encryption/index.js +2 -2
- package/dist/import/index.cjs +3 -3
- package/dist/import/index.d.cts +1 -1
- package/dist/import/index.d.ts +1 -1
- package/dist/import/index.js +2 -2
- package/dist/index.cjs +316 -182
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +115 -28
- package/dist/index.d.ts +115 -28
- package/dist/index.js +287 -150
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +5 -5
- package/dist/management/index.d.cts +5 -5
- package/dist/management/index.d.ts +5 -5
- package/dist/management/index.js +3 -3
- package/dist/metastore/index.cjs +3 -3
- package/dist/metastore/index.d.cts +2 -2
- package/dist/metastore/index.d.ts +2 -2
- package/dist/metastore/index.js +2 -2
- package/dist/oauth/index.cjs +3 -3
- package/dist/oauth/index.d.cts +1 -1
- package/dist/oauth/index.d.ts +1 -1
- package/dist/oauth/index.js +2 -2
- package/dist/queryService/index.cjs +3 -3
- package/dist/queryService/index.d.cts +1 -1
- package/dist/queryService/index.d.ts +1 -1
- package/dist/queryService/index.js +2 -2
- package/dist/queue/index.cjs +3 -3
- package/dist/queue/index.d.cts +1 -1
- package/dist/queue/index.d.ts +1 -1
- package/dist/queue/index.js +2 -2
- package/dist/sdk/storage/index.cjs +11 -19
- package/dist/sdk/storage/index.d.cts +6 -17
- package/dist/sdk/storage/index.d.ts +6 -17
- package/dist/sdk/storage/index.js +1 -1
- 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.cjs +33 -0
- package/dist/sdk/vault/index.cjs.map +1 -0
- package/dist/sdk/vault/index.d.cts +70 -0
- package/dist/sdk/vault/index.d.ts +70 -0
- package/dist/sdk/vault/index.js +4 -0
- package/dist/sdk/vault/index.js.map +1 -0
- package/dist/status/index.cjs +3 -3
- package/dist/status/index.d.cts +1 -1
- package/dist/status/index.d.ts +1 -1
- package/dist/status/index.js +2 -2
- package/dist/storage/index.cjs +4 -4
- package/dist/storage/index.d.cts +4 -4
- package/dist/storage/index.d.ts +4 -4
- package/dist/storage/index.js +2 -2
- package/dist/storage/types.d.cts +54 -1
- package/dist/storage/types.d.ts +54 -1
- package/dist/{storageClient-CDX-GvNV.d.cts → storageClient-DTTDHnLM.d.cts} +7 -4
- package/dist/{storageClient-BgvUM7gy.d.ts → storageClient-xm0yUrNc.d.ts} +7 -4
- package/dist/{storageSdk-IOIdwqy-.d.cts → storageSdk-CxNyfe5Z.d.cts} +1 -1
- package/dist/{storageSdk-qGaWB1dy.d.ts → storageSdk-bwKHEMB4.d.ts} +1 -1
- package/dist/syncActions/index.cjs +3 -3
- package/dist/syncActions/index.d.cts +3 -2
- package/dist/syncActions/index.d.ts +3 -2
- package/dist/syncActions/index.js +2 -2
- package/dist/telemetry/index.cjs +3 -3
- package/dist/telemetry/index.d.cts +2 -2
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.js +2 -2
- package/dist/{types-DgaMV8FF.d.ts → types-Bom8wyth.d.cts} +1 -13
- package/dist/{types-DgaMV8FF.d.cts → types-Bom8wyth.d.ts} +1 -13
- package/dist/types-Brx8PoEB.d.cts +11 -0
- package/dist/{types-B--u7l2H.d.ts → types-CqWXdTMg.d.ts} +0 -19
- package/dist/types-D4CDCW-Y.d.ts +11 -0
- package/dist/{types-C0Owx2P7.d.cts → types-DBVQGCI1.d.cts} +0 -19
- package/dist/vault/index.cjs +3 -3
- package/dist/vault/index.d.cts +1 -1
- package/dist/vault/index.d.ts +1 -1
- package/dist/vault/index.js +2 -2
- package/dist/vault/types.d.cts +3 -2
- package/dist/vault/types.d.ts +3 -2
- package/dist/verify/index.cjs +3 -3
- package/dist/verify/index.js +2 -2
- package/package.json +30 -4
- package/dist/chunk-3B7L6MCG.js.map +0 -1
- package/dist/chunk-3T54WH4X.cjs.map +0 -1
- package/dist/chunk-3Y6NK7TC.js.map +0 -1
- package/dist/chunk-633QJMHH.cjs.map +0 -1
- package/dist/chunk-6RQDX6JY.cjs.map +0 -1
- package/dist/chunk-76AHKXLC.cjs.map +0 -1
- package/dist/chunk-7FY6COWG.js.map +0 -1
- package/dist/chunk-BGLICNTG.cjs.map +0 -1
- package/dist/chunk-DCTDH77P.cjs.map +0 -1
- package/dist/chunk-EY5LALX2.cjs.map +0 -1
- package/dist/chunk-FBQHHAL5.js.map +0 -1
- package/dist/chunk-GNPQB3MT.js.map +0 -1
- package/dist/chunk-GO6SOMGL.js.map +0 -1
- package/dist/chunk-HCNNMUTR.cjs.map +0 -1
- package/dist/chunk-HPVTVQBJ.cjs.map +0 -1
- package/dist/chunk-HYUGRMCY.cjs.map +0 -1
- package/dist/chunk-IJMQCOBC.js.map +0 -1
- package/dist/chunk-IY3VNVXD.cjs.map +0 -1
- package/dist/chunk-JKFIB6SQ.cjs.map +0 -1
- package/dist/chunk-JLNOESHX.cjs.map +0 -1
- package/dist/chunk-LV3ZWNDC.js.map +0 -1
- package/dist/chunk-LZ6A6J2E.cjs.map +0 -1
- package/dist/chunk-OKVYLO6C.js.map +0 -1
- package/dist/chunk-PD3LJYS2.js.map +0 -1
- package/dist/chunk-PV4HIVW2.js.map +0 -1
- package/dist/chunk-R7PD3BRA.js.map +0 -1
- package/dist/chunk-SAEG42HW.js.map +0 -1
- package/dist/chunk-TIIRBQUA.cjs.map +0 -1
- package/dist/chunk-TNJWOHPM.js.map +0 -1
- package/dist/chunk-TXFQ4YIK.js.map +0 -1
- package/dist/chunk-UXF53ZOV.js.map +0 -1
- package/dist/chunk-VAOCYA6B.js.map +0 -1
- package/dist/chunk-VS5PM7KL.js.map +0 -1
- package/dist/chunk-WQ7EZWBF.js.map +0 -1
- package/dist/chunk-XFC52BJV.cjs.map +0 -1
- package/dist/chunk-XUDMML5C.cjs.map +0 -1
- package/dist/chunk-YPCD7M2N.cjs.map +0 -1
- package/dist/chunk-YUEYMIMI.cjs.map +0 -1
- package/dist/chunk-YXCVNX2Q.cjs.map +0 -1
- package/dist/chunk-ZEMKE6DI.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/createAbortError.ts","../src/utils/delay.ts","../src/utils/poll.ts","../src/sdks/storage/storageSdk.ts","../src/sdks/storage/tableIdParser.ts","../src/sdks/storage/tableName.ts","../src/sdks/storage/fqid.ts","../src/sdks/storage/devBranch.ts"],"names":[],"mappings":"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","file":"chunk-R7PD3BRA.js","sourcesContent":["export const createAbortError = (reason?: string) => new DOMException(reason, 'AbortError');\n","import { createAbortError } from './createAbortError';\n\nexport const delay = (timeout: number, signal?: AbortSignal) =>\n new Promise((resolve, reject) => {\n if (signal?.aborted) return reject(createAbortError(signal.reason));\n\n const timeoutId = setTimeout(resolve, timeout);\n\n signal?.addEventListener(\n 'abort',\n () => {\n clearTimeout(timeoutId);\n reject(createAbortError(signal.reason));\n },\n { once: true },\n );\n });\n","import { createAbortError } from './createAbortError';\nimport { delay } from './delay';\n\ntype PollResult<T> = {\n data: T;\n callCount: number;\n};\n\ntype PollErrorType = 'PollPredicateError' | 'PollTimeoutError' | 'PollPollTimeoutError';\n\nconst message: Record<PollErrorType, string> = {\n PollPredicateError: 'Poll predicate failed',\n PollTimeoutError: 'Poll timeout exceeded',\n PollPollTimeoutError: 'Poll data failed condition',\n};\n\nexport class PollException<T> extends Error {\n result: PollResult<T>;\n\n constructor(type: PollErrorType, result: PollResult<T>) {\n super(type, { cause: message[type] });\n this.result = result;\n }\n}\n\ntype Options<T> = {\n pollFn: (abortSignal?: AbortSignal) => Promise<T>;\n isDone: (result: T) => boolean;\n isFailed?: (result: T) => boolean;\n interval: number;\n abortSignal?: AbortSignal;\n maxAttempts?: number;\n};\n\nexport const poll = async <T>({\n pollFn,\n interval,\n isDone,\n isFailed,\n abortSignal,\n maxAttempts = Infinity,\n}: Options<T>): Promise<PollResult<T>> => {\n if (abortSignal?.aborted) throw createAbortError(abortSignal.reason);\n if (interval < 1) throw new Error('Invalid poll interval');\n if (maxAttempts < 1) throw new Error('Invalid poll maxAttempts');\n\n let callCount = 0;\n\n while (true) {\n callCount++;\n const data = await pollFn(abortSignal);\n const result = { data, callCount };\n\n try {\n if (isDone(data)) return result;\n if (isFailed?.(data) ?? false) throw new PollException('PollPollTimeoutError', result);\n } catch (error) {\n if (error instanceof PollException) throw error;\n throw new PollException('PollPredicateError', result);\n }\n\n if (callCount >= maxAttempts) throw new PollException('PollTimeoutError', result);\n await delay(interval, abortSignal);\n }\n};\n","import type { createStorageClient } from '../../clients/storage';\nimport type {\n CreateBucketListingInput,\n UpdateBucketListingInput,\n} from '../../clients/storage/buckets/types';\nimport type { Job, JobOperation } from '../../clients/storage/jobs/types';\nimport type {\n CreateTableAsyncBody,\n TableExportAsyncBody,\n TableImportAsyncBody,\n} from '../../clients/storage/tables/types';\nimport { poll } from '../../utils/poll';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\nconst JOB_TERMINAL_STATUSES = new Set(['success', 'warning', 'error', 'terminated', 'cancelled']);\n\ntype Options = {\n interval?: number;\n maxAttempts?: number;\n abortSignal?: AbortSignal;\n};\n\ntype StorageSdkOptions = {\n storageClient: ReturnType<typeof createStorageClient>;\n};\n\nexport const createStorageSdk = ({ storageClient }: StorageSdkOptions) => {\n const waitForJob = async <Operation extends JobOperation | string>(\n job: Job<Operation> & { operationName: Operation },\n options?: Options,\n ) => {\n const { data } = await poll({\n pollFn: (abortSignal) => storageClient.jobs.getJob<Operation>(job.id, abortSignal),\n isDone: (j) => JOB_TERMINAL_STATUSES.has(j.status),\n interval: options?.interval ?? DEFAULT_POLL_INTERVAL,\n maxAttempts: options?.maxAttempts,\n abortSignal: options?.abortSignal,\n });\n\n return data;\n };\n\n const createTable = async (bucketId: string, body: CreateTableAsyncBody, options?: Options) => {\n const job = await storageClient.tables.createTableAsync(bucketId, body, options?.abortSignal);\n return waitForJob(job, options);\n };\n\n const importFromFile = async (tableId: string, body: TableImportAsyncBody, options?: Options) => {\n const job = await storageClient.tables.importAsync(tableId, body, options?.abortSignal);\n return waitForJob(job, options);\n };\n\n const exportToFile = async (tableId: string, body?: TableExportAsyncBody, options?: Options) => {\n const job = await storageClient.tables.exportAsync(tableId, body, options?.abortSignal);\n return waitForJob(job, options);\n };\n\n const getBucketListing = async (bucketId: string, signal?: AbortSignal) =>\n storageClient.buckets.getListing(bucketId, signal);\n\n const listBucketListings = async (signal?: AbortSignal) =>\n storageClient.buckets.listListings(signal);\n\n const createBucketListing = async (\n bucketId: string,\n input: CreateBucketListingInput,\n options?: Options,\n ) => {\n const job = await storageClient.buckets.createListing(bucketId, input, options?.abortSignal);\n return waitForJob(job, options);\n };\n\n const updateBucketListing = async (\n bucketId: string,\n input: UpdateBucketListingInput,\n options?: Options,\n ) => {\n const job = await storageClient.buckets.updateListing(bucketId, input, options?.abortSignal);\n return waitForJob(job, options);\n };\n\n const deleteBucketListing = async (bucketId: string, options?: Options) => {\n const job = await storageClient.buckets.deleteListing(bucketId, options?.abortSignal);\n return waitForJob(job, options);\n };\n\n return {\n createTable,\n importFromFile,\n exportToFile,\n getBucketListing,\n listBucketListings,\n createBucketListing,\n updateBucketListing,\n deleteBucketListing,\n };\n};\n","function parseTableId(tableId: string, defaultStage: string, defaultBucket: string) {\n const parts = tableId.match(/^(in|out)?\\.(.+)?\\.(.+)?$/);\n\n return {\n stage: parts ? parts[1] || defaultStage : defaultStage,\n bucket: parts ? parts[2] || defaultBucket : defaultBucket,\n table: parts ? parts[3] || '' : '',\n };\n}\n\nexport function parse(\n tableId: string | null,\n options: { defaultStage?: string; defaultBucket?: string } = {},\n) {\n const parts = parseTableId(\n tableId || '',\n options.defaultStage || '',\n options.defaultBucket || '',\n );\n\n const { stage, bucket, table } = parts;\n return {\n tableId: `${stage}.${bucket}.${table}`,\n parts,\n setPart: (partNameToSet: string, value: string) => {\n const result = (['stage', 'bucket', 'table'] as const)\n .reduce(\n (memo, partName) =>\n partName === partNameToSet ? `${memo}.${value}` : `${memo}.${parts[partName]}`,\n '',\n )\n .slice(1);\n return parse(result);\n },\n };\n}\n\nexport const tableIdParser = { parse };\n","import { tableIdParser } from './tableIdParser';\n\nconst stripLegacyBucketPrefix = (bucketName: string) => {\n if (!bucketName.includes('c-')) {\n return bucketName;\n }\n\n return bucketName.substring(bucketName.indexOf('c-') + 'c-'.length);\n};\n\ntype BucketDisplayNameOptions = {\n disableLegacyBucketPrefix?: boolean;\n};\n\nexport const getBucketDisplayNameFromName = (\n bucketName: string,\n options: BucketDisplayNameOptions = {},\n) => {\n if (!bucketName) return '';\n return options.disableLegacyBucketPrefix ? bucketName : stripLegacyBucketPrefix(bucketName);\n};\n\ntype TableNameParsedOptions = BucketDisplayNameOptions & {\n storageBucket?: { displayName?: string } | null;\n};\n\nexport const tableNameParsed = (tableId: string, options: TableNameParsedOptions = {}) => {\n const { stage, bucket, table } = tableIdParser.parse(tableId).parts;\n const bucketName =\n options.storageBucket?.displayName ?? getBucketDisplayNameFromName(bucket, options);\n\n if (stage && bucketName && table) {\n return `${bucketName} / ${table}`;\n }\n\n return tableId;\n};\n","export const FQID_TYPES = {\n organization: 'ORG',\n maintainer: 'MTR',\n project: 'PRJ',\n bucket: 'BCT',\n table: 'TBL',\n column: 'COL',\n config: 'CFG',\n component: 'CMP',\n externalTable: 'EX_TBL',\n externalColumn: 'EX_COL',\n} as const;\n\ntype FQIDTypes = typeof FQID_TYPES;\n\nexport type ParsedFQID = {\n type?: (typeof FQID_TYPES)[keyof typeof FQID_TYPES];\n organizationId?: string;\n maintainerId?: string;\n projectId?: string;\n bucketId?: string;\n tableId?: string;\n componentId?: string;\n configId?: string;\n column?: string;\n};\n\nconst isFQIDType = (value: string): value is FQIDTypes[keyof FQIDTypes] => {\n return Object.values(FQID_TYPES).includes(value as FQIDTypes[keyof FQIDTypes]);\n};\n\nconst parseFQID = (fqid?: string): ParsedFQID | Record<string, never> => {\n if (!fqid?.trim()) return {};\n\n const firstSegment = fqid.split(' ')[0] ?? '';\n const [type, ...rest] = firstSegment.split('/');\n\n if (!type || !isFQIDType(type)) return {};\n\n switch (type) {\n case 'ORG':\n return { type, organizationId: rest[0] };\n case 'MTR':\n return { type, maintainerId: rest[0] };\n case 'PRJ':\n return { type, projectId: rest[0] };\n case 'BCT':\n return { type, projectId: rest[0], bucketId: rest[1] };\n case 'TBL':\n return { type, projectId: rest[0], tableId: rest[1] };\n case 'COL':\n return { type, projectId: rest[0], tableId: rest[1], column: rest[2] };\n case 'CMP':\n return { type, projectId: rest[0], componentId: rest[1] };\n case 'CFG':\n return { type, projectId: rest[0], componentId: rest[1], configId: rest[2] };\n default:\n return {};\n }\n};\n\ntype FQIDData =\n | {\n type: FQIDTypes['organization'];\n data: { organizationId: string };\n }\n | {\n type: FQIDTypes['maintainer'];\n data: { maintainerId: string };\n }\n | {\n type: FQIDTypes['project'];\n data: { projectId: string };\n }\n | {\n type: FQIDTypes['bucket'];\n data: { projectId: string; bucketId: string };\n }\n | {\n type: FQIDTypes['table'];\n data: { projectId: string; tableId: string };\n }\n | {\n type: FQIDTypes['column'];\n data: { projectId: string; tableId: string; column: string };\n }\n | {\n type: FQIDTypes['component'];\n data: { projectId: string; componentId: string };\n }\n | {\n type: FQIDTypes['config'];\n data: { projectId: string; componentId: string; configId: string };\n };\n\nconst constructFQID = ({ type, data }: FQIDData) => {\n switch (type) {\n case FQID_TYPES.organization:\n return `ORG/${data.organizationId}`;\n case FQID_TYPES.maintainer:\n return `MTR/${data.maintainerId}`;\n case FQID_TYPES.project:\n return `PRJ/${data.projectId}`;\n case FQID_TYPES.bucket:\n return `BCT/${data.projectId}/${data.bucketId}`;\n case FQID_TYPES.table:\n return `TBL/${data.projectId}/${data.tableId}`;\n case FQID_TYPES.column:\n return `COL/${data.projectId}/${data.tableId}/${data.column}`;\n case FQID_TYPES.component:\n return `CMP/${data.projectId}/${data.componentId}`;\n case FQID_TYPES.config:\n return `CFG/${data.projectId}/${data.componentId}/${data.configId}`;\n }\n};\n\nexport { parseFQID, constructFQID };\n","export const parseDevBranchId = (path: string): number | null => {\n const pathParts = path.split('/');\n const branchKeywordIndex = pathParts.findIndex((pathPart) => pathPart === 'branch');\n if (branchKeywordIndex === -1) {\n return null;\n }\n const branchId = pathParts[branchKeywordIndex + 1];\n if (!branchId) {\n return null;\n }\n const branchIdInt = parseInt(branchId, 10);\n if (/^\\d+$/.test(branchId) && branchIdInt > 0) {\n return branchIdInt;\n }\n return null;\n};\n\nexport const parseCurrentDevBranchIdFromUrl = (): number | null => {\n if (typeof location === 'undefined') {\n return null;\n }\n return parseDevBranchId(location.pathname);\n};\n\ntype PrefixTagsOptions = {\n hasStorageBranches?: boolean;\n};\n\nexport const prefixTagsWithDevBranchId = (\n tags: string[],\n branchId: number | string | null = null,\n options: PrefixTagsOptions = {},\n): string[] => {\n if (!branchId || options.hasStorageBranches) {\n return tags;\n }\n\n return tags.map((tag) => `${branchId}-${tag}`);\n};\n\nexport const removeBranchFromUrl = (url: string): string => {\n const partToRemove = 'branch/\\\\d+/'; // This pattern matches \"branch/\" followed by one or more digits\n const regex = new RegExp(partToRemove, 'g');\n\n return url.replace(regex, '');\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/UserError.ts","../src/clients/vault/vaultClient.ts"],"names":[],"mappings":";;;AAAO,IAAM,SAAA,GAAN,cAAwB,KAAA,CAAM;AAAA,EACnC,YAAY,OAAA,EAAiB;AAC3B,IAAA,KAAA,CAAM,OAAO,CAAA;AAAA,EACf;AACF;;;ACWO,IAAM,iBAAA,GAAoB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AAChF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,OAAO,KAAA,EAA0B,MAAA,KAAyB;AAC7E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,YAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR;AAAA,QACE;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAAkC,MAAA,KAAyB;AACvF,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mBAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,IAAA;AAAK,OACf;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAA0B,MAAA,KAAyB;AAC/E,IAAA,IAAI,IAAA,CAAK,KAAA,CAAM,QAAA,CAAS,WAAW,CAAA,IAAK,CAAC,IAAA,CAAK,KAAA,CAAM,UAAA,CAAW,sBAAsB,CAAA,EAAG;AACtF,MAAA,MAAM,IAAI,UAAU,2DAA2D,CAAA;AAAA,IACjF;AACA,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,sBAAA,GAAyB,OAC7B,QAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA;AAAS,OACnB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAAyB,sBAAA,CAAuB,QAAQ,MAAM,CAAA;AAE/F,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-SAEG42HW.js","sourcesContent":["export class UserError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n","import { ENCRYPTED_VALUE_PREFIX } from '../../constants';\nimport { UserError } from '../../errors';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateVariableBody,\n DeleteVariablePath,\n GetVariablesByBranchId,\n GetVariablesQuery,\n VariableWithHash,\n} from './types';\n\nexport const createVaultClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getVariables = async (query: GetVariablesQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/variables',\n { query },\n {\n signal,\n },\n );\n\n return data as VariableWithHash[];\n };\n\n const deleteVariable = async (hash: DeleteVariablePath['hash'], signal?: AbortSignal) => {\n await client.delete(\n '/variables/{hash}',\n {\n path: { hash },\n },\n { signal },\n );\n };\n\n const createVariable = async (body: CreateVariableBody, signal?: AbortSignal) => {\n if (body.flags.includes('encrypted') && !body.value.startsWith(ENCRYPTED_VALUE_PREFIX)) {\n throw new UserError('Encryption of a value failed. Please contact our support.');\n }\n const { data } = await client.post('/variables', { body }, { signal });\n return data;\n };\n\n const getVariablesByBranchId = async (\n branchId: GetVariablesByBranchId['branchId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/variables/scoped/branch/{branchId}',\n {\n path: { branchId },\n },\n { signal },\n );\n return data as VariableWithHash[];\n };\n\n const getProjectWideVariables = (signal?: AbortSignal) => getVariablesByBranchId('null', signal);\n\n return {\n createVariable,\n deleteVariable,\n getProjectWideVariables,\n getVariables,\n getVariablesByBranchId,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/editor/editorClient.ts"],"names":["createOpenapiFetchClient","normalizeBaseUrl"],"mappings":"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","file":"chunk-TIIRBQUA.cjs","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateSqlSessionBody,\n GetSqlSessionPath,\n GetSqlSessionSchemaPath,\n GetSqlSessionSchemaQuery,\n GetSqlSessionsQuery,\n GetSqlSessionTableDdlPath,\n GetSqlSessionTableDdlQuery,\n PostSqlRunQueryBody,\n PostSqlRunQueryPath,\n PostSqlSessionLoadBody,\n PostSqlSessionLoadPath,\n PostSqlSessionUnloadBody,\n PostSqlSessionUnloadPath,\n PostSqlTablePreviewBody,\n PostSqlTablePreviewPath,\n} from './types';\n\nexport const createEditorClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const createSession = async (body: CreateSqlSessionBody) => {\n const { data } = await client.post('/sql/sessions', {\n body,\n });\n return data;\n };\n\n const getSession = async ({ id }: GetSqlSessionPath, signal?: AbortSignal) => {\n const { data } = await client.get(`/sql/sessions/{id}`, { path: { id } }, { signal });\n return data;\n };\n\n const getSessions = async (query: GetSqlSessionsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(`/sql/sessions`, { query }, { signal });\n\n return data;\n };\n\n const getSessionSchema = async (\n {\n id,\n onlyWorkspaceSchema = '1',\n loadTables = '1',\n }: GetSqlSessionSchemaPath & GetSqlSessionSchemaQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/schema`,\n {\n path: { id },\n query: { onlyWorkspaceSchema, loadTables },\n },\n { signal },\n );\n return data;\n };\n\n const createQueryJob = async ({ id }: PostSqlRunQueryPath, body: PostSqlRunQueryBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/run-query`, {\n path: { id },\n body,\n });\n return data;\n };\n\n const tablePreview = async ({ id }: PostSqlTablePreviewPath, body: PostSqlTablePreviewBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/table-preview`, {\n path: { id },\n body,\n });\n\n return data;\n };\n\n const tableDefinition = async (\n { id, ...query }: GetSqlSessionTableDdlPath & GetSqlSessionTableDdlQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/table-ddl`,\n { path: { id }, query },\n { signal },\n );\n return data;\n };\n\n const load = async ({ id }: PostSqlSessionLoadPath, body: PostSqlSessionLoadBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/load`, {\n path: { id },\n body,\n });\n\n return data;\n };\n\n const unload = async ({ id }: PostSqlSessionUnloadPath, body?: PostSqlSessionUnloadBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/unload`, {\n path: { id },\n // BE error: The body is optional; however, without it, the request will fail with the message \"Request content type must be application/json.\"\n // This is expected, as our client cannot correctly determine the content type without the body.\n // This issue should be addressed to indicate that the body is required in their Swagger schema.\n body: body ?? { tableId: null },\n });\n\n return data;\n };\n\n const resetWorkspacePassword = async (id: string) => {\n const { data } = await client.post(`/sql/sessions/{id}/reset-password`, {\n path: { id },\n });\n\n return data;\n };\n\n const getSessionCredentials = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/credentials`,\n { path: { id } },\n { signal },\n );\n\n return data;\n };\n\n return {\n createSession,\n getSession,\n getSessions,\n getSessionSchema,\n createQueryJob,\n tablePreview,\n tableDefinition,\n load,\n unload,\n resetWorkspacePassword,\n getSessionCredentials,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../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/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/tables/tables.ts","../src/clients/storage/tokens/tokens.ts","../src/clients/storage/workspaces/workspaces.ts","../src/clients/storage/storageClient.ts","../src/clients/storage/storageTokenMiddleware.ts"],"names":[],"mappings":"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","file":"chunk-TNJWOHPM.js","sourcesContent":["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 '/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 '/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 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 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[]>('/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 '/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 '/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 '/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 '/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 >('/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 '/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 CreateBucketBody,\n CreateBucketListingInput,\n CreateScheduledRefreshBody,\n CreateScheduledRefreshPath,\n GetBucketsQuery,\n RawBucketListingResponse,\n RawBucketListingRow,\n ScheduledTask,\n UpdateBucketBody,\n UpdateBucketListingInput,\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 (query: GetBucketsQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get<Bucket[], void, GetBucketsQuery>(\n `/buckets`,\n { 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 `/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>(`/buckets`, {\n body,\n });\n\n return data;\n };\n\n const updateBucket = async (id: string, body: UpdateBucketBody) => {\n const { data } = await client.patch<BucketDetail, { id: string }, never, UpdateBucketBody>(\n `/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 }>(`/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://keboola.docs.apiary.io/#reference/buckets/bucket/delete-bucket Storage API Docs\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 >(`/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 >(`/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 }>(`/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 `/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 `/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 >(`/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 `/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[]>(`/listings`, {}, { signal });\n\n return data.map((row) => toBucketListing(row, row.bucketId));\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 };\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 Row,\n SearchComponentConfigurationsQuery,\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 '/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 '/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 '/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 '/branch/{branchId}/components/{componentId}/configs/{configId}/diff',\n { path: { componentId, configId, branchId } },\n { signal },\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 '/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 }: PartialKey<CreateConfigurationInput, 'branchId'>) => {\n const { data } = await client.post<\n ComponentConfig,\n Required<GetConfigurationsPath>,\n void,\n CreateConfigurationBody\n >('/branch/{branchId}/components/{componentId}/configs', {\n path: { branchId, componentId },\n body,\n });\n return data;\n };\n\n const deleteConfiguration = async (path: Required<ConfigurationPath>) => {\n await client.delete<void, Required<ConfigurationPath>, void, void>(\n '/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 '/branch/{branchId}/components/{componentId}/configs',\n { path: { componentId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * @docs: https://keboola.docs.apiary.io/#reference/components-and-configurations/create-or-list-configuration-workspaces/workspace-list\n */\n const getConfigurationWorkspaces = async ({\n componentId,\n branchId,\n configId,\n }: ConfigurationPath) => {\n const { data } = await client.get<Workspace[], ConfigurationPath>(\n '/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 >('/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 >('/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://keboola.docs.apiary.io/#reference/components-and-configurations/create-or-list-configuration-rows/create-configuration-row Storage API Docs\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 >('/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://keboola.docs.apiary.io/#reference/components-and-configurations/create-or-list-configuration-rows/create-configuration-row Storage API Docs\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://keboola.docs.apiary.io/#reference/components-and-configurations/manage-configuration-rows/delete-configuration-row Storage API Docs\n */\n const deleteConfigurationRow = async ({\n changeDescription,\n ...path\n }: DeleteConfigurationRowInput) => {\n await client.delete<void, DeleteConfigurationRowPath, void, DeleteConfigurationRowBody>(\n '/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}',\n {\n path,\n body: { changeDescription },\n },\n );\n };\n\n /**\n * @link https://keboola.docs.apiary.io/#reference/components-and-configurations/manage-configuration-rows/delete-configuration-row Storage API Docs\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 '/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 getConfiguration,\n getConfigurationDiff,\n getConfigurationRowDiff,\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 { CreateEventBody, EventPath, GetEventsQuery, StorageEvent } 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 '/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 '/events/{eventId}',\n {\n path: { eventId },\n },\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 '/events',\n {\n body,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getEvents,\n getEvent,\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 `/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 '/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>(`/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 `/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 `/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 '/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 '/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 `/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 '/jobs',\n { query },\n { signal, queryArrayFormat: 'brackets' },\n );\n\n return data;\n };\n\n return { getJob, getJobs };\n};\n","import { concurrent } from '../../../utils';\nimport type { Job, TableCreateJob, TableExportJob, TableImportJob } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateTableAsyncBody,\n DeleteTableRows,\n GetDataPreview,\n GetTablesQuery,\n PrevieData,\n Table,\n TableDetail,\n TableExportAsyncBody,\n TableImportAsyncBody,\n} from './types';\n\nexport const createTables = (client: GenericFetchClient) => {\n /**\n * Returns every table in the project. The Storage API does not support\n * server-side filtering by bucket — there is no `GET /buckets/{id}/tables`\n * endpoint and `/tables` accepts no `bucketId` query parameter. Filter\n * client-side by `table.bucket?.id` (requires `include: ['buckets']`) or by\n * the `{bucketId}.` prefix in `table.id` (table IDs use the\n * `{bucketId}.{tableName}` shape, e.g. `in.c-main.users`).\n *\n * @link https://keboola.docs.apiary.io/#reference/tables/list-tables/list-all-tables Storage API Docs\n */\n const getTables = async (query: GetTablesQuery = { include: [] }, signal?: AbortSignal) => {\n const { data } = await client.get<Table[], void, GetTablesQuery>(\n `/tables`,\n { 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 `/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 }>(`/tables/{id}`, { path: { id } }, { signal });\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 `/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<PrevieData, { id: string }, GetDataPreview>(\n `/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 '/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 >('/buckets/{bucketId}/tables-async', { 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 '/tables/{id}/import-async',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n return {\n getTables,\n getTable,\n getDataPreview,\n deleteTable,\n deleteTables,\n deleteTableRows,\n exportAsync,\n createTableAsync,\n importAsync,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { StorageToken } 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 '/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 `/tokens/${id}/refresh`,\n {},\n { signal },\n );\n\n return data;\n };\n\n return {\n verify,\n refresh,\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 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 '/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 '/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 '/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 '/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 '/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 '/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 >('/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 '/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 >('/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 return {\n getWorkspace,\n getWorkspaces,\n deleteWorkspace,\n resetWorkspacePassword,\n deleteWorkspaces,\n deleteWorkspaceJob,\n setWorkspacePublicKey,\n getWorkspaceSaml2Login,\n getWorkspaceObjects,\n deleteWorkspaceObjectsAsync,\n unloadWorkspace,\n };\n};\n","import { type MiddlewareFn } from '../../fetchClient';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\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 { createComponentsAndConfigurations } from './componentsAndConfigurations';\nimport { createEvents } from './events';\nimport { createFiles } from './files';\nimport { createJobs } from './jobs';\nimport { createTables } from './tables';\nimport { createTokens } from './tokens';\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 = ClientInitOptions & {\n middlewares?: MiddlewareFn[];\n};\n\nexport const createStorageClient = ({ baseUrl, middlewares = [] }: StorageClientInitOptions) => {\n const normalizedBaseUrl = normalizeBaseUrl(baseUrl);\n const storageBaseUrl = `${normalizedBaseUrl}/v2/storage`;\n\n const client = createGenericFetchClient({\n baseUrl: storageBaseUrl,\n middlewares,\n });\n\n const openApiClient = createOpenapiFetchClient<paths>({\n baseUrl: normalizedBaseUrl,\n middlewares,\n });\n\n const getStackInfo = async (query?: GetStackInfoQuery, signal?: AbortSignal) => {\n const { data } = await client.get<StackInfo, never, GetStackInfoQuery>(\n '',\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 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 getStackInfo,\n };\n};\n","import { KeboolaHttpHeader } from '../../constants';\nimport type { MiddlewareFn } from '../../fetchClient';\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\nexport const createStorageTokenMiddleware = (initialToken: string): MiddlewareFn => {\n let current = initialToken;\n\n return (next) => async (request) => {\n request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);\n\n const response = await next(request);\n\n if (isTokenRefreshEndpoint(request.request)) {\n const newToken = tryParseNewToken(response.data);\n if (newToken !== null) current = newToken;\n }\n\n return response;\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/telemetry/provisioning/provisioning.ts","../src/clients/telemetry/telemetryClient.ts"],"names":[],"mappings":";;;AAIO,IAAM,kBAAA,GAAqB,CAAC,MAAA,KAA+B;AAChE,EAAA,MAAM,iBAAA,GAAoB,OAAO,IAAA,EAA6B,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,yBAAA;AAAA,MACA,EAAE,IAAA,EAAK;AAAA,MACP,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF,CAAA;;;ACVO,IAAM,qBAAA,GAAwB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACpF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,OAAO;AAAA,IACL,YAAA,EAAc,mBAAmB,MAAM;AAAA,GACzC;AACF","file":"chunk-TXFQ4YIK.js","sourcesContent":["import type { GenericFetchClient } from '../telemetryClient';\n\nimport type { CreateCredentialsBody, WorkspaceData } from './types';\n\nexport const createProvisioning = (client: GenericFetchClient) => {\n const createCredentials = async (body: CreateCredentialsBody, signal?: AbortSignal) => {\n const { data } = await client.post<WorkspaceData, void, void, CreateCredentialsBody>(\n '/provisioning/workspace',\n { body },\n { signal },\n );\n\n return data;\n };\n\n return {\n createCredentials,\n };\n};\n","import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport { createProvisioning } from './provisioning/provisioning';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\n\nexport const createTelemetryClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n return {\n provisioning: createProvisioning(client),\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/dataScience/schemas.ts","../src/clients/dataScience/utils.ts","../src/clients/dataScience/dataScienceClient.ts"],"names":[],"mappings":";;;;;AAEO,IAAM,YAAc,CAAA,CAAA,MAAA,CAAO;AAAA,EAChC,SAAW,CAAA,CAAA,MAAA,CAAO;AAAA,IAChB,MAAQ,CAAA,CAAA,MAAA;AAAO,GAChB;AACH,CAAC,CAAA;ACDD,KAAA,CAAM,OAAO,GAAG,CAAA;AAOhB,IAAM,mBAAA,GAAsB,gDAAA;AAC5B,IAAM,2BAAA,GAA8B,sDAAA;AAEpC,IAAM,aAAA,GAAgB,CAAC,IAAA,KAAkC;AACvD,EAAA,IAAI,CAAC,IAAA,CAAK,UAAA,CAAW,GAAG,GAAG,OAAO,IAAA;AAElC,EAAA,IAAI,MAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAA,GAAS,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,EAC1B,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAO,MAAA,KAAW,QAAA,IAAY,MAAA,KAAW,MAAM,OAAO,IAAA;AAE1D,EAAA,MAAM,MAAA,GAAS,MAAA;AACf,EAAA,MAAM,EAAE,SAAA,EAAW,OAAA,EAAQ,GAAI,MAAA;AAE/B,EAAA,IAAI,OAAO,SAAA,KAAc,QAAA,IAAY,OAAO,OAAA,KAAY,UAAU,OAAO,IAAA;AAEzE,EAAA,OAAO;AAAA,IACL,SAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;AAEA,IAAM,kBAAA,GAAqB,CAAC,IAAA,KAA2B;AACrD,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,2BAA2B,CAAA;AACpD,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,OAAO,EAAE,SAAA,EAAW,KAAA,CAAM,CAAC,CAAA,EAAI,OAAA,EAAS,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,CAAC,CAAA,CAAE,MAAM,CAAA,EAAE;AAAA,EACtE;AACA,EAAA,OAAO,EAAE,SAAA,EAAW,IAAA,EAAM,OAAA,EAAS,IAAA,EAAK;AAC1C,CAAA;AAEO,IAAM,eAAe,CAAC,IAAA,KAC3B,cAAc,IAAI,CAAA,IAAK,mBAAmB,IAAI,CAAA;AAEhD,IAAM,oBAAA,GAAuB,CAAC,GAAA,KAAkD;AAC9E,EAAA,IAAI,OAAO,GAAA,CAAI,OAAA,KAAY,QAAA,EAAU,OAAO,IAAA;AAC5C,EAAA,OAAO;AAAA,IACL,WAAW,OAAO,GAAA,CAAI,SAAA,KAAc,QAAA,GAAW,IAAI,SAAA,GAAY,IAAA;AAAA,IAC/D,SAAS,GAAA,CAAI;AAAA,GACf;AACF,CAAA;AAEA,IAAM,aAAA,GAAgB,CAAC,KAAA,KACrB,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AAE9D,IAAM,aAAA,GAAgB,CAAC,GAAA,KAA6B;AACzD,EAAA,IAAI,QAAQ,IAAA,IAAQ,GAAA,KAAQ,UAAa,GAAA,KAAQ,EAAA,SAAW,EAAC;AAE7D,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AACtB,IAAA,OAAO,GAAA,CAAI,OAAA,CAAQ,CAAC,IAAA,KAAS;AAC3B,MAAA,IAAI,OAAO,IAAA,KAAS,QAAA,EAAU,OAAO,IAAA,KAAS,EAAA,GAAK,EAAC,GAAI,CAAC,YAAA,CAAa,IAAI,CAAC,CAAA;AAC3E,MAAA,IAAI,aAAA,CAAc,IAAI,CAAA,EAAG;AACvB,QAAA,MAAM,KAAA,GAAQ,qBAAqB,IAAI,CAAA;AACvC,QAAA,OAAO,KAAA,GAAQ,CAAC,KAAK,CAAA,GAAI,EAAC;AAAA,MAC5B;AACA,MAAA,OAAO,EAAC;AAAA,IACV,CAAC,CAAA;AAAA,EACH;AAEA,EAAA,IAAI,aAAA,CAAc,GAAG,CAAA,EAAG;AACtB,IAAA,MAAM,KAAA,GAAQ,qBAAqB,GAAG,CAAA;AACtC,IAAA,OAAO,KAAA,GAAQ,CAAC,KAAK,CAAA,GAAI,EAAC;AAAA,EAC5B;AAEA,EAAA,IAAI,OAAO,GAAA,KAAQ,QAAA,EAAU,OAAO,EAAC;AAErC,EAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,KAAA,CAAM,IAAI,CAAA;AAC5B,EAAA,MAAM,UAAsB,EAAC;AAC7B,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,IAAA,IAAI,SAAS,EAAA,EAAI;AACjB,IAAA,OAAA,CAAQ,IAAA,CAAK,YAAA,CAAa,IAAI,CAAC,CAAA;AAAA,EACjC;AACA,EAAA,OAAO,OAAA;AACT;AAEO,IAAM,qBAAA,GAAwB,CAAC,IAAA,KAAkB;AACtD,EAAA,MAAM,OAAA,GAAU,cAAc,IAAI,CAAA;AAClC,EAAA,KAAA,IAAS,IAAI,OAAA,CAAQ,MAAA,GAAS,CAAA,EAAG,CAAA,IAAK,GAAG,CAAA,EAAA,EAAK;AAC5C,IAAA,MAAM,KAAA,GAAQ,QAAQ,CAAC,CAAA;AACvB,IAAA,IAAI,CAAC,KAAA,EAAO;AACZ,IAAA,IAAI,KAAA,CAAM,SAAA,EAAW,OAAO,KAAA,CAAM,SAAA;AAGlC,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,OAAA,CAAQ,KAAA,CAAM,mBAAmB,CAAA;AACrD,IAAA,IAAI,KAAA,EAAO,OAAO,KAAA,CAAM,CAAC,CAAA;AAAA,EAC3B;AACA,EAAA,OAAO,IAAA;AACT,CAAA;AAEO,IAAM,yBAAA,GAA4B,CAAC,SAAA,KAA6B;AACrE,EAAA,IAAI,SAAA,KAAc,MAAM,OAAO,IAAA;AAC/B,EAAA,OAAO,KAAA,CAAM,SAAS,CAAA,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAA,EAAG,QAAQ,CAAA,CAAE,GAAA,EAAI,CAAE,MAAA,EAAO;AAC9D,CAAA;AAEO,IAAM,aAAA,GAAgB,CAAC,MAAA,KAAsB;AAClD,EAAA,OAAO;AAAA,IACL,GAAG,MAAA;AAAA,IACH,KAAA,EAAO,MAAA,CAAO,KAAA,KAAU,MAAA,CAAO,YAAY,UAAA,GAAa,SAAA;AAAA;AAAA,GAC1D;AACF,CAAA;;;AC9EO,IAAM,uBAAA,GAA0B,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACtF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,OACjB,KAAA,EACA,KAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,oBAAA,EAAsB,EAAE,IAAA,EAAM,EAAE,OAAM,EAAG,KAAA,EAAM,EAAG,EAAE,QAAQ,CAAA;AAE9F,IAAA,OAAO,IAAA,CAAK,IAAI,aAAa,CAAA;AAAA,EAC/B,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,OAChB,KAAA,EACA,KAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,4BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,KAAA,EAAO,OAAM,EAAE;AAAA,MACzB,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,cAAc,IAAI,CAAA;AAAA,EAC3B,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OACzB,EAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAS,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MACtC,6BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,KAAA,EAAO,IAAG,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,MAAM,kBAAA,GAAqB,6BAAA;AAAA,MACzB,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,UAAA,CAAW,mBAAmB;AAAA,KACrD;AAEA,IAAA,OAAO;AAAA,MACL,IAAA,EAAM,IAAA;AAAA,MACN,QAAA,EAAU,oBAAoB,QAAA,IAAY;AAAA,KAC5C;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OACrB,EAAA,EACA,EAAE,OAAO,MAAA,EAAO,GAA+D,EAAC,KAC7E;AACH,IAAA,IAAI;AACF,MAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,QAC5B,yBAAA;AAAA,QACA;AAAA,UACE,KAAA;AAAA,UACA,IAAA,EAAM;AAAA,YACJ,KAAA,EAAO;AAAA;AACT,SACF;AAAA,QACA;AAAA,UACE;AAAA;AACF,OACF;AAEA,MAAA,MAAM,IAAA,GAAO,IAAA,KAAS,EAAA,GAAK,IAAA,GAAO,IAAA;AAClC,MAAA,MAAM,gBAAA,GAAmB,sBAAsB,IAAI,CAAA;AACnD,MAAA,MAAM,gBAAA,GAAmB,0BAA0B,gBAAgB,CAAA;AAEnE,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,cAAc,IAAI,CAAA;AAAA,QAC3B;AAAA,OACF;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IACE,WAAW,KAAK,CAAA,IAChB,KAAA,CAAM,QAAA,CAAS,WAAW,UAAA,CAAW,WAAA,IACrC,SAAA,CAAU,SAAA,CAAU,MAAM,IAAI,CAAA,CAAE,IAAA,EAAM,OAAA,EAAS,SAAS,oBAAA,EACxD;AACA,QAAA,OAAO,EAAE,OAAA,EAAS,EAAC,EAAG,kBAAkB,IAAA,EAAK;AAAA,MAC/C;AACA,MAAA,MAAM,KAAA;AAAA,IACR;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,OAAA,GAAU,OAAO,KAAA,EAAqB,MAAA,KAAyB;AACnE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,OAAA,EAAS,EAAE,KAAA,EAAM,EAAG,EAAE,MAAA,EAAQ,CAAA;AAEhE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,MAAA,GAAS,OAAO,KAAA,EAAgC,MAAA,KAAyB;AAC7E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,OAAO,GAAA,CAAI,eAAA,EAAiB,EAAE,IAAA,EAAM,EAAE,KAAA,EAAM,EAAE,EAAG,EAAE,QAAQ,CAAA;AAElF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,OAAO,IAAA,EAAyB,MAAA,KAAyB;AACzE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,OAAA,EAAS,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AAEhE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OACf,KAAA,EACA,IAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAA;AAAA,MAC5B,eAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA,EAAa;AAAA,QACrB;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,OAAO,KAAA,EAAmC,MAAA,KAAyB;AACnF,IAAA,OAAO,MAAA,CAAO,MAAA,CAAO,eAAA,EAAiB,EAAE,IAAA,EAAM,EAAE,KAAA,EAAM,EAAE,EAAG,EAAE,MAAA,EAAQ,CAAA;AAAA,EACvE,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,KAAA,EAAwC,MAAA,KAAyB;AAC7F,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,OAAO,GAAA,CAAI,wBAAA,EAA0B,EAAE,IAAA,EAAM,EAAE,KAAA,EAAM,EAAE,EAAG,EAAE,QAAQ,CAAA;AAE3F,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,KAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,8BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,KAAA,EAAM,EAAE;AAAA,MAClB,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,OAAO,MAAA,KAAyB;AAClD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,WAAA,EAAa,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAE7D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,KAAA,EAAgC,MAAA,KAAyB;AACjF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,OAAO,GAAA,CAAI,oBAAA,EAAsB,EAAE,IAAA,EAAM,EAAE,KAAA,EAAM,EAAE,EAAG,EAAE,QAAQ,CAAA;AAEvF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-UXF53ZOV.js","sourcesContent":["import * as z from 'zod';\n\nexport const TailError = z.object({\n context: z.object({\n code: z.string(),\n }),\n});\n","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\n\nimport type { RawAppRun } from './types';\n\ndayjs.extend(utc);\n\nexport type LogEntry = {\n timestamp: string | null;\n message: string;\n};\n\nconst ISO_TIMESTAMP_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z/;\nconst LEADING_ISO_TIMESTAMP_REGEX = /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\s?/;\n\nconst tryParseJsonl = (line: string): LogEntry | null => {\n if (!line.startsWith('{')) return null;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(line);\n } catch {\n return null;\n }\n\n if (typeof parsed !== 'object' || parsed === null) return null;\n\n const record = parsed as Record<string, unknown>;\n const { timestamp, message } = record;\n\n if (typeof timestamp !== 'string' || typeof message !== 'string') return null;\n\n return {\n timestamp,\n message,\n };\n};\n\nconst parsePlainTextLine = (line: string): LogEntry => {\n const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);\n if (match) {\n return { timestamp: match[1]!, message: line.slice(match[0].length) };\n }\n return { timestamp: null, message: line };\n};\n\nexport const parseLogLine = (line: string): LogEntry =>\n tryParseJsonl(line) ?? parsePlainTextLine(line);\n\nconst toLogEntryFromObject = (raw: Record<string, unknown>): LogEntry | null => {\n if (typeof raw.message !== 'string') return null;\n return {\n timestamp: typeof raw.timestamp === 'string' ? raw.timestamp : null,\n message: raw.message,\n };\n};\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const parseLogLines = (raw: unknown): LogEntry[] => {\n if (raw === null || raw === undefined || raw === '') return [];\n\n if (Array.isArray(raw)) {\n return raw.flatMap((item) => {\n if (typeof item === 'string') return item === '' ? [] : [parseLogLine(item)];\n if (isPlainObject(item)) {\n const entry = toLogEntryFromObject(item);\n return entry ? [entry] : [];\n }\n return [];\n });\n }\n\n if (isPlainObject(raw)) {\n const entry = toLogEntryFromObject(raw);\n return entry ? [entry] : [];\n }\n\n if (typeof raw !== 'string') return [];\n\n const lines = raw.split('\\n');\n const entries: LogEntry[] = [];\n for (const line of lines) {\n if (line === '') continue;\n entries.push(parseLogLine(line));\n }\n return entries;\n};\n\nexport const parseLastLogTimestamp = (logs: unknown) => {\n const entries = parseLogLines(logs);\n for (let i = entries.length - 1; i >= 0; i--) {\n const entry = entries[i];\n if (!entry) continue;\n if (entry.timestamp) return entry.timestamp;\n\n // A plain-text line may carry a timestamp embedded mid-line (legacy format).\n const match = entry.message.match(ISO_TIMESTAMP_REGEX);\n if (match) return match[0];\n }\n return null;\n};\n\nexport const calculateNextLogTimestamp = (timestamp: string | null) => {\n if (timestamp === null) return null;\n return dayjs(timestamp).utc().add(1, 'second').utc().format();\n};\n\nexport const prepareAppRun = (appRun: RawAppRun) => {\n return {\n ...appRun,\n state: appRun.state ?? (appRun.stoppedAt ? 'finished' : 'running'), // fallback state for historic non migrated runs\n };\n};\n","import { HttpStatus } from '../../constants';\nimport {\n createOpenapiFetchClient,\n HttpHeader,\n isApiError,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { TailError } from './schemas';\nimport type {\n CreateDataAppBody,\n DeleteDataAppPath,\n GetAppsQuery,\n GetDataAppLogsDownloadPath,\n GetDataAppLogsTailPath,\n GetDataAppLogsTailQuery,\n GetDataAppPasswordPath,\n GetDataAppPath,\n GetDataAppRunPath,\n GetDataAppRunsPath,\n GetDataAppRunsQuery,\n GetSandboxPath,\n PatchDataAppBody,\n PatchDataAppPath,\n ResetDataAppPasswordPath,\n} from './types';\nimport {\n calculateNextLogTimestamp,\n parseLastLogTimestamp,\n parseLogLines,\n prepareAppRun,\n} from './utils';\n\nexport const createDataScienceClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getAppRuns = async (\n appId: GetDataAppRunsPath['appId'],\n query?: GetDataAppRunsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get('/apps/{appId}/runs', { path: { appId }, query }, { signal });\n\n return data.map(prepareAppRun);\n };\n\n const getAppRun = async (\n appId: GetDataAppRunPath['appId'],\n runId: GetDataAppRunPath['runId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/apps/{appId}/runs/{runId}',\n { path: { appId, runId } },\n { signal },\n );\n\n return prepareAppRun(data);\n };\n\n const getAppLogsDownload = async (\n id: GetDataAppLogsDownloadPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data, response } = await client.get(\n '/apps/{appId}/logs/download',\n { path: { appId: id } },\n { signal },\n );\n\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n logs: data,\n fileName: contentDisposition?.filename ?? 'logs.txt',\n };\n };\n\n const getAppLogsTail = async (\n id: GetDataAppLogsTailPath['appId'],\n { query, signal }: { query?: GetDataAppLogsTailQuery; signal?: AbortSignal } = {},\n ) => {\n try {\n const { data } = await client.get(\n '/apps/{appId}/logs/tail',\n {\n query,\n path: {\n appId: id,\n },\n },\n {\n signal,\n },\n );\n\n const logs = data === '' ? null : data;\n const lastLogTimestamp = parseLastLogTimestamp(logs);\n const nextLogTimestamp = calculateNextLogTimestamp(lastLogTimestamp);\n\n return {\n entries: parseLogLines(logs),\n nextLogTimestamp: nextLogTimestamp,\n };\n } catch (error) {\n if (\n isApiError(error) &&\n error.response.status === HttpStatus.BAD_REQUEST &&\n TailError.safeParse(error.data).data?.context?.code === 'apps.appNotRunning'\n ) {\n return { entries: [], nextLogTimestamp: null };\n }\n throw error;\n }\n };\n\n const getApps = async (query: GetAppsQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/apps', { query }, { signal });\n\n return data;\n };\n\n const getApp = async (appId: GetDataAppPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n const createApp = async (body: CreateDataAppBody, signal?: AbortSignal) => {\n const { data } = await client.post('/apps', { body }, { signal });\n\n return data;\n };\n\n const patchApp = async (\n appId: PatchDataAppPath['appId'],\n body: PatchDataAppBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.patch(\n '/apps/{appId}',\n {\n path: { appId: appId },\n body: body,\n },\n { signal },\n );\n return data;\n };\n\n const deleteApp = async (appId: DeleteDataAppPath['appId'], signal?: AbortSignal) => {\n return client.delete('/apps/{appId}', { path: { appId } }, { signal });\n };\n\n const getAppPassword = async (appId: GetDataAppPasswordPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/apps/{appId}/password', { path: { appId } }, { signal });\n\n return data;\n };\n\n const resetAppPassword = async (\n appId: ResetDataAppPasswordPath['appId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/apps/{appId}/reset-password',\n { path: { appId } },\n { signal },\n );\n\n return data;\n };\n\n const getRuntimes = async (signal?: AbortSignal) => {\n const { data } = await client.get('/runtimes', {}, { signal });\n\n return data;\n };\n\n const getSandbox = async (appId: GetSandboxPath['appId'], signal?: AbortSignal) => {\n const { data } = await client.get('/sandboxes/{appId}', { path: { appId } }, { signal });\n\n return data;\n };\n\n return {\n getAppRuns,\n getAppRun,\n getAppLogsDownload,\n getAppLogsTail,\n getApps,\n getApp,\n createApp,\n patchApp,\n deleteApp,\n getAppPassword,\n resetAppPassword,\n getRuntimes,\n getSandbox,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/status/statusClient.ts"],"names":[],"mappings":";;;AAMO,IAAM,kBAAA,GAAqB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACjF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,OAAO,MAAA,KAAyB;AACjD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAmB,eAAA,EAAiB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAChF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF","file":"chunk-VAOCYA6B.js","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { StatusSummary } from './types';\n\nexport const createStatusClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getSummary = async (signal?: AbortSignal) => {\n const { data } = await client.get<StatusSummary>('/summary.json', {}, { signal });\n return data;\n };\n\n return {\n getSummary,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":[],"mappings":";;;AAcO,IAAM,cAAA,GAAiB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AAC7E,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,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;AAEA,EAAA,OAAO;AAAA,IACL,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-VS5PM7KL.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n DescribeConfigurationBody,\n DescribeConfigurationMergeBody,\n DescribeConfigurationVersionBody,\n ExplainErrorBody,\n FeedbackBody,\n SuggestComponentBody,\n} from './types';\n\nexport const createAiClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\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 return {\n describeConfigurationVersion,\n describeConfigurationMerge,\n explainError,\n describeConfiguration,\n suggestComponent,\n feedback,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/assets/assetsClient.ts"],"names":[],"mappings":";;;AAMO,IAAM,kBAAA,GAAqB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACjF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,0BAAA,GAA6B,OAAO,MAAA,KAAyB;AACjE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,0CAAA;AAAA,MACA,EAAC;AAAA,MACD,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF","file":"chunk-WQ7EZWBF.js","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { Post } from './types';\n\nexport const createAssetsClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getPublishedChangelogPosts = async (signal?: AbortSignal) => {\n const { data } = await client.get<Post[]>(\n '/platform-changelog/published-posts.json',\n {},\n { signal },\n );\n\n return data;\n };\n\n return {\n getPublishedChangelogPosts,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../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/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/tables/tables.ts","../src/clients/storage/tokens/tokens.ts","../src/clients/storage/workspaces/workspaces.ts","../src/clients/storage/storageClient.ts","../src/clients/storage/storageTokenMiddleware.ts"],"names":["isApiError","concurrent","normalizeBaseUrl","createGenericFetchClient","createOpenapiFetchClient","KeboolaHttpHeader"],"mappings":"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","file":"chunk-XFC52BJV.cjs","sourcesContent":["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 '/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 '/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 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 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[]>('/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 '/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 '/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 '/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 '/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 >('/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 '/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 CreateBucketBody,\n CreateBucketListingInput,\n CreateScheduledRefreshBody,\n CreateScheduledRefreshPath,\n GetBucketsQuery,\n RawBucketListingResponse,\n RawBucketListingRow,\n ScheduledTask,\n UpdateBucketBody,\n UpdateBucketListingInput,\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 (query: GetBucketsQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get<Bucket[], void, GetBucketsQuery>(\n `/buckets`,\n { 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 `/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>(`/buckets`, {\n body,\n });\n\n return data;\n };\n\n const updateBucket = async (id: string, body: UpdateBucketBody) => {\n const { data } = await client.patch<BucketDetail, { id: string }, never, UpdateBucketBody>(\n `/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 }>(`/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://keboola.docs.apiary.io/#reference/buckets/bucket/delete-bucket Storage API Docs\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 >(`/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 >(`/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 }>(`/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 `/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 `/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 >(`/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 `/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[]>(`/listings`, {}, { signal });\n\n return data.map((row) => toBucketListing(row, row.bucketId));\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 };\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 Row,\n SearchComponentConfigurationsQuery,\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 '/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 '/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 '/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 '/branch/{branchId}/components/{componentId}/configs/{configId}/diff',\n { path: { componentId, configId, branchId } },\n { signal },\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 '/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 }: PartialKey<CreateConfigurationInput, 'branchId'>) => {\n const { data } = await client.post<\n ComponentConfig,\n Required<GetConfigurationsPath>,\n void,\n CreateConfigurationBody\n >('/branch/{branchId}/components/{componentId}/configs', {\n path: { branchId, componentId },\n body,\n });\n return data;\n };\n\n const deleteConfiguration = async (path: Required<ConfigurationPath>) => {\n await client.delete<void, Required<ConfigurationPath>, void, void>(\n '/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 '/branch/{branchId}/components/{componentId}/configs',\n { path: { componentId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * @docs: https://keboola.docs.apiary.io/#reference/components-and-configurations/create-or-list-configuration-workspaces/workspace-list\n */\n const getConfigurationWorkspaces = async ({\n componentId,\n branchId,\n configId,\n }: ConfigurationPath) => {\n const { data } = await client.get<Workspace[], ConfigurationPath>(\n '/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 >('/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 >('/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://keboola.docs.apiary.io/#reference/components-and-configurations/create-or-list-configuration-rows/create-configuration-row Storage API Docs\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 >('/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://keboola.docs.apiary.io/#reference/components-and-configurations/create-or-list-configuration-rows/create-configuration-row Storage API Docs\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://keboola.docs.apiary.io/#reference/components-and-configurations/manage-configuration-rows/delete-configuration-row Storage API Docs\n */\n const deleteConfigurationRow = async ({\n changeDescription,\n ...path\n }: DeleteConfigurationRowInput) => {\n await client.delete<void, DeleteConfigurationRowPath, void, DeleteConfigurationRowBody>(\n '/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}',\n {\n path,\n body: { changeDescription },\n },\n );\n };\n\n /**\n * @link https://keboola.docs.apiary.io/#reference/components-and-configurations/manage-configuration-rows/delete-configuration-row Storage API Docs\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 '/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 getConfiguration,\n getConfigurationDiff,\n getConfigurationRowDiff,\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 { CreateEventBody, EventPath, GetEventsQuery, StorageEvent } 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 '/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 '/events/{eventId}',\n {\n path: { eventId },\n },\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 '/events',\n {\n body,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getEvents,\n getEvent,\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 `/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 '/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>(`/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 `/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 `/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 '/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 '/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 `/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 '/jobs',\n { query },\n { signal, queryArrayFormat: 'brackets' },\n );\n\n return data;\n };\n\n return { getJob, getJobs };\n};\n","import { concurrent } from '../../../utils';\nimport type { Job, TableCreateJob, TableExportJob, TableImportJob } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateTableAsyncBody,\n DeleteTableRows,\n GetDataPreview,\n GetTablesQuery,\n PrevieData,\n Table,\n TableDetail,\n TableExportAsyncBody,\n TableImportAsyncBody,\n} from './types';\n\nexport const createTables = (client: GenericFetchClient) => {\n /**\n * Returns every table in the project. The Storage API does not support\n * server-side filtering by bucket — there is no `GET /buckets/{id}/tables`\n * endpoint and `/tables` accepts no `bucketId` query parameter. Filter\n * client-side by `table.bucket?.id` (requires `include: ['buckets']`) or by\n * the `{bucketId}.` prefix in `table.id` (table IDs use the\n * `{bucketId}.{tableName}` shape, e.g. `in.c-main.users`).\n *\n * @link https://keboola.docs.apiary.io/#reference/tables/list-tables/list-all-tables Storage API Docs\n */\n const getTables = async (query: GetTablesQuery = { include: [] }, signal?: AbortSignal) => {\n const { data } = await client.get<Table[], void, GetTablesQuery>(\n `/tables`,\n { 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 `/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 }>(`/tables/{id}`, { path: { id } }, { signal });\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 `/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<PrevieData, { id: string }, GetDataPreview>(\n `/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 '/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 >('/buckets/{bucketId}/tables-async', { 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 '/tables/{id}/import-async',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n return {\n getTables,\n getTable,\n getDataPreview,\n deleteTable,\n deleteTables,\n deleteTableRows,\n exportAsync,\n createTableAsync,\n importAsync,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { StorageToken } 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 '/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 `/tokens/${id}/refresh`,\n {},\n { signal },\n );\n\n return data;\n };\n\n return {\n verify,\n refresh,\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 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 '/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 '/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 '/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 '/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 '/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 '/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 >('/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 '/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 >('/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 return {\n getWorkspace,\n getWorkspaces,\n deleteWorkspace,\n resetWorkspacePassword,\n deleteWorkspaces,\n deleteWorkspaceJob,\n setWorkspacePublicKey,\n getWorkspaceSaml2Login,\n getWorkspaceObjects,\n deleteWorkspaceObjectsAsync,\n unloadWorkspace,\n };\n};\n","import { type MiddlewareFn } from '../../fetchClient';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\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 { createComponentsAndConfigurations } from './componentsAndConfigurations';\nimport { createEvents } from './events';\nimport { createFiles } from './files';\nimport { createJobs } from './jobs';\nimport { createTables } from './tables';\nimport { createTokens } from './tokens';\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 = ClientInitOptions & {\n middlewares?: MiddlewareFn[];\n};\n\nexport const createStorageClient = ({ baseUrl, middlewares = [] }: StorageClientInitOptions) => {\n const normalizedBaseUrl = normalizeBaseUrl(baseUrl);\n const storageBaseUrl = `${normalizedBaseUrl}/v2/storage`;\n\n const client = createGenericFetchClient({\n baseUrl: storageBaseUrl,\n middlewares,\n });\n\n const openApiClient = createOpenapiFetchClient<paths>({\n baseUrl: normalizedBaseUrl,\n middlewares,\n });\n\n const getStackInfo = async (query?: GetStackInfoQuery, signal?: AbortSignal) => {\n const { data } = await client.get<StackInfo, never, GetStackInfoQuery>(\n '',\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 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 getStackInfo,\n };\n};\n","import { KeboolaHttpHeader } from '../../constants';\nimport type { MiddlewareFn } from '../../fetchClient';\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\nexport const createStorageTokenMiddleware = (initialToken: string): MiddlewareFn => {\n let current = initialToken;\n\n return (next) => async (request) => {\n request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);\n\n const response = await next(request);\n\n if (isTokenRefreshEndpoint(request.request)) {\n const newToken = tryParseNewToken(response.data);\n if (newToken !== null) current = newToken;\n }\n\n return response;\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/syncActions/constants.ts","../src/clients/syncActions/gitRepository/schemas.ts","../src/clients/syncActions/gitRepository/utils.ts","../src/clients/syncActions/gitRepository/gitRepository.ts","../src/clients/syncActions/syncActionsClient.ts"],"names":["z","createOpenapiFetchClient","normalizeBaseUrl","email"],"mappings":"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","file":"chunk-XUDMML5C.cjs","sourcesContent":["export const SyncAction = {\n DATA_APP_GIT_REPOSITORY: 'git-repository',\n GIT_REPOSITORY: 'gitRepository',\n ENROLL_MFA: 'enrollMFA',\n};\n\nexport const Component = {\n DATA_APP: 'keboola.data-apps',\n};\n","import * as z from 'zod';\n\nconst Author = z.object({\n name: z.string(),\n email: z.email(),\n});\n\nconst RepositoryBranch = z.object({\n sha: z.string(),\n date: z.string(),\n comment: z.string(),\n branch: z.string(),\n author: Author,\n});\n\nexport const Repository = z.object({\n repository: z.object({\n url: z.string(),\n }),\n branches: z.array(RepositoryBranch),\n});\n","type GitRepoConfig = {\n username?: string;\n '#password'?: string;\n '#sshKey'?: string;\n};\n\nclass GitRepoConfigDataBuilder {\n private readonly repositoryUrl: string;\n private config: GitRepoConfig = {};\n\n constructor(repositoryUrl: string) {\n this.repositoryUrl = repositoryUrl;\n }\n\n withCredentials(username: string, password: string) {\n this.config.username = username;\n\n delete this.config['#sshKey'];\n this.config['#password'] = password;\n return this;\n }\n\n withSshKey(username: string, sshKey: string) {\n this.config.username = username;\n\n delete this.config['#password'];\n this.config['#sshKey'] = sshKey;\n return this;\n }\n\n build() {\n return {\n parameters: {\n git: {\n repo: this.repositoryUrl,\n ...this.config,\n },\n },\n };\n }\n\n buildForDataApp() {\n return {\n parameters: {\n dataApp: {\n git: {\n repository: this.repositoryUrl,\n ...this.config,\n },\n },\n },\n };\n }\n}\n\nexport const createGitRepoConfigDataBuilder = (repositoryUrl: string) =>\n new GitRepoConfigDataBuilder(repositoryUrl);\n","import { Component, SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport { Repository } from './schemas';\nimport type {\n GetDataAppPasswordPrivateGitRepositoryInput,\n GetDataAppPublicGitRepositoryInput,\n GetDataAppSSHKeyPrivateGitRepositoryInput,\n GetGitPrivateRepositoryInput,\n GetPublicGitRepositoryInput,\n} from './types';\nimport { createGitRepoConfigDataBuilder } from './utils';\n\nexport const createGitRepository = (sendSyncAction: SendSyncAction) => {\n const getDataAppPublicGitRepository = async (\n { repositoryUrl, ...other }: GetDataAppPublicGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.DATA_APP_GIT_REPOSITORY,\n componentId: Component.DATA_APP,\n configData: createGitRepoConfigDataBuilder(repositoryUrl).buildForDataApp(),\n },\n signal,\n );\n\n return Repository.parse(data);\n };\n\n const getDataAppPasswordPrivateGitRepository = async (\n { repositoryUrl, username, password, ...other }: GetDataAppPasswordPrivateGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.DATA_APP_GIT_REPOSITORY,\n componentId: Component.DATA_APP,\n configData: createGitRepoConfigDataBuilder(repositoryUrl)\n .withCredentials(username, password)\n .buildForDataApp(),\n },\n signal,\n );\n\n return Repository.parse(data);\n };\n\n const getDataAppSSHKeyPrivateGitRepository = async (\n { repositoryUrl, username, sshKey, ...other }: GetDataAppSSHKeyPrivateGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.DATA_APP_GIT_REPOSITORY,\n componentId: Component.DATA_APP,\n configData: createGitRepoConfigDataBuilder(repositoryUrl)\n .withSshKey(username, sshKey)\n .buildForDataApp(),\n },\n signal,\n );\n\n return Repository.parse(data);\n };\n\n const getPublicGitRepository = async (\n { repositoryUrl, componentId, ...other }: GetPublicGitRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.GIT_REPOSITORY,\n componentId,\n configData: createGitRepoConfigDataBuilder(repositoryUrl).build(),\n },\n signal,\n );\n\n return Repository.parse(data);\n };\n\n const getPrivateGitRepository = async (\n { repositoryUrl, username, password, componentId, ...other }: GetGitPrivateRepositoryInput,\n signal?: AbortSignal,\n ) => {\n const data = await sendSyncAction(\n {\n ...other,\n action: SyncAction.GIT_REPOSITORY,\n componentId,\n configData: createGitRepoConfigDataBuilder(repositoryUrl)\n .withCredentials(username, password)\n .build(),\n },\n signal,\n );\n\n return Repository.parse(data);\n };\n\n return {\n getDataAppPublicGitRepository,\n getDataAppPasswordPrivateGitRepository,\n getDataAppSSHKeyPrivateGitRepository,\n getPublicGitRepository,\n getPrivateGitRepository,\n };\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { SyncAction } from './constants';\nimport { createGitRepository } from './gitRepository';\nimport type { EnrollMFAInput, PostActionsBody, PostActionsBodyRaw } from './types';\n\n/**\n * Creates a call private action endpoint.\n */\nconst createSendSyncAction = (client: SyncActionClient) => {\n return async (body: PostActionsBody, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/actions',\n {\n body: body as unknown as PostActionsBodyRaw,\n },\n { signal },\n );\n\n return data;\n };\n};\n\nexport type SendSyncAction = ReturnType<typeof createSendSyncAction>;\ntype SyncActionClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createSyncActionsClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const sendSyncAction = createSendSyncAction(client);\n\n const enrollMFA = ({ email, ...rest }: EnrollMFAInput, signal?: AbortSignal) => {\n return sendSyncAction(\n {\n ...rest,\n action: SyncAction.ENROLL_MFA,\n configData: {\n parameters: {\n user: {\n email,\n },\n },\n },\n },\n signal,\n );\n };\n\n return {\n enrollMFA,\n gitRepository: createGitRepository(sendSyncAction),\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/status/statusClient.ts"],"names":["createGenericFetchClient","normalizeBaseUrl"],"mappings":";;;;;AAMO,IAAM,kBAAA,GAAqB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACjF,EAAA,MAAM,SAASA,0CAAA,CAAyB;AAAA,IACtC,OAAA,EAASC,mCAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,OAAO,MAAA,KAAyB;AACjD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAmB,eAAA,EAAiB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAChF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF","file":"chunk-YPCD7M2N.cjs","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { StatusSummary } from './types';\n\nexport const createStatusClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getSummary = async (signal?: AbortSignal) => {\n const { data } = await client.get<StatusSummary>('/summary.json', {}, { signal });\n return data;\n };\n\n return {\n getSummary,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/UserError.ts","../src/clients/vault/vaultClient.ts"],"names":["createOpenapiFetchClient","normalizeBaseUrl","ENCRYPTED_VALUE_PREFIX"],"mappings":";;;;;AAAO,IAAM,SAAA,GAAN,cAAwB,KAAA,CAAM;AAAA,EACnC,YAAY,OAAA,EAAiB;AAC3B,IAAA,KAAA,CAAM,OAAO,CAAA;AAAA,EACf;AACF;;;ACWO,IAAM,iBAAA,GAAoB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AAChF,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA,EAASC,mCAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,OAAO,KAAA,EAA0B,MAAA,KAAyB;AAC7E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,YAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR;AAAA,QACE;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAAkC,MAAA,KAAyB;AACvF,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mBAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,IAAA;AAAK,OACf;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAA0B,MAAA,KAAyB;AAC/E,IAAA,IAAI,IAAA,CAAK,KAAA,CAAM,QAAA,CAAS,WAAW,CAAA,IAAK,CAAC,IAAA,CAAK,KAAA,CAAM,UAAA,CAAWC,wCAAsB,CAAA,EAAG;AACtF,MAAA,MAAM,IAAI,UAAU,2DAA2D,CAAA;AAAA,IACjF;AACA,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,sBAAA,GAAyB,OAC7B,QAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA;AAAS,OACnB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAAyB,sBAAA,CAAuB,QAAQ,MAAM,CAAA;AAE/F,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-YUEYMIMI.cjs","sourcesContent":["export class UserError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n","import { ENCRYPTED_VALUE_PREFIX } from '../../constants';\nimport { UserError } from '../../errors';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateVariableBody,\n DeleteVariablePath,\n GetVariablesByBranchId,\n GetVariablesQuery,\n VariableWithHash,\n} from './types';\n\nexport const createVaultClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getVariables = async (query: GetVariablesQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/variables',\n { query },\n {\n signal,\n },\n );\n\n return data as VariableWithHash[];\n };\n\n const deleteVariable = async (hash: DeleteVariablePath['hash'], signal?: AbortSignal) => {\n await client.delete(\n '/variables/{hash}',\n {\n path: { hash },\n },\n { signal },\n );\n };\n\n const createVariable = async (body: CreateVariableBody, signal?: AbortSignal) => {\n if (body.flags.includes('encrypted') && !body.value.startsWith(ENCRYPTED_VALUE_PREFIX)) {\n throw new UserError('Encryption of a value failed. Please contact our support.');\n }\n const { data } = await client.post('/variables', { body }, { signal });\n return data;\n };\n\n const getVariablesByBranchId = async (\n branchId: GetVariablesByBranchId['branchId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/variables/scoped/branch/{branchId}',\n {\n path: { branchId },\n },\n { signal },\n );\n return data as VariableWithHash[];\n };\n\n const getProjectWideVariables = (signal?: AbortSignal) => getVariablesByBranchId('null', signal);\n\n return {\n createVariable,\n deleteVariable,\n getProjectWideVariables,\n getVariables,\n getVariablesByBranchId,\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/queue/queueClient.ts"],"names":["createOpenapiFetchClient","normalizeBaseUrl"],"mappings":";;;;;AAOO,IAAM,iBAAA,GAAoB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AAChF,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA,EAASC,mCAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,MAAA,GAAS,OAAO,KAAA,EAAiC,MAAA,KAAyB;AAC9E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,eAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA;AAAM,OAChB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,KAAA,EAAyB,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA;AAAA,QACE;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO,EAAE,QAAQ,UAAA,EAAW;AAC9B","file":"chunk-YXCVNX2Q.cjs","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { GetQueueJobPath, SearchJobsQuery } from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n return { getJob, searchJobs };\n};\n"]}
|