@sqlrooms/room-config 0.17.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.
@@ -0,0 +1,558 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Enum representing the supported types of data sources
4
+ * @enum {string}
5
+ */
6
+ export declare const DataSourceTypes: z.ZodEnum<["file", "url", "sql"]>;
7
+ export type DataSourceTypes = z.infer<typeof DataSourceTypes>;
8
+ /**
9
+ * Base interface for all data source configurations
10
+ * @interface BaseDataSource
11
+ */
12
+ export declare const BaseDataSource: z.ZodObject<{
13
+ /** Type of the data source */
14
+ type: z.ZodEnum<["file", "url", "sql"]>;
15
+ /**
16
+ * Unique table name used to store the data loaded from the data source.
17
+ * This name will be used to reference the data in SQL queries.
18
+ */
19
+ tableName: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ type: "file" | "url" | "sql";
22
+ tableName: string;
23
+ }, {
24
+ type: "file" | "url" | "sql";
25
+ tableName: string;
26
+ }>;
27
+ export type BaseDataSource = z.infer<typeof BaseDataSource>;
28
+ /**
29
+ * Configuration for file-based data sources
30
+ * @interface FileDataSource
31
+ * @extends {BaseDataSource}
32
+ */
33
+ export declare const FileDataSource: z.ZodObject<{
34
+ tableName: z.ZodString;
35
+ } & {
36
+ type: z.ZodLiteral<"file">;
37
+ fileName: z.ZodString;
38
+ loadOptions: z.ZodOptional<z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
39
+ schema: z.ZodOptional<z.ZodString>;
40
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
41
+ where: z.ZodOptional<z.ZodString>;
42
+ view: z.ZodOptional<z.ZodBoolean>;
43
+ temp: z.ZodOptional<z.ZodBoolean>;
44
+ replace: z.ZodOptional<z.ZodBoolean>;
45
+ } & {
46
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
47
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
48
+ schema: z.ZodOptional<z.ZodString>;
49
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
50
+ where: z.ZodOptional<z.ZodString>;
51
+ view: z.ZodOptional<z.ZodBoolean>;
52
+ temp: z.ZodOptional<z.ZodBoolean>;
53
+ replace: z.ZodOptional<z.ZodBoolean>;
54
+ } & {
55
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
56
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
57
+ schema: z.ZodOptional<z.ZodString>;
58
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
59
+ where: z.ZodOptional<z.ZodString>;
60
+ view: z.ZodOptional<z.ZodBoolean>;
61
+ temp: z.ZodOptional<z.ZodBoolean>;
62
+ replace: z.ZodOptional<z.ZodBoolean>;
63
+ } & {
64
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
65
+ }, z.ZodUnknown, "strip">>, z.ZodObject<{
66
+ schema: z.ZodOptional<z.ZodString>;
67
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
68
+ where: z.ZodOptional<z.ZodString>;
69
+ view: z.ZodOptional<z.ZodBoolean>;
70
+ temp: z.ZodOptional<z.ZodBoolean>;
71
+ replace: z.ZodOptional<z.ZodBoolean>;
72
+ } & {
73
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
74
+ } & {
75
+ method: z.ZodLiteral<"st_read">;
76
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
77
+ schema: z.ZodOptional<z.ZodString>;
78
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
79
+ where: z.ZodOptional<z.ZodString>;
80
+ view: z.ZodOptional<z.ZodBoolean>;
81
+ temp: z.ZodOptional<z.ZodBoolean>;
82
+ replace: z.ZodOptional<z.ZodBoolean>;
83
+ } & {
84
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
85
+ } & {
86
+ method: z.ZodLiteral<"st_read">;
87
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
88
+ schema: z.ZodOptional<z.ZodString>;
89
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
90
+ where: z.ZodOptional<z.ZodString>;
91
+ view: z.ZodOptional<z.ZodBoolean>;
92
+ temp: z.ZodOptional<z.ZodBoolean>;
93
+ replace: z.ZodOptional<z.ZodBoolean>;
94
+ } & {
95
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
96
+ } & {
97
+ method: z.ZodLiteral<"st_read">;
98
+ }, z.ZodUnknown, "strip">>]>>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ type: "file";
101
+ tableName: string;
102
+ fileName: string;
103
+ loadOptions?: z.objectOutputType<{
104
+ schema: z.ZodOptional<z.ZodString>;
105
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
106
+ where: z.ZodOptional<z.ZodString>;
107
+ view: z.ZodOptional<z.ZodBoolean>;
108
+ temp: z.ZodOptional<z.ZodBoolean>;
109
+ replace: z.ZodOptional<z.ZodBoolean>;
110
+ } & {
111
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
112
+ } & {
113
+ method: z.ZodLiteral<"st_read">;
114
+ }, z.ZodUnknown, "strip"> | z.objectOutputType<{
115
+ schema: z.ZodOptional<z.ZodString>;
116
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
117
+ where: z.ZodOptional<z.ZodString>;
118
+ view: z.ZodOptional<z.ZodBoolean>;
119
+ temp: z.ZodOptional<z.ZodBoolean>;
120
+ replace: z.ZodOptional<z.ZodBoolean>;
121
+ } & {
122
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
123
+ }, z.ZodUnknown, "strip"> | undefined;
124
+ }, {
125
+ type: "file";
126
+ tableName: string;
127
+ fileName: string;
128
+ loadOptions?: z.objectInputType<{
129
+ schema: z.ZodOptional<z.ZodString>;
130
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
131
+ where: z.ZodOptional<z.ZodString>;
132
+ view: z.ZodOptional<z.ZodBoolean>;
133
+ temp: z.ZodOptional<z.ZodBoolean>;
134
+ replace: z.ZodOptional<z.ZodBoolean>;
135
+ } & {
136
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
137
+ } & {
138
+ method: z.ZodLiteral<"st_read">;
139
+ }, z.ZodUnknown, "strip"> | z.objectInputType<{
140
+ schema: z.ZodOptional<z.ZodString>;
141
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
142
+ where: z.ZodOptional<z.ZodString>;
143
+ view: z.ZodOptional<z.ZodBoolean>;
144
+ temp: z.ZodOptional<z.ZodBoolean>;
145
+ replace: z.ZodOptional<z.ZodBoolean>;
146
+ } & {
147
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
148
+ }, z.ZodUnknown, "strip"> | undefined;
149
+ }>;
150
+ export type FileDataSource = z.infer<typeof FileDataSource>;
151
+ /**
152
+ * Configuration for URL-based data sources
153
+ * @interface UrlDataSource
154
+ * @extends {BaseDataSource}
155
+ */
156
+ export declare const UrlDataSource: z.ZodObject<{
157
+ tableName: z.ZodString;
158
+ } & {
159
+ type: z.ZodLiteral<"url">;
160
+ url: z.ZodString;
161
+ loadOptions: z.ZodOptional<z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
162
+ schema: z.ZodOptional<z.ZodString>;
163
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
164
+ where: z.ZodOptional<z.ZodString>;
165
+ view: z.ZodOptional<z.ZodBoolean>;
166
+ temp: z.ZodOptional<z.ZodBoolean>;
167
+ replace: z.ZodOptional<z.ZodBoolean>;
168
+ } & {
169
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
170
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
171
+ schema: z.ZodOptional<z.ZodString>;
172
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
173
+ where: z.ZodOptional<z.ZodString>;
174
+ view: z.ZodOptional<z.ZodBoolean>;
175
+ temp: z.ZodOptional<z.ZodBoolean>;
176
+ replace: z.ZodOptional<z.ZodBoolean>;
177
+ } & {
178
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
179
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
180
+ schema: z.ZodOptional<z.ZodString>;
181
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
182
+ where: z.ZodOptional<z.ZodString>;
183
+ view: z.ZodOptional<z.ZodBoolean>;
184
+ temp: z.ZodOptional<z.ZodBoolean>;
185
+ replace: z.ZodOptional<z.ZodBoolean>;
186
+ } & {
187
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
188
+ }, z.ZodUnknown, "strip">>, z.ZodObject<{
189
+ schema: z.ZodOptional<z.ZodString>;
190
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
191
+ where: z.ZodOptional<z.ZodString>;
192
+ view: z.ZodOptional<z.ZodBoolean>;
193
+ temp: z.ZodOptional<z.ZodBoolean>;
194
+ replace: z.ZodOptional<z.ZodBoolean>;
195
+ } & {
196
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
197
+ } & {
198
+ method: z.ZodLiteral<"st_read">;
199
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
200
+ schema: z.ZodOptional<z.ZodString>;
201
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
202
+ where: z.ZodOptional<z.ZodString>;
203
+ view: z.ZodOptional<z.ZodBoolean>;
204
+ temp: z.ZodOptional<z.ZodBoolean>;
205
+ replace: z.ZodOptional<z.ZodBoolean>;
206
+ } & {
207
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
208
+ } & {
209
+ method: z.ZodLiteral<"st_read">;
210
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
211
+ schema: z.ZodOptional<z.ZodString>;
212
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
213
+ where: z.ZodOptional<z.ZodString>;
214
+ view: z.ZodOptional<z.ZodBoolean>;
215
+ temp: z.ZodOptional<z.ZodBoolean>;
216
+ replace: z.ZodOptional<z.ZodBoolean>;
217
+ } & {
218
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
219
+ } & {
220
+ method: z.ZodLiteral<"st_read">;
221
+ }, z.ZodUnknown, "strip">>]>>;
222
+ httpMethod: z.ZodOptional<z.ZodString>;
223
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
224
+ }, "strip", z.ZodTypeAny, {
225
+ type: "url";
226
+ url: string;
227
+ tableName: string;
228
+ loadOptions?: z.objectOutputType<{
229
+ schema: z.ZodOptional<z.ZodString>;
230
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
231
+ where: z.ZodOptional<z.ZodString>;
232
+ view: z.ZodOptional<z.ZodBoolean>;
233
+ temp: z.ZodOptional<z.ZodBoolean>;
234
+ replace: z.ZodOptional<z.ZodBoolean>;
235
+ } & {
236
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
237
+ } & {
238
+ method: z.ZodLiteral<"st_read">;
239
+ }, z.ZodUnknown, "strip"> | z.objectOutputType<{
240
+ schema: z.ZodOptional<z.ZodString>;
241
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
242
+ where: z.ZodOptional<z.ZodString>;
243
+ view: z.ZodOptional<z.ZodBoolean>;
244
+ temp: z.ZodOptional<z.ZodBoolean>;
245
+ replace: z.ZodOptional<z.ZodBoolean>;
246
+ } & {
247
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
248
+ }, z.ZodUnknown, "strip"> | undefined;
249
+ httpMethod?: string | undefined;
250
+ headers?: Record<string, string> | undefined;
251
+ }, {
252
+ type: "url";
253
+ url: string;
254
+ tableName: string;
255
+ loadOptions?: z.objectInputType<{
256
+ schema: z.ZodOptional<z.ZodString>;
257
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
258
+ where: z.ZodOptional<z.ZodString>;
259
+ view: z.ZodOptional<z.ZodBoolean>;
260
+ temp: z.ZodOptional<z.ZodBoolean>;
261
+ replace: z.ZodOptional<z.ZodBoolean>;
262
+ } & {
263
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
264
+ } & {
265
+ method: z.ZodLiteral<"st_read">;
266
+ }, z.ZodUnknown, "strip"> | z.objectInputType<{
267
+ schema: z.ZodOptional<z.ZodString>;
268
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
269
+ where: z.ZodOptional<z.ZodString>;
270
+ view: z.ZodOptional<z.ZodBoolean>;
271
+ temp: z.ZodOptional<z.ZodBoolean>;
272
+ replace: z.ZodOptional<z.ZodBoolean>;
273
+ } & {
274
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
275
+ }, z.ZodUnknown, "strip"> | undefined;
276
+ httpMethod?: string | undefined;
277
+ headers?: Record<string, string> | undefined;
278
+ }>;
279
+ export type UrlDataSource = z.infer<typeof UrlDataSource>;
280
+ /**
281
+ * Configuration for SQL query-based data sources
282
+ * @interface SqlQueryDataSource
283
+ * @extends {BaseDataSource}
284
+ */
285
+ export declare const SqlQueryDataSource: z.ZodObject<{
286
+ tableName: z.ZodString;
287
+ } & {
288
+ type: z.ZodLiteral<"sql">;
289
+ sqlQuery: z.ZodString;
290
+ }, "strip", z.ZodTypeAny, {
291
+ type: "sql";
292
+ tableName: string;
293
+ sqlQuery: string;
294
+ }, {
295
+ type: "sql";
296
+ tableName: string;
297
+ sqlQuery: string;
298
+ }>;
299
+ export type SqlQueryDataSource = z.infer<typeof SqlQueryDataSource>;
300
+ /**
301
+ * Union type representing all possible data source configurations
302
+ * Discriminated union based on the 'type' field
303
+ * @type {DataSource}
304
+ */
305
+ export declare const DataSource: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
306
+ tableName: z.ZodString;
307
+ } & {
308
+ type: z.ZodLiteral<"file">;
309
+ fileName: z.ZodString;
310
+ loadOptions: z.ZodOptional<z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
311
+ schema: z.ZodOptional<z.ZodString>;
312
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
313
+ where: z.ZodOptional<z.ZodString>;
314
+ view: z.ZodOptional<z.ZodBoolean>;
315
+ temp: z.ZodOptional<z.ZodBoolean>;
316
+ replace: z.ZodOptional<z.ZodBoolean>;
317
+ } & {
318
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
319
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
320
+ schema: z.ZodOptional<z.ZodString>;
321
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
322
+ where: z.ZodOptional<z.ZodString>;
323
+ view: z.ZodOptional<z.ZodBoolean>;
324
+ temp: z.ZodOptional<z.ZodBoolean>;
325
+ replace: z.ZodOptional<z.ZodBoolean>;
326
+ } & {
327
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
328
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
329
+ schema: z.ZodOptional<z.ZodString>;
330
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
331
+ where: z.ZodOptional<z.ZodString>;
332
+ view: z.ZodOptional<z.ZodBoolean>;
333
+ temp: z.ZodOptional<z.ZodBoolean>;
334
+ replace: z.ZodOptional<z.ZodBoolean>;
335
+ } & {
336
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
337
+ }, z.ZodUnknown, "strip">>, z.ZodObject<{
338
+ schema: z.ZodOptional<z.ZodString>;
339
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
340
+ where: z.ZodOptional<z.ZodString>;
341
+ view: z.ZodOptional<z.ZodBoolean>;
342
+ temp: z.ZodOptional<z.ZodBoolean>;
343
+ replace: z.ZodOptional<z.ZodBoolean>;
344
+ } & {
345
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
346
+ } & {
347
+ method: z.ZodLiteral<"st_read">;
348
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
349
+ schema: z.ZodOptional<z.ZodString>;
350
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
351
+ where: z.ZodOptional<z.ZodString>;
352
+ view: z.ZodOptional<z.ZodBoolean>;
353
+ temp: z.ZodOptional<z.ZodBoolean>;
354
+ replace: z.ZodOptional<z.ZodBoolean>;
355
+ } & {
356
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
357
+ } & {
358
+ method: z.ZodLiteral<"st_read">;
359
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
360
+ schema: z.ZodOptional<z.ZodString>;
361
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
362
+ where: z.ZodOptional<z.ZodString>;
363
+ view: z.ZodOptional<z.ZodBoolean>;
364
+ temp: z.ZodOptional<z.ZodBoolean>;
365
+ replace: z.ZodOptional<z.ZodBoolean>;
366
+ } & {
367
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
368
+ } & {
369
+ method: z.ZodLiteral<"st_read">;
370
+ }, z.ZodUnknown, "strip">>]>>;
371
+ }, "strip", z.ZodTypeAny, {
372
+ type: "file";
373
+ tableName: string;
374
+ fileName: string;
375
+ loadOptions?: z.objectOutputType<{
376
+ schema: z.ZodOptional<z.ZodString>;
377
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
378
+ where: z.ZodOptional<z.ZodString>;
379
+ view: z.ZodOptional<z.ZodBoolean>;
380
+ temp: z.ZodOptional<z.ZodBoolean>;
381
+ replace: z.ZodOptional<z.ZodBoolean>;
382
+ } & {
383
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
384
+ } & {
385
+ method: z.ZodLiteral<"st_read">;
386
+ }, z.ZodUnknown, "strip"> | z.objectOutputType<{
387
+ schema: z.ZodOptional<z.ZodString>;
388
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
389
+ where: z.ZodOptional<z.ZodString>;
390
+ view: z.ZodOptional<z.ZodBoolean>;
391
+ temp: z.ZodOptional<z.ZodBoolean>;
392
+ replace: z.ZodOptional<z.ZodBoolean>;
393
+ } & {
394
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
395
+ }, z.ZodUnknown, "strip"> | undefined;
396
+ }, {
397
+ type: "file";
398
+ tableName: string;
399
+ fileName: string;
400
+ loadOptions?: z.objectInputType<{
401
+ schema: z.ZodOptional<z.ZodString>;
402
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
403
+ where: z.ZodOptional<z.ZodString>;
404
+ view: z.ZodOptional<z.ZodBoolean>;
405
+ temp: z.ZodOptional<z.ZodBoolean>;
406
+ replace: z.ZodOptional<z.ZodBoolean>;
407
+ } & {
408
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
409
+ } & {
410
+ method: z.ZodLiteral<"st_read">;
411
+ }, z.ZodUnknown, "strip"> | z.objectInputType<{
412
+ schema: z.ZodOptional<z.ZodString>;
413
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
414
+ where: z.ZodOptional<z.ZodString>;
415
+ view: z.ZodOptional<z.ZodBoolean>;
416
+ temp: z.ZodOptional<z.ZodBoolean>;
417
+ replace: z.ZodOptional<z.ZodBoolean>;
418
+ } & {
419
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
420
+ }, z.ZodUnknown, "strip"> | undefined;
421
+ }>, z.ZodObject<{
422
+ tableName: z.ZodString;
423
+ } & {
424
+ type: z.ZodLiteral<"url">;
425
+ url: z.ZodString;
426
+ loadOptions: z.ZodOptional<z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
427
+ schema: z.ZodOptional<z.ZodString>;
428
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
429
+ where: z.ZodOptional<z.ZodString>;
430
+ view: z.ZodOptional<z.ZodBoolean>;
431
+ temp: z.ZodOptional<z.ZodBoolean>;
432
+ replace: z.ZodOptional<z.ZodBoolean>;
433
+ } & {
434
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
435
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
436
+ schema: z.ZodOptional<z.ZodString>;
437
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
438
+ where: z.ZodOptional<z.ZodString>;
439
+ view: z.ZodOptional<z.ZodBoolean>;
440
+ temp: z.ZodOptional<z.ZodBoolean>;
441
+ replace: z.ZodOptional<z.ZodBoolean>;
442
+ } & {
443
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
444
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
445
+ schema: z.ZodOptional<z.ZodString>;
446
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
447
+ where: z.ZodOptional<z.ZodString>;
448
+ view: z.ZodOptional<z.ZodBoolean>;
449
+ temp: z.ZodOptional<z.ZodBoolean>;
450
+ replace: z.ZodOptional<z.ZodBoolean>;
451
+ } & {
452
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
453
+ }, z.ZodUnknown, "strip">>, z.ZodObject<{
454
+ schema: z.ZodOptional<z.ZodString>;
455
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
456
+ where: z.ZodOptional<z.ZodString>;
457
+ view: z.ZodOptional<z.ZodBoolean>;
458
+ temp: z.ZodOptional<z.ZodBoolean>;
459
+ replace: z.ZodOptional<z.ZodBoolean>;
460
+ } & {
461
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
462
+ } & {
463
+ method: z.ZodLiteral<"st_read">;
464
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
465
+ schema: z.ZodOptional<z.ZodString>;
466
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
467
+ where: z.ZodOptional<z.ZodString>;
468
+ view: z.ZodOptional<z.ZodBoolean>;
469
+ temp: z.ZodOptional<z.ZodBoolean>;
470
+ replace: z.ZodOptional<z.ZodBoolean>;
471
+ } & {
472
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
473
+ } & {
474
+ method: z.ZodLiteral<"st_read">;
475
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
476
+ schema: z.ZodOptional<z.ZodString>;
477
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
478
+ where: z.ZodOptional<z.ZodString>;
479
+ view: z.ZodOptional<z.ZodBoolean>;
480
+ temp: z.ZodOptional<z.ZodBoolean>;
481
+ replace: z.ZodOptional<z.ZodBoolean>;
482
+ } & {
483
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
484
+ } & {
485
+ method: z.ZodLiteral<"st_read">;
486
+ }, z.ZodUnknown, "strip">>]>>;
487
+ httpMethod: z.ZodOptional<z.ZodString>;
488
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
489
+ }, "strip", z.ZodTypeAny, {
490
+ type: "url";
491
+ url: string;
492
+ tableName: string;
493
+ loadOptions?: z.objectOutputType<{
494
+ schema: z.ZodOptional<z.ZodString>;
495
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
496
+ where: z.ZodOptional<z.ZodString>;
497
+ view: z.ZodOptional<z.ZodBoolean>;
498
+ temp: z.ZodOptional<z.ZodBoolean>;
499
+ replace: z.ZodOptional<z.ZodBoolean>;
500
+ } & {
501
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
502
+ } & {
503
+ method: z.ZodLiteral<"st_read">;
504
+ }, z.ZodUnknown, "strip"> | z.objectOutputType<{
505
+ schema: z.ZodOptional<z.ZodString>;
506
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
507
+ where: z.ZodOptional<z.ZodString>;
508
+ view: z.ZodOptional<z.ZodBoolean>;
509
+ temp: z.ZodOptional<z.ZodBoolean>;
510
+ replace: z.ZodOptional<z.ZodBoolean>;
511
+ } & {
512
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
513
+ }, z.ZodUnknown, "strip"> | undefined;
514
+ httpMethod?: string | undefined;
515
+ headers?: Record<string, string> | undefined;
516
+ }, {
517
+ type: "url";
518
+ url: string;
519
+ tableName: string;
520
+ loadOptions?: z.objectInputType<{
521
+ schema: z.ZodOptional<z.ZodString>;
522
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
523
+ where: z.ZodOptional<z.ZodString>;
524
+ view: z.ZodOptional<z.ZodBoolean>;
525
+ temp: z.ZodOptional<z.ZodBoolean>;
526
+ replace: z.ZodOptional<z.ZodBoolean>;
527
+ } & {
528
+ options: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
529
+ } & {
530
+ method: z.ZodLiteral<"st_read">;
531
+ }, z.ZodUnknown, "strip"> | z.objectInputType<{
532
+ schema: z.ZodOptional<z.ZodString>;
533
+ select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
534
+ where: z.ZodOptional<z.ZodString>;
535
+ view: z.ZodOptional<z.ZodBoolean>;
536
+ temp: z.ZodOptional<z.ZodBoolean>;
537
+ replace: z.ZodOptional<z.ZodBoolean>;
538
+ } & {
539
+ method: z.ZodEnum<["read_json", "read_ndjson", "read_parquet", "read_csv", "auto"]>;
540
+ }, z.ZodUnknown, "strip"> | undefined;
541
+ httpMethod?: string | undefined;
542
+ headers?: Record<string, string> | undefined;
543
+ }>, z.ZodObject<{
544
+ tableName: z.ZodString;
545
+ } & {
546
+ type: z.ZodLiteral<"sql">;
547
+ sqlQuery: z.ZodString;
548
+ }, "strip", z.ZodTypeAny, {
549
+ type: "sql";
550
+ tableName: string;
551
+ sqlQuery: string;
552
+ }, {
553
+ type: "sql";
554
+ tableName: string;
555
+ sqlQuery: string;
556
+ }>]>;
557
+ export type DataSource = z.infer<typeof DataSource>;
558
+ //# sourceMappingURL=DataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSource.d.ts","sourceRoot":"","sources":["../src/DataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,eAAe,mCAAiC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB,8BAA8B;;IAE9B;;;OAGG;;;;;;;;EAMH,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;EAI7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMkB,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { LoadFileOptions } from './LoadOptions';
2
+ import { z } from 'zod';
3
+ /**
4
+ * Enum representing the supported types of data sources
5
+ * @enum {string}
6
+ */
7
+ export const DataSourceTypes = z.enum(['file', 'url', 'sql']);
8
+ /**
9
+ * Base interface for all data source configurations
10
+ * @interface BaseDataSource
11
+ */
12
+ export const BaseDataSource = z.object({
13
+ /** Type of the data source */
14
+ type: DataSourceTypes,
15
+ /**
16
+ * Unique table name used to store the data loaded from the data source.
17
+ * This name will be used to reference the data in SQL queries.
18
+ */
19
+ tableName: z
20
+ .string()
21
+ .describe('Unique table name used to store the data loaded from the data source.'),
22
+ });
23
+ /**
24
+ * Configuration for file-based data sources
25
+ * @interface FileDataSource
26
+ * @extends {BaseDataSource}
27
+ */
28
+ export const FileDataSource = BaseDataSource.extend({
29
+ type: z.literal(DataSourceTypes.enum.file),
30
+ /** Path to the data file */
31
+ fileName: z
32
+ .string()
33
+ .describe('Currently only CSV and Parquet files are supported.'),
34
+ /** Optional configuration for file loading */
35
+ loadOptions: LoadFileOptions.optional(),
36
+ });
37
+ /**
38
+ * Configuration for URL-based data sources
39
+ * @interface UrlDataSource
40
+ * @extends {BaseDataSource}
41
+ */
42
+ export const UrlDataSource = BaseDataSource.extend({
43
+ type: z.literal(DataSourceTypes.enum.url),
44
+ /** URL from which to fetch the data */
45
+ url: z
46
+ .string()
47
+ .describe('URL to fetch data from. Currently only CSV and Parquet files are supported.'),
48
+ /** Optional configuration for file loading */
49
+ loadOptions: LoadFileOptions.optional().describe('Options for loading the file.'),
50
+ /** Optional HTTP method to use for the request */
51
+ httpMethod: z
52
+ .string()
53
+ .optional()
54
+ .describe('HTTP method to use for the request.'),
55
+ /** Optional headers to include in the request */
56
+ headers: z
57
+ .record(z.string(), z.string())
58
+ .optional()
59
+ .describe('Headers to include in the request.'),
60
+ });
61
+ /**
62
+ * Configuration for SQL query-based data sources
63
+ * @interface SqlQueryDataSource
64
+ * @extends {BaseDataSource}
65
+ */
66
+ export const SqlQueryDataSource = BaseDataSource.extend({
67
+ type: z.literal(DataSourceTypes.enum.sql),
68
+ /** SQL query to execute for data retrieval */
69
+ sqlQuery: z.string().describe('SQL query to execute.'),
70
+ });
71
+ /**
72
+ * Union type representing all possible data source configurations
73
+ * Discriminated union based on the 'type' field
74
+ * @type {DataSource}
75
+ */
76
+ export const DataSource = z
77
+ .discriminatedUnion('type', [
78
+ FileDataSource,
79
+ UrlDataSource,
80
+ SqlQueryDataSource,
81
+ ])
82
+ .describe('Data source specification.');
83
+ //# sourceMappingURL=DataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../src/DataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAG9D;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,8BAA8B;IAC9B,IAAI,EAAE,eAAe;IACrB;;;OAGG;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CACP,uEAAuE,CACxE;CACJ,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1C,4BAA4B;IAC5B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,qDAAqD,CAAC;IAClE,8CAA8C;IAC9C,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;IACzC,uCAAuC;IACvC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,CACP,6EAA6E,CAC9E;IACH,8CAA8C;IAC9C,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC9C,+BAA+B,CAChC;IACD,kDAAkD;IAClD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,iDAAiD;IACjD,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,CAAC;CAClD,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;IACzC,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CACvD,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,kBAAkB,CAAC,MAAM,EAAE;IAC1B,cAAc;IACd,aAAa;IACb,kBAAkB;CACnB,CAAC;KACD,QAAQ,CAAC,4BAA4B,CAAC,CAAC","sourcesContent":["import {LoadFileOptions} from './LoadOptions';\nimport {z} from 'zod';\n\n/**\n * Enum representing the supported types of data sources\n * @enum {string}\n */\nexport const DataSourceTypes = z.enum(['file', 'url', 'sql']);\nexport type DataSourceTypes = z.infer<typeof DataSourceTypes>;\n\n/**\n * Base interface for all data source configurations\n * @interface BaseDataSource\n */\nexport const BaseDataSource = z.object({\n /** Type of the data source */\n type: DataSourceTypes,\n /**\n * Unique table name used to store the data loaded from the data source.\n * This name will be used to reference the data in SQL queries.\n */\n tableName: z\n .string()\n .describe(\n 'Unique table name used to store the data loaded from the data source.',\n ),\n});\nexport type BaseDataSource = z.infer<typeof BaseDataSource>;\n\n/**\n * Configuration for file-based data sources\n * @interface FileDataSource\n * @extends {BaseDataSource}\n */\nexport const FileDataSource = BaseDataSource.extend({\n type: z.literal(DataSourceTypes.enum.file),\n /** Path to the data file */\n fileName: z\n .string()\n .describe('Currently only CSV and Parquet files are supported.'),\n /** Optional configuration for file loading */\n loadOptions: LoadFileOptions.optional(),\n});\nexport type FileDataSource = z.infer<typeof FileDataSource>;\n\n/**\n * Configuration for URL-based data sources\n * @interface UrlDataSource\n * @extends {BaseDataSource}\n */\nexport const UrlDataSource = BaseDataSource.extend({\n type: z.literal(DataSourceTypes.enum.url),\n /** URL from which to fetch the data */\n url: z\n .string()\n .describe(\n 'URL to fetch data from. Currently only CSV and Parquet files are supported.',\n ),\n /** Optional configuration for file loading */\n loadOptions: LoadFileOptions.optional().describe(\n 'Options for loading the file.',\n ),\n /** Optional HTTP method to use for the request */\n httpMethod: z\n .string()\n .optional()\n .describe('HTTP method to use for the request.'),\n /** Optional headers to include in the request */\n headers: z\n .record(z.string(), z.string())\n .optional()\n .describe('Headers to include in the request.'),\n});\nexport type UrlDataSource = z.infer<typeof UrlDataSource>;\n\n/**\n * Configuration for SQL query-based data sources\n * @interface SqlQueryDataSource\n * @extends {BaseDataSource}\n */\nexport const SqlQueryDataSource = BaseDataSource.extend({\n type: z.literal(DataSourceTypes.enum.sql),\n /** SQL query to execute for data retrieval */\n sqlQuery: z.string().describe('SQL query to execute.'),\n});\nexport type SqlQueryDataSource = z.infer<typeof SqlQueryDataSource>;\n\n/**\n * Union type representing all possible data source configurations\n * Discriminated union based on the 'type' field\n * @type {DataSource}\n */\nexport const DataSource = z\n .discriminatedUnion('type', [\n FileDataSource,\n UrlDataSource,\n SqlQueryDataSource,\n ])\n .describe('Data source specification.');\nexport type DataSource = z.infer<typeof DataSource>;\n"]}