@keboola/api-client 52.0.0 → 53.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +33 -6
- package/API-SURFACE.md +4 -1
- package/CHANGELOG.md +16 -0
- package/README.md +1 -1
- package/dist/constants/index.cjs +3 -2
- package/dist/constants/index.d.cts +1 -1
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +2 -1
- package/dist/{constants-Dqi0ewGv.js → constants-DLPkpnGv.js} +4 -32
- package/dist/{constants-Dqi0ewGv.js.map → constants-DLPkpnGv.js.map} +1 -1
- package/dist/{constants-d0Do9NSN.cjs → constants-Day8CU5i.cjs} +3 -37
- package/dist/{constants-d0Do9NSN.cjs.map → constants-Day8CU5i.cjs.map} +1 -1
- package/dist/encryption/index.d.cts +1 -1
- package/dist/encryption/index.d.ts +1 -1
- package/dist/encryption/types.d.cts +1 -1
- package/dist/encryption/types.d.ts +1 -1
- package/dist/{index-81wn1jc3.d.cts → index-B0prazAi.d.cts} +11 -2
- package/dist/{index-Df8lZNSH.d.cts → index-BL7uXOiY.d.cts} +2 -2
- package/dist/{index-B5rELADq.d.cts → index-BNwo-zaJ.d.cts} +2 -1
- package/dist/{index-B7el5pJU.d.cts → index-BUKMdbKh.d.cts} +10 -5
- package/dist/{index-CveF5RFQ.d.ts → index-BoKrc8wy.d.ts} +2 -2
- package/dist/{index-C7JcNvbd.d.ts → index-BxgHNJ3Q.d.ts} +10 -5
- package/dist/{index-Dhyrg5zd.d.ts → index-CwUurckF.d.ts} +2 -1
- package/dist/{index-JoKfPQND.d.ts → index-D0Gnp2QM.d.ts} +11 -2
- package/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/management/index.cjs +1 -1
- package/dist/management/index.d.cts +1 -1
- package/dist/management/index.d.ts +1 -1
- package/dist/management/index.js +1 -1
- package/dist/management/types.d.cts +2 -2
- package/dist/management/types.d.ts +2 -2
- package/dist/{management-Cz5ut18k.js → management-CmgsWmf0.js} +15 -1
- package/dist/management-CmgsWmf0.js.map +1 -0
- package/dist/{management-CUXgB2rb.cjs → management-Drs5G-hf.cjs} +15 -1
- package/dist/management-Drs5G-hf.cjs.map +1 -0
- package/dist/queryService/index.d.cts +1 -1
- package/dist/queryService/index.d.ts +1 -1
- package/dist/queryService/types.d.cts +1 -1
- package/dist/queryService/types.d.ts +1 -1
- package/dist/queue/index.d.cts +1 -1
- package/dist/queue/index.d.ts +1 -1
- package/dist/readJwtClaims-CMZ3cNC_.js +28 -0
- package/dist/readJwtClaims-CMZ3cNC_.js.map +1 -0
- package/dist/readJwtClaims-SVJgo04x.cjs +33 -0
- package/dist/readJwtClaims-SVJgo04x.cjs.map +1 -0
- package/dist/sdk/configurations/index.d.cts +2 -2
- package/dist/sdk/configurations/index.d.ts +2 -2
- package/dist/sdk/dataAppServer/index.cjs +266 -0
- package/dist/sdk/dataAppServer/index.cjs.map +1 -0
- package/dist/sdk/dataAppServer/index.d.cts +55 -0
- package/dist/sdk/dataAppServer/index.d.ts +55 -0
- package/dist/sdk/dataAppServer/index.js +264 -0
- package/dist/sdk/dataAppServer/index.js.map +1 -0
- package/dist/sdk/developerPortal/index.cjs +3 -15
- package/dist/sdk/developerPortal/index.cjs.map +1 -1
- package/dist/sdk/developerPortal/index.js +3 -15
- package/dist/sdk/developerPortal/index.js.map +1 -1
- package/dist/sdk/queryService/index.d.cts +1 -1
- package/dist/sdk/queryService/index.d.ts +1 -1
- package/dist/sdk/semanticLayer/index.cjs +1 -1
- package/dist/sdk/semanticLayer/index.d.cts +5 -0
- package/dist/sdk/semanticLayer/index.d.ts +5 -0
- package/dist/sdk/semanticLayer/index.js +1 -1
- package/dist/sdk/vault/index.d.cts +1 -1
- package/dist/sdk/vault/index.d.ts +1 -1
- package/dist/{semanticLayer-BdPW_wLo.js → semanticLayer-CfjDnmsY.js} +16 -1
- package/dist/semanticLayer-CfjDnmsY.js.map +1 -0
- package/dist/{semanticLayer-djom-J78.cjs → semanticLayer-D8D_3hk-.cjs} +16 -1
- package/dist/semanticLayer-D8D_3hk-.cjs.map +1 -0
- package/dist/serviceIds-Bg1pWiPE.cjs +37 -0
- package/dist/serviceIds-Bg1pWiPE.cjs.map +1 -0
- package/dist/serviceIds-RAVtP4nK.js +32 -0
- package/dist/serviceIds-RAVtP4nK.js.map +1 -0
- package/dist/storage/index.d.cts +2 -2
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/types.d.cts +2 -2
- package/dist/storage/types.d.ts +2 -2
- package/dist/{types-CLtYOszN.d.cts → types-CsRfoHQw.d.cts} +174 -2
- package/dist/{types-Ey59ZILC.d.ts → types-DNldEa7i.d.ts} +174 -2
- package/package.json +14 -1
- package/surface/management.md +1 -0
- package/surface/sdk.md +2 -0
- package/dist/management-CUXgB2rb.cjs.map +0 -1
- package/dist/management-Cz5ut18k.js.map +0 -1
- package/dist/semanticLayer-BdPW_wLo.js.map +0 -1
- package/dist/semanticLayer-djom-J78.cjs.map +0 -1
package/AGENTS.md
CHANGED
|
@@ -253,6 +253,7 @@ Import paths:
|
|
|
253
253
|
| `@keboola/api-client/sdk/tag` | Tag SDK (composes multiple clients) |
|
|
254
254
|
| `@keboola/api-client/sdk/developerPortal` | Developer Portal SDK (client + its session) |
|
|
255
255
|
| `@keboola/api-client/sdk/configurations` | Core configuration SDK |
|
|
256
|
+
| `@keboola/api-client/sdk/dataAppServer` | Data app server: Query Service per signed-in user (Node only) |
|
|
256
257
|
| `@keboola/api-client/domain/permissions` | Permission primitives |
|
|
257
258
|
|
|
258
259
|
### Query Service credentials
|
|
@@ -266,6 +267,7 @@ Import paths:
|
|
|
266
267
|
| `{ type: 'app-user-token', token, storageToken }` | `X-Kbc-App-User-Token` and `X-StorageApi-Token` |
|
|
267
268
|
|
|
268
269
|
```ts
|
|
270
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
269
271
|
import { readFileSync } from 'node:fs';
|
|
270
272
|
|
|
271
273
|
// Static token
|
|
@@ -275,23 +277,49 @@ createQueryServiceClient({ baseUrl, auth: { type: 'sapi-token', token } });
|
|
|
275
277
|
const storageToken = () => readFileSync(process.env.STORAGE_API_TOKEN_PATH!, 'utf8').trim();
|
|
276
278
|
createQueryServiceClient({ baseUrl, auth: { type: 'sapi-token', token: storageToken } });
|
|
277
279
|
|
|
278
|
-
// Request-scoped: the signed-in user when there is one, the app otherwise
|
|
280
|
+
// Request-scoped: the signed-in user when there is one, the app otherwise.
|
|
281
|
+
// A middleware runs each request inside `requestUser.run(req.get('X-Kbc-App-User-Token'), next)`.
|
|
282
|
+
const requestUser = new AsyncLocalStorage<string | undefined>();
|
|
279
283
|
createQueryServiceClient({
|
|
280
284
|
baseUrl,
|
|
281
|
-
auth: () =>
|
|
282
|
-
userToken()
|
|
283
|
-
|
|
284
|
-
|
|
285
|
+
auth: () => {
|
|
286
|
+
const userToken = requestUser.getStore();
|
|
287
|
+
return userToken
|
|
288
|
+
? { type: 'app-user-token', token: userToken, storageToken }
|
|
289
|
+
: { type: 'sapi-token', token: storageToken };
|
|
290
|
+
},
|
|
285
291
|
});
|
|
286
292
|
```
|
|
287
293
|
|
|
288
294
|
- Every token field is a value or a callback (`TokenSource`, sync or async). A provider (`QueryServiceCredentialProvider`) picks the credential. Both are resolved before every request, retries included.
|
|
295
|
+
- A provider for a client shared between users reads request-scoped state, such as an `AsyncLocalStorage`. A variable shared between requests sends one user's token with another user's submit, poll or results call.
|
|
289
296
|
- A provider or a token callback: every token is checked before each request (empty, spaces, non-ASCII → `ValidationError`, nothing sent), and so is a `bearer` project id. The request carries only that credential's headers; any other credential header is removed.
|
|
290
297
|
- A credential with only string tokens is sent as fixed default headers, as `createAuthHeaders` does; a header that a middleware sets still goes out. Its `app-user-token` tokens are checked when the client is created; `sapi-token` / `bearer` strings are not.
|
|
291
298
|
- Types: `QueryServiceCredential`, `QueryServiceCredentialProvider`, `AppUserTokenAuth`, `TokenSource` from `@keboola/api-client/queryService`. The app user token is a Query Service credential only, and it always travels with the app's Storage token.
|
|
292
299
|
- The app user token works on any workspace; row-level security is a separate matter (`RowLevelSecurityError`).
|
|
293
300
|
- `healthCheck` sends no credential. `middlewares` is optional here (default `[]`).
|
|
294
301
|
|
|
302
|
+
### Data app server (`sdk/dataAppServer`)
|
|
303
|
+
|
|
304
|
+
A data app's Node server uses `initializeApp` from `@keboola/api-client/sdk/dataAppServer` instead of wiring the provider above itself.
|
|
305
|
+
|
|
306
|
+
```ts
|
|
307
|
+
import { initializeApp } from '@keboola/api-client/sdk/dataAppServer';
|
|
308
|
+
|
|
309
|
+
const kbc = initializeApp();
|
|
310
|
+
app.use(kbc.server.expressMiddleware()); // first: keeps each request's signed-in user
|
|
311
|
+
app.get('/api/sales', async (_req, res) => {
|
|
312
|
+
res.json(
|
|
313
|
+
await kbc.workspace?.runQuery('SELECT region, SUM(amount) AS total FROM sales GROUP BY 1'),
|
|
314
|
+
);
|
|
315
|
+
});
|
|
316
|
+
app.use(kbc.server.expressErrorHandler()); // last: a row-level security refusal answers 403
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
- Node only: no other entry imports it (`__tests__/buildOutput.test.ts`), so browser bundles stay free of `node:` modules.
|
|
320
|
+
- Query inside a user request: elsewhere (startup, timers) only the app's Storage token goes out, which a governed workspace refuses.
|
|
321
|
+
- Key a server-side cache by `kbc.server.currentUserKey()`, never share one cached result between users.
|
|
322
|
+
|
|
295
323
|
## Consumption Hierarchy
|
|
296
324
|
|
|
297
325
|
When implementing an action that talks to a Keboola API, pick the highest layer that already covers it:
|
|
@@ -714,7 +742,6 @@ const getBuckets = async <const I extends readonly BucketInclude[] = []>(
|
|
|
714
742
|
- **Both casts are required.** The spec's query has `include?: string`, so the tuple goes out as `query as Get…SchemaQuery`. The return needs `as unknown as …With<I>[]`: a type with keys made required or removed does not overlap the spec's all-optional shape, so a single `as` is refused. A detail read that joins `include` itself (`include?.join(',')`, `getBucket`) sends a plain string and needs no query cast. Together with the spec-defect bridge above, these are the sanctioned uses of `as` in this package.
|
|
715
743
|
- **`exclude` reshapes, so it is a patch map.** `WithExcludes<T, Map, E>` takes `ExcludeMap<T>`: each value is a patch over `T` where a key replaces that field's type and `never` removes it. `StackInfoExcludes` maps `componentDetails` to `{ components: StackComponent[] }` and `components` to `{ components: never }`; `undefined` returns `T`. The query is `OpenapiExcludeQueryType<Op, E>`, the method takes the same `const E` generic and the same cast.
|
|
716
744
|
- **Never** a `getXWithY` sibling method, a hand-typed `include?: 'foo'[]` without a map, or a conditional key made required on the base type.
|
|
717
|
-
- **Where a `*.types.test.ts` already asserts on such a method, use an instantiation expression**, never a call (the root rules forbid new type-only tests): `expectTypeOf(storage.getStackInfo<'componentDetails'>).returns.resolves.toEqualTypeOf<…>()`. A call fires a real request, which MSW rejects as an unhandled error.
|
|
718
745
|
|
|
719
746
|
### A method that returns a job ends in `Async`
|
|
720
747
|
|
package/API-SURFACE.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Every namespace and method reachable from a ready `ProjectApi` — one project's api (`createKeboola(...).getProjectApi(id)` / `createLegacyKeboola(...).api`, or `useProjectApi()`). Generated from the TypeScript type checker — see `scripts/gen-surface.mjs`.
|
|
6
6
|
|
|
7
|
-
26 top-level namespaces,
|
|
7
|
+
26 top-level namespaces, 704 methods. This index lists method **names** only — full signatures live per namespace under [`surface/`](./surface). Open `surface/<namespace>.md` for the one you need.
|
|
8
8
|
|
|
9
9
|
## [`api.ai`](./surface/ai.md)
|
|
10
10
|
|
|
@@ -233,6 +233,7 @@ Every namespace and method reachable from a ready `ProjectApi` — one project's
|
|
|
233
233
|
- `fileStorage.createFileStorageGcs`
|
|
234
234
|
- `fileStorage.createFileStorageS3`
|
|
235
235
|
- `fileStorage.deleteFileStorage`
|
|
236
|
+
- `fileStorage.getFileStorageProjects`
|
|
236
237
|
- `fileStorage.getFileStoragesAbs`
|
|
237
238
|
- `fileStorage.getFileStoragesGcs`
|
|
238
239
|
- `fileStorage.getFileStoragesS3`
|
|
@@ -465,6 +466,8 @@ Every namespace and method reachable from a ready `ProjectApi` — one project's
|
|
|
465
466
|
- `semanticLayer.deleteObject`
|
|
466
467
|
- `semanticLayer.findObjectsByName`
|
|
467
468
|
- `semanticLayer.getModel`
|
|
469
|
+
- `semanticLayer.listAllObjects`
|
|
470
|
+
- `semanticLayer.listAllObjectsWithUnreadable`
|
|
468
471
|
- `semanticLayer.listModelChildren`
|
|
469
472
|
- `semanticLayer.listModels`
|
|
470
473
|
- `semanticLayer.listMyPendingScopeElevationRequests`
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @keboola/api-client
|
|
2
2
|
|
|
3
|
+
## 53.0.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `@keboola/api-client/sdk/dataAppServer` sets up a data app's Node server: `initializeApp()` reads what the platform provides, sends each request's signed-in user to Query Service with the app's Storage token, and gives `workspace.runQuery(sql)` (typed records), Express middleware and an error handler that answers a row-level security refusal with 403, and `server.currentUser()` / `currentUserKey()` for per-user caches.
|
|
8
|
+
|
|
9
|
+
- `sdk.semanticLayer.listAllObjects(objectType)` lists every object of one child type the project can read, across all models, in one request.
|
|
10
|
+
|
|
11
|
+
- `ComponentId` in `constants` names every component the apps refer to by id: it gains the transformations, the processors, the platform components (`FLOW`, `ORCHESTRATOR`, `STORAGE`, `VARIABLES`, …) and the remaining extractors and writers kbc-ui named in its own constants
|
|
12
|
+
|
|
13
|
+
- `ProjectFeature.RowLevelSecurity` names the `row-level-security` project feature. In projects with it, a data app's advanced settings turn row-level security on with the RLS policies it should run under.
|
|
14
|
+
|
|
15
|
+
- `management.fileStorage.getFileStorageProjects` pages through the projects that use a file storage of any provider, cursor-paginated via `page[limit]` / `page[after]`. New types: `FileStorageProjectsQuery`, `FileStorageProjectsPage`, `FileStorageProject`.
|
|
16
|
+
|
|
17
|
+
- `semanticLayer.listAllObjectsWithUnreadable` lists one child object type across every model, with a ref for each object that does not parse, so a summary can say what it couldn't read (AI-3703)
|
|
18
|
+
|
|
3
19
|
## 52.0.0
|
|
4
20
|
|
|
5
21
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -510,7 +510,7 @@ Tests are co-located `*.test.ts` files run by Vitest. There are two complementar
|
|
|
510
510
|
|
|
511
511
|
- **Injected `fetchFn` (`createFetchClient({ fetchFn: vi.fn() })`)** — for pure transport/composition tests where you assert on the `Request` object itself or on middleware ordering, and standing up MSW handlers adds no value. Reference tests: `fetchClient/createFetchClient/createFetchClient.test.ts`, `fetchClient/createFetchClient/middlewareOrdering.test.ts`, `clients/storage/storageTokenMiddleware.test.ts`.
|
|
512
512
|
|
|
513
|
-
- **`expectTypeOf` type tests** —
|
|
513
|
+
- **`expectTypeOf` type tests** — only for a computed type rule every generated client depends on, never to restate a return shape; enforced by `tsc` (the `type-check` task), not the runtime. Reference: `fetchClient/types.test.ts`.
|
|
514
514
|
|
|
515
515
|
Publish-time export-shape validation stays in `build:check` via `attw` — orthogonal to the above.
|
|
516
516
|
|
package/dist/constants/index.cjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
2
|
+
const require_serviceIds = require("../serviceIds-Bg1pWiPE.cjs");
|
|
3
3
|
const require_componentId = require("../componentId-olp0tltf.cjs");
|
|
4
|
+
const require_constants = require("../constants-Day8CU5i.cjs");
|
|
4
5
|
const require_adminRoles = require("../adminRoles-DnFpO_2W.cjs");
|
|
5
6
|
exports.AdminFeature = require_constants.AdminFeature;
|
|
6
7
|
exports.AdminRole = require_adminRoles.AdminRole;
|
|
@@ -11,6 +12,6 @@ exports.ManageErrorCode = require_constants.ManageErrorCode;
|
|
|
11
12
|
exports.ProjectFeature = require_constants.ProjectFeature;
|
|
12
13
|
exports.Provider = require_constants.Provider;
|
|
13
14
|
exports.STACKS = require_constants.STACKS;
|
|
14
|
-
exports.ServiceId =
|
|
15
|
+
exports.ServiceId = require_serviceIds.ServiceId;
|
|
15
16
|
exports.StackFeature = require_constants.StackFeature;
|
|
16
17
|
exports.URLS = require_constants.URLS;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ai as ManageErrorCode } from "../index-FrsEkDvX.cjs";
|
|
2
|
-
import { a as STACKS, c as ProjectFeature, i as Provider, l as ComponentId, n as Continent, o as AdminFeature, r as KeboolaStack, s as StackFeature, t as URLS, u as ServiceId } from "../index-
|
|
2
|
+
import { a as STACKS, c as ProjectFeature, i as Provider, l as ComponentId, n as Continent, o as AdminFeature, r as KeboolaStack, s as StackFeature, t as URLS, u as ServiceId } from "../index-BNwo-zaJ.cjs";
|
|
3
3
|
import { t as AdminRole } from "../adminRoles-BTKVwEy8.cjs";
|
|
4
4
|
import { t as Backend } from "../backends-BHotIdL0.cjs";
|
|
5
5
|
export { AdminFeature, AdminRole, Backend, ComponentId, Continent, type KeboolaStack, ManageErrorCode, ProjectFeature, Provider, STACKS, ServiceId, StackFeature, URLS };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ai as ManageErrorCode } from "../index-FrsEkDvX.js";
|
|
2
|
-
import { a as STACKS, c as ProjectFeature, i as Provider, l as ComponentId, n as Continent, o as AdminFeature, r as KeboolaStack, s as StackFeature, t as URLS, u as ServiceId } from "../index-
|
|
2
|
+
import { a as STACKS, c as ProjectFeature, i as Provider, l as ComponentId, n as Continent, o as AdminFeature, r as KeboolaStack, s as StackFeature, t as URLS, u as ServiceId } from "../index-CwUurckF.js";
|
|
3
3
|
import { t as AdminRole } from "../adminRoles-Cm513r1G.js";
|
|
4
4
|
import { t as Backend } from "../backends-BHotIdL0.js";
|
|
5
5
|
export { AdminFeature, AdminRole, Backend, ComponentId, Continent, type KeboolaStack, ManageErrorCode, ProjectFeature, Provider, STACKS, ServiceId, StackFeature, URLS };
|
package/dist/constants/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as ServiceId } from "../serviceIds-RAVtP4nK.js";
|
|
2
2
|
import { t as ComponentId } from "../componentId-DZP1rBix.js";
|
|
3
|
+
import { a as Backend, c as ProjectFeature, i as STACKS, l as ManageErrorCode, n as Continent, o as AdminFeature, r as Provider, s as StackFeature, t as URLS } from "../constants-DLPkpnGv.js";
|
|
3
4
|
import { t as AdminRole } from "../adminRoles-asa-MhDD.js";
|
|
4
5
|
export { AdminFeature, AdminRole, Backend, ComponentId, Continent, ManageErrorCode, ProjectFeature, Provider, STACKS, ServiceId, StackFeature, URLS };
|
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
// src/constants/serviceIds.ts
|
|
2
|
-
/**
|
|
3
|
-
* Every service a Keboola stack can announce in its `GET /v2/storage` index.
|
|
4
|
-
*
|
|
5
|
-
* - The values are the `id`s the stack reports; the service-client registry and `createStack`'s
|
|
6
|
-
* lookups narrow on them. The index itself stays `string` — a stack may announce more.
|
|
7
|
-
* - Callers enumerate them at runtime — a test double announcing every service, for one.
|
|
8
|
-
*/
|
|
9
|
-
const ServiceId = {
|
|
10
|
-
Vault: "vault",
|
|
11
|
-
DataScience: "data-science",
|
|
12
|
-
Encryption: "encryption",
|
|
13
|
-
Telemetry: "telemetry",
|
|
14
|
-
Ai: "ai",
|
|
15
|
-
Editor: "editor",
|
|
16
|
-
Import: "import",
|
|
17
|
-
Oauth: "oauth",
|
|
18
|
-
Query: "query",
|
|
19
|
-
Queue: "queue",
|
|
20
|
-
KaiAssistant: "kai-assistant",
|
|
21
|
-
KaiAgent: "kai-agent",
|
|
22
|
-
ComponentsMcp: "components-mcp",
|
|
23
|
-
SyncActions: "sync-actions",
|
|
24
|
-
Stream: "stream",
|
|
25
|
-
Notification: "notification",
|
|
26
|
-
Scheduler: "scheduler",
|
|
27
|
-
Metastore: "metastore",
|
|
28
|
-
Billing: "billing"
|
|
29
|
-
};
|
|
30
1
|
// src/constants/manageErrorCodes.ts
|
|
31
2
|
const ManageErrorCode = {
|
|
32
3
|
ProgrammaticProjectInvalidClaim: "manage.programmaticProjects.invalidClaim",
|
|
@@ -77,7 +48,8 @@ const ProjectFeature = {
|
|
|
77
48
|
AllowSharedSnowflakeAccess: "allow-shared-snowflake-access",
|
|
78
49
|
BigqueryDefaultImView: "bigquery-default-im-view",
|
|
79
50
|
BigqueryPolicyTags: "bigquery-policy-tags",
|
|
80
|
-
DataAppsDisabled: "data-apps-disabled"
|
|
51
|
+
DataAppsDisabled: "data-apps-disabled",
|
|
52
|
+
RowLevelSecurity: "row-level-security"
|
|
81
53
|
};
|
|
82
54
|
// src/constants/stackFeatures.ts
|
|
83
55
|
const StackFeature = {
|
|
@@ -295,6 +267,6 @@ const URLS = {
|
|
|
295
267
|
CLIENT_MAKE_GET_STARTED: "https://help.make.com/get-started",
|
|
296
268
|
CLIENT_DEVIN_DESKTOP: "https://docs.devin.ai/desktop/getting-started"
|
|
297
269
|
};
|
|
298
|
-
export { Backend as a, ProjectFeature as c, STACKS as i, ManageErrorCode as l, Continent as n, AdminFeature as o, Provider as r, StackFeature as s, URLS as t
|
|
270
|
+
export { Backend as a, ProjectFeature as c, STACKS as i, ManageErrorCode as l, Continent as n, AdminFeature as o, Provider as r, StackFeature as s, URLS as t };
|
|
299
271
|
|
|
300
|
-
//# sourceMappingURL=constants-
|
|
272
|
+
//# sourceMappingURL=constants-DLPkpnGv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants-Dqi0ewGv.js","names":[],"sources":["../src/constants/serviceIds.ts","../src/constants/manageErrorCodes.ts","../src/constants/projectFeatures.ts","../src/constants/stackFeatures.ts","../src/constants/adminFeatures.ts","../src/constants/backends.ts","../src/constants/stacks.ts","../src/constants/index.ts"],"sourcesContent":["/**\n * Every service a Keboola stack can announce in its `GET /v2/storage` index.\n *\n * - The values are the `id`s the stack reports; the service-client registry and `createStack`'s\n * lookups narrow on them. The index itself stays `string` — a stack may announce more.\n * - Callers enumerate them at runtime — a test double announcing every service, for one.\n */\nexport const ServiceId = {\n Vault: 'vault',\n DataScience: 'data-science',\n Encryption: 'encryption',\n Telemetry: 'telemetry',\n Ai: 'ai',\n Editor: 'editor',\n Import: 'import',\n Oauth: 'oauth',\n Query: 'query',\n Queue: 'queue',\n KaiAssistant: 'kai-assistant',\n KaiAgent: 'kai-agent',\n ComponentsMcp: 'components-mcp',\n SyncActions: 'sync-actions',\n Stream: 'stream',\n Notification: 'notification',\n Scheduler: 'scheduler',\n Metastore: 'metastore',\n Billing: 'billing',\n} as const;\n\nexport type ServiceId = (typeof ServiceId)[keyof typeof ServiceId];\n","export const ManageErrorCode = {\n ProgrammaticProjectInvalidClaim: 'manage.programmaticProjects.invalidClaim',\n ProgrammaticProjectRateLimited: 'manage.programmaticProjects.rateLimited',\n ProgrammaticProjectProvisioningFailed: 'manage.programmaticProjects.provisioningFailed',\n} as const;\n\nexport type ManageErrorCode = (typeof ManageErrorCode)[keyof typeof ManageErrorCode];\n","export const ProjectFeature = {\n SandboxesPythonSpark: 'sandboxes-python-spark',\n GcpMarketplaceByodb: 'gcp-marketplace-byodb',\n GcpMarketplaceByodbEmpty: 'gcp-marketplace-byodb-empty',\n FrontendLogin: 'frontend-login',\n ComponentsMcp: 'ai-components-mcp',\n PayAsYouGo: 'pay-as-you-go',\n ShowVault: 'show-vault',\n DeprecatedGoogleDriveTranspose: 'deprecated-google-drive-transpose',\n SandboxesPersistentVolume: 'sandboxes-persistent-volume',\n WorkspaceSnowflakeDynamicBackendSize: 'workspace-snowflake-dynamic-backend-size',\n DynamicBackendJobs: 'dynamic-backend-jobs',\n HasSimplifiedComponents: 'has-simplified-components',\n FlowMigration: 'flow-migration',\n FlowMigrationBatch1: 'flow-migration-batch1',\n FlowMigrationBatch2: 'flow-migration-batch2',\n FlowMigrationBatch3: 'flow-migration-batch3',\n OracleTransformations: 'oracle-transformations',\n ExternalBuckets: 'external-buckets',\n InputMappingReadOnlyStorage: 'input-mapping-read-only-storage',\n Artifacts: 'artifacts',\n SnowflakePartnerConnect: 'snowflake-partner-connect',\n SnowflakePartnerConnectLimited: 'snowflake-partner-connect-limited',\n NewNativeTypes: 'new-native-types',\n DisableLegacyBucketPrefix: 'disable-legacy-bucket-prefix',\n SoxProtectedDefaultBranch: 'protected-default-branch',\n StorageBranches: 'storage-branches',\n DataStreams: 'data-streams',\n AiLineage: 'ai-lineage',\n AiComponentSuggestion: 'ai-component-suggestion',\n AgentChat: 'agent-chat',\n AgentChatUseKaiAgentUrl: 'agent-chat-use-kai-agent-url',\n AgentChatModelTiers: 'agent-chat-model-tiers',\n BucketExposure: 'bucket-exposure',\n WebMcp: 'webmcp',\n SnowflakeRegisterExternalSecureDataShare: 'snowflake-register-external-secure-data-share',\n DirectGrantOutputMapping: 'direct-grant-output-mapping',\n EditorWithoutReadOnlyStorage: 'editor-without-read-only-storage',\n BranchesMergeRequests: 'branches-merge-requests',\n DenyExternalDatasetInputMapping: 'deny-external-dataset-input-mapping',\n AllowSharedSnowflakeAccess: 'allow-shared-snowflake-access',\n BigqueryDefaultImView: 'bigquery-default-im-view',\n BigqueryPolicyTags: 'bigquery-policy-tags',\n DataAppsDisabled: 'data-apps-disabled',\n} as const;\n\nexport type ProjectFeature = (typeof ProjectFeature)[keyof typeof ProjectFeature];\n","export const StackFeature = {\n SingleTenant: 'single-tenant',\n CanaryStack: 'canary-stack',\n DisableJuliaAndR: 'disable-julia-and-r',\n SamlRoles: 'saml-roles',\n NewOauthService: 'new-oauth-service-enabled',\n DataAppsEnforceAuth: 'data-apps-enforce-auth',\n AllowAi: 'allow-ai',\n UserWorkspaceDynamicBackendEnabled: 'user-workspace-dynamic-backend-enabled',\n McpEnabled: 'mcp-enabled',\n KaiEnabled: 'kai-enabled',\n AgentProvisioning: 'agent-provisioning',\n SandboxesPythonSpark: 'sandboxes-python-spark',\n} as const;\n\nexport type StackFeature = (typeof StackFeature)[keyof typeof StackFeature];\n","export const AdminFeature = {\n DisableAutosavingInFlows: 'disable-autosaving-in-flows',\n CanUpdateProjectSettings: 'can-update-project-settings',\n CanManageFeatures: 'can-manage-features',\n CanManageUsers: 'can-manage-users',\n CanManageDeletedProjects: 'can-manage-deleted-projects',\n CanManageProjectLimits: 'can-manage-project-limits',\n CanManageMaintainers: 'can-manage-maintainers',\n CanDisableProjects: 'can-disable-projects',\n CanReactivateWorkspaces: 'can-reactivate-workspaces',\n PowerUser: 'power-user',\n MuteSoundNotifications: 'mute-sound-notifications',\n} as const;\n\nexport type AdminFeature = (typeof AdminFeature)[keyof typeof AdminFeature];\n","export const Backend = {\n Snowflake: 'snowflake',\n Bigquery: 'bigquery',\n} as const;\n\nexport type Backend = (typeof Backend)[keyof typeof Backend];\n","export const Provider = {\n Aws: 'aws',\n Azure: 'azure',\n Gcp: 'gcp',\n} as const;\n\nexport type Provider = (typeof Provider)[keyof typeof Provider];\n\nexport const Continent = {\n Us: 'us',\n Europe: 'europe',\n} as const;\n\nexport type Continent = (typeof Continent)[keyof typeof Continent];\n\nexport type KeboolaStack = {\n id: string;\n host: string;\n isSingleTenant?: boolean;\n isTesting?: boolean;\n isPayg?: boolean;\n provider?: Provider;\n continent?: Continent;\n region?: string;\n isCanary?: boolean;\n};\n\nconst stacks = {\n NORTH_EUROPE_AZURE: {\n id: 'com-keboola-azure-north-europe',\n region: 'north-europe',\n host: 'connection.north-europe.azure.keboola.com',\n provider: 'azure',\n continent: 'europe',\n isPayg: true,\n },\n EU_CENTRAL_1_AWS: {\n id: 'kbc-eu-central-1',\n region: 'eu-central-1',\n host: 'connection.eu-central-1.keboola.com',\n provider: 'aws',\n continent: 'europe',\n },\n US_EAST_1_AWS: {\n id: 'kbc-us-east-1',\n region: 'us-east-1',\n host: 'connection.keboola.com',\n provider: 'aws',\n continent: 'us',\n },\n EUROPE_WEST3_GCP: {\n id: 'com-keboola-gcp-europe-west3',\n region: 'europe-west3',\n host: 'connection.europe-west3.gcp.keboola.com',\n provider: 'gcp',\n continent: 'europe',\n },\n US_EAST_4_GCP: {\n id: 'com-keboola-gcp-us-east4',\n region: 'us-east4',\n host: 'connection.us-east4.gcp.keboola.com',\n provider: 'gcp',\n continent: 'us',\n isPayg: true,\n },\n\n /* PRIVATE SINGLE TENANT STACKS\n ---------------------------- */\n HCI: {\n id: 'cloud-keboola-hci',\n host: 'connection.hci.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_PROD: {\n id: 'cloud-keboola-cs',\n host: 'connection.cs.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_TEST: {\n id: 'cloud-keboola-cs-test',\n host: 'connection.cs-test.keboola.cloud',\n isSingleTenant: true,\n },\n INNOGY: {\n id: 'cloud-keboola-innogy-hub',\n host: 'connection.innogy-hub.keboola.cloud',\n isSingleTenant: true,\n },\n GROUPON: {\n id: 'cloud-keboola-groupon',\n host: 'connection.groupon.keboola.cloud',\n isSingleTenant: true,\n },\n CREDIT_INFO: {\n id: 'cloud-keboola-creditinfo',\n host: 'connection.creditinfo.keboola.cloud',\n isSingleTenant: true,\n },\n COATES: {\n id: 'cloud-keboola-coates',\n host: 'connection.coates.keboola.cloud',\n isSingleTenant: true,\n },\n SLSP: {\n id: 'cloud-keboola-slsp',\n host: 'connection.slsp.keboola.cloud',\n isSingleTenant: true,\n },\n HCKZ: {\n id: 'cloud-keboola-hckz',\n host: 'connection.hckz.keboola.cloud',\n isSingleTenant: true,\n },\n PASHA: {\n id: 'cloud-keboola-pasha',\n host: 'connection.pasha.keboola.cloud',\n isSingleTenant: true,\n },\n RBI: {\n id: 'cloud-keboola-rbi',\n host: 'connection.rbi.keboola.cloud',\n isSingleTenant: true,\n },\n NAH: {\n id: 'cloud-keboola-nah',\n host: 'connection.nah.keboola.cloud',\n isSingleTenant: true,\n provider: 'azure',\n continent: 'us',\n },\n\n /* DEV STACKS\n ---------------------------- */\n DEV_US_CENTRAL_1_GCP: {\n id: 'dev-keboola-gcp-us-central1',\n region: 'us-central1',\n host: 'connection.us-central1.gcp.keboola.dev',\n provider: 'gcp',\n continent: 'us',\n isTesting: true,\n },\n DEV_EU_WEST_1_AWS: {\n id: 'dev-keboola-aws-eu-west-1',\n region: 'eu-west-1',\n host: 'connection.eu-west-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'europe',\n isTesting: true,\n },\n DEV_US_EAST_1_AWS_E2E: {\n id: 'dev-keboola-aws-us-east-1-e2e',\n region: 'us-east-1',\n host: 'connection.e2e.us-east-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'us',\n isTesting: true,\n },\n DEV_US_EAST_2_AZURE: {\n id: 'kbc-testing-azure-east-us-2',\n region: 'east-us-2',\n host: 'connection.east-us-2.azure.keboola-testing.com',\n provider: 'azure',\n continent: 'us',\n isTesting: true,\n },\n DEV_KEBOOLA_CANARY_ORION: {\n id: 'dev-keboola-canary-orion',\n region: 'europe-west3',\n host: 'connection.canary-orion.keboola.dev',\n provider: 'gcp',\n continent: 'europe',\n isCanary: true,\n },\n} satisfies Record<string, Readonly<KeboolaStack>>;\n\n/**\n * Every stack the platform knows, keyed by name.\n *\n * - The key set is literal, so a name that is not in the object is a compile error at the call site\n * rather than an `undefined` to fall back from.\n * - The value type stays the uniform `KeboolaStack`, so `stack.isCanary` reads on any entry, not\n * only on the ones that carry the flag.\n */\nexport const STACKS: Record<keyof typeof stacks, Readonly<KeboolaStack>> = stacks;\n","export { ComponentId } from './componentId';\nexport { ManageErrorCode } from './manageErrorCodes';\nexport { ProjectFeature } from './projectFeatures';\nexport { StackFeature } from './stackFeatures';\nexport { AdminFeature } from './adminFeatures';\nexport { Backend } from './backends';\nexport { AdminRole } from './adminRoles';\nexport { ServiceId } from './serviceIds';\nexport { Continent, Provider, STACKS } from './stacks';\nexport type { KeboolaStack } from './stacks';\n\nexport const URLS = {\n USER_DOCUMENTATION: 'https://help.keboola.com',\n COMPONENTS: 'https://components.keboola.com',\n DEVELOPERS_DOCUMENTATION: 'https://developers.keboola.com',\n ACADEMY: 'https://academy.keboola.com',\n SALES_CONTACT_FORM: 'https://keboola.com/contact',\n SNOWFLAKE: 'https://www.snowflake.com',\n SNOWFLAKE_DOCS: 'https://docs.snowflake.com',\n MCP: 'https://www.keboola.com/mcp',\n CLI: 'https://www.keboola.com/cli',\n NODE_JS: 'https://nodejs.org/en',\n CLAUDE_CONNECTORS: 'https://claude.ai/customize/connectors',\n // Vendor \"how do I get this client\" pages linked from the connect surfaces.\n CLIENT_CLAUDE_CODE_QUICKSTART: 'https://code.claude.com/docs/en/quickstart',\n CLIENT_CLAUDE_AI: 'https://claude.ai',\n CLIENT_CLAUDE_DESKTOP_DOWNLOAD: 'https://claude.com/download',\n CLIENT_CURSOR_QUICKSTART: 'https://cursor.com/docs/get-started/quickstart',\n CLIENT_VS_CODE_SETUP: 'https://code.visualstudio.com/docs/setup/setup-overview',\n CLIENT_CODEX_QUICKSTART: 'https://developers.openai.com/codex/cli',\n CLIENT_CHATGPT_DOWNLOAD: 'https://chatgpt.com/download',\n CLIENT_MAKE_GET_STARTED: 'https://help.make.com/get-started',\n CLIENT_DEVIN_DESKTOP: 'https://docs.devin.ai/desktop/getting-started',\n} as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants-DLPkpnGv.js","names":[],"sources":["../src/constants/manageErrorCodes.ts","../src/constants/projectFeatures.ts","../src/constants/stackFeatures.ts","../src/constants/adminFeatures.ts","../src/constants/backends.ts","../src/constants/stacks.ts","../src/constants/index.ts"],"sourcesContent":["export const ManageErrorCode = {\n ProgrammaticProjectInvalidClaim: 'manage.programmaticProjects.invalidClaim',\n ProgrammaticProjectRateLimited: 'manage.programmaticProjects.rateLimited',\n ProgrammaticProjectProvisioningFailed: 'manage.programmaticProjects.provisioningFailed',\n} as const;\n\nexport type ManageErrorCode = (typeof ManageErrorCode)[keyof typeof ManageErrorCode];\n","export const ProjectFeature = {\n SandboxesPythonSpark: 'sandboxes-python-spark',\n GcpMarketplaceByodb: 'gcp-marketplace-byodb',\n GcpMarketplaceByodbEmpty: 'gcp-marketplace-byodb-empty',\n FrontendLogin: 'frontend-login',\n ComponentsMcp: 'ai-components-mcp',\n PayAsYouGo: 'pay-as-you-go',\n ShowVault: 'show-vault',\n DeprecatedGoogleDriveTranspose: 'deprecated-google-drive-transpose',\n SandboxesPersistentVolume: 'sandboxes-persistent-volume',\n WorkspaceSnowflakeDynamicBackendSize: 'workspace-snowflake-dynamic-backend-size',\n DynamicBackendJobs: 'dynamic-backend-jobs',\n HasSimplifiedComponents: 'has-simplified-components',\n FlowMigration: 'flow-migration',\n FlowMigrationBatch1: 'flow-migration-batch1',\n FlowMigrationBatch2: 'flow-migration-batch2',\n FlowMigrationBatch3: 'flow-migration-batch3',\n OracleTransformations: 'oracle-transformations',\n ExternalBuckets: 'external-buckets',\n InputMappingReadOnlyStorage: 'input-mapping-read-only-storage',\n Artifacts: 'artifacts',\n SnowflakePartnerConnect: 'snowflake-partner-connect',\n SnowflakePartnerConnectLimited: 'snowflake-partner-connect-limited',\n NewNativeTypes: 'new-native-types',\n DisableLegacyBucketPrefix: 'disable-legacy-bucket-prefix',\n SoxProtectedDefaultBranch: 'protected-default-branch',\n StorageBranches: 'storage-branches',\n DataStreams: 'data-streams',\n AiLineage: 'ai-lineage',\n AiComponentSuggestion: 'ai-component-suggestion',\n AgentChat: 'agent-chat',\n AgentChatUseKaiAgentUrl: 'agent-chat-use-kai-agent-url',\n AgentChatModelTiers: 'agent-chat-model-tiers',\n BucketExposure: 'bucket-exposure',\n WebMcp: 'webmcp',\n SnowflakeRegisterExternalSecureDataShare: 'snowflake-register-external-secure-data-share',\n DirectGrantOutputMapping: 'direct-grant-output-mapping',\n EditorWithoutReadOnlyStorage: 'editor-without-read-only-storage',\n BranchesMergeRequests: 'branches-merge-requests',\n DenyExternalDatasetInputMapping: 'deny-external-dataset-input-mapping',\n AllowSharedSnowflakeAccess: 'allow-shared-snowflake-access',\n BigqueryDefaultImView: 'bigquery-default-im-view',\n BigqueryPolicyTags: 'bigquery-policy-tags',\n DataAppsDisabled: 'data-apps-disabled',\n RowLevelSecurity: 'row-level-security',\n} as const;\n\nexport type ProjectFeature = (typeof ProjectFeature)[keyof typeof ProjectFeature];\n","export const StackFeature = {\n SingleTenant: 'single-tenant',\n CanaryStack: 'canary-stack',\n DisableJuliaAndR: 'disable-julia-and-r',\n SamlRoles: 'saml-roles',\n NewOauthService: 'new-oauth-service-enabled',\n DataAppsEnforceAuth: 'data-apps-enforce-auth',\n AllowAi: 'allow-ai',\n UserWorkspaceDynamicBackendEnabled: 'user-workspace-dynamic-backend-enabled',\n McpEnabled: 'mcp-enabled',\n KaiEnabled: 'kai-enabled',\n AgentProvisioning: 'agent-provisioning',\n SandboxesPythonSpark: 'sandboxes-python-spark',\n} as const;\n\nexport type StackFeature = (typeof StackFeature)[keyof typeof StackFeature];\n","export const AdminFeature = {\n DisableAutosavingInFlows: 'disable-autosaving-in-flows',\n CanUpdateProjectSettings: 'can-update-project-settings',\n CanManageFeatures: 'can-manage-features',\n CanManageUsers: 'can-manage-users',\n CanManageDeletedProjects: 'can-manage-deleted-projects',\n CanManageProjectLimits: 'can-manage-project-limits',\n CanManageMaintainers: 'can-manage-maintainers',\n CanDisableProjects: 'can-disable-projects',\n CanReactivateWorkspaces: 'can-reactivate-workspaces',\n PowerUser: 'power-user',\n MuteSoundNotifications: 'mute-sound-notifications',\n} as const;\n\nexport type AdminFeature = (typeof AdminFeature)[keyof typeof AdminFeature];\n","export const Backend = {\n Snowflake: 'snowflake',\n Bigquery: 'bigquery',\n} as const;\n\nexport type Backend = (typeof Backend)[keyof typeof Backend];\n","export const Provider = {\n Aws: 'aws',\n Azure: 'azure',\n Gcp: 'gcp',\n} as const;\n\nexport type Provider = (typeof Provider)[keyof typeof Provider];\n\nexport const Continent = {\n Us: 'us',\n Europe: 'europe',\n} as const;\n\nexport type Continent = (typeof Continent)[keyof typeof Continent];\n\nexport type KeboolaStack = {\n id: string;\n host: string;\n isSingleTenant?: boolean;\n isTesting?: boolean;\n isPayg?: boolean;\n provider?: Provider;\n continent?: Continent;\n region?: string;\n isCanary?: boolean;\n};\n\nconst stacks = {\n NORTH_EUROPE_AZURE: {\n id: 'com-keboola-azure-north-europe',\n region: 'north-europe',\n host: 'connection.north-europe.azure.keboola.com',\n provider: 'azure',\n continent: 'europe',\n isPayg: true,\n },\n EU_CENTRAL_1_AWS: {\n id: 'kbc-eu-central-1',\n region: 'eu-central-1',\n host: 'connection.eu-central-1.keboola.com',\n provider: 'aws',\n continent: 'europe',\n },\n US_EAST_1_AWS: {\n id: 'kbc-us-east-1',\n region: 'us-east-1',\n host: 'connection.keboola.com',\n provider: 'aws',\n continent: 'us',\n },\n EUROPE_WEST3_GCP: {\n id: 'com-keboola-gcp-europe-west3',\n region: 'europe-west3',\n host: 'connection.europe-west3.gcp.keboola.com',\n provider: 'gcp',\n continent: 'europe',\n },\n US_EAST_4_GCP: {\n id: 'com-keboola-gcp-us-east4',\n region: 'us-east4',\n host: 'connection.us-east4.gcp.keboola.com',\n provider: 'gcp',\n continent: 'us',\n isPayg: true,\n },\n\n /* PRIVATE SINGLE TENANT STACKS\n ---------------------------- */\n HCI: {\n id: 'cloud-keboola-hci',\n host: 'connection.hci.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_PROD: {\n id: 'cloud-keboola-cs',\n host: 'connection.cs.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_TEST: {\n id: 'cloud-keboola-cs-test',\n host: 'connection.cs-test.keboola.cloud',\n isSingleTenant: true,\n },\n INNOGY: {\n id: 'cloud-keboola-innogy-hub',\n host: 'connection.innogy-hub.keboola.cloud',\n isSingleTenant: true,\n },\n GROUPON: {\n id: 'cloud-keboola-groupon',\n host: 'connection.groupon.keboola.cloud',\n isSingleTenant: true,\n },\n CREDIT_INFO: {\n id: 'cloud-keboola-creditinfo',\n host: 'connection.creditinfo.keboola.cloud',\n isSingleTenant: true,\n },\n COATES: {\n id: 'cloud-keboola-coates',\n host: 'connection.coates.keboola.cloud',\n isSingleTenant: true,\n },\n SLSP: {\n id: 'cloud-keboola-slsp',\n host: 'connection.slsp.keboola.cloud',\n isSingleTenant: true,\n },\n HCKZ: {\n id: 'cloud-keboola-hckz',\n host: 'connection.hckz.keboola.cloud',\n isSingleTenant: true,\n },\n PASHA: {\n id: 'cloud-keboola-pasha',\n host: 'connection.pasha.keboola.cloud',\n isSingleTenant: true,\n },\n RBI: {\n id: 'cloud-keboola-rbi',\n host: 'connection.rbi.keboola.cloud',\n isSingleTenant: true,\n },\n NAH: {\n id: 'cloud-keboola-nah',\n host: 'connection.nah.keboola.cloud',\n isSingleTenant: true,\n provider: 'azure',\n continent: 'us',\n },\n\n /* DEV STACKS\n ---------------------------- */\n DEV_US_CENTRAL_1_GCP: {\n id: 'dev-keboola-gcp-us-central1',\n region: 'us-central1',\n host: 'connection.us-central1.gcp.keboola.dev',\n provider: 'gcp',\n continent: 'us',\n isTesting: true,\n },\n DEV_EU_WEST_1_AWS: {\n id: 'dev-keboola-aws-eu-west-1',\n region: 'eu-west-1',\n host: 'connection.eu-west-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'europe',\n isTesting: true,\n },\n DEV_US_EAST_1_AWS_E2E: {\n id: 'dev-keboola-aws-us-east-1-e2e',\n region: 'us-east-1',\n host: 'connection.e2e.us-east-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'us',\n isTesting: true,\n },\n DEV_US_EAST_2_AZURE: {\n id: 'kbc-testing-azure-east-us-2',\n region: 'east-us-2',\n host: 'connection.east-us-2.azure.keboola-testing.com',\n provider: 'azure',\n continent: 'us',\n isTesting: true,\n },\n DEV_KEBOOLA_CANARY_ORION: {\n id: 'dev-keboola-canary-orion',\n region: 'europe-west3',\n host: 'connection.canary-orion.keboola.dev',\n provider: 'gcp',\n continent: 'europe',\n isCanary: true,\n },\n} satisfies Record<string, Readonly<KeboolaStack>>;\n\n/**\n * Every stack the platform knows, keyed by name.\n *\n * - The key set is literal, so a name that is not in the object is a compile error at the call site\n * rather than an `undefined` to fall back from.\n * - The value type stays the uniform `KeboolaStack`, so `stack.isCanary` reads on any entry, not\n * only on the ones that carry the flag.\n */\nexport const STACKS: Record<keyof typeof stacks, Readonly<KeboolaStack>> = stacks;\n","export { ComponentId } from './componentId';\nexport { ManageErrorCode } from './manageErrorCodes';\nexport { ProjectFeature } from './projectFeatures';\nexport { StackFeature } from './stackFeatures';\nexport { AdminFeature } from './adminFeatures';\nexport { Backend } from './backends';\nexport { AdminRole } from './adminRoles';\nexport { ServiceId } from './serviceIds';\nexport { Continent, Provider, STACKS } from './stacks';\nexport type { KeboolaStack } from './stacks';\n\nexport const URLS = {\n USER_DOCUMENTATION: 'https://help.keboola.com',\n COMPONENTS: 'https://components.keboola.com',\n DEVELOPERS_DOCUMENTATION: 'https://developers.keboola.com',\n ACADEMY: 'https://academy.keboola.com',\n SALES_CONTACT_FORM: 'https://keboola.com/contact',\n SNOWFLAKE: 'https://www.snowflake.com',\n SNOWFLAKE_DOCS: 'https://docs.snowflake.com',\n MCP: 'https://www.keboola.com/mcp',\n CLI: 'https://www.keboola.com/cli',\n NODE_JS: 'https://nodejs.org/en',\n CLAUDE_CONNECTORS: 'https://claude.ai/customize/connectors',\n // Vendor \"how do I get this client\" pages linked from the connect surfaces.\n CLIENT_CLAUDE_CODE_QUICKSTART: 'https://code.claude.com/docs/en/quickstart',\n CLIENT_CLAUDE_AI: 'https://claude.ai',\n CLIENT_CLAUDE_DESKTOP_DOWNLOAD: 'https://claude.com/download',\n CLIENT_CURSOR_QUICKSTART: 'https://cursor.com/docs/get-started/quickstart',\n CLIENT_VS_CODE_SETUP: 'https://code.visualstudio.com/docs/setup/setup-overview',\n CLIENT_CODEX_QUICKSTART: 'https://developers.openai.com/codex/cli',\n CLIENT_CHATGPT_DOWNLOAD: 'https://chatgpt.com/download',\n CLIENT_MAKE_GET_STARTED: 'https://help.make.com/get-started',\n CLIENT_DEVIN_DESKTOP: 'https://docs.devin.ai/desktop/getting-started',\n} as const;\n"],"mappings":"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"}
|
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
// src/constants/serviceIds.ts
|
|
2
|
-
/**
|
|
3
|
-
* Every service a Keboola stack can announce in its `GET /v2/storage` index.
|
|
4
|
-
*
|
|
5
|
-
* - The values are the `id`s the stack reports; the service-client registry and `createStack`'s
|
|
6
|
-
* lookups narrow on them. The index itself stays `string` — a stack may announce more.
|
|
7
|
-
* - Callers enumerate them at runtime — a test double announcing every service, for one.
|
|
8
|
-
*/
|
|
9
|
-
const ServiceId = {
|
|
10
|
-
Vault: "vault",
|
|
11
|
-
DataScience: "data-science",
|
|
12
|
-
Encryption: "encryption",
|
|
13
|
-
Telemetry: "telemetry",
|
|
14
|
-
Ai: "ai",
|
|
15
|
-
Editor: "editor",
|
|
16
|
-
Import: "import",
|
|
17
|
-
Oauth: "oauth",
|
|
18
|
-
Query: "query",
|
|
19
|
-
Queue: "queue",
|
|
20
|
-
KaiAssistant: "kai-assistant",
|
|
21
|
-
KaiAgent: "kai-agent",
|
|
22
|
-
ComponentsMcp: "components-mcp",
|
|
23
|
-
SyncActions: "sync-actions",
|
|
24
|
-
Stream: "stream",
|
|
25
|
-
Notification: "notification",
|
|
26
|
-
Scheduler: "scheduler",
|
|
27
|
-
Metastore: "metastore",
|
|
28
|
-
Billing: "billing"
|
|
29
|
-
};
|
|
30
1
|
// src/constants/manageErrorCodes.ts
|
|
31
2
|
const ManageErrorCode = {
|
|
32
3
|
ProgrammaticProjectInvalidClaim: "manage.programmaticProjects.invalidClaim",
|
|
@@ -77,7 +48,8 @@ const ProjectFeature = {
|
|
|
77
48
|
AllowSharedSnowflakeAccess: "allow-shared-snowflake-access",
|
|
78
49
|
BigqueryDefaultImView: "bigquery-default-im-view",
|
|
79
50
|
BigqueryPolicyTags: "bigquery-policy-tags",
|
|
80
|
-
DataAppsDisabled: "data-apps-disabled"
|
|
51
|
+
DataAppsDisabled: "data-apps-disabled",
|
|
52
|
+
RowLevelSecurity: "row-level-security"
|
|
81
53
|
};
|
|
82
54
|
// src/constants/stackFeatures.ts
|
|
83
55
|
const StackFeature = {
|
|
@@ -337,12 +309,6 @@ Object.defineProperty(exports, "STACKS", {
|
|
|
337
309
|
return STACKS;
|
|
338
310
|
}
|
|
339
311
|
});
|
|
340
|
-
Object.defineProperty(exports, "ServiceId", {
|
|
341
|
-
enumerable: true,
|
|
342
|
-
get: function() {
|
|
343
|
-
return ServiceId;
|
|
344
|
-
}
|
|
345
|
-
});
|
|
346
312
|
Object.defineProperty(exports, "StackFeature", {
|
|
347
313
|
enumerable: true,
|
|
348
314
|
get: function() {
|
|
@@ -356,4 +322,4 @@ Object.defineProperty(exports, "URLS", {
|
|
|
356
322
|
}
|
|
357
323
|
});
|
|
358
324
|
|
|
359
|
-
//# sourceMappingURL=constants-
|
|
325
|
+
//# sourceMappingURL=constants-Day8CU5i.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants-d0Do9NSN.cjs","names":[],"sources":["../src/constants/serviceIds.ts","../src/constants/manageErrorCodes.ts","../src/constants/projectFeatures.ts","../src/constants/stackFeatures.ts","../src/constants/adminFeatures.ts","../src/constants/backends.ts","../src/constants/stacks.ts","../src/constants/index.ts"],"sourcesContent":["/**\n * Every service a Keboola stack can announce in its `GET /v2/storage` index.\n *\n * - The values are the `id`s the stack reports; the service-client registry and `createStack`'s\n * lookups narrow on them. The index itself stays `string` — a stack may announce more.\n * - Callers enumerate them at runtime — a test double announcing every service, for one.\n */\nexport const ServiceId = {\n Vault: 'vault',\n DataScience: 'data-science',\n Encryption: 'encryption',\n Telemetry: 'telemetry',\n Ai: 'ai',\n Editor: 'editor',\n Import: 'import',\n Oauth: 'oauth',\n Query: 'query',\n Queue: 'queue',\n KaiAssistant: 'kai-assistant',\n KaiAgent: 'kai-agent',\n ComponentsMcp: 'components-mcp',\n SyncActions: 'sync-actions',\n Stream: 'stream',\n Notification: 'notification',\n Scheduler: 'scheduler',\n Metastore: 'metastore',\n Billing: 'billing',\n} as const;\n\nexport type ServiceId = (typeof ServiceId)[keyof typeof ServiceId];\n","export const ManageErrorCode = {\n ProgrammaticProjectInvalidClaim: 'manage.programmaticProjects.invalidClaim',\n ProgrammaticProjectRateLimited: 'manage.programmaticProjects.rateLimited',\n ProgrammaticProjectProvisioningFailed: 'manage.programmaticProjects.provisioningFailed',\n} as const;\n\nexport type ManageErrorCode = (typeof ManageErrorCode)[keyof typeof ManageErrorCode];\n","export const ProjectFeature = {\n SandboxesPythonSpark: 'sandboxes-python-spark',\n GcpMarketplaceByodb: 'gcp-marketplace-byodb',\n GcpMarketplaceByodbEmpty: 'gcp-marketplace-byodb-empty',\n FrontendLogin: 'frontend-login',\n ComponentsMcp: 'ai-components-mcp',\n PayAsYouGo: 'pay-as-you-go',\n ShowVault: 'show-vault',\n DeprecatedGoogleDriveTranspose: 'deprecated-google-drive-transpose',\n SandboxesPersistentVolume: 'sandboxes-persistent-volume',\n WorkspaceSnowflakeDynamicBackendSize: 'workspace-snowflake-dynamic-backend-size',\n DynamicBackendJobs: 'dynamic-backend-jobs',\n HasSimplifiedComponents: 'has-simplified-components',\n FlowMigration: 'flow-migration',\n FlowMigrationBatch1: 'flow-migration-batch1',\n FlowMigrationBatch2: 'flow-migration-batch2',\n FlowMigrationBatch3: 'flow-migration-batch3',\n OracleTransformations: 'oracle-transformations',\n ExternalBuckets: 'external-buckets',\n InputMappingReadOnlyStorage: 'input-mapping-read-only-storage',\n Artifacts: 'artifacts',\n SnowflakePartnerConnect: 'snowflake-partner-connect',\n SnowflakePartnerConnectLimited: 'snowflake-partner-connect-limited',\n NewNativeTypes: 'new-native-types',\n DisableLegacyBucketPrefix: 'disable-legacy-bucket-prefix',\n SoxProtectedDefaultBranch: 'protected-default-branch',\n StorageBranches: 'storage-branches',\n DataStreams: 'data-streams',\n AiLineage: 'ai-lineage',\n AiComponentSuggestion: 'ai-component-suggestion',\n AgentChat: 'agent-chat',\n AgentChatUseKaiAgentUrl: 'agent-chat-use-kai-agent-url',\n AgentChatModelTiers: 'agent-chat-model-tiers',\n BucketExposure: 'bucket-exposure',\n WebMcp: 'webmcp',\n SnowflakeRegisterExternalSecureDataShare: 'snowflake-register-external-secure-data-share',\n DirectGrantOutputMapping: 'direct-grant-output-mapping',\n EditorWithoutReadOnlyStorage: 'editor-without-read-only-storage',\n BranchesMergeRequests: 'branches-merge-requests',\n DenyExternalDatasetInputMapping: 'deny-external-dataset-input-mapping',\n AllowSharedSnowflakeAccess: 'allow-shared-snowflake-access',\n BigqueryDefaultImView: 'bigquery-default-im-view',\n BigqueryPolicyTags: 'bigquery-policy-tags',\n DataAppsDisabled: 'data-apps-disabled',\n} as const;\n\nexport type ProjectFeature = (typeof ProjectFeature)[keyof typeof ProjectFeature];\n","export const StackFeature = {\n SingleTenant: 'single-tenant',\n CanaryStack: 'canary-stack',\n DisableJuliaAndR: 'disable-julia-and-r',\n SamlRoles: 'saml-roles',\n NewOauthService: 'new-oauth-service-enabled',\n DataAppsEnforceAuth: 'data-apps-enforce-auth',\n AllowAi: 'allow-ai',\n UserWorkspaceDynamicBackendEnabled: 'user-workspace-dynamic-backend-enabled',\n McpEnabled: 'mcp-enabled',\n KaiEnabled: 'kai-enabled',\n AgentProvisioning: 'agent-provisioning',\n SandboxesPythonSpark: 'sandboxes-python-spark',\n} as const;\n\nexport type StackFeature = (typeof StackFeature)[keyof typeof StackFeature];\n","export const AdminFeature = {\n DisableAutosavingInFlows: 'disable-autosaving-in-flows',\n CanUpdateProjectSettings: 'can-update-project-settings',\n CanManageFeatures: 'can-manage-features',\n CanManageUsers: 'can-manage-users',\n CanManageDeletedProjects: 'can-manage-deleted-projects',\n CanManageProjectLimits: 'can-manage-project-limits',\n CanManageMaintainers: 'can-manage-maintainers',\n CanDisableProjects: 'can-disable-projects',\n CanReactivateWorkspaces: 'can-reactivate-workspaces',\n PowerUser: 'power-user',\n MuteSoundNotifications: 'mute-sound-notifications',\n} as const;\n\nexport type AdminFeature = (typeof AdminFeature)[keyof typeof AdminFeature];\n","export const Backend = {\n Snowflake: 'snowflake',\n Bigquery: 'bigquery',\n} as const;\n\nexport type Backend = (typeof Backend)[keyof typeof Backend];\n","export const Provider = {\n Aws: 'aws',\n Azure: 'azure',\n Gcp: 'gcp',\n} as const;\n\nexport type Provider = (typeof Provider)[keyof typeof Provider];\n\nexport const Continent = {\n Us: 'us',\n Europe: 'europe',\n} as const;\n\nexport type Continent = (typeof Continent)[keyof typeof Continent];\n\nexport type KeboolaStack = {\n id: string;\n host: string;\n isSingleTenant?: boolean;\n isTesting?: boolean;\n isPayg?: boolean;\n provider?: Provider;\n continent?: Continent;\n region?: string;\n isCanary?: boolean;\n};\n\nconst stacks = {\n NORTH_EUROPE_AZURE: {\n id: 'com-keboola-azure-north-europe',\n region: 'north-europe',\n host: 'connection.north-europe.azure.keboola.com',\n provider: 'azure',\n continent: 'europe',\n isPayg: true,\n },\n EU_CENTRAL_1_AWS: {\n id: 'kbc-eu-central-1',\n region: 'eu-central-1',\n host: 'connection.eu-central-1.keboola.com',\n provider: 'aws',\n continent: 'europe',\n },\n US_EAST_1_AWS: {\n id: 'kbc-us-east-1',\n region: 'us-east-1',\n host: 'connection.keboola.com',\n provider: 'aws',\n continent: 'us',\n },\n EUROPE_WEST3_GCP: {\n id: 'com-keboola-gcp-europe-west3',\n region: 'europe-west3',\n host: 'connection.europe-west3.gcp.keboola.com',\n provider: 'gcp',\n continent: 'europe',\n },\n US_EAST_4_GCP: {\n id: 'com-keboola-gcp-us-east4',\n region: 'us-east4',\n host: 'connection.us-east4.gcp.keboola.com',\n provider: 'gcp',\n continent: 'us',\n isPayg: true,\n },\n\n /* PRIVATE SINGLE TENANT STACKS\n ---------------------------- */\n HCI: {\n id: 'cloud-keboola-hci',\n host: 'connection.hci.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_PROD: {\n id: 'cloud-keboola-cs',\n host: 'connection.cs.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_TEST: {\n id: 'cloud-keboola-cs-test',\n host: 'connection.cs-test.keboola.cloud',\n isSingleTenant: true,\n },\n INNOGY: {\n id: 'cloud-keboola-innogy-hub',\n host: 'connection.innogy-hub.keboola.cloud',\n isSingleTenant: true,\n },\n GROUPON: {\n id: 'cloud-keboola-groupon',\n host: 'connection.groupon.keboola.cloud',\n isSingleTenant: true,\n },\n CREDIT_INFO: {\n id: 'cloud-keboola-creditinfo',\n host: 'connection.creditinfo.keboola.cloud',\n isSingleTenant: true,\n },\n COATES: {\n id: 'cloud-keboola-coates',\n host: 'connection.coates.keboola.cloud',\n isSingleTenant: true,\n },\n SLSP: {\n id: 'cloud-keboola-slsp',\n host: 'connection.slsp.keboola.cloud',\n isSingleTenant: true,\n },\n HCKZ: {\n id: 'cloud-keboola-hckz',\n host: 'connection.hckz.keboola.cloud',\n isSingleTenant: true,\n },\n PASHA: {\n id: 'cloud-keboola-pasha',\n host: 'connection.pasha.keboola.cloud',\n isSingleTenant: true,\n },\n RBI: {\n id: 'cloud-keboola-rbi',\n host: 'connection.rbi.keboola.cloud',\n isSingleTenant: true,\n },\n NAH: {\n id: 'cloud-keboola-nah',\n host: 'connection.nah.keboola.cloud',\n isSingleTenant: true,\n provider: 'azure',\n continent: 'us',\n },\n\n /* DEV STACKS\n ---------------------------- */\n DEV_US_CENTRAL_1_GCP: {\n id: 'dev-keboola-gcp-us-central1',\n region: 'us-central1',\n host: 'connection.us-central1.gcp.keboola.dev',\n provider: 'gcp',\n continent: 'us',\n isTesting: true,\n },\n DEV_EU_WEST_1_AWS: {\n id: 'dev-keboola-aws-eu-west-1',\n region: 'eu-west-1',\n host: 'connection.eu-west-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'europe',\n isTesting: true,\n },\n DEV_US_EAST_1_AWS_E2E: {\n id: 'dev-keboola-aws-us-east-1-e2e',\n region: 'us-east-1',\n host: 'connection.e2e.us-east-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'us',\n isTesting: true,\n },\n DEV_US_EAST_2_AZURE: {\n id: 'kbc-testing-azure-east-us-2',\n region: 'east-us-2',\n host: 'connection.east-us-2.azure.keboola-testing.com',\n provider: 'azure',\n continent: 'us',\n isTesting: true,\n },\n DEV_KEBOOLA_CANARY_ORION: {\n id: 'dev-keboola-canary-orion',\n region: 'europe-west3',\n host: 'connection.canary-orion.keboola.dev',\n provider: 'gcp',\n continent: 'europe',\n isCanary: true,\n },\n} satisfies Record<string, Readonly<KeboolaStack>>;\n\n/**\n * Every stack the platform knows, keyed by name.\n *\n * - The key set is literal, so a name that is not in the object is a compile error at the call site\n * rather than an `undefined` to fall back from.\n * - The value type stays the uniform `KeboolaStack`, so `stack.isCanary` reads on any entry, not\n * only on the ones that carry the flag.\n */\nexport const STACKS: Record<keyof typeof stacks, Readonly<KeboolaStack>> = stacks;\n","export { ComponentId } from './componentId';\nexport { ManageErrorCode } from './manageErrorCodes';\nexport { ProjectFeature } from './projectFeatures';\nexport { StackFeature } from './stackFeatures';\nexport { AdminFeature } from './adminFeatures';\nexport { Backend } from './backends';\nexport { AdminRole } from './adminRoles';\nexport { ServiceId } from './serviceIds';\nexport { Continent, Provider, STACKS } from './stacks';\nexport type { KeboolaStack } from './stacks';\n\nexport const URLS = {\n USER_DOCUMENTATION: 'https://help.keboola.com',\n COMPONENTS: 'https://components.keboola.com',\n DEVELOPERS_DOCUMENTATION: 'https://developers.keboola.com',\n ACADEMY: 'https://academy.keboola.com',\n SALES_CONTACT_FORM: 'https://keboola.com/contact',\n SNOWFLAKE: 'https://www.snowflake.com',\n SNOWFLAKE_DOCS: 'https://docs.snowflake.com',\n MCP: 'https://www.keboola.com/mcp',\n CLI: 'https://www.keboola.com/cli',\n NODE_JS: 'https://nodejs.org/en',\n CLAUDE_CONNECTORS: 'https://claude.ai/customize/connectors',\n // Vendor \"how do I get this client\" pages linked from the connect surfaces.\n CLIENT_CLAUDE_CODE_QUICKSTART: 'https://code.claude.com/docs/en/quickstart',\n CLIENT_CLAUDE_AI: 'https://claude.ai',\n CLIENT_CLAUDE_DESKTOP_DOWNLOAD: 'https://claude.com/download',\n CLIENT_CURSOR_QUICKSTART: 'https://cursor.com/docs/get-started/quickstart',\n CLIENT_VS_CODE_SETUP: 'https://code.visualstudio.com/docs/setup/setup-overview',\n CLIENT_CODEX_QUICKSTART: 'https://developers.openai.com/codex/cli',\n CLIENT_CHATGPT_DOWNLOAD: 'https://chatgpt.com/download',\n CLIENT_MAKE_GET_STARTED: 'https://help.make.com/get-started',\n CLIENT_DEVIN_DESKTOP: 'https://docs.devin.ai/desktop/getting-started',\n} as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants-Day8CU5i.cjs","names":[],"sources":["../src/constants/manageErrorCodes.ts","../src/constants/projectFeatures.ts","../src/constants/stackFeatures.ts","../src/constants/adminFeatures.ts","../src/constants/backends.ts","../src/constants/stacks.ts","../src/constants/index.ts"],"sourcesContent":["export const ManageErrorCode = {\n ProgrammaticProjectInvalidClaim: 'manage.programmaticProjects.invalidClaim',\n ProgrammaticProjectRateLimited: 'manage.programmaticProjects.rateLimited',\n ProgrammaticProjectProvisioningFailed: 'manage.programmaticProjects.provisioningFailed',\n} as const;\n\nexport type ManageErrorCode = (typeof ManageErrorCode)[keyof typeof ManageErrorCode];\n","export const ProjectFeature = {\n SandboxesPythonSpark: 'sandboxes-python-spark',\n GcpMarketplaceByodb: 'gcp-marketplace-byodb',\n GcpMarketplaceByodbEmpty: 'gcp-marketplace-byodb-empty',\n FrontendLogin: 'frontend-login',\n ComponentsMcp: 'ai-components-mcp',\n PayAsYouGo: 'pay-as-you-go',\n ShowVault: 'show-vault',\n DeprecatedGoogleDriveTranspose: 'deprecated-google-drive-transpose',\n SandboxesPersistentVolume: 'sandboxes-persistent-volume',\n WorkspaceSnowflakeDynamicBackendSize: 'workspace-snowflake-dynamic-backend-size',\n DynamicBackendJobs: 'dynamic-backend-jobs',\n HasSimplifiedComponents: 'has-simplified-components',\n FlowMigration: 'flow-migration',\n FlowMigrationBatch1: 'flow-migration-batch1',\n FlowMigrationBatch2: 'flow-migration-batch2',\n FlowMigrationBatch3: 'flow-migration-batch3',\n OracleTransformations: 'oracle-transformations',\n ExternalBuckets: 'external-buckets',\n InputMappingReadOnlyStorage: 'input-mapping-read-only-storage',\n Artifacts: 'artifacts',\n SnowflakePartnerConnect: 'snowflake-partner-connect',\n SnowflakePartnerConnectLimited: 'snowflake-partner-connect-limited',\n NewNativeTypes: 'new-native-types',\n DisableLegacyBucketPrefix: 'disable-legacy-bucket-prefix',\n SoxProtectedDefaultBranch: 'protected-default-branch',\n StorageBranches: 'storage-branches',\n DataStreams: 'data-streams',\n AiLineage: 'ai-lineage',\n AiComponentSuggestion: 'ai-component-suggestion',\n AgentChat: 'agent-chat',\n AgentChatUseKaiAgentUrl: 'agent-chat-use-kai-agent-url',\n AgentChatModelTiers: 'agent-chat-model-tiers',\n BucketExposure: 'bucket-exposure',\n WebMcp: 'webmcp',\n SnowflakeRegisterExternalSecureDataShare: 'snowflake-register-external-secure-data-share',\n DirectGrantOutputMapping: 'direct-grant-output-mapping',\n EditorWithoutReadOnlyStorage: 'editor-without-read-only-storage',\n BranchesMergeRequests: 'branches-merge-requests',\n DenyExternalDatasetInputMapping: 'deny-external-dataset-input-mapping',\n AllowSharedSnowflakeAccess: 'allow-shared-snowflake-access',\n BigqueryDefaultImView: 'bigquery-default-im-view',\n BigqueryPolicyTags: 'bigquery-policy-tags',\n DataAppsDisabled: 'data-apps-disabled',\n RowLevelSecurity: 'row-level-security',\n} as const;\n\nexport type ProjectFeature = (typeof ProjectFeature)[keyof typeof ProjectFeature];\n","export const StackFeature = {\n SingleTenant: 'single-tenant',\n CanaryStack: 'canary-stack',\n DisableJuliaAndR: 'disable-julia-and-r',\n SamlRoles: 'saml-roles',\n NewOauthService: 'new-oauth-service-enabled',\n DataAppsEnforceAuth: 'data-apps-enforce-auth',\n AllowAi: 'allow-ai',\n UserWorkspaceDynamicBackendEnabled: 'user-workspace-dynamic-backend-enabled',\n McpEnabled: 'mcp-enabled',\n KaiEnabled: 'kai-enabled',\n AgentProvisioning: 'agent-provisioning',\n SandboxesPythonSpark: 'sandboxes-python-spark',\n} as const;\n\nexport type StackFeature = (typeof StackFeature)[keyof typeof StackFeature];\n","export const AdminFeature = {\n DisableAutosavingInFlows: 'disable-autosaving-in-flows',\n CanUpdateProjectSettings: 'can-update-project-settings',\n CanManageFeatures: 'can-manage-features',\n CanManageUsers: 'can-manage-users',\n CanManageDeletedProjects: 'can-manage-deleted-projects',\n CanManageProjectLimits: 'can-manage-project-limits',\n CanManageMaintainers: 'can-manage-maintainers',\n CanDisableProjects: 'can-disable-projects',\n CanReactivateWorkspaces: 'can-reactivate-workspaces',\n PowerUser: 'power-user',\n MuteSoundNotifications: 'mute-sound-notifications',\n} as const;\n\nexport type AdminFeature = (typeof AdminFeature)[keyof typeof AdminFeature];\n","export const Backend = {\n Snowflake: 'snowflake',\n Bigquery: 'bigquery',\n} as const;\n\nexport type Backend = (typeof Backend)[keyof typeof Backend];\n","export const Provider = {\n Aws: 'aws',\n Azure: 'azure',\n Gcp: 'gcp',\n} as const;\n\nexport type Provider = (typeof Provider)[keyof typeof Provider];\n\nexport const Continent = {\n Us: 'us',\n Europe: 'europe',\n} as const;\n\nexport type Continent = (typeof Continent)[keyof typeof Continent];\n\nexport type KeboolaStack = {\n id: string;\n host: string;\n isSingleTenant?: boolean;\n isTesting?: boolean;\n isPayg?: boolean;\n provider?: Provider;\n continent?: Continent;\n region?: string;\n isCanary?: boolean;\n};\n\nconst stacks = {\n NORTH_EUROPE_AZURE: {\n id: 'com-keboola-azure-north-europe',\n region: 'north-europe',\n host: 'connection.north-europe.azure.keboola.com',\n provider: 'azure',\n continent: 'europe',\n isPayg: true,\n },\n EU_CENTRAL_1_AWS: {\n id: 'kbc-eu-central-1',\n region: 'eu-central-1',\n host: 'connection.eu-central-1.keboola.com',\n provider: 'aws',\n continent: 'europe',\n },\n US_EAST_1_AWS: {\n id: 'kbc-us-east-1',\n region: 'us-east-1',\n host: 'connection.keboola.com',\n provider: 'aws',\n continent: 'us',\n },\n EUROPE_WEST3_GCP: {\n id: 'com-keboola-gcp-europe-west3',\n region: 'europe-west3',\n host: 'connection.europe-west3.gcp.keboola.com',\n provider: 'gcp',\n continent: 'europe',\n },\n US_EAST_4_GCP: {\n id: 'com-keboola-gcp-us-east4',\n region: 'us-east4',\n host: 'connection.us-east4.gcp.keboola.com',\n provider: 'gcp',\n continent: 'us',\n isPayg: true,\n },\n\n /* PRIVATE SINGLE TENANT STACKS\n ---------------------------- */\n HCI: {\n id: 'cloud-keboola-hci',\n host: 'connection.hci.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_PROD: {\n id: 'cloud-keboola-cs',\n host: 'connection.cs.keboola.cloud',\n isSingleTenant: true,\n },\n CSAS_TEST: {\n id: 'cloud-keboola-cs-test',\n host: 'connection.cs-test.keboola.cloud',\n isSingleTenant: true,\n },\n INNOGY: {\n id: 'cloud-keboola-innogy-hub',\n host: 'connection.innogy-hub.keboola.cloud',\n isSingleTenant: true,\n },\n GROUPON: {\n id: 'cloud-keboola-groupon',\n host: 'connection.groupon.keboola.cloud',\n isSingleTenant: true,\n },\n CREDIT_INFO: {\n id: 'cloud-keboola-creditinfo',\n host: 'connection.creditinfo.keboola.cloud',\n isSingleTenant: true,\n },\n COATES: {\n id: 'cloud-keboola-coates',\n host: 'connection.coates.keboola.cloud',\n isSingleTenant: true,\n },\n SLSP: {\n id: 'cloud-keboola-slsp',\n host: 'connection.slsp.keboola.cloud',\n isSingleTenant: true,\n },\n HCKZ: {\n id: 'cloud-keboola-hckz',\n host: 'connection.hckz.keboola.cloud',\n isSingleTenant: true,\n },\n PASHA: {\n id: 'cloud-keboola-pasha',\n host: 'connection.pasha.keboola.cloud',\n isSingleTenant: true,\n },\n RBI: {\n id: 'cloud-keboola-rbi',\n host: 'connection.rbi.keboola.cloud',\n isSingleTenant: true,\n },\n NAH: {\n id: 'cloud-keboola-nah',\n host: 'connection.nah.keboola.cloud',\n isSingleTenant: true,\n provider: 'azure',\n continent: 'us',\n },\n\n /* DEV STACKS\n ---------------------------- */\n DEV_US_CENTRAL_1_GCP: {\n id: 'dev-keboola-gcp-us-central1',\n region: 'us-central1',\n host: 'connection.us-central1.gcp.keboola.dev',\n provider: 'gcp',\n continent: 'us',\n isTesting: true,\n },\n DEV_EU_WEST_1_AWS: {\n id: 'dev-keboola-aws-eu-west-1',\n region: 'eu-west-1',\n host: 'connection.eu-west-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'europe',\n isTesting: true,\n },\n DEV_US_EAST_1_AWS_E2E: {\n id: 'dev-keboola-aws-us-east-1-e2e',\n region: 'us-east-1',\n host: 'connection.e2e.us-east-1.aws.keboola.dev',\n provider: 'aws',\n continent: 'us',\n isTesting: true,\n },\n DEV_US_EAST_2_AZURE: {\n id: 'kbc-testing-azure-east-us-2',\n region: 'east-us-2',\n host: 'connection.east-us-2.azure.keboola-testing.com',\n provider: 'azure',\n continent: 'us',\n isTesting: true,\n },\n DEV_KEBOOLA_CANARY_ORION: {\n id: 'dev-keboola-canary-orion',\n region: 'europe-west3',\n host: 'connection.canary-orion.keboola.dev',\n provider: 'gcp',\n continent: 'europe',\n isCanary: true,\n },\n} satisfies Record<string, Readonly<KeboolaStack>>;\n\n/**\n * Every stack the platform knows, keyed by name.\n *\n * - The key set is literal, so a name that is not in the object is a compile error at the call site\n * rather than an `undefined` to fall back from.\n * - The value type stays the uniform `KeboolaStack`, so `stack.isCanary` reads on any entry, not\n * only on the ones that carry the flag.\n */\nexport const STACKS: Record<keyof typeof stacks, Readonly<KeboolaStack>> = stacks;\n","export { ComponentId } from './componentId';\nexport { ManageErrorCode } from './manageErrorCodes';\nexport { ProjectFeature } from './projectFeatures';\nexport { StackFeature } from './stackFeatures';\nexport { AdminFeature } from './adminFeatures';\nexport { Backend } from './backends';\nexport { AdminRole } from './adminRoles';\nexport { ServiceId } from './serviceIds';\nexport { Continent, Provider, STACKS } from './stacks';\nexport type { KeboolaStack } from './stacks';\n\nexport const URLS = {\n USER_DOCUMENTATION: 'https://help.keboola.com',\n COMPONENTS: 'https://components.keboola.com',\n DEVELOPERS_DOCUMENTATION: 'https://developers.keboola.com',\n ACADEMY: 'https://academy.keboola.com',\n SALES_CONTACT_FORM: 'https://keboola.com/contact',\n SNOWFLAKE: 'https://www.snowflake.com',\n SNOWFLAKE_DOCS: 'https://docs.snowflake.com',\n MCP: 'https://www.keboola.com/mcp',\n CLI: 'https://www.keboola.com/cli',\n NODE_JS: 'https://nodejs.org/en',\n CLAUDE_CONNECTORS: 'https://claude.ai/customize/connectors',\n // Vendor \"how do I get this client\" pages linked from the connect surfaces.\n CLIENT_CLAUDE_CODE_QUICKSTART: 'https://code.claude.com/docs/en/quickstart',\n CLIENT_CLAUDE_AI: 'https://claude.ai',\n CLIENT_CLAUDE_DESKTOP_DOWNLOAD: 'https://claude.com/download',\n CLIENT_CURSOR_QUICKSTART: 'https://cursor.com/docs/get-started/quickstart',\n CLIENT_VS_CODE_SETUP: 'https://code.visualstudio.com/docs/setup/setup-overview',\n CLIENT_CODEX_QUICKSTART: 'https://developers.openai.com/codex/cli',\n CLIENT_CHATGPT_DOWNLOAD: 'https://chatgpt.com/download',\n CLIENT_MAKE_GET_STARTED: 'https://help.make.com/get-started',\n CLIENT_DEVIN_DESKTOP: 'https://docs.devin.ai/desktop/getting-started',\n} as const;\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createEncryptionClient } from "../index-
|
|
1
|
+
import { t as createEncryptionClient } from "../index-BUKMdbKh.cjs";
|
|
2
2
|
export { createEncryptionClient };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createEncryptionClient } from "../index-
|
|
1
|
+
import { t as createEncryptionClient } from "../index-BxgHNJ3Q.js";
|
|
2
2
|
export { createEncryptionClient };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as EncryptParamsByScope, c as ScopedSecrets, i as EncryptParams, n as BranchType, o as EncryptQuery, r as EncryptBody, s as EncryptionScope } from "../index-
|
|
1
|
+
import { a as EncryptParamsByScope, c as ScopedSecrets, i as EncryptParams, n as BranchType, o as EncryptQuery, r as EncryptBody, s as EncryptionScope } from "../index-BUKMdbKh.cjs";
|
|
2
2
|
export { BranchType, EncryptBody, EncryptParams, EncryptParamsByScope, EncryptQuery, EncryptionScope, ScopedSecrets };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as EncryptParamsByScope, c as ScopedSecrets, i as EncryptParams, n as BranchType, o as EncryptQuery, r as EncryptBody, s as EncryptionScope } from "../index-
|
|
1
|
+
import { a as EncryptParamsByScope, c as ScopedSecrets, i as EncryptParams, n as BranchType, o as EncryptQuery, r as EncryptBody, s as EncryptionScope } from "../index-BxgHNJ3Q.js";
|
|
2
2
|
export { BranchType, EncryptBody, EncryptParams, EncryptParamsByScope, EncryptQuery, EncryptionScope, ScopedSecrets };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { di as MiddlewareFn, ni as ManagementClientAuthError, p as createGenericFetchClient, t as createOpenapiFetchClient, ti as ManagementSessionMintError } from "./index-FrsEkDvX.cjs";
|
|
2
2
|
import { n as ClientInitOptions } from "./types-B4ezB18r.cjs";
|
|
3
|
-
import { $t as PayAsYouGoBillingConfiguration, An as SamlConfigPath, At as UpdateProjectInput, B as CreateProjectFeaturePath, Bt as User, C as StorageBackend, Cn as MaintainerInvitationPath, Cr as
|
|
3
|
+
import { $t as PayAsYouGoBillingConfiguration, An as SamlConfigPath, Ar as GetAllFeaturesQuery, At as UpdateProjectInput, B as CreateProjectFeaturePath, Bt as User, C as StorageBackend, Cn as MaintainerInvitationPath, Cr as RotateFileStorageS3Input, Dn as MaintainerUserPath, Dr as FeatureAdmin, Dt as SetProjectReviewersBody, En as MaintainerUser, Er as Feature, Et as SetProjectMetadataPath, F as AssignProjectTemplateFeatureInput, Fn as UpdateMaintainerInput, Ft as RemoveUserFeaturePath, G as GetProjectMetadataPath, H as CreateProjectInvitationPath, Hn as CreateOrganizationInvitationInput, Ht as UserListItem, Jn as OrganizationInvitationPath, K as GetProjectPath, Kn as OrganizationDetail, Kr as components, Kt as UserProjectMembership, L as ChangeProjectUserRoleInput, Ln as UpdateSamlConfigInput, Lt as SetUserMetadataInput, M as AddProjectUserBody, Mt as AddUserFeaturePath, N as AddProjectUserPath, Nn as SetMaintainerMetadataInput, Nt as DeleteUserMetadataPath, Or as FeatureProject, Ot as SetProjectReviewersPath, Pr as DeletedProjectsListQuery, Pt as GetUsersQuery, Q as ListProjectUsersPath, Qt as CreditPurchase, St as SetProjectDisabledInput, Tr as UpdateFileStorageBody, Tt as SetProjectMetadataBody, U as DeleteProjectInvitationPath, Ut as UserMaintainerMembership, V as CreateProjectInvitationBody, Vt as UserDetail, W as DeleteProjectMetadataPath, Wn as CreateOrganizationProjectInput, Wr as CreateApplicationTokenBody, Wt as UserOrganizationMembership, X as ListProjectInvitationsPath, Xt as CreatePaymentRequestBody, Y as JoinProjectInput, Z as ListProjectJoinRequestsPath, Zn as OrganizationMetadataItemPath, Zt as CreditPaymentRequest, _r as RotateFileStorageAbsInput, _t as RemoveProjectUserPath, a as GetUiAppsQuery, ar as SetUpBigQueryBody, bn as Maintainer, br as RotateFileStorageGcsInput, bt as Reviewer, c as UiApp, cr as CreateFileStorageS3Body, dn as CompleteSamlSetupInput, dr as FileStorageGcs, en as StripeCustomer, er as OrganizationUserPath, et as MoveProjectInput, f as CreateBigqueryServerSideStorageBackendBody, fn as CreateMaintainerBody, g as GetStorageBackendProjectsQuery, gn as CreateMaintainerOrganizationInput, gt as RemoveProjectTemplateFeaturePath, ht as RemoveProjectLimitPath, i as ReactivateWorkspaceResult, in as UpdateTopUpSettingBody, ir as UpdateOrganizationInput, j as UpdateStorageBackendInput, jt as AddUserFeatureBody, k as UpdateBigqueryStorageBackendInput, l as UiAppDetail, ln as AddMaintainerUserInput, lr as FileStorage, m as CreateSnowflakeStorageBackendBody, mn as CreateMaintainerInvitationInput, mr as FileStorageProjectsQuery, mt as RemoveProjectFeaturePath, n as ProjectRetentionWorkspace, nn as TopUpSetting, nr as SetOrganizationMetadataInput, nt as ProjectBase, o as RegisterUiAppBody, or as CreateFileStorageAbsBody, p as CreateBigqueryStorageBackendBody, pt as ProjectWithFeatureWarnings, q as GetProjectReviewersPath, qr as paths, r as ProjectRetentionWorkspaceState, rn as UpdateStripeCustomerBody, s as RenameUiAppBody, sr as CreateFileStorageGcsBody, st as ProjectJoinRequestPath, tt as Project, vn as CreateSamlConfigInput, w as StorageBackendBigquery, wn as MaintainerMetadataItemPath, wt as SetProjectLimitsInput, xn as MaintainerDetail, y as PolicyTagEnablementGuideInput, yt as RequestProjectAccessInput, z as CreateProjectFeatureBody, zn as AddOrganizationUserInput, zt as UpdateUserInput } from "./types-CsRfoHQw.cjs";
|
|
4
4
|
type ManagementOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;
|
|
5
5
|
type ManagementGenericFetchClient = ReturnType<typeof createGenericFetchClient>;
|
|
6
6
|
type AuthStrategy = {
|
|
@@ -687,6 +687,15 @@ declare const createManagementClient: ({ baseUrl, middlewares, auth, withAuthMid
|
|
|
687
687
|
fileStorage: {
|
|
688
688
|
deleteFileStorage: (fileStorageId: number) => Promise<void>;
|
|
689
689
|
updateFileStorage: (fileStorageId: number, body: UpdateFileStorageBody) => Promise<FileStorage>;
|
|
690
|
+
getFileStorageProjects: (fileStorageId: number, query?: FileStorageProjectsQuery, signal?: AbortSignal) => Promise<{
|
|
691
|
+
data: {
|
|
692
|
+
id: number;
|
|
693
|
+
name: string;
|
|
694
|
+
isDeleted: boolean;
|
|
695
|
+
}[];
|
|
696
|
+
meta: components['schemas']['PaginationMeta'];
|
|
697
|
+
links: components['schemas']['PaginationLinks'];
|
|
698
|
+
}>;
|
|
690
699
|
getFileStoragesS3: (signal?: AbortSignal) => Promise<{
|
|
691
700
|
id: number;
|
|
692
701
|
awsKey: string;
|
|
@@ -1202,4 +1211,4 @@ declare const createManagementClient: ({ baseUrl, middlewares, auth, withAuthMid
|
|
|
1202
1211
|
declare const isManagementClientAuthError: (error: unknown) => error is ManagementClientAuthError;
|
|
1203
1212
|
declare const isManagementSessionMintError: (error: unknown) => error is ManagementSessionMintError;
|
|
1204
1213
|
export { ManagementOpenApiFetchClient as a, ManagementGenericFetchClient as i, isManagementSessionMintError as n, createManagementClient as o, AuthStrategy as r, isManagementClientAuthError as t };
|
|
1205
|
-
//# sourceMappingURL=index-
|
|
1214
|
+
//# sourceMappingURL=index-B0prazAi.d.cts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { pt as WorkspaceSqlConnection, rt as WorkspaceConnection } from "./index-FrsEkDvX.cjs";
|
|
2
|
-
import { Da as Subscriber } from "./index-
|
|
2
|
+
import { Da as Subscriber } from "./index-BUKMdbKh.cjs";
|
|
3
3
|
declare const isSqlWorkspaceConnection: (connection: WorkspaceConnection) => connection is WorkspaceSqlConnection;
|
|
4
4
|
/**
|
|
5
5
|
* Encodes subscribers as GCP IAM principals (`user:`/`group:`); `fromBackendSubscribers` decodes.
|
|
@@ -7,4 +7,4 @@ declare const isSqlWorkspaceConnection: (connection: WorkspaceConnection) => con
|
|
|
7
7
|
declare const toBackendSubscribers: (subscribers: Subscriber[]) => string[];
|
|
8
8
|
declare const fromBackendSubscribers: (raw: string[]) => Subscriber[];
|
|
9
9
|
export { toBackendSubscribers as n, isSqlWorkspaceConnection as r, fromBackendSubscribers as t };
|
|
10
|
-
//# sourceMappingURL=index-
|
|
10
|
+
//# sourceMappingURL=index-BL7uXOiY.d.cts.map
|
|
@@ -208,6 +208,7 @@ declare const ProjectFeature: {
|
|
|
208
208
|
readonly BigqueryDefaultImView: 'bigquery-default-im-view';
|
|
209
209
|
readonly BigqueryPolicyTags: 'bigquery-policy-tags';
|
|
210
210
|
readonly DataAppsDisabled: 'data-apps-disabled';
|
|
211
|
+
readonly RowLevelSecurity: 'row-level-security';
|
|
211
212
|
};
|
|
212
213
|
type ProjectFeature = (typeof ProjectFeature)[keyof typeof ProjectFeature];
|
|
213
214
|
declare const StackFeature: {
|
|
@@ -434,4 +435,4 @@ declare const URLS: {
|
|
|
434
435
|
readonly CLIENT_DEVIN_DESKTOP: 'https://docs.devin.ai/desktop/getting-started';
|
|
435
436
|
};
|
|
436
437
|
export { STACKS as a, ProjectFeature as c, Provider as i, ComponentId as l, Continent as n, AdminFeature as o, KeboolaStack as r, StackFeature as s, URLS as t, ServiceId as u };
|
|
437
|
-
//# sourceMappingURL=index-
|
|
438
|
+
//# sourceMappingURL=index-BNwo-zaJ.d.cts.map
|