@katerai/sdk 0.7.0 → 0.8.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 (70) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/package.json +1 -1
  3. package/resources/v1/compiler.d.mts +1116 -0
  4. package/resources/v1/compiler.d.mts.map +1 -0
  5. package/resources/v1/compiler.d.ts +1116 -0
  6. package/resources/v1/compiler.d.ts.map +1 -0
  7. package/resources/v1/compiler.js +70 -0
  8. package/resources/v1/compiler.js.map +1 -0
  9. package/resources/v1/compiler.mjs +66 -0
  10. package/resources/v1/compiler.mjs.map +1 -0
  11. package/resources/v1/index.d.mts +2 -1
  12. package/resources/v1/index.d.mts.map +1 -1
  13. package/resources/v1/index.d.ts +2 -1
  14. package/resources/v1/index.d.ts.map +1 -1
  15. package/resources/v1/index.js +5 -3
  16. package/resources/v1/index.js.map +1 -1
  17. package/resources/v1/index.mjs +2 -1
  18. package/resources/v1/index.mjs.map +1 -1
  19. package/resources/v1/tenants/groups.d.mts +43 -0
  20. package/resources/v1/tenants/groups.d.mts.map +1 -0
  21. package/resources/v1/tenants/groups.d.ts +43 -0
  22. package/resources/v1/tenants/groups.d.ts.map +1 -0
  23. package/resources/v1/tenants/groups.js +20 -0
  24. package/resources/v1/tenants/groups.js.map +1 -0
  25. package/resources/v1/tenants/groups.mjs +16 -0
  26. package/resources/v1/tenants/groups.mjs.map +1 -0
  27. package/resources/v1/tenants/index.d.mts +3 -0
  28. package/resources/v1/tenants/index.d.mts.map +1 -0
  29. package/resources/v1/tenants/index.d.ts +3 -0
  30. package/resources/v1/tenants/index.d.ts.map +1 -0
  31. package/resources/v1/tenants/index.js +9 -0
  32. package/resources/v1/tenants/index.js.map +1 -0
  33. package/resources/v1/tenants/index.mjs +4 -0
  34. package/resources/v1/tenants/index.mjs.map +1 -0
  35. package/resources/v1/tenants/tenants.d.mts +169 -0
  36. package/resources/v1/tenants/tenants.d.mts.map +1 -0
  37. package/resources/v1/tenants/tenants.d.ts +169 -0
  38. package/resources/v1/tenants/tenants.d.ts.map +1 -0
  39. package/resources/v1/tenants/tenants.js +70 -0
  40. package/resources/v1/tenants/tenants.js.map +1 -0
  41. package/resources/v1/tenants/tenants.mjs +65 -0
  42. package/resources/v1/tenants/tenants.mjs.map +1 -0
  43. package/resources/v1/tenants.d.mts +1 -125
  44. package/resources/v1/tenants.d.mts.map +1 -1
  45. package/resources/v1/tenants.d.ts +1 -125
  46. package/resources/v1/tenants.d.ts.map +1 -1
  47. package/resources/v1/tenants.js +2 -46
  48. package/resources/v1/tenants.js.map +1 -1
  49. package/resources/v1/tenants.mjs +1 -44
  50. package/resources/v1/tenants.mjs.map +1 -1
  51. package/resources/v1/v1.d.mts +7 -3
  52. package/resources/v1/v1.d.mts.map +1 -1
  53. package/resources/v1/v1.d.ts +7 -3
  54. package/resources/v1/v1.d.ts.map +1 -1
  55. package/resources/v1/v1.js +6 -2
  56. package/resources/v1/v1.js.map +1 -1
  57. package/resources/v1/v1.mjs +6 -2
  58. package/resources/v1/v1.mjs.map +1 -1
  59. package/src/resources/v1/compiler.ts +1484 -0
  60. package/src/resources/v1/index.ts +18 -1
  61. package/src/resources/v1/tenants/groups.ts +52 -0
  62. package/src/resources/v1/tenants/index.ts +10 -0
  63. package/src/resources/v1/tenants/tenants.ts +220 -0
  64. package/src/resources/v1/tenants.ts +1 -162
  65. package/src/resources/v1/v1.ts +40 -2
  66. package/src/version.ts +1 -1
  67. package/version.d.mts +1 -1
  68. package/version.d.ts +1 -1
  69. package/version.js +1 -1
  70. package/version.mjs +1 -1
