@keboola/api-client 1.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/ai/index.cjs +5 -201
  2. package/dist/ai/index.cjs.map +1 -1
  3. package/dist/ai/index.js +2 -201
  4. package/dist/ai/index.js.map +1 -1
  5. package/dist/assets/index.cjs +5 -180
  6. package/dist/assets/index.cjs.map +1 -1
  7. package/dist/assets/index.js +2 -180
  8. package/dist/assets/index.js.map +1 -1
  9. package/dist/chat/index.cjs +6 -422
  10. package/dist/chat/index.cjs.map +1 -1
  11. package/dist/chat/index.js +3 -422
  12. package/dist/chat/index.js.map +1 -1
  13. package/dist/chat/suggestions.cjs +70 -152
  14. package/dist/chat/suggestions.cjs.map +1 -1
  15. package/dist/chat/suggestions.js +1 -138
  16. package/dist/chat/suggestions.js.map +1 -1
  17. package/dist/chunk-3B7L6MCG.js +189 -0
  18. package/dist/chunk-3B7L6MCG.js.map +1 -0
  19. package/dist/chunk-3T54WH4X.cjs +42 -0
  20. package/dist/chunk-3T54WH4X.cjs.map +1 -0
  21. package/dist/chunk-3Y6NK7TC.js +34 -0
  22. package/dist/chunk-3Y6NK7TC.js.map +1 -0
  23. package/dist/chunk-4RC5E3SL.js +140 -0
  24. package/dist/chunk-4RC5E3SL.js.map +1 -0
  25. package/dist/chunk-633QJMHH.cjs +73 -0
  26. package/dist/chunk-633QJMHH.cjs.map +1 -0
  27. package/dist/chunk-6RQDX6JY.cjs +132 -0
  28. package/dist/chunk-6RQDX6JY.cjs.map +1 -0
  29. package/dist/chunk-76AHKXLC.cjs +29 -0
  30. package/dist/chunk-76AHKXLC.cjs.map +1 -0
  31. package/dist/chunk-7FY6COWG.js +71 -0
  32. package/dist/chunk-7FY6COWG.js.map +1 -0
  33. package/dist/chunk-7J2R6XHB.js +3 -0
  34. package/dist/chunk-7J2R6XHB.js.map +1 -0
  35. package/dist/chunk-BGLICNTG.cjs +33 -0
  36. package/dist/chunk-BGLICNTG.cjs.map +1 -0
  37. package/dist/chunk-BR3SBEFE.cjs +182 -0
  38. package/dist/chunk-BR3SBEFE.cjs.map +1 -0
  39. package/dist/chunk-CVV4HROS.cjs +37 -0
  40. package/dist/chunk-CVV4HROS.cjs.map +1 -0
  41. package/dist/chunk-DCTDH77P.cjs +277 -0
  42. package/dist/chunk-DCTDH77P.cjs.map +1 -0
  43. package/dist/chunk-EBCZUGUX.js +35 -0
  44. package/dist/chunk-EBCZUGUX.js.map +1 -0
  45. package/dist/chunk-EY5LALX2.cjs +26 -0
  46. package/dist/chunk-EY5LALX2.cjs.map +1 -0
  47. package/dist/chunk-FBQHHAL5.js +40 -0
  48. package/dist/chunk-FBQHHAL5.js.map +1 -0
  49. package/dist/chunk-GF4XZK5N.cjs +43 -0
  50. package/dist/chunk-GF4XZK5N.cjs.map +1 -0
  51. package/dist/chunk-GNPQB3MT.js +27 -0
  52. package/dist/chunk-GNPQB3MT.js.map +1 -0
  53. package/dist/chunk-GO6SOMGL.js +181 -0
  54. package/dist/chunk-GO6SOMGL.js.map +1 -0
  55. package/dist/chunk-HCNNMUTR.cjs +36 -0
  56. package/dist/chunk-HCNNMUTR.cjs.map +1 -0
  57. package/dist/chunk-HPVTVQBJ.cjs +238 -0
  58. package/dist/chunk-HPVTVQBJ.cjs.map +1 -0
  59. package/dist/chunk-HYUGRMCY.cjs +247 -0
  60. package/dist/chunk-HYUGRMCY.cjs.map +1 -0
  61. package/dist/chunk-IJMQCOBC.js +34 -0
  62. package/dist/chunk-IJMQCOBC.js.map +1 -0
  63. package/dist/chunk-IY3VNVXD.cjs +183 -0
  64. package/dist/chunk-IY3VNVXD.cjs.map +1 -0
  65. package/dist/chunk-JKFIB6SQ.cjs +685 -0
  66. package/dist/chunk-JKFIB6SQ.cjs.map +1 -0
  67. package/dist/chunk-JLNOESHX.cjs +47 -0
  68. package/dist/chunk-JLNOESHX.cjs.map +1 -0
  69. package/dist/chunk-JURD5MC3.js +178 -0
  70. package/dist/chunk-JURD5MC3.js.map +1 -0
  71. package/dist/chunk-LV3ZWNDC.js +75 -0
  72. package/dist/chunk-LV3ZWNDC.js.map +1 -0
  73. package/dist/chunk-LZ6A6J2E.cjs +77 -0
  74. package/dist/chunk-LZ6A6J2E.cjs.map +1 -0
  75. package/dist/chunk-OKVYLO6C.js +108 -0
  76. package/dist/chunk-OKVYLO6C.js.map +1 -0
  77. package/dist/chunk-PD3LJYS2.js +218 -0
  78. package/dist/chunk-PD3LJYS2.js.map +1 -0
  79. package/dist/chunk-PV4HIVW2.js +130 -0
  80. package/dist/chunk-PV4HIVW2.js.map +1 -0
  81. package/dist/chunk-R7PD3BRA.js +261 -0
  82. package/dist/chunk-R7PD3BRA.js.map +1 -0
  83. package/dist/chunk-SAEG42HW.js +64 -0
  84. package/dist/chunk-SAEG42HW.js.map +1 -0
  85. package/dist/chunk-TIIRBQUA.cjs +110 -0
  86. package/dist/chunk-TIIRBQUA.cjs.map +1 -0
  87. package/dist/chunk-TNJWOHPM.js +948 -0
  88. package/dist/chunk-TNJWOHPM.js.map +1 -0
  89. package/dist/chunk-TXFQ4YIK.js +31 -0
  90. package/dist/chunk-TXFQ4YIK.js.map +1 -0
  91. package/dist/chunk-U5SE6W5M.cjs +158 -0
  92. package/dist/chunk-U5SE6W5M.cjs.map +1 -0
  93. package/dist/chunk-UABYNGBZ.js +39 -0
  94. package/dist/chunk-UABYNGBZ.js.map +1 -0
  95. package/dist/chunk-UXF53ZOV.js +220 -0
  96. package/dist/chunk-UXF53ZOV.js.map +1 -0
  97. package/dist/chunk-VAOCYA6B.js +20 -0
  98. package/dist/chunk-VAOCYA6B.js.map +1 -0
  99. package/dist/chunk-VS5PM7KL.js +45 -0
  100. package/dist/chunk-VS5PM7KL.js.map +1 -0
  101. package/dist/chunk-WQ7EZWBF.js +24 -0
  102. package/dist/chunk-WQ7EZWBF.js.map +1 -0
  103. package/dist/chunk-XFC52BJV.cjs +952 -0
  104. package/dist/chunk-XFC52BJV.cjs.map +1 -0
  105. package/dist/chunk-XPDEQND7.cjs +4 -0
  106. package/dist/chunk-XPDEQND7.cjs.map +1 -0
  107. package/dist/chunk-XUDMML5C.cjs +211 -0
  108. package/dist/chunk-XUDMML5C.cjs.map +1 -0
  109. package/dist/chunk-YPCD7M2N.cjs +22 -0
  110. package/dist/chunk-YPCD7M2N.cjs.map +1 -0
  111. package/dist/chunk-YUEYMIMI.cjs +67 -0
  112. package/dist/chunk-YUEYMIMI.cjs.map +1 -0
  113. package/dist/chunk-YXCVNX2Q.cjs +36 -0
  114. package/dist/chunk-YXCVNX2Q.cjs.map +1 -0
  115. package/dist/chunk-ZEMKE6DI.js +681 -0
  116. package/dist/chunk-ZEMKE6DI.js.map +1 -0
  117. package/dist/dataScience/index.cjs +8 -412
  118. package/dist/dataScience/index.cjs.map +1 -1
  119. package/dist/dataScience/index.js +2 -391
  120. package/dist/dataScience/index.js.map +1 -1
  121. package/dist/domain/permissions/index.cjs +131 -2
  122. package/dist/domain/permissions/index.cjs.map +1 -1
  123. package/dist/domain/permissions/index.d.cts +108 -2
  124. package/dist/domain/permissions/index.d.ts +108 -2
  125. package/dist/domain/permissions/index.js +106 -3
  126. package/dist/domain/permissions/index.js.map +1 -1
  127. package/dist/editor/index.cjs +5 -264
  128. package/dist/editor/index.cjs.map +1 -1
  129. package/dist/editor/index.js +2 -264
  130. package/dist/editor/index.js.map +1 -1
  131. package/dist/encryption/index.cjs +5 -190
  132. package/dist/encryption/index.cjs.map +1 -1
  133. package/dist/encryption/index.js +2 -190
  134. package/dist/encryption/index.js.map +1 -1
  135. package/dist/import/index.cjs +5 -196
  136. package/dist/import/index.cjs.map +1 -1
  137. package/dist/import/index.js +2 -196
  138. package/dist/import/index.js.map +1 -1
  139. package/dist/index.cjs +334 -3752
  140. package/dist/index.cjs.map +1 -1
  141. package/dist/index.d.cts +1814 -104
  142. package/dist/index.d.ts +1814 -104
  143. package/dist/index.js +176 -3627
  144. package/dist/index.js.map +1 -1
  145. package/dist/management/index.cjs +10 -881
  146. package/dist/management/index.cjs.map +1 -1
  147. package/dist/management/index.js +3 -880
  148. package/dist/management/index.js.map +1 -1
  149. package/dist/metastore/index.cjs +5 -337
  150. package/dist/metastore/index.cjs.map +1 -1
  151. package/dist/metastore/index.js +2 -337
  152. package/dist/metastore/index.js.map +1 -1
  153. package/dist/oauth/index.cjs +5 -226
  154. package/dist/oauth/index.cjs.map +1 -1
  155. package/dist/oauth/index.js +2 -226
  156. package/dist/oauth/index.js.map +1 -1
  157. package/dist/project-Bzslbq4u.d.ts +16 -0
  158. package/dist/project-CYhB6rYN.d.cts +16 -0
  159. package/dist/queryService/index.cjs +5 -248
  160. package/dist/queryService/index.cjs.map +1 -1
  161. package/dist/queryService/index.js +2 -248
  162. package/dist/queryService/index.js.map +1 -1
  163. package/dist/queue/index.cjs +5 -190
  164. package/dist/queue/index.cjs.map +1 -1
  165. package/dist/queue/index.js +2 -190
  166. package/dist/queue/index.js.map +1 -1
  167. package/dist/sdk/configurations/index.d.cts +2 -12
  168. package/dist/sdk/configurations/index.d.ts +2 -12
  169. package/dist/sdk/storage/index.cjs +49 -267
  170. package/dist/sdk/storage/index.cjs.map +1 -1
  171. package/dist/sdk/storage/index.d.cts +2 -2
  172. package/dist/sdk/storage/index.d.ts +2 -2
  173. package/dist/sdk/storage/index.js +1 -259
  174. package/dist/sdk/storage/index.js.map +1 -1
  175. package/dist/sdk/tag/index.cjs +6 -203
  176. package/dist/sdk/tag/index.cjs.map +1 -1
  177. package/dist/sdk/tag/index.js +2 -206
  178. package/dist/sdk/tag/index.js.map +1 -1
  179. package/dist/status/index.cjs +6 -176
  180. package/dist/status/index.cjs.map +1 -1
  181. package/dist/status/index.js +3 -176
  182. package/dist/status/index.js.map +1 -1
  183. package/dist/status/types.cjs +2 -0
  184. package/dist/status/types.js +1 -1
  185. package/dist/storage/index.cjs +9 -1110
  186. package/dist/storage/index.cjs.map +1 -1
  187. package/dist/storage/index.d.cts +1 -1
  188. package/dist/storage/index.d.ts +1 -1
  189. package/dist/storage/index.js +3 -1110
  190. package/dist/storage/index.js.map +1 -1
  191. package/dist/storage/types.d.cts +39 -2
  192. package/dist/storage/types.d.ts +39 -2
  193. package/dist/{storageClient-DrYOs4Xm.d.ts → storageClient-BgvUM7gy.d.ts} +4 -1
  194. package/dist/{storageClient-DSLTM3Cr.d.cts → storageClient-CDX-GvNV.d.cts} +4 -1
  195. package/dist/{storageSdk-BBqAo0Vx.d.cts → storageSdk-IOIdwqy-.d.cts} +1 -1
  196. package/dist/{storageSdk-ZVmKQQSl.d.ts → storageSdk-qGaWB1dy.d.ts} +1 -1
  197. package/dist/syncActions/index.cjs +5 -364
  198. package/dist/syncActions/index.cjs.map +1 -1
  199. package/dist/syncActions/index.js +2 -345
  200. package/dist/syncActions/index.js.map +1 -1
  201. package/dist/telemetry/index.cjs +5 -187
  202. package/dist/telemetry/index.cjs.map +1 -1
  203. package/dist/telemetry/index.js +2 -187
  204. package/dist/telemetry/index.js.map +1 -1
  205. package/dist/vault/index.cjs +5 -219
  206. package/dist/vault/index.cjs.map +1 -1
  207. package/dist/vault/index.js +2 -219
  208. package/dist/vault/index.js.map +1 -1
  209. package/dist/verify/index.cjs +5 -184
  210. package/dist/verify/index.cjs.map +1 -1
  211. package/dist/verify/index.js +2 -184
  212. package/dist/verify/index.js.map +1 -1
  213. package/package.json +1 -1
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,31 @@
1
+ import { createGenericFetchClient, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
2
+
3
+ // src/clients/telemetry/provisioning/provisioning.ts
4
+ var createProvisioning = (client) => {
5
+ const createCredentials = async (body, signal) => {
6
+ const { data } = await client.post(
7
+ "/provisioning/workspace",
8
+ { body },
9
+ { signal }
10
+ );
11
+ return data;
12
+ };
13
+ return {
14
+ createCredentials
15
+ };
16
+ };
17
+
18
+ // src/clients/telemetry/telemetryClient.ts
19
+ var createTelemetryClient = ({ baseUrl, middlewares }) => {
20
+ const client = createGenericFetchClient({
21
+ baseUrl: normalizeBaseUrl(baseUrl),
22
+ middlewares
23
+ });
24
+ return {
25
+ provisioning: createProvisioning(client)
26
+ };
27
+ };
28
+
29
+ export { createTelemetryClient };
30
+ //# sourceMappingURL=chunk-TXFQ4YIK.js.map
31
+ //# sourceMappingURL=chunk-TXFQ4YIK.js.map
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,158 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/clients/chat/suggestions.ts
6
+ var SUGGESTION_CATEGORIES = ["error", "maintenance", "documentation"];
7
+ var suggestionCategorySchema = zod.z.enum(SUGGESTION_CATEGORIES);
8
+ var suggestionSchema = zod.z.object({
9
+ label: zod.z.preprocess((v) => typeof v === "string" ? v.slice(0, 80) : v, zod.z.string().max(80)),
10
+ prompt: zod.z.string(),
11
+ priority: zod.z.number().int().min(1).max(3),
12
+ category: suggestionCategorySchema,
13
+ reasoning: zod.z.string()
14
+ });
15
+ var suggestionsResponseSchema = zod.z.object({
16
+ suggestions: zod.z.array(suggestionSchema).max(4)
17
+ });
18
+ var suggestionWithIdSchema = suggestionSchema.extend({
19
+ id: zod.z.string()
20
+ });
21
+ var suggestionsApiResponseSchema = zod.z.object({
22
+ suggestions: zod.z.array(suggestionWithIdSchema).max(4),
23
+ suggestionSessionId: zod.z.string()
24
+ });
25
+ var recentFailedJobSchema = zod.z.object({
26
+ id: zod.z.string(),
27
+ status: zod.z.enum(["error", "warning"]),
28
+ component: zod.z.string(),
29
+ configId: zod.z.string(),
30
+ configName: zod.z.string().optional(),
31
+ createdTime: zod.z.string(),
32
+ durationSeconds: zod.z.number().int().nonnegative().optional(),
33
+ errorMessage: zod.z.string().max(200).optional()
34
+ });
35
+ var deprecatedComponentSchema = zod.z.object({
36
+ id: zod.z.string(),
37
+ name: zod.z.string(),
38
+ type: zod.z.string(),
39
+ expiredOn: zod.z.string(),
40
+ configCount: zod.z.number().int().nonnegative()
41
+ });
42
+ var userRecentEditSchema = zod.z.object({
43
+ component: zod.z.string(),
44
+ configId: zod.z.string(),
45
+ configName: zod.z.string(),
46
+ lastEdited: zod.z.string()
47
+ });
48
+ var dashboardContextDataSchema = zod.z.object({
49
+ recentFailedJobs: zod.z.array(recentFailedJobSchema).max(5),
50
+ deprecatedComponents: zod.z.array(deprecatedComponentSchema).max(5),
51
+ userRecentEdits: zod.z.array(userRecentEditSchema).max(5),
52
+ currentUserEmail: zod.z.string().email()
53
+ });
54
+ var JOB_STATUSES = [
55
+ "created",
56
+ "waiting",
57
+ "processing",
58
+ "success",
59
+ "error",
60
+ "terminating",
61
+ "terminated",
62
+ "cancelled",
63
+ "warning"
64
+ ];
65
+ var jobDetailContextDataSchema = zod.z.object({
66
+ job: zod.z.object({
67
+ id: zod.z.string(),
68
+ status: zod.z.enum(JOB_STATUSES),
69
+ component: zod.z.string(),
70
+ configId: zod.z.string().optional(),
71
+ configName: zod.z.string().optional(),
72
+ createdTime: zod.z.string(),
73
+ startTime: zod.z.string().optional(),
74
+ endTime: zod.z.string().optional(),
75
+ durationSeconds: zod.z.number().int().nonnegative().optional(),
76
+ errorMessage: zod.z.string().max(500).optional(),
77
+ errorType: zod.z.enum(["user", "application"]).optional(),
78
+ backendSize: zod.z.string().optional()
79
+ }),
80
+ component: zod.z.object({
81
+ id: zod.z.string(),
82
+ name: zod.z.string(),
83
+ type: zod.z.string()
84
+ }).optional(),
85
+ runtimeHistory: zod.z.object({
86
+ averageDurationSeconds: zod.z.number().nonnegative().optional(),
87
+ minDurationSeconds: zod.z.number().nonnegative().optional(),
88
+ maxDurationSeconds: zod.z.number().nonnegative().optional(),
89
+ recentJobsCount: zod.z.number().int().nonnegative(),
90
+ isSlowerThanAverage: zod.z.boolean().optional(),
91
+ isFasterThanAverage: zod.z.boolean().optional(),
92
+ percentageDifference: zod.z.number().optional()
93
+ }).optional(),
94
+ currentUserEmail: zod.z.string().email()
95
+ });
96
+ var configurationDetailContextDataSchema = zod.z.object({
97
+ configuration: zod.z.object({
98
+ id: zod.z.string(),
99
+ name: zod.z.string(),
100
+ description: zod.z.string().max(500).optional(),
101
+ component: zod.z.string(),
102
+ hasRows: zod.z.boolean(),
103
+ rowCount: zod.z.number().int().nonnegative().optional(),
104
+ lastChangeDescription: zod.z.string().max(200).optional()
105
+ }),
106
+ component: zod.z.object({
107
+ id: zod.z.string(),
108
+ name: zod.z.string(),
109
+ type: zod.z.string()
110
+ }).optional(),
111
+ latestJobs: zod.z.array(
112
+ zod.z.object({
113
+ id: zod.z.string(),
114
+ status: zod.z.enum(JOB_STATUSES),
115
+ durationSeconds: zod.z.number().int().nonnegative().optional(),
116
+ errorMessage: zod.z.string().max(200).optional(),
117
+ createdTime: zod.z.string()
118
+ })
119
+ ).max(5).optional(),
120
+ currentUserEmail: zod.z.string().email()
121
+ });
122
+ var dashboardSuggestionsRequestSchema = zod.z.object({
123
+ context: zod.z.literal("dashboard"),
124
+ data: dashboardContextDataSchema
125
+ });
126
+ var jobDetailSuggestionsRequestSchema = zod.z.object({
127
+ context: zod.z.literal("job-detail"),
128
+ data: jobDetailContextDataSchema
129
+ });
130
+ var configurationDetailSuggestionsRequestSchema = zod.z.object({
131
+ context: zod.z.literal("configuration-detail"),
132
+ data: configurationDetailContextDataSchema
133
+ });
134
+ var suggestionsRequestSchema = zod.z.discriminatedUnion("context", [
135
+ dashboardSuggestionsRequestSchema,
136
+ jobDetailSuggestionsRequestSchema,
137
+ configurationDetailSuggestionsRequestSchema
138
+ ]);
139
+
140
+ exports.JOB_STATUSES = JOB_STATUSES;
141
+ exports.SUGGESTION_CATEGORIES = SUGGESTION_CATEGORIES;
142
+ exports.configurationDetailContextDataSchema = configurationDetailContextDataSchema;
143
+ exports.configurationDetailSuggestionsRequestSchema = configurationDetailSuggestionsRequestSchema;
144
+ exports.dashboardContextDataSchema = dashboardContextDataSchema;
145
+ exports.dashboardSuggestionsRequestSchema = dashboardSuggestionsRequestSchema;
146
+ exports.deprecatedComponentSchema = deprecatedComponentSchema;
147
+ exports.jobDetailContextDataSchema = jobDetailContextDataSchema;
148
+ exports.jobDetailSuggestionsRequestSchema = jobDetailSuggestionsRequestSchema;
149
+ exports.recentFailedJobSchema = recentFailedJobSchema;
150
+ exports.suggestionCategorySchema = suggestionCategorySchema;
151
+ exports.suggestionSchema = suggestionSchema;
152
+ exports.suggestionWithIdSchema = suggestionWithIdSchema;
153
+ exports.suggestionsApiResponseSchema = suggestionsApiResponseSchema;
154
+ exports.suggestionsRequestSchema = suggestionsRequestSchema;
155
+ exports.suggestionsResponseSchema = suggestionsResponseSchema;
156
+ exports.userRecentEditSchema = userRecentEditSchema;
157
+ //# sourceMappingURL=chunk-U5SE6W5M.cjs.map
158
+ //# sourceMappingURL=chunk-U5SE6W5M.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/chat/suggestions.ts"],"names":["z"],"mappings":"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","file":"chunk-U5SE6W5M.cjs","sourcesContent":["import { z } from 'zod';\n\n// Response schemas\nexport const SUGGESTION_CATEGORIES = ['error', 'maintenance', 'documentation'] as const;\n\nexport const suggestionCategorySchema = z.enum(SUGGESTION_CATEGORIES);\nexport type SuggestionCategory = z.infer<typeof suggestionCategorySchema>;\n\n// Schema for LLM-generated suggestions (no ID)\nexport const suggestionSchema = z.object({\n label: z.preprocess((v) => (typeof v === 'string' ? v.slice(0, 80) : v), z.string().max(80)),\n prompt: z.string(),\n priority: z.number().int().min(1).max(3),\n category: suggestionCategorySchema,\n reasoning: z.string(),\n});\nexport type Suggestion = z.infer<typeof suggestionSchema>;\n\n// Schema for LLM response (used internally)\nexport const suggestionsResponseSchema = z.object({\n suggestions: z.array(suggestionSchema).max(4),\n});\nexport type SuggestionsResponse = z.infer<typeof suggestionsResponseSchema>;\n\n// Schema for API response with IDs (used by frontend)\nexport const suggestionWithIdSchema = suggestionSchema.extend({\n id: z.string(),\n});\nexport type SuggestionWithId = z.infer<typeof suggestionWithIdSchema>;\n\nexport const suggestionsApiResponseSchema = z.object({\n suggestions: z.array(suggestionWithIdSchema).max(4),\n suggestionSessionId: z.string(),\n});\nexport type SuggestionsApiResponse = z.infer<typeof suggestionsApiResponseSchema>;\n\n// Request schemas\nexport const recentFailedJobSchema = z.object({\n id: z.string(),\n status: z.enum(['error', 'warning']),\n component: z.string(),\n configId: z.string(),\n configName: z.string().optional(),\n createdTime: z.string(),\n durationSeconds: z.number().int().nonnegative().optional(),\n errorMessage: z.string().max(200).optional(),\n});\nexport type RecentFailedJob = z.infer<typeof recentFailedJobSchema>;\n\nexport const deprecatedComponentSchema = z.object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n expiredOn: z.string(),\n configCount: z.number().int().nonnegative(),\n});\nexport type DeprecatedComponent = z.infer<typeof deprecatedComponentSchema>;\n\nexport const userRecentEditSchema = z.object({\n component: z.string(),\n configId: z.string(),\n configName: z.string(),\n lastEdited: z.string(),\n});\nexport type UserRecentEdit = z.infer<typeof userRecentEditSchema>;\n\nexport const dashboardContextDataSchema = z.object({\n recentFailedJobs: z.array(recentFailedJobSchema).max(5),\n deprecatedComponents: z.array(deprecatedComponentSchema).max(5),\n userRecentEdits: z.array(userRecentEditSchema).max(5),\n currentUserEmail: z.string().email(),\n});\nexport type DashboardContextData = z.infer<typeof dashboardContextDataSchema>;\n\nexport const JOB_STATUSES = [\n 'created',\n 'waiting',\n 'processing',\n 'success',\n 'error',\n 'terminating',\n 'terminated',\n 'cancelled',\n 'warning',\n] as const;\n\nexport const jobDetailContextDataSchema = z.object({\n job: z.object({\n id: z.string(),\n status: z.enum(JOB_STATUSES),\n component: z.string(),\n configId: z.string().optional(),\n configName: z.string().optional(),\n createdTime: z.string(),\n startTime: z.string().optional(),\n endTime: z.string().optional(),\n durationSeconds: z.number().int().nonnegative().optional(),\n errorMessage: z.string().max(500).optional(),\n errorType: z.enum(['user', 'application']).optional(),\n backendSize: z.string().optional(),\n }),\n component: z\n .object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n })\n .optional(),\n runtimeHistory: z\n .object({\n averageDurationSeconds: z.number().nonnegative().optional(),\n minDurationSeconds: z.number().nonnegative().optional(),\n maxDurationSeconds: z.number().nonnegative().optional(),\n recentJobsCount: z.number().int().nonnegative(),\n isSlowerThanAverage: z.boolean().optional(),\n isFasterThanAverage: z.boolean().optional(),\n percentageDifference: z.number().optional(),\n })\n .optional(),\n currentUserEmail: z.string().email(),\n});\nexport type JobDetailContextData = z.infer<typeof jobDetailContextDataSchema>;\n\nexport const configurationDetailContextDataSchema = z.object({\n configuration: z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().max(500).optional(),\n component: z.string(),\n hasRows: z.boolean(),\n rowCount: z.number().int().nonnegative().optional(),\n lastChangeDescription: z.string().max(200).optional(),\n }),\n component: z\n .object({\n id: z.string(),\n name: z.string(),\n type: z.string(),\n })\n .optional(),\n latestJobs: z\n .array(\n z.object({\n id: z.string(),\n status: z.enum(JOB_STATUSES),\n durationSeconds: z.number().int().nonnegative().optional(),\n errorMessage: z.string().max(200).optional(),\n createdTime: z.string(),\n }),\n )\n .max(5)\n .optional(),\n currentUserEmail: z.string().email(),\n});\nexport type ConfigurationDetailContextData = z.infer<typeof configurationDetailContextDataSchema>;\n\nexport const dashboardSuggestionsRequestSchema = z.object({\n context: z.literal('dashboard'),\n data: dashboardContextDataSchema,\n});\n\nexport const jobDetailSuggestionsRequestSchema = z.object({\n context: z.literal('job-detail'),\n data: jobDetailContextDataSchema,\n});\n\nexport const configurationDetailSuggestionsRequestSchema = z.object({\n context: z.literal('configuration-detail'),\n data: configurationDetailContextDataSchema,\n});\n\nexport const suggestionsRequestSchema = z.discriminatedUnion('context', [\n dashboardSuggestionsRequestSchema,\n jobDetailSuggestionsRequestSchema,\n configurationDetailSuggestionsRequestSchema,\n]);\nexport type SuggestionsRequestBody = z.infer<typeof suggestionsRequestSchema>;\n"]}
@@ -0,0 +1,39 @@
1
+ // src/domain/project.ts
2
+ var hasFeature = (token, ...feature) => {
3
+ if (feature.length === 0) return false;
4
+ const projectFeatureSet = new Set(token.owner.features);
5
+ return feature.every((x) => projectFeatureSet.has(x));
6
+ };
7
+ var hasAdminFeature = (token, ...feature) => {
8
+ if (feature.length === 0) return false;
9
+ const adminFeatureSet = new Set(token.admin.features);
10
+ return feature.every((x) => adminFeatureSet.has(x));
11
+ };
12
+ var createProject = ({ sapiToken }) => {
13
+ const { owner, admin } = sapiToken;
14
+ const projectFeatureSet = new Set(owner.features);
15
+ const adminFeatureSet = new Set(admin.features);
16
+ const hasFeature2 = (...feature) => {
17
+ if (feature.length === 0) return false;
18
+ return feature.every((x) => projectFeatureSet.has(x));
19
+ };
20
+ const hasAdminFeature2 = (...feature) => {
21
+ if (feature.length === 0) return false;
22
+ return feature.every((x) => adminFeatureSet.has(x));
23
+ };
24
+ const hasBackend = (backend) => {
25
+ if (backend === "bigquery") return owner.hasBigquery;
26
+ if (backend === "snowflake") return owner.hasSnowflake;
27
+ return false;
28
+ };
29
+ return {
30
+ hasFeature: hasFeature2,
31
+ hasAdminFeature: hasAdminFeature2,
32
+ hasBackend,
33
+ sapiToken
34
+ };
35
+ };
36
+
37
+ export { createProject, hasAdminFeature, hasFeature };
38
+ //# sourceMappingURL=chunk-UABYNGBZ.js.map
39
+ //# sourceMappingURL=chunk-UABYNGBZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/project.ts"],"names":["hasFeature","hasAdminFeature"],"mappings":";AAMO,IAAM,UAAA,GAAa,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AAChF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACtD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AACtD;AAEO,IAAM,eAAA,GAAkB,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AACrF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACpD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AACpD;AAEO,IAAM,aAAA,GAAgB,CAAC,EAAE,SAAA,EAAU,KAAe;AACvD,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAM,GAAI,SAAA;AACzB,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAChD,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAE9C,EAAA,MAAMA,WAAAA,GAAa,IAAI,OAAA,KAAsB;AAC3C,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACtD,CAAA;AAEA,EAAA,MAAMC,gBAAAA,GAAkB,IAAI,OAAA,KAAsB;AAChD,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACpD,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,OAAA,KAA8B;AAChD,IAAA,IAAI,OAAA,KAAY,UAAA,EAAY,OAAO,KAAA,CAAM,WAAA;AACzC,IAAA,IAAI,OAAA,KAAY,WAAA,EAAa,OAAO,KAAA,CAAM,YAAA;AAC1C,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,UAAA,EAAAD,WAAAA;AAAA,IACA,eAAA,EAAAC,gBAAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-UABYNGBZ.js","sourcesContent":["import type { Backend, StorageToken } from '../clients/storage/tokens/types';\n\ntype Options = {\n sapiToken: StorageToken;\n};\n\nexport const hasFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const projectFeatureSet = new Set(token.owner.features);\n return feature.every((x) => projectFeatureSet.has(x));\n};\n\nexport const hasAdminFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const adminFeatureSet = new Set(token.admin.features);\n return feature.every((x) => adminFeatureSet.has(x));\n};\n\nexport const createProject = ({ sapiToken }: Options) => {\n const { owner, admin } = sapiToken;\n const projectFeatureSet = new Set(owner.features);\n const adminFeatureSet = new Set(admin.features);\n\n const hasFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => projectFeatureSet.has(x));\n };\n\n const hasAdminFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => adminFeatureSet.has(x));\n };\n\n const hasBackend = (backend: Backend): boolean => {\n if (backend === 'bigquery') return owner.hasBigquery;\n if (backend === 'snowflake') return owner.hasSnowflake;\n return false;\n };\n\n return {\n hasFeature,\n hasAdminFeature,\n hasBackend,\n sapiToken,\n };\n};\n\nexport type Project = ReturnType<typeof createProject>;\n"]}