@keboola/api-client 1.0.1 → 2.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-345V46LR.cjs +934 -0
  18. package/dist/chunk-345V46LR.cjs.map +1 -0
  19. package/dist/chunk-3B7L6MCG.js +189 -0
  20. package/dist/chunk-3B7L6MCG.js.map +1 -0
  21. package/dist/chunk-3T54WH4X.cjs +42 -0
  22. package/dist/chunk-3T54WH4X.cjs.map +1 -0
  23. package/dist/chunk-3Y6NK7TC.js +34 -0
  24. package/dist/chunk-3Y6NK7TC.js.map +1 -0
  25. package/dist/chunk-4N7XBMWP.js +930 -0
  26. package/dist/chunk-4N7XBMWP.js.map +1 -0
  27. package/dist/chunk-4RC5E3SL.js +140 -0
  28. package/dist/chunk-4RC5E3SL.js.map +1 -0
  29. package/dist/chunk-633QJMHH.cjs +73 -0
  30. package/dist/chunk-633QJMHH.cjs.map +1 -0
  31. package/dist/chunk-6RQDX6JY.cjs +132 -0
  32. package/dist/chunk-6RQDX6JY.cjs.map +1 -0
  33. package/dist/chunk-76AHKXLC.cjs +29 -0
  34. package/dist/chunk-76AHKXLC.cjs.map +1 -0
  35. package/dist/chunk-7FY6COWG.js +71 -0
  36. package/dist/chunk-7FY6COWG.js.map +1 -0
  37. package/dist/chunk-7J2R6XHB.js +3 -0
  38. package/dist/chunk-7J2R6XHB.js.map +1 -0
  39. package/dist/chunk-BGLICNTG.cjs +33 -0
  40. package/dist/chunk-BGLICNTG.cjs.map +1 -0
  41. package/dist/chunk-BR3SBEFE.cjs +182 -0
  42. package/dist/chunk-BR3SBEFE.cjs.map +1 -0
  43. package/dist/chunk-CVV4HROS.cjs +37 -0
  44. package/dist/chunk-CVV4HROS.cjs.map +1 -0
  45. package/dist/chunk-DCTDH77P.cjs +277 -0
  46. package/dist/chunk-DCTDH77P.cjs.map +1 -0
  47. package/dist/chunk-EBCZUGUX.js +35 -0
  48. package/dist/chunk-EBCZUGUX.js.map +1 -0
  49. package/dist/chunk-EY5LALX2.cjs +26 -0
  50. package/dist/chunk-EY5LALX2.cjs.map +1 -0
  51. package/dist/chunk-FBQHHAL5.js +40 -0
  52. package/dist/chunk-FBQHHAL5.js.map +1 -0
  53. package/dist/chunk-GF4XZK5N.cjs +43 -0
  54. package/dist/chunk-GF4XZK5N.cjs.map +1 -0
  55. package/dist/chunk-GNPQB3MT.js +27 -0
  56. package/dist/chunk-GNPQB3MT.js.map +1 -0
  57. package/dist/chunk-GO6SOMGL.js +181 -0
  58. package/dist/chunk-GO6SOMGL.js.map +1 -0
  59. package/dist/chunk-HCNNMUTR.cjs +36 -0
  60. package/dist/chunk-HCNNMUTR.cjs.map +1 -0
  61. package/dist/chunk-HPVTVQBJ.cjs +238 -0
  62. package/dist/chunk-HPVTVQBJ.cjs.map +1 -0
  63. package/dist/chunk-HYUGRMCY.cjs +247 -0
  64. package/dist/chunk-HYUGRMCY.cjs.map +1 -0
  65. package/dist/chunk-IJMQCOBC.js +34 -0
  66. package/dist/chunk-IJMQCOBC.js.map +1 -0
  67. package/dist/chunk-IY3VNVXD.cjs +183 -0
  68. package/dist/chunk-IY3VNVXD.cjs.map +1 -0
  69. package/dist/chunk-JKFIB6SQ.cjs +685 -0
  70. package/dist/chunk-JKFIB6SQ.cjs.map +1 -0
  71. package/dist/chunk-JLNOESHX.cjs +47 -0
  72. package/dist/chunk-JLNOESHX.cjs.map +1 -0
  73. package/dist/chunk-JURD5MC3.js +178 -0
  74. package/dist/chunk-JURD5MC3.js.map +1 -0
  75. package/dist/chunk-LV3ZWNDC.js +75 -0
  76. package/dist/chunk-LV3ZWNDC.js.map +1 -0
  77. package/dist/chunk-LZ6A6J2E.cjs +77 -0
  78. package/dist/chunk-LZ6A6J2E.cjs.map +1 -0
  79. package/dist/chunk-OKVYLO6C.js +108 -0
  80. package/dist/chunk-OKVYLO6C.js.map +1 -0
  81. package/dist/chunk-PD3LJYS2.js +218 -0
  82. package/dist/chunk-PD3LJYS2.js.map +1 -0
  83. package/dist/chunk-PV4HIVW2.js +130 -0
  84. package/dist/chunk-PV4HIVW2.js.map +1 -0
  85. package/dist/chunk-R7PD3BRA.js +261 -0
  86. package/dist/chunk-R7PD3BRA.js.map +1 -0
  87. package/dist/chunk-SAEG42HW.js +64 -0
  88. package/dist/chunk-SAEG42HW.js.map +1 -0
  89. package/dist/chunk-TIIRBQUA.cjs +110 -0
  90. package/dist/chunk-TIIRBQUA.cjs.map +1 -0
  91. package/dist/chunk-TXFQ4YIK.js +31 -0
  92. package/dist/chunk-TXFQ4YIK.js.map +1 -0
  93. package/dist/chunk-U5SE6W5M.cjs +158 -0
  94. package/dist/chunk-U5SE6W5M.cjs.map +1 -0
  95. package/dist/chunk-UABYNGBZ.js +39 -0
  96. package/dist/chunk-UABYNGBZ.js.map +1 -0
  97. package/dist/chunk-UXF53ZOV.js +220 -0
  98. package/dist/chunk-UXF53ZOV.js.map +1 -0
  99. package/dist/chunk-VAOCYA6B.js +20 -0
  100. package/dist/chunk-VAOCYA6B.js.map +1 -0
  101. package/dist/chunk-VS5PM7KL.js +45 -0
  102. package/dist/chunk-VS5PM7KL.js.map +1 -0
  103. package/dist/chunk-WQ7EZWBF.js +24 -0
  104. package/dist/chunk-WQ7EZWBF.js.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 +1812 -104
  142. package/dist/index.d.ts +1812 -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 +6 -2
  192. package/dist/storage/types.d.ts +6 -2
  193. package/dist/{storageClient-DrYOs4Xm.d.ts → storageClient-BicsbzZy.d.ts} +2 -1
  194. package/dist/{storageClient-DSLTM3Cr.d.cts → storageClient-CmK1LPHr.d.cts} +2 -1
  195. package/dist/{storageSdk-BBqAo0Vx.d.cts → storageSdk-BZ7ZW6_h.d.cts} +1 -1
  196. package/dist/{storageSdk-ZVmKQQSl.d.ts → storageSdk-DCcD68FQ.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/errors/ManagementClientAuthError.ts","../src/clients/management/authMiddleware.ts","../src/clients/management/currentUser/currentUser.ts","../src/clients/management/features/features.ts","../src/clients/management/maintainers/maintainers.ts","../src/clients/management/organizations/organizations.ts","../src/clients/management/projects/projects.ts","../src/clients/management/users/users.ts","../src/clients/management/managementClient.ts"],"names":["ApiError","createGenericFetchClient","KeboolaHttpHeader","HttpHeader","HttpContentType","defaultValidateStatus","createVerifyClient","normalizeBaseUrl","createCallbackMiddleware","createOpenapiFetchClient"],"mappings":"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","file":"chunk-JKFIB6SQ.cjs","sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nimport { ApiError } from './ApiError';\n\nexport class ManagementClientAuthError extends ApiError {\n title: string;\n message: string;\n constructor(title: string, message: string, res: ApiResponse) {\n super(res);\n this.title = title;\n this.message = message;\n }\n}\n","import { KeboolaHttpHeader } from '../../constants';\nimport { ManagementClientAuthError } from '../../errors';\nimport {\n createGenericFetchClient,\n defaultValidateStatus,\n HttpContentType,\n HttpHeader,\n type MiddlewareFn,\n} from '../../fetchClient';\nimport { createVerifyClient } from '../verify';\nimport type { ManagementToken } from '../verify/types';\n\ntype ManagementTokenWithStringToken = { token: string } & ManagementToken;\n\n// Long enough to amortize verify calls over a burst of parallel queries at app\n// startup; short enough that a remotely revoked token is re-checked within a minute.\nconst TOKEN_CACHE_TTL_MS = 60_000;\n\nexport const isManagementClientAuthError = (error: unknown): error is ManagementClientAuthError =>\n error instanceof ManagementClientAuthError;\n\nconst createAuth = (baseUrl: string) => {\n const fetchClient = createGenericFetchClient({ baseUrl });\n\n const createCurrentUserSessionToken = async (accessToken: string) => {\n const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/manage/current-user/session-token',\n {},\n { headers },\n );\n return data.token;\n };\n\n const createAdminAccountSessionToken = async () => {\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/admin/account/session-token',\n {},\n {\n // transform valid response, to invalid and throw custom error\n validateStatus: (apiResponse) => {\n const { response } = apiResponse;\n\n // If the response is \"302 Found\", then response type is \"text/html\", because backend detected\n // that session expired and redirected user to login screen\n const isTextContent = response.headers\n .get(HttpHeader.CONTENT_TYPE)\n ?.includes(HttpContentType.TEXT_HTML);\n\n if (isTextContent)\n return new ManagementClientAuthError(\n 'Your session expired',\n 'You will be logged out automatically.',\n apiResponse,\n );\n\n return defaultValidateStatus(apiResponse);\n },\n },\n );\n return data.token;\n };\n\n return {\n createCurrentUserSessionToken,\n createAdminAccountSessionToken,\n };\n};\n\nexport const createAuthMiddleware = ({\n accessToken,\n baseUrl,\n}: {\n baseUrl: string;\n accessToken?: string;\n}): MiddlewareFn => {\n const auth = createAuth(baseUrl);\n const verify = createVerifyClient();\n\n let token: string | undefined = accessToken;\n let tokenValidUntil = 0;\n let inflightAuth: Promise<string> | null = null;\n // oxlint-disable-next-line turbo/no-undeclared-env-vars\n const isDevelopment = process.env.NODE_ENV === 'development';\n\n const ensureValidToken = async (): Promise<string> => {\n if (token && Date.now() < tokenValidUntil) return token;\n\n if (token) {\n const tokenInfo = await verify.managementApiToken(baseUrl, token);\n const isTokenValid = !tokenInfo.isDisabled && !tokenInfo.isExpired;\n if (isTokenValid) {\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n token = isDevelopment\n ? await auth.createCurrentUserSessionToken(token)\n : await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n\n token = await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n };\n\n return (next) => async (request) => {\n // Deduplicate concurrent auth — all parallel requests share one inflight promise\n if (!inflightAuth) {\n inflightAuth = ensureValidToken().finally(() => {\n inflightAuth = null;\n });\n }\n const validToken = await inflightAuth;\n\n request.request.headers.set(KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);\n return next(request);\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nexport const createCurrentUser = (client: ManagementOpenApiFetchClient) => {\n // --- Maintainer invitations ---\n\n const getMaintainerInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getMaintainerInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptMaintainerInvitation = async (id: number) => {\n await client.put('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n const rejectMaintainerInvitation = async (id: number) => {\n await client.delete('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n // --- Organization invitations ---\n\n const getOrganizationInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getOrganizationInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptOrganizationInvitation = async (id: number) => {\n await client.put('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n const rejectOrganizationInvitation = async (id: number) => {\n await client.delete('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n // --- Project invitations ---\n\n const getProjectInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/current-user/projects-invitations', {}, { signal });\n return data;\n };\n\n const getProjectInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptProjectInvitation = async (id: number) => {\n await client.put('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n const rejectProjectInvitation = async (id: number) => {\n await client.delete('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n // --- Project join requests ---\n\n const getProjectJoinRequests = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-join-requests',\n {},\n { signal },\n );\n return data;\n };\n\n const deleteProjectJoinRequest = async (id: number) => {\n await client.delete('/manage/current-user/projects-join-requests/{id}', { path: { id } });\n };\n\n return {\n getMaintainerInvitations,\n getMaintainerInvitation,\n acceptMaintainerInvitation,\n rejectMaintainerInvitation,\n getOrganizationInvitations,\n getOrganizationInvitation,\n acceptOrganizationInvitation,\n rejectOrganizationInvitation,\n getProjectInvitations,\n getProjectInvitation,\n acceptProjectInvitation,\n rejectProjectInvitation,\n getProjectJoinRequests,\n deleteProjectJoinRequest,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\n\nimport type { Feature, GetAllFeaturesQuery } from './types';\n\nexport const createFeatures = (client: GenericFetchClient) => {\n const getAllFeatures = async (query: GetAllFeaturesQuery, signal?: AbortSignal) => {\n const { data } = await client.get<Feature[], void, GetAllFeaturesQuery>(\n '/features',\n { query },\n { signal },\n );\n return data;\n };\n\n return {\n getAllFeatures,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n AddMaintainerUserBody,\n CreateMaintainerBody,\n CreateMaintainerInvitationBody,\n CreateMaintainerOrganizationBody,\n Maintainer,\n MaintainerUser,\n MetadataItem,\n SetMaintainerMetadataBody,\n UpdateMaintainerBody,\n} from './types';\n\nexport const createMaintainers = (client: ManagementOpenApiFetchClient) => {\n // --- Maintainer CRUD ---\n\n const getMaintainers = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/maintainers', {}, { signal });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MaintainerResponse[].\n return data as unknown as Maintainer[];\n };\n\n const getMaintainer = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}',\n { path: { id: maintainerId } },\n { signal },\n );\n return data;\n };\n\n const createMaintainer = async (body: CreateMaintainerBody) => {\n const { data } = await client.post('/manage/maintainers', { body });\n return data;\n };\n\n const updateMaintainer = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & UpdateMaintainerBody) => {\n const { data } = await client.patch('/manage/maintainers/{id}', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainer = async (maintainerId: number) => {\n await client.delete('/manage/maintainers/{id}', { path: { id: maintainerId } });\n };\n\n // --- Members (users/admins) ---\n\n const getMaintainerUsers = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/users',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as MaintainerUser[];\n };\n\n const addMaintainerUser = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & AddMaintainerUserBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/users', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const removeMaintainerUser = async ({\n maintainerId,\n adminId,\n }: {\n maintainerId: number;\n adminId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/users/{adminId}', {\n path: { id: maintainerId, adminId },\n });\n };\n\n // --- Invitations ---\n\n const getMaintainerInvitations = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations',\n { path: { id: maintainerId } },\n { signal },\n );\n return data;\n };\n\n const getMaintainerInvitation = async (\n { maintainerId, invitationId }: { maintainerId: number; invitationId: number },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations/{invitationId}',\n { path: { id: maintainerId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createMaintainerInvitation = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & CreateMaintainerInvitationBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/invitations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainerInvitation = async ({\n maintainerId,\n invitationId,\n }: {\n maintainerId: number;\n invitationId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/invitations/{invitationId}', {\n path: { id: maintainerId, invitationId },\n });\n };\n\n // --- Organizations under maintainer ---\n\n const createMaintainerOrganization = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & CreateMaintainerOrganizationBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/organizations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n // --- Metadata ---\n\n const getMaintainerMetadata = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/metadata',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MetadataItem[].\n return data as unknown as MetadataItem[];\n };\n\n const setMaintainerMetadata = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & SetMaintainerMetadataBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/metadata', {\n path: { id: maintainerId },\n body,\n });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MetadataItem[].\n return data as unknown as MetadataItem[];\n };\n\n const deleteMaintainerMetadata = async ({\n maintainerId,\n metadataId,\n }: {\n maintainerId: number;\n metadataId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/metadata/{metadataId}', {\n path: { id: maintainerId, metadataId },\n });\n };\n\n return {\n getMaintainers,\n getMaintainer,\n createMaintainer,\n updateMaintainer,\n deleteMaintainer,\n getMaintainerUsers,\n addMaintainerUser,\n removeMaintainerUser,\n getMaintainerInvitations,\n getMaintainerInvitation,\n createMaintainerInvitation,\n deleteMaintainerInvitation,\n createMaintainerOrganization,\n getMaintainerMetadata,\n setMaintainerMetadata,\n deleteMaintainerMetadata,\n };\n};\n","import type { MetadataItem } from '../maintainers/types';\nimport type { ManagementOpenApiFetchClient } from '../managementClient';\nimport type { Project } from '../projects/types';\n\nimport type {\n AddOrganizationUserBody,\n AdminUser,\n CreateOrganizationInvitationBody,\n CreateOrganizationProjectBody,\n OrganizationDetail,\n OrganizationInvitationDetail,\n SetOrganizationMetadataBody,\n UpdateOrganizationBody,\n} from './types';\n\nexport const createOrganizations = (client: ManagementOpenApiFetchClient) => {\n // --- Organization CRUD ---\n\n const getOrganizations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/organizations', {}, { signal });\n return data;\n };\n\n const getOrganization = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares projects/maintainer as `Record<string, never>`; backend returns full shapes.\n return data as unknown as OrganizationDetail;\n };\n\n const updateOrganization = async ({\n organizationId,\n ...body\n }: { organizationId: number } & UpdateOrganizationBody) => {\n const { data } = await client.patch('/manage/organizations/{id}', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganization = async (organizationId: number) => {\n await client.delete('/manage/organizations/{id}', { path: { id: organizationId } });\n };\n\n const forceMfa = async (organizationId: number) => {\n const { data } = await client.patch('/manage/organizations/{id}/force-mfa', {\n path: { id: organizationId },\n });\n return data;\n };\n\n const joinOrganization = async (organizationId: number) => {\n await client.post('/manage/organizations/{id}/join-organization', {\n path: { id: organizationId },\n });\n };\n\n // --- Members (users/admins) ---\n\n const getOrganizationUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/users',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as AdminUser[];\n };\n\n const addOrganizationUser = async ({\n organizationId,\n ...body\n }: { organizationId: number } & AddOrganizationUserBody) => {\n const { data } = await client.post('/manage/organizations/{id}/users', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const removeOrganizationUser = async ({\n organizationId,\n userId,\n }: {\n organizationId: number;\n userId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/users/{userId}', {\n path: { id: organizationId, userId },\n });\n };\n\n const getOrganizationProjectsUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects-users',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as AdminUser[];\n };\n\n // --- Invitations ---\n\n const getOrganizationInvitations = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns invitation objects.\n return data as unknown as OrganizationInvitationDetail[];\n };\n\n const getOrganizationInvitation = async (\n { organizationId, invitationId }: { organizationId: number; invitationId: number },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations/{invitationId}',\n { path: { id: organizationId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createOrganizationInvitation = async ({\n organizationId,\n ...body\n }: { organizationId: number } & CreateOrganizationInvitationBody) => {\n const { data } = await client.post('/manage/organizations/{id}/invitations', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganizationInvitation = async ({\n organizationId,\n invitationId,\n }: {\n organizationId: number;\n invitationId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/invitations/{invitationId}', {\n path: { id: organizationId, invitationId },\n });\n };\n\n // --- Projects under organization ---\n\n const getOrganizationProjects = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns project objects.\n return data as unknown as Project[];\n };\n\n const createOrganizationProject = async ({\n organizationId,\n ...body\n }: { organizationId: number } & CreateOrganizationProjectBody) => {\n const { data } = await client.post('/manage/organizations/{id}/projects', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n // --- Metadata ---\n\n const getOrganizationMetadata = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/metadata',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns metadata items.\n return data as unknown as MetadataItem[];\n };\n\n const setOrganizationMetadata = async ({\n organizationId,\n ...body\n }: { organizationId: number } & SetOrganizationMetadataBody) => {\n const { data } = await client.post('/manage/organizations/{id}/metadata', {\n path: { id: organizationId },\n body,\n });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns metadata items.\n return data as unknown as MetadataItem[];\n };\n\n const deleteOrganizationMetadata = async ({\n organizationId,\n metadataId,\n }: {\n organizationId: number;\n metadataId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/metadata/{metadataId}', {\n path: { id: organizationId, metadataId },\n });\n };\n\n return {\n getOrganizations,\n getOrganization,\n updateOrganization,\n deleteOrganization,\n forceMfa,\n joinOrganization,\n getOrganizationUsers,\n addOrganizationUser,\n removeOrganizationUser,\n getOrganizationProjectsUsers,\n getOrganizationInvitations,\n getOrganizationInvitation,\n createOrganizationInvitation,\n deleteOrganizationInvitation,\n getOrganizationProjects,\n createOrganizationProject,\n getOrganizationMetadata,\n setOrganizationMetadata,\n deleteOrganizationMetadata,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\nimport type { User } from '../types';\n\nimport type {\n CreateProjectFeatureBody,\n CreateProjectFeaturePath,\n GetProjectMetadataPath,\n GetProjectPath,\n GetProjectReviewersPath,\n ListProjectUsersPath,\n Project,\n ProjectMetadataItem,\n RemoveProjectFeaturePath,\n Reviewer,\n SetProjectMetadataBody,\n SetProjectMetadataPath,\n SetProjectReviewersBody,\n SetProjectReviewersPath,\n} from './types';\n\nexport const createProjects = (client: GenericFetchClient) => {\n const getProject = async (projectId: GetProjectPath['projectId'], signal?: AbortSignal) => {\n const { data } = await client.get<Project, GetProjectPath>(\n '/projects/{projectId}',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const addProjectFeature = async ({\n projectId,\n feature,\n }: CreateProjectFeaturePath & CreateProjectFeatureBody) => {\n const { data } = await client.post<\n Project,\n CreateProjectFeaturePath,\n void,\n CreateProjectFeatureBody\n >('/projects/{projectId}/features', { path: { projectId }, body: { feature } });\n return data;\n };\n\n const removeProjectFeature = async (path: RemoveProjectFeaturePath) => {\n const { data } = await client.delete<null, RemoveProjectFeaturePath>(\n '/projects/{projectId}/features/{feature}',\n { path },\n );\n return data;\n };\n\n const changeProjectUserRole = async ({\n projectId,\n userId,\n role,\n }: {\n projectId: number;\n userId: number;\n role: User['role'];\n }) => {\n const { data } = await client.patch<\n User,\n { projectId: number; userId: number },\n never,\n { role: User['role'] }\n >('/projects/{projectId}/users/{userId}', {\n path: { projectId, userId },\n body: { role },\n });\n\n return data;\n };\n\n const getProjectUsers = async (\n projectId: ListProjectUsersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<User[], ListProjectUsersPath>(\n '/projects/{projectId}/users',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const getProjectMetadata = async (\n projectId: GetProjectMetadataPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ProjectMetadataItem[], GetProjectMetadataPath>(\n '/projects/{projectId}/metadata',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const setProjectMetadata = async ({\n projectId,\n provider,\n metadata,\n }: SetProjectMetadataPath & SetProjectMetadataBody) => {\n const { data } = await client.post<\n ProjectMetadataItem[],\n SetProjectMetadataPath,\n void,\n SetProjectMetadataBody\n >('/projects/{projectId}/metadata', {\n path: { projectId },\n body: { provider, metadata },\n });\n return data;\n };\n\n const getProjectReviewers = async (\n projectId: GetProjectReviewersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Reviewer[], GetProjectReviewersPath>(\n '/projects/{projectId}/reviewers',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const setProjectReviewers = async ({\n projectId,\n adminIds,\n }: SetProjectReviewersPath & SetProjectReviewersBody) => {\n const { data } = await client.put<\n void,\n SetProjectReviewersPath,\n never,\n SetProjectReviewersBody\n >('/projects/{projectId}/reviewers', {\n path: { projectId },\n body: { adminIds },\n });\n return data;\n };\n\n return {\n getProject,\n addProjectFeature,\n removeProjectFeature,\n changeProjectUserRole,\n getProjectUsers,\n getProjectMetadata,\n setProjectMetadata,\n getProjectReviewers,\n setProjectReviewers,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\n\nimport type { AddUserFeatureBody, AddUserFeaturePath, RemoveUserFeaturePath, User } from './types';\n\nexport const createUsers = (client: GenericFetchClient) => {\n const addUserAdminFeature = async (\n { feature, userIdOrMail }: AddUserFeatureBody & AddUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<User, AddUserFeaturePath, void, AddUserFeatureBody>(\n '/users/{userIdOrMail}/features',\n { path: { userIdOrMail: encodeURIComponent(userIdOrMail) }, body: { feature } },\n { signal },\n );\n return data;\n };\n\n const removeUserAdminFeature = async (\n { userIdOrMail, feature }: RemoveUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete<User, RemoveUserFeaturePath>(\n '/users/{userIdOrMail}/features/{feature}',\n { path: { userIdOrMail: encodeURIComponent(userIdOrMail), feature } },\n { signal },\n );\n return data;\n };\n\n return {\n addUserAdminFeature,\n removeUserAdminFeature,\n };\n};\n","import {\n createCallbackMiddleware,\n createGenericFetchClient,\n createOpenapiFetchClient,\n} from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { BaseClientOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAuthMiddleware } from './authMiddleware';\nimport { createCurrentUser } from './currentUser';\nimport { createFeatures } from './features';\nimport { createMaintainers } from './maintainers';\nimport { createOrganizations } from './organizations';\nimport { createProjects } from './projects';\nimport { createUsers } from './users';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\nexport type ManagementOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createManagementClient = ({\n baseUrl,\n callbacks,\n token,\n}: BaseClientOptions & { token?: string }) => {\n const normalizedBaseUrl = normalizeBaseUrl(baseUrl);\n const callbackMiddleware = createCallbackMiddleware(callbacks);\n const authMiddleware = createAuthMiddleware({\n baseUrl: normalizedBaseUrl,\n accessToken: token,\n });\n const middlewares = [\n callbackMiddleware,\n authMiddleware, // 👈 beware order of middlewares always matter\n ];\n\n const client = createGenericFetchClient({\n baseUrl: `${normalizedBaseUrl}/manage`,\n middlewares,\n });\n\n const openApiClient = createOpenapiFetchClient<paths>({\n baseUrl: normalizedBaseUrl,\n middlewares,\n });\n\n const verifyToken = async (signal?: AbortSignal) => {\n const { data } = await openApiClient.get('/manage/tokens/verify', {}, { signal });\n return data;\n };\n\n return {\n currentUser: createCurrentUser(openApiClient),\n features: createFeatures(client),\n maintainers: createMaintainers(openApiClient),\n organizations: createOrganizations(openApiClient),\n projects: createProjects(client),\n users: createUsers(client),\n verifyToken,\n };\n};\n"]}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var chunkHPVTVQBJ_cjs = require('./chunk-HPVTVQBJ.cjs');
4
+
5
+ // src/clients/ai/aiClient.ts
6
+ var createAiClient = ({ baseUrl, middlewares }) => {
7
+ const client = chunkHPVTVQBJ_cjs.createOpenapiFetchClient({
8
+ baseUrl: chunkHPVTVQBJ_cjs.normalizeBaseUrl(baseUrl),
9
+ middlewares
10
+ });
11
+ const describeConfigurationVersion = async (body) => {
12
+ const { data } = await client.post("/describe/configuration-version", { body });
13
+ return data;
14
+ };
15
+ const describeConfigurationMerge = async (body) => {
16
+ const { data } = await client.post("/describe/configuration-merge", { body });
17
+ return data;
18
+ };
19
+ const explainError = async (body) => {
20
+ const { data } = await client.post("/explain", { body });
21
+ return data;
22
+ };
23
+ const describeConfiguration = async (body) => {
24
+ const { data } = await client.post("/describe/configuration", { body });
25
+ return data;
26
+ };
27
+ const suggestComponent = async (body) => {
28
+ const { data } = await client.post("/suggest/component", { body });
29
+ return data;
30
+ };
31
+ const feedback = async (body) => {
32
+ const { data } = await client.post("/feedback", { body });
33
+ return data;
34
+ };
35
+ return {
36
+ describeConfigurationVersion,
37
+ describeConfigurationMerge,
38
+ explainError,
39
+ describeConfiguration,
40
+ suggestComponent,
41
+ feedback
42
+ };
43
+ };
44
+
45
+ exports.createAiClient = createAiClient;
46
+ //# sourceMappingURL=chunk-JLNOESHX.cjs.map
47
+ //# sourceMappingURL=chunk-JLNOESHX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":["createOpenapiFetchClient","normalizeBaseUrl"],"mappings":";;;;;AAcO,IAAM,cAAA,GAAiB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AAC7E,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA,EAASC,mCAAiB,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-JLNOESHX.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 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"]}
@@ -0,0 +1,178 @@
1
+ import { concurrent } from './chunk-EBCZUGUX.js';
2
+
3
+ // src/utils/keboolaUID.ts
4
+ var KEBOOLA_OBJECT_ID_DELIMITER = "--";
5
+ var keboolaUID = {
6
+ serialize: (input) => {
7
+ if (input.uid === "")
8
+ throw new Error("Invalid Keboola Object ID: uid of an object cannot be empty");
9
+ return ["KID", input.projectId, input.type, input.uid].join(KEBOOLA_OBJECT_ID_DELIMITER);
10
+ },
11
+ deserialize: (input) => {
12
+ const [identifier, projectId, type, uid] = input.split(KEBOOLA_OBJECT_ID_DELIMITER);
13
+ if (identifier !== "KID" || !projectId || !type || !uid)
14
+ throw new Error("Invalid Keboola Object ID");
15
+ return {
16
+ projectId: Number(projectId),
17
+ type,
18
+ uid
19
+ };
20
+ }
21
+ };
22
+
23
+ // src/utils/generateUUID.ts
24
+ var generateUUID = () => crypto.randomUUID();
25
+
26
+ // src/sdks/tag/tagSdk.ts
27
+ var ObjectType = {
28
+ TAG: "tag",
29
+ TAG_BINDING: "tag-binding"
30
+ };
31
+ var createTagSdk = ({ metastoreClient }) => {
32
+ const _getTagMetaObjects = async (type, signal) => {
33
+ const response = await metastoreClient.repository.getMetaObjects(
34
+ {
35
+ objectType: type
36
+ },
37
+ signal
38
+ );
39
+ return response.data.map(({ attributes }) => attributes);
40
+ };
41
+ const _getAllTagBindingMapByTagId = async (signal) => {
42
+ const tagBindings = await _getTagMetaObjects(ObjectType.TAG_BINDING, signal);
43
+ return Object.groupBy(tagBindings, (binding) => binding.data.tagUUID);
44
+ };
45
+ const _getTagBindingMapByTagId = async (tagUUIDs, objectId, signal) => {
46
+ const tagBindingMapByTagId = await _getAllTagBindingMapByTagId(signal);
47
+ const objectUID = keboolaUID.serialize(objectId);
48
+ return tagUUIDs.reduce((acc, tagUUID) => {
49
+ if (acc[tagUUID]) return acc;
50
+ const tagBindings = tagBindingMapByTagId[tagUUID] ?? [];
51
+ acc[tagUUID] = tagBindings.find((binding) => binding.data.objectUID === objectUID) ?? null;
52
+ return acc;
53
+ }, {});
54
+ };
55
+ const _deleteTagBindings = async (tagBindings) => {
56
+ await concurrent({
57
+ items: tagBindings,
58
+ process: async (binding) => metastoreClient.repository.deleteMetaObject({
59
+ objectType: ObjectType.TAG_BINDING,
60
+ UUID: binding.uuid
61
+ }),
62
+ concurrency: 5
63
+ });
64
+ };
65
+ const getTags = async (signal) => {
66
+ const [tags, tagBindingMapByTagId] = await Promise.all([
67
+ _getTagMetaObjects(ObjectType.TAG, signal),
68
+ _getAllTagBindingMapByTagId(signal)
69
+ ]);
70
+ return tags.map((tag) => ({
71
+ tag,
72
+ bindings: tagBindingMapByTagId[tag.uuid] ?? []
73
+ }));
74
+ };
75
+ const getTagsByObjectId = async (objectId, signal) => {
76
+ const tags = await getTags(signal);
77
+ const keboolaObjectUID = keboolaUID.serialize(objectId);
78
+ const mapByTagId = tags.reduce((acc, { tag, bindings }) => {
79
+ acc[tag.uuid] = new Set(bindings.map((binding) => binding.data.objectUID));
80
+ return acc;
81
+ }, {});
82
+ return tags.filter(({ tag }) => mapByTagId[tag.uuid]?.has(keboolaObjectUID));
83
+ };
84
+ const createTag = async (data, meta = {}) => {
85
+ const {
86
+ data: { attributes: tag }
87
+ } = await metastoreClient.repository.createMetaObject({
88
+ objectType: ObjectType.TAG,
89
+ data,
90
+ name: generateUUID(),
91
+ ...meta
92
+ });
93
+ return tag;
94
+ };
95
+ const updateTag = async (tagUUID, data, meta = {}) => {
96
+ const {
97
+ data: { attributes: tag }
98
+ } = await metastoreClient.repository.updateMetaObject({
99
+ objectType: ObjectType.TAG,
100
+ UUID: tagUUID,
101
+ data,
102
+ ...meta
103
+ });
104
+ return tag;
105
+ };
106
+ const deleteTag = async (tagUUID) => {
107
+ const allBindings = await _getTagMetaObjects(ObjectType.TAG_BINDING);
108
+ const tagBindings = allBindings.filter(({ data }) => data.tagUUID === tagUUID);
109
+ await Promise.all([
110
+ // delete tag itself
111
+ metastoreClient.repository.deleteMetaObject({
112
+ objectType: ObjectType.TAG,
113
+ UUID: tagUUID
114
+ }),
115
+ // delete all tag associations
116
+ _deleteTagBindings(tagBindings)
117
+ ]);
118
+ };
119
+ const assignTags = async (tagUUIDs, objectId, meta = {}) => {
120
+ const tagBindingMapByTagId = await _getTagBindingMapByTagId(tagUUIDs, objectId);
121
+ const unassignedTagUUIDs = tagUUIDs.filter((tagUUID) => tagBindingMapByTagId[tagUUID] === null);
122
+ await concurrent({
123
+ items: unassignedTagUUIDs,
124
+ process: async (tagUUID) => metastoreClient.repository.createMetaObject({
125
+ objectType: ObjectType.TAG_BINDING,
126
+ data: {
127
+ objectUID: keboolaUID.serialize(objectId),
128
+ tagUUID
129
+ },
130
+ name: generateUUID(),
131
+ ...meta
132
+ }),
133
+ concurrency: 5
134
+ });
135
+ };
136
+ const unassignTags = async (tagUUIDs, objectID) => {
137
+ const tagBindingMapByTagId = await _getTagBindingMapByTagId(tagUUIDs, objectID);
138
+ const assignedTagUUIDs = tagUUIDs.filter((tagUUID) => tagBindingMapByTagId[tagUUID] !== null);
139
+ const tagBindings = assignedTagUUIDs.map((tagUUID) => tagBindingMapByTagId[tagUUID]);
140
+ await concurrent({
141
+ items: tagBindings,
142
+ process: async (tagBinding) => metastoreClient.repository.deleteMetaObject({
143
+ objectType: ObjectType.TAG_BINDING,
144
+ UUID: tagBinding.uuid
145
+ }),
146
+ concurrency: 5
147
+ });
148
+ };
149
+ const unassignAllTags = async (objectID, signal) => {
150
+ const tagBindings = await _getTagMetaObjects(ObjectType.TAG_BINDING, signal);
151
+ const objectsTagBindings = tagBindings.filter(
152
+ ({ data }) => data.objectUID === keboolaUID.serialize(objectID)
153
+ );
154
+ await _deleteTagBindings(objectsTagBindings);
155
+ };
156
+ const createAndAssignTag = async (data, objectId, meta = {}) => {
157
+ const tag = await createTag(data, meta);
158
+ await assignTags([tag.uuid], objectId, meta);
159
+ return tag;
160
+ };
161
+ return {
162
+ // retrievals
163
+ getTags,
164
+ getTagsByObjectId,
165
+ // modifications
166
+ createTag,
167
+ updateTag,
168
+ deleteTag,
169
+ assignTags,
170
+ unassignTags,
171
+ unassignAllTags,
172
+ createAndAssignTag
173
+ };
174
+ };
175
+
176
+ export { createTagSdk, generateUUID, keboolaUID };
177
+ //# sourceMappingURL=chunk-JURD5MC3.js.map
178
+ //# sourceMappingURL=chunk-JURD5MC3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/keboolaUID.ts","../src/utils/generateUUID.ts","../src/sdks/tag/tagSdk.ts"],"names":[],"mappings":"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","file":"chunk-JURD5MC3.js","sourcesContent":["type KeboolaObjectType =\n | 'data-catalog'\n | 'table'\n | 'bucket'\n | 'flow'\n | 'configuration'\n | 'transformation'\n | 'data-app'\n | 'workspace';\n\nexport type KeboolaObjectId = {\n uid: string;\n type: KeboolaObjectType;\n projectId: number;\n};\n\n//As a delimiter for serialization, we use a double hyphen (--) instead of a single hyphen in type names.\nconst KEBOOLA_OBJECT_ID_DELIMITER = '--';\n\n/**\n * There is a proposal for a string format to identify objects in Keboola.\n *\n * https://keboola.atlassian.net/wiki/spaces/ENGG/pages/3967615431/Keboola+UUID+Format\n * Unfortunately, this format will not pass BE validation as `:` is not allowed in the `uid`, and the length is limited to 50 characters only.\n *\n */\nexport const keboolaUID = {\n serialize: (input: KeboolaObjectId): string => {\n if (input.uid === '')\n throw new Error('Invalid Keboola Object ID: uid of an object cannot be empty');\n\n return ['KID', input.projectId, input.type, input.uid].join(KEBOOLA_OBJECT_ID_DELIMITER);\n },\n\n deserialize: (input: string): KeboolaObjectId => {\n const [identifier, projectId, type, uid] = input.split(KEBOOLA_OBJECT_ID_DELIMITER);\n if (identifier !== 'KID' || !projectId || !type || !uid)\n throw new Error('Invalid Keboola Object ID');\n\n return {\n projectId: Number(projectId),\n type: type as KeboolaObjectType,\n uid,\n };\n },\n};\n","export const generateUUID = () => crypto.randomUUID();\n","import type { MetaObject } from '../../clients/metastore/repository/types';\nimport { concurrent, generateUUID, type KeboolaObjectId, keboolaUID } from '../../utils';\n\nimport type {\n CreateMetaObjectMetaDataInput,\n MetastoreClient,\n TagBindingData,\n TagData,\n TagWithBindings,\n UpdateMetaObjectMetaDataInput,\n} from './types';\n\nconst ObjectType = {\n TAG: 'tag',\n TAG_BINDING: 'tag-binding',\n};\ntype ObjectTypes = (typeof ObjectType)[keyof typeof ObjectType];\n\ntype Options = {\n metastoreClient: MetastoreClient;\n};\n\nexport const createTagSdk = ({ metastoreClient }: Options) => {\n const _getTagMetaObjects = async <T extends Record<string, unknown>>(\n type: ObjectTypes,\n signal?: AbortSignal,\n ) => {\n const response = await metastoreClient.repository.getMetaObjects<T>(\n {\n objectType: type,\n },\n signal,\n );\n return response.data.map(({ attributes }) => attributes);\n };\n\n const _getAllTagBindingMapByTagId = async (signal?: AbortSignal) => {\n const tagBindings = await _getTagMetaObjects<TagBindingData>(ObjectType.TAG_BINDING, signal);\n return Object.groupBy(tagBindings, (binding) => binding.data.tagUUID);\n };\n\n const _getTagBindingMapByTagId = async (\n tagUUIDs: string[],\n objectId: KeboolaObjectId,\n signal?: AbortSignal,\n ) => {\n const tagBindingMapByTagId = await _getAllTagBindingMapByTagId(signal);\n const objectUID = keboolaUID.serialize(objectId);\n return tagUUIDs.reduce<Record<string, MetaObject<TagBindingData> | null>>((acc, tagUUID) => {\n if (acc[tagUUID]) return acc; // filter out duplicated ids\n\n const tagBindings = tagBindingMapByTagId[tagUUID] ?? [];\n acc[tagUUID] = tagBindings.find((binding) => binding.data.objectUID === objectUID) ?? null;\n return acc;\n }, {});\n };\n\n const _deleteTagBindings = async (tagBindings: MetaObject<TagBindingData>[]) => {\n await concurrent({\n items: tagBindings,\n process: async (binding) =>\n metastoreClient.repository.deleteMetaObject({\n objectType: ObjectType.TAG_BINDING,\n UUID: binding.uuid!,\n }),\n concurrency: 5,\n });\n };\n\n const getTags = async (signal?: AbortSignal) => {\n const [tags, tagBindingMapByTagId] = await Promise.all([\n _getTagMetaObjects<TagData>(ObjectType.TAG, signal),\n _getAllTagBindingMapByTagId(signal),\n ]);\n\n return tags.map<TagWithBindings>((tag) => ({\n tag,\n bindings: tagBindingMapByTagId[tag.uuid!] ?? [],\n }));\n };\n\n const getTagsByObjectId = async (objectId: KeboolaObjectId, signal?: AbortSignal) => {\n const tags = await getTags(signal);\n\n const keboolaObjectUID = keboolaUID.serialize(objectId);\n const mapByTagId = tags.reduce<Record<string, Set<string>>>((acc, { tag, bindings }) => {\n acc[tag.uuid!] = new Set(bindings.map((binding) => binding.data.objectUID));\n return acc;\n }, {});\n\n return tags.filter(({ tag }) => mapByTagId[tag.uuid!]?.has(keboolaObjectUID));\n };\n\n const createTag = async (data: TagData, meta: CreateMetaObjectMetaDataInput = {}) => {\n const {\n data: { attributes: tag },\n } = await metastoreClient.repository.createMetaObject({\n objectType: ObjectType.TAG,\n data,\n name: generateUUID(),\n ...meta,\n });\n\n return tag;\n };\n\n const updateTag = async (\n tagUUID: string,\n data: TagData,\n meta: UpdateMetaObjectMetaDataInput = {},\n ) => {\n const {\n data: { attributes: tag },\n } = await metastoreClient.repository.updateMetaObject<TagData>({\n objectType: ObjectType.TAG,\n UUID: tagUUID,\n data,\n ...meta,\n });\n\n return tag;\n };\n\n const deleteTag = async (tagUUID: string) => {\n const allBindings = await _getTagMetaObjects<TagBindingData>(ObjectType.TAG_BINDING);\n const tagBindings = allBindings.filter(({ data }) => data.tagUUID === tagUUID);\n\n await Promise.all([\n // delete tag itself\n metastoreClient.repository.deleteMetaObject({\n objectType: ObjectType.TAG,\n UUID: tagUUID,\n }),\n // delete all tag associations\n _deleteTagBindings(tagBindings),\n ]);\n };\n\n const assignTags = async (\n tagUUIDs: string[],\n objectId: KeboolaObjectId,\n meta: CreateMetaObjectMetaDataInput = {},\n ) => {\n const tagBindingMapByTagId = await _getTagBindingMapByTagId(tagUUIDs, objectId);\n // Assign only the unassigned tag IDs. Ignore the rest.\n const unassignedTagUUIDs = tagUUIDs.filter((tagUUID) => tagBindingMapByTagId[tagUUID] === null);\n\n await concurrent({\n items: unassignedTagUUIDs,\n process: async (tagUUID) =>\n metastoreClient.repository.createMetaObject<TagBindingData>({\n objectType: ObjectType.TAG_BINDING,\n data: {\n objectUID: keboolaUID.serialize(objectId),\n tagUUID: tagUUID,\n },\n name: generateUUID(),\n ...meta,\n }),\n concurrency: 5,\n });\n };\n\n const unassignTags = async (tagUUIDs: string[], objectID: KeboolaObjectId) => {\n const tagBindingMapByTagId = await _getTagBindingMapByTagId(tagUUIDs, objectID);\n const assignedTagUUIDs = tagUUIDs.filter((tagUUID) => tagBindingMapByTagId[tagUUID] !== null);\n\n const tagBindings = assignedTagUUIDs.map((tagUUID) => tagBindingMapByTagId[tagUUID]!);\n\n await concurrent({\n items: tagBindings,\n process: async (tagBinding) =>\n metastoreClient.repository.deleteMetaObject({\n objectType: ObjectType.TAG_BINDING,\n UUID: tagBinding.uuid!,\n }),\n concurrency: 5,\n });\n };\n\n const unassignAllTags = async (objectID: KeboolaObjectId, signal?: AbortSignal) => {\n const tagBindings = await _getTagMetaObjects<TagBindingData>(ObjectType.TAG_BINDING, signal);\n\n const objectsTagBindings = tagBindings.filter(\n ({ data }) => data.objectUID === keboolaUID.serialize(objectID),\n );\n\n await _deleteTagBindings(objectsTagBindings);\n };\n\n const createAndAssignTag = async (\n data: TagData,\n objectId: KeboolaObjectId,\n meta: CreateMetaObjectMetaDataInput = {},\n ) => {\n const tag = await createTag(data, meta);\n await assignTags([tag.uuid!], objectId, meta);\n return tag;\n };\n\n return {\n // retrievals\n getTags,\n getTagsByObjectId,\n\n // modifications\n createTag,\n updateTag,\n deleteTag,\n assignTags,\n unassignTags,\n unassignAllTags,\n createAndAssignTag,\n };\n};\n"]}
@@ -0,0 +1,75 @@
1
+ import { createOpenapiFetchClient, normalizeBaseUrl, HttpHeader, parseContentDispositionHeader } from './chunk-PD3LJYS2.js';
2
+
3
+ // src/clients/queryService/queryServiceClient.ts
4
+ var createQueryServiceClient = ({ baseUrl, middlewares }) => {
5
+ const client = createOpenapiFetchClient({
6
+ baseUrl: normalizeBaseUrl(baseUrl),
7
+ middlewares
8
+ });
9
+ const createQueryJob = async (branchId, workspaceId, body) => {
10
+ const { data } = await client.post(
11
+ "/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries",
12
+ { path: { branchId, workspaceId }, body }
13
+ );
14
+ return data;
15
+ };
16
+ const cancelQueryJob = async (queryJobId) => {
17
+ const { data } = await client.post("/api/v1/queries/{queryJobId}/cancel", {
18
+ path: { queryJobId },
19
+ body: { reason: "Cancelled by user" }
20
+ });
21
+ return data;
22
+ };
23
+ const getQueryJob = async (queryJobId) => {
24
+ const { data } = await client.get("/api/v1/queries/{queryJobId}", { path: { queryJobId } });
25
+ return data;
26
+ };
27
+ const getQueryResults = async (queryJobId, statementId, query) => {
28
+ const { data } = await client.get("/api/v1/queries/{queryJobId}/{statementId}/results", {
29
+ path: { queryJobId, statementId },
30
+ query
31
+ });
32
+ return data;
33
+ };
34
+ const getQueryHistory = async (branchId, workspaceId, query) => {
35
+ const { data } = await client.get(
36
+ "/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries",
37
+ {
38
+ path: { branchId, workspaceId },
39
+ query
40
+ }
41
+ );
42
+ return data;
43
+ };
44
+ const exportResults = async (queryJobId, statementId, query, signal) => {
45
+ const { data, response } = await client.get(
46
+ "/api/v1/queries/{queryJobId}/{statementId}/export",
47
+ {
48
+ path: { queryJobId, statementId },
49
+ query
50
+ },
51
+ { signal }
52
+ );
53
+ const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? "text/csv";
54
+ const contentDisposition = parseContentDispositionHeader(
55
+ response.headers.get(HttpHeader.CONTENT_DISPOSITION)
56
+ );
57
+ return {
58
+ mimeType,
59
+ content: data,
60
+ fileName: contentDisposition?.filename ?? "export.csv"
61
+ };
62
+ };
63
+ return {
64
+ createQueryJob,
65
+ cancelQueryJob,
66
+ getQueryJob,
67
+ getQueryResults,
68
+ getQueryHistory,
69
+ exportResults
70
+ };
71
+ };
72
+
73
+ export { createQueryServiceClient };
74
+ //# sourceMappingURL=chunk-LV3ZWNDC.js.map
75
+ //# sourceMappingURL=chunk-LV3ZWNDC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/queryService/queryServiceClient.ts"],"names":[],"mappings":";;;AAsBO,IAAM,wBAAA,GAA2B,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACvF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,OACrB,QAAA,EACA,WAAA,EACA,IAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,8DAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,QAAA,EAAU,WAAA,IAAe,IAAA;AAAK,KAC1C;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,UAAA,KAAqD;AACjF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,qCAAA,EAAuC;AAAA,MACxE,IAAA,EAAM,EAAE,UAAA,EAAW;AAAA,MACnB,IAAA,EAAM,EAAE,MAAA,EAAQ,mBAAA;AAAoB,KACrC,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,OAAO,UAAA,KAA8C;AACvE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,8BAAA,EAAgC,EAAE,IAAA,EAAM,EAAE,UAAA,EAAW,EAAG,CAAA;AAE1F,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OACtB,UAAA,EACA,WAAA,EACA,KAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,oDAAA,EAAsD;AAAA,MACtF,IAAA,EAAM,EAAE,UAAA,EAAY,WAAA,EAAY;AAAA,MAChC;AAAA,KACD,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OACtB,QAAA,EACA,WAAA,EACA,KAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,8DAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA,EAAU,WAAA,EAAY;AAAA,QAC9B;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,OACpB,UAAA,EACA,WAAA,EACA,OACA,MAAA,KACmC;AACnC,IAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAS,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MACtC,mDAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,UAAA,EAAY,WAAA,EAAY;AAAA,QAChC;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,MAAM,WAAW,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,UAAA,CAAW,YAAY,CAAA,IAAK,UAAA;AAClE,IAAA,MAAM,kBAAA,GAAqB,6BAAA;AAAA,MACzB,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,UAAA,CAAW,mBAAmB;AAAA,KACrD;AAEA,IAAA,OAAO;AAAA,MACL,QAAA;AAAA,MACA,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,oBAAoB,QAAA,IAAY;AAAA,KAC5C;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-LV3ZWNDC.js","sourcesContent":["import {\n createOpenapiFetchClient,\n HttpHeader,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n ExportResultsResponse,\n GetExportResultsQuery,\n GetQueriesHistoryQuery,\n GetQueriesPath,\n GetQueryJobPath,\n GetQueryResultsPath,\n GetQueryResutsQuery,\n PostCancelQueryJobPath,\n PostQueryBody,\n PostQueryPath,\n} from './types';\n\nexport const createQueryServiceClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const createQueryJob = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n ) => {\n const { data } = await client.post(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n { path: { branchId, workspaceId }, body },\n );\n\n return data;\n };\n\n const cancelQueryJob = async (queryJobId: PostCancelQueryJobPath['queryJobId']) => {\n const { data } = await client.post('/api/v1/queries/{queryJobId}/cancel', {\n path: { queryJobId },\n body: { reason: 'Cancelled by user' },\n });\n\n return data;\n };\n\n const getQueryJob = async (queryJobId: GetQueryJobPath['queryJobId']) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}', { path: { queryJobId } });\n\n return data;\n };\n\n const getQueryResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query?: GetQueryResutsQuery,\n ) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}/{statementId}/results', {\n path: { queryJobId, statementId },\n query,\n });\n\n return data;\n };\n\n const getQueryHistory = async (\n branchId: GetQueriesPath['branchId'],\n workspaceId: GetQueriesPath['workspaceId'],\n query?: GetQueriesHistoryQuery,\n ) => {\n const { data } = await client.get(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n const exportResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query: GetExportResultsQuery,\n signal?: AbortSignal,\n ): Promise<ExportResultsResponse> => {\n const { data, response } = await client.get(\n '/api/v1/queries/{queryJobId}/{statementId}/export',\n {\n path: { queryJobId, statementId },\n query,\n },\n { signal },\n );\n\n const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? 'text/csv';\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n mimeType,\n content: data,\n fileName: contentDisposition?.filename ?? 'export.csv',\n };\n };\n\n return {\n createQueryJob,\n cancelQueryJob,\n getQueryJob,\n getQueryResults,\n getQueryHistory,\n exportResults,\n };\n};\n"]}
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ var chunkHPVTVQBJ_cjs = require('./chunk-HPVTVQBJ.cjs');
4
+
5
+ // src/clients/queryService/queryServiceClient.ts
6
+ var createQueryServiceClient = ({ baseUrl, middlewares }) => {
7
+ const client = chunkHPVTVQBJ_cjs.createOpenapiFetchClient({
8
+ baseUrl: chunkHPVTVQBJ_cjs.normalizeBaseUrl(baseUrl),
9
+ middlewares
10
+ });
11
+ const createQueryJob = async (branchId, workspaceId, body) => {
12
+ const { data } = await client.post(
13
+ "/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries",
14
+ { path: { branchId, workspaceId }, body }
15
+ );
16
+ return data;
17
+ };
18
+ const cancelQueryJob = async (queryJobId) => {
19
+ const { data } = await client.post("/api/v1/queries/{queryJobId}/cancel", {
20
+ path: { queryJobId },
21
+ body: { reason: "Cancelled by user" }
22
+ });
23
+ return data;
24
+ };
25
+ const getQueryJob = async (queryJobId) => {
26
+ const { data } = await client.get("/api/v1/queries/{queryJobId}", { path: { queryJobId } });
27
+ return data;
28
+ };
29
+ const getQueryResults = async (queryJobId, statementId, query) => {
30
+ const { data } = await client.get("/api/v1/queries/{queryJobId}/{statementId}/results", {
31
+ path: { queryJobId, statementId },
32
+ query
33
+ });
34
+ return data;
35
+ };
36
+ const getQueryHistory = async (branchId, workspaceId, query) => {
37
+ const { data } = await client.get(
38
+ "/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries",
39
+ {
40
+ path: { branchId, workspaceId },
41
+ query
42
+ }
43
+ );
44
+ return data;
45
+ };
46
+ const exportResults = async (queryJobId, statementId, query, signal) => {
47
+ const { data, response } = await client.get(
48
+ "/api/v1/queries/{queryJobId}/{statementId}/export",
49
+ {
50
+ path: { queryJobId, statementId },
51
+ query
52
+ },
53
+ { signal }
54
+ );
55
+ const mimeType = response.headers.get(chunkHPVTVQBJ_cjs.HttpHeader.CONTENT_TYPE) ?? "text/csv";
56
+ const contentDisposition = chunkHPVTVQBJ_cjs.parseContentDispositionHeader(
57
+ response.headers.get(chunkHPVTVQBJ_cjs.HttpHeader.CONTENT_DISPOSITION)
58
+ );
59
+ return {
60
+ mimeType,
61
+ content: data,
62
+ fileName: contentDisposition?.filename ?? "export.csv"
63
+ };
64
+ };
65
+ return {
66
+ createQueryJob,
67
+ cancelQueryJob,
68
+ getQueryJob,
69
+ getQueryResults,
70
+ getQueryHistory,
71
+ exportResults
72
+ };
73
+ };
74
+
75
+ exports.createQueryServiceClient = createQueryServiceClient;
76
+ //# sourceMappingURL=chunk-LZ6A6J2E.cjs.map
77
+ //# sourceMappingURL=chunk-LZ6A6J2E.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/queryService/queryServiceClient.ts"],"names":["createOpenapiFetchClient","normalizeBaseUrl","HttpHeader","parseContentDispositionHeader"],"mappings":";;;;;AAsBO,IAAM,wBAAA,GAA2B,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACvF,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA,EAASC,mCAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,OACrB,QAAA,EACA,WAAA,EACA,IAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,8DAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,QAAA,EAAU,WAAA,IAAe,IAAA;AAAK,KAC1C;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,UAAA,KAAqD;AACjF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,qCAAA,EAAuC;AAAA,MACxE,IAAA,EAAM,EAAE,UAAA,EAAW;AAAA,MACnB,IAAA,EAAM,EAAE,MAAA,EAAQ,mBAAA;AAAoB,KACrC,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,OAAO,UAAA,KAA8C;AACvE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,8BAAA,EAAgC,EAAE,IAAA,EAAM,EAAE,UAAA,EAAW,EAAG,CAAA;AAE1F,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OACtB,UAAA,EACA,WAAA,EACA,KAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,oDAAA,EAAsD;AAAA,MACtF,IAAA,EAAM,EAAE,UAAA,EAAY,WAAA,EAAY;AAAA,MAChC;AAAA,KACD,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OACtB,QAAA,EACA,WAAA,EACA,KAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,8DAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA,EAAU,WAAA,EAAY;AAAA,QAC9B;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,OACpB,UAAA,EACA,WAAA,EACA,OACA,MAAA,KACmC;AACnC,IAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAS,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MACtC,mDAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,UAAA,EAAY,WAAA,EAAY;AAAA,QAChC;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,MAAM,WAAW,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAIC,4BAAA,CAAW,YAAY,CAAA,IAAK,UAAA;AAClE,IAAA,MAAM,kBAAA,GAAqBC,+CAAA;AAAA,MACzB,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAID,4BAAA,CAAW,mBAAmB;AAAA,KACrD;AAEA,IAAA,OAAO;AAAA,MACL,QAAA;AAAA,MACA,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,oBAAoB,QAAA,IAAY;AAAA,KAC5C;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-LZ6A6J2E.cjs","sourcesContent":["import {\n createOpenapiFetchClient,\n HttpHeader,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n ExportResultsResponse,\n GetExportResultsQuery,\n GetQueriesHistoryQuery,\n GetQueriesPath,\n GetQueryJobPath,\n GetQueryResultsPath,\n GetQueryResutsQuery,\n PostCancelQueryJobPath,\n PostQueryBody,\n PostQueryPath,\n} from './types';\n\nexport const createQueryServiceClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const createQueryJob = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n ) => {\n const { data } = await client.post(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n { path: { branchId, workspaceId }, body },\n );\n\n return data;\n };\n\n const cancelQueryJob = async (queryJobId: PostCancelQueryJobPath['queryJobId']) => {\n const { data } = await client.post('/api/v1/queries/{queryJobId}/cancel', {\n path: { queryJobId },\n body: { reason: 'Cancelled by user' },\n });\n\n return data;\n };\n\n const getQueryJob = async (queryJobId: GetQueryJobPath['queryJobId']) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}', { path: { queryJobId } });\n\n return data;\n };\n\n const getQueryResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query?: GetQueryResutsQuery,\n ) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}/{statementId}/results', {\n path: { queryJobId, statementId },\n query,\n });\n\n return data;\n };\n\n const getQueryHistory = async (\n branchId: GetQueriesPath['branchId'],\n workspaceId: GetQueriesPath['workspaceId'],\n query?: GetQueriesHistoryQuery,\n ) => {\n const { data } = await client.get(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n const exportResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query: GetExportResultsQuery,\n signal?: AbortSignal,\n ): Promise<ExportResultsResponse> => {\n const { data, response } = await client.get(\n '/api/v1/queries/{queryJobId}/{statementId}/export',\n {\n path: { queryJobId, statementId },\n query,\n },\n { signal },\n );\n\n const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? 'text/csv';\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n mimeType,\n content: data,\n fileName: contentDisposition?.filename ?? 'export.csv',\n };\n };\n\n return {\n createQueryJob,\n cancelQueryJob,\n getQueryJob,\n getQueryResults,\n getQueryHistory,\n exportResults,\n };\n};\n"]}