@@ -1,5 +1,21 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ export {
4
+ Compiler,
5
+ type ChartConfig,
6
+ type CompilerErrorItem,
7
+ type InlineField,
8
+ type Manifest,
9
+ type ManifestEntry,
10
+ type RefWithLabel,
11
+ type SubqueryCondition,
12
+ type CompilerCompileResponse,
13
+ type CompilerResolveResponse,
14
+ type CompilerValidateResponse,
15
+ type CompilerCompileParams,
16
+ type CompilerResolveParams,
17
+ type CompilerValidateParams,
18
+ } from './compiler';
3
19
  export {
4
20
  Connections,
5
21
  type Connection,
@@ -9,7 +25,8 @@ export {
9
25
  export {
10
26
  Tenants,
11
27
  type ImportTenantsResponse,
28
+ type TenantGetTenantsSchemaResponse,
12
29
  type TenantImportFromCsvParams,
13
30
  type TenantImportFromWarehouseParams,
14
- } from './tenants';
31
+ } from './tenants/index';
15
32
  export { V1 } from './v1';
@@ -0,0 +1,52 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import { APIPromise } from '../../../core/api-promise';
5
+ import { RequestOptions } from '../../../internal/request-options';
6
+
7
+ export class Groups extends APIResource {
8
+ /**
9
+ * Get all tenant groups as a TenantGroupSchema object.
10
+ *
11
+ * Returns tenant groups in the YAML-compatible schema format. Supports content
12
+ * negotiation: JSON by default, YAML with Accept: application/yaml.
13
+ *
14
+ * RLS: Filtered to current client (ClientRLSDB).
15
+ */
16
+ getTenantGroupsSchema(options?: RequestOptions): APIPromise<GroupGetTenantGroupsSchemaResponse> {
17
+ return this._client.get('/api/v1/tenants/groups/schema', options);
18
+ }
19
+ }
20
+
21
+ /**
22
+ * Schema for tenant group configuration files
23
+ */
24
+ export interface GroupGetTenantGroupsSchemaResponse {
25
+ /**
26
+ * Array of tenant group configurations
27
+ */
28
+ tenant_groups: Array<GroupGetTenantGroupsSchemaResponse.TenantGroup>;
29
+ }
30
+
31
+ export namespace GroupGetTenantGroupsSchemaResponse {
32
+ export interface TenantGroup {
33
+ /**
34
+ * Unique Kater identifier
35
+ */
36
+ kater_id: string;
37
+
38
+ /**
39
+ * Name identifier
40
+ */
41
+ name: string;
42
+
43
+ /**
44
+ * Description text
45
+ */
46
+ description?: string | null;
47
+ }
48
+ }
49
+
50
+ export declare namespace Groups {
51
+ export { type GroupGetTenantGroupsSchemaResponse as GroupGetTenantGroupsSchemaResponse };
52
+ }
@@ -0,0 +1,10 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { Groups, type GroupGetTenantGroupsSchemaResponse } from './groups';
4
+ export {
5
+ Tenants,
6
+ type ImportTenantsResponse,
7
+ type TenantGetTenantsSchemaResponse,
8
+ type TenantImportFromCsvParams,
9
+ type TenantImportFromWarehouseParams,
10
+ } from './tenants';
@@ -0,0 +1,220 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as GroupsAPI from './groups';
5
+ import { GroupGetTenantGroupsSchemaResponse, Groups } from './groups';
6
+ import { APIPromise } from '../../../core/api-promise';
7
+ import { type Uploadable } from '../../../core/uploads';
8
+ import { RequestOptions } from '../../../internal/request-options';
9
+ import { multipartFormRequestOptions } from '../../../internal/uploads';
10
+
11
+ export class Tenants extends APIResource {
12
+ groups: GroupsAPI.Groups = new GroupsAPI.Groups(this._client);
13
+
14
+ /**
15
+ * Get all tenants as a TenantSchema object.
16
+ *
17
+ * Returns tenants in the YAML-compatible schema format with group references.
18
+ * Supports content negotiation: JSON by default, YAML with Accept:
19
+ * application/yaml.
20
+ *
21
+ * RLS: Filtered to current client (ClientRLSDB).
22
+ */
23
+ getTenantsSchema(options?: RequestOptions): APIPromise<TenantGetTenantsSchemaResponse> {
24
+ return this._client.get('/api/v1/tenants/schema', options);
25
+ }
26
+
27
+ /**
28
+ * Import tenants from a CSV file using upsert semantics.
29
+ *
30
+ * Expected CSV format:
31
+ *
32
+ * - tenant_key (required): Unique tenant identifier
33
+ * - tenant_name (optional): Human-readable name
34
+ * - group_names (optional): Comma-separated list of group names
35
+ *
36
+ * Creates new tenants and updates existing ones with new name/groups. Groups are
37
+ * added additively (not replaced) and auto-created if needed.
38
+ *
39
+ * RLS: Filtered to current client (ClientRLSDB).
40
+ *
41
+ * Raises: ValidationError: If CSV format is invalid (400)
42
+ * TenantCreationNotAllowedError: If tenancy type is NONE (400)
43
+ */
44
+ importFromCsv(
45
+ body: TenantImportFromCsvParams,
46
+ options?: RequestOptions,
47
+ ): APIPromise<ImportTenantsResponse> {
48
+ return this._client.post(
49
+ '/api/v1/tenants/import/csv',
50
+ multipartFormRequestOptions({ body, ...options }, this._client),
51
+ );
52
+ }
53
+
54
+ /**
55
+ * Import tenants from a warehouse table using upsert semantics.
56
+ *
57
+ * Creates new tenants and updates existing ones with new name/groups. Groups are
58
+ * added additively (not replaced).
59
+ *
60
+ * Streams data from the warehouse in batches to handle large datasets without
61
+ * loading everything into memory.
62
+ *
63
+ * For tenants with groups, groups are aggregated per tenant key and auto-created
64
+ * if they don't exist.
65
+ *
66
+ * RLS: Filtered to current client (ClientRLSDB).
67
+ *
68
+ * Raises: ConnectionNotFoundError: If the connection doesn't exist (404)
69
+ * TenantCreationNotAllowedError: If tenancy type is NONE (400)
70
+ */
71
+ importFromWarehouse(
72
+ body: TenantImportFromWarehouseParams,
73
+ options?: RequestOptions,
74
+ ): APIPromise<ImportTenantsResponse> {
75
+ return this._client.post('/api/v1/tenants/import/warehouse', { body, ...options });
76
+ }
77
+ }
78
+
79
+ /**
80
+ * Response model for tenant import operation.
81
+ */
82
+ export interface ImportTenantsResponse {
83
+ /**
84
+ * Unique tenant keys found in source
85
+ */
86
+ total_found: number;
87
+
88
+ /**
89
+ * New tenants created
90
+ */
91
+ total_imported: number;
92
+
93
+ /**
94
+ * Existing tenants updated
95
+ */
96
+ total_updated: number;
97
+
98
+ /**
99
+ * Tenant-specific errors
100
+ */
101
+ errors?: Array<ImportTenantsResponse.Error>;
102
+
103
+ /**
104
+ * Groups that were auto-created
105
+ */
106
+ groups_created?: Array<string>;
107
+ }
108
+
109
+ export namespace ImportTenantsResponse {
110
+ /**
111
+ * Error for a single tenant during import.
112
+ */
113
+ export interface Error {
114
+ /**
115
+ * Error code
116
+ */
117
+ code: string;
118
+
119
+ /**
120
+ * Error message
121
+ */
122
+ message: string;
123
+
124
+ /**
125
+ * Tenant key that failed
126
+ */
127
+ tenant_key: string;
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Schema for tenant configuration files
133
+ */
134
+ export interface TenantGetTenantsSchemaResponse {
135
+ /**
136
+ * Array of tenant configurations
137
+ */
138
+ tenants: Array<TenantGetTenantsSchemaResponse.Tenant>;
139
+ }
140
+
141
+ export namespace TenantGetTenantsSchemaResponse {
142
+ export interface Tenant {
143
+ /**
144
+ * Unique Kater identifier
145
+ */
146
+ kater_id: string;
147
+
148
+ /**
149
+ * Unique key identifier for the tenant (e.g., 'acme_corp')
150
+ */
151
+ tenant_key: string;
152
+
153
+ /**
154
+ * References to tenant groups this tenant belongs to
155
+ */
156
+ groups?: Array<string> | null;
157
+
158
+ /**
159
+ * Human-readable display name for the tenant
160
+ */
161
+ name?: string | null;
162
+ }
163
+ }
164
+
165
+ export interface TenantImportFromCsvParams {
166
+ /**
167
+ * CSV file with tenant data
168
+ */
169
+ file: Uploadable;
170
+ }
171
+
172
+ export interface TenantImportFromWarehouseParams {
173
+ /**
174
+ * Warehouse connection ID to query
175
+ */
176
+ connection_id: string;
177
+
178
+ /**
179
+ * Database name containing the tenant table
180
+ */
181
+ database: string;
182
+
183
+ /**
184
+ * Schema name containing the tenant table
185
+ */
186
+ schema: string;
187
+
188
+ /**
189
+ * Table name containing tenant data
190
+ */
191
+ table: string;
192
+
193
+ /**
194
+ * Column name for tenant key
195
+ */
196
+ tenant_key_column: string;
197
+
198
+ /**
199
+ * Column name for tenant group (optional)
200
+ */
201
+ tenant_group_column?: string | null;
202
+
203
+ /**
204
+ * Column name for tenant display name (optional)
205
+ */
206
+ tenant_name_column?: string | null;
207
+ }
208
+
209
+ Tenants.Groups = Groups;
210
+
211
+ export declare namespace Tenants {
212
+ export {
213
+ type ImportTenantsResponse as ImportTenantsResponse,
214
+ type TenantGetTenantsSchemaResponse as TenantGetTenantsSchemaResponse,
215
+ type TenantImportFromCsvParams as TenantImportFromCsvParams,
216
+ type TenantImportFromWarehouseParams as TenantImportFromWarehouseParams,
217
+ };
218
+
219
+ export { Groups as Groups, type GroupGetTenantGroupsSchemaResponse as GroupGetTenantGroupsSchemaResponse };
220
+ }
@@ -1,164 +1,3 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../../core/resource';
4
- import { APIPromise } from '../../core/api-promise';
5
- import { type Uploadable } from '../../core/uploads';
6
- import { RequestOptions } from '../../internal/request-options';
7
- import { multipartFormRequestOptions } from '../../internal/uploads';
8
-
9
- export class Tenants extends APIResource {
10
- /**
11
- * Import tenants from a CSV file using upsert semantics.
12
- *
13
- * Expected CSV format:
14
- *
15
- * - tenant_key (required): Unique tenant identifier
16
- * - tenant_name (optional): Human-readable name
17
- * - group_names (optional): Comma-separated list of group names
18
- *
19
- * Creates new tenants and updates existing ones with new name/groups. Groups are
20
- * added additively (not replaced) and auto-created if needed.
21
- *
22
- * RLS: Filtered to current client (ClientRLSDB).
23
- *
24
- * Raises: ValidationError: If CSV format is invalid (400)
25
- * TenantCreationNotAllowedError: If tenancy type is NONE (400)
26
- */
27
- importFromCsv(
28
- body: TenantImportFromCsvParams,
29
- options?: RequestOptions,
30
- ): APIPromise<ImportTenantsResponse> {
31
- return this._client.post(
32
- '/api/v1/tenants/import/csv',
33
- multipartFormRequestOptions({ body, ...options }, this._client),
34
- );
35
- }
36
-
37
- /**
38
- * Import tenants from a warehouse table using upsert semantics.
39
- *
40
- * Creates new tenants and updates existing ones with new name/groups. Groups are
41
- * added additively (not replaced).
42
- *
43
- * Streams data from the warehouse in batches to handle large datasets without
44
- * loading everything into memory.
45
- *
46
- * For tenants with groups, groups are aggregated per tenant key and auto-created
47
- * if they don't exist.
48
- *
49
- * RLS: Filtered to current client (ClientRLSDB).
50
- *
51
- * Raises: ConnectionNotFoundError: If the connection doesn't exist (404)
52
- * TenantCreationNotAllowedError: If tenancy type is NONE (400)
53
- */
54
- importFromWarehouse(
55
- body: TenantImportFromWarehouseParams,
56
- options?: RequestOptions,
57
- ): APIPromise<ImportTenantsResponse> {
58
- return this._client.post('/api/v1/tenants/import/warehouse', { body, ...options });
59
- }
60
- }
61
-
62
- /**
63
- * Response model for tenant import operation.
64
- */
65
- export interface ImportTenantsResponse {
66
- /**
67
- * Unique tenant keys found in source
68
- */
69
- total_found: number;
70
-
71
- /**
72
- * New tenants created
73
- */
74
- total_imported: number;
75
-
76
- /**
77
- * Existing tenants updated
78
- */
79
- total_updated: number;
80
-
81
- /**
82
- * Tenant-specific errors
83
- */
84
- errors?: Array<ImportTenantsResponse.Error>;
85
-
86
- /**
87
- * Groups that were auto-created
88
- */
89
- groups_created?: Array<string>;
90
- }
91
-
92
- export namespace ImportTenantsResponse {
93
- /**
94
- * Error for a single tenant during import.
95
- */
96
- export interface Error {
97
- /**
98
- * Error code
99
- */
100
- code: string;
101
-
102
- /**
103
- * Error message
104
- */
105
- message: string;
106
-
107
- /**
108
- * Tenant key that failed
109
- */
110
- tenant_key: string;
111
- }
112
- }
113
-
114
- export interface TenantImportFromCsvParams {
115
- /**
116
- * CSV file with tenant data
117
- */
118
- file: Uploadable;
119
- }
120
-
121
- export interface TenantImportFromWarehouseParams {
122
- /**
123
- * Warehouse connection ID to query
124
- */
125
- connection_id: string;
126
-
127
- /**
128
- * Database name containing the tenant table
129
- */
130
- database: string;
131
-
132
- /**
133
- * Schema name containing the tenant table
134
- */
135
- schema: string;
136
-
137
- /**
138
- * Table name containing tenant data
139
- */
140
- table: string;
141
-
142
- /**
143
- * Column name for tenant key
144
- */
145
- tenant_key_column: string;
146
-
147
- /**
148
- * Column name for tenant group (optional)
149
- */
150
- tenant_group_column?: string | null;
151
-
152
- /**
153
- * Column name for tenant display name (optional)
154
- */
155
- tenant_name_column?: string | null;
156
- }
157
-
158
- export declare namespace Tenants {
159
- export {
160
- type ImportTenantsResponse as ImportTenantsResponse,
161
- type TenantImportFromCsvParams as TenantImportFromCsvParams,
162
- type TenantImportFromWarehouseParams as TenantImportFromWarehouseParams,
163
- };
164
- }
3
+ export * from './tenants/index';
@@ -1,6 +1,23 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../../core/resource';
4
+ import * as CompilerAPI from './compiler';
5
+ import {
6
+ ChartConfig,
7
+ Compiler,
8
+ CompilerCompileParams,
9
+ CompilerCompileResponse,
10
+ CompilerErrorItem,
11
+ CompilerResolveParams,
12
+ CompilerResolveResponse,
13
+ CompilerValidateParams,
14
+ CompilerValidateResponse,
15
+ InlineField,
16
+ Manifest,
17
+ ManifestEntry,
18
+ RefWithLabel,
19
+ SubqueryCondition,
20
+ } from './compiler';
4
21
  import * as ConnectionsAPI from './connections';
5
22
  import {
6
23
  Connection,
@@ -8,23 +25,43 @@ import {
8
25
  ConnectionListConnectionsResponse,
9
26
  Connections,
10
27
  } from './connections';
11
- import * as TenantsAPI from './tenants';
28
+ import * as TenantsAPI from './tenants/tenants';
12
29
  import {
13
30
  ImportTenantsResponse,
31
+ TenantGetTenantsSchemaResponse,
14
32
  TenantImportFromCsvParams,
15
33
  TenantImportFromWarehouseParams,
16
34
  Tenants,
17
- } from './tenants';
35
+ } from './tenants/tenants';
18
36
 
19
37
  export class V1 extends APIResource {
38
+ compiler: CompilerAPI.Compiler = new CompilerAPI.Compiler(this._client);
20
39
  connections: ConnectionsAPI.Connections = new ConnectionsAPI.Connections(this._client);
21
40
  tenants: TenantsAPI.Tenants = new TenantsAPI.Tenants(this._client);
22
41
  }
23
42
 
43
+ V1.Compiler = Compiler;
24
44
  V1.Connections = Connections;
25
45
  V1.Tenants = Tenants;
26
46
 
27
47
  export declare namespace V1 {
48
+ export {
49
+ Compiler as Compiler,
50
+ type ChartConfig as ChartConfig,
51
+ type CompilerErrorItem as CompilerErrorItem,
52
+ type InlineField as InlineField,
53
+ type Manifest as Manifest,
54
+ type ManifestEntry as ManifestEntry,
55
+ type RefWithLabel as RefWithLabel,
56
+ type SubqueryCondition as SubqueryCondition,
57
+ type CompilerCompileResponse as CompilerCompileResponse,
58
+ type CompilerResolveResponse as CompilerResolveResponse,
59
+ type CompilerValidateResponse as CompilerValidateResponse,
60
+ type CompilerCompileParams as CompilerCompileParams,
61
+ type CompilerResolveParams as CompilerResolveParams,
62
+ type CompilerValidateParams as CompilerValidateParams,
63
+ };
64
+
28
65
  export {
29
66
  Connections as Connections,
30
67
  type Connection as Connection,
@@ -35,6 +72,7 @@ export declare namespace V1 {
35
72
  export {
36
73
  Tenants as Tenants,
37
74
  type ImportTenantsResponse as ImportTenantsResponse,
75
+ type TenantGetTenantsSchemaResponse as TenantGetTenantsSchemaResponse,
38
76
  type TenantImportFromCsvParams as TenantImportFromCsvParams,
39
77
  type TenantImportFromWarehouseParams as TenantImportFromWarehouseParams,
40
78
  };
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.7.0'; // x-release-please-version
1
+ export const VERSION = '0.8.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.0";
1
+ export declare const VERSION = "0.8.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.0";
1
+ export declare const VERSION = "0.8.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.7.0'; // x-release-please-version
4
+ exports.VERSION = '0.8.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.7.0'; // x-release-please-version
1
+ export const VERSION = '0.8.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map