@llmops/core 0.1.0-beta.7 → 0.1.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/dist/bun-sqlite-dialect-BY9UbL3J.cjs +156 -0
- package/dist/db/index.cjs +21 -0
- package/dist/db/index.d.cts +2 -0
- package/dist/db/index.d.mts +2 -2
- package/dist/db/index.mjs +2 -2
- package/dist/db-16I7_mus.cjs +13236 -0
- package/dist/{db-D9v8S6D5.mjs → db-DCfAacY7.mjs} +300 -30
- package/dist/{index-D59q8KmB.d.mts → index-9HhrwwZi.d.cts} +57 -24
- package/dist/index-BKx9C2tK.d.mts +859 -0
- package/dist/index.cjs +1383 -0
- package/dist/index.d.cts +2075 -0
- package/dist/index.d.mts +321 -310
- package/dist/index.mjs +4 -8
- package/dist/node-sqlite-dialect-CuJrXyHn.cjs +156 -0
- package/package.json +23 -5
|
@@ -0,0 +1,859 @@
|
|
|
1
|
+
import { ColumnType, Generated, Kysely, MssqlDialect, MysqlDialect, PostgresDialect, SqliteDialect } from "kysely";
|
|
2
|
+
import * as zod0 from "zod";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
|
|
5
|
+
//#region src/db/schema.d.ts
|
|
6
|
+
declare const configsSchema: z.ZodObject<{
|
|
7
|
+
slug: z.ZodString;
|
|
8
|
+
name: z.ZodOptional<z.ZodString>;
|
|
9
|
+
id: z.ZodString;
|
|
10
|
+
createdAt: z.ZodDate;
|
|
11
|
+
updatedAt: z.ZodDate;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
declare const variantsSchema: z.ZodObject<{
|
|
14
|
+
name: z.ZodString;
|
|
15
|
+
id: z.ZodString;
|
|
16
|
+
createdAt: z.ZodDate;
|
|
17
|
+
updatedAt: z.ZodDate;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
declare const variantVersionsSchema: z.ZodObject<{
|
|
20
|
+
variantId: z.ZodString;
|
|
21
|
+
version: z.ZodNumber;
|
|
22
|
+
provider: z.ZodString;
|
|
23
|
+
modelName: z.ZodString;
|
|
24
|
+
jsonData: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
createdAt: z.ZodDate;
|
|
27
|
+
updatedAt: z.ZodDate;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
declare const environmentsSchema: z.ZodObject<{
|
|
30
|
+
name: z.ZodString;
|
|
31
|
+
slug: z.ZodString;
|
|
32
|
+
isProd: z.ZodDefault<z.ZodBoolean>;
|
|
33
|
+
id: z.ZodString;
|
|
34
|
+
createdAt: z.ZodDate;
|
|
35
|
+
updatedAt: z.ZodDate;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
declare const environmentSecretsSchema: z.ZodObject<{
|
|
38
|
+
environmentId: z.ZodString;
|
|
39
|
+
keyName: z.ZodString;
|
|
40
|
+
keyValue: z.ZodString;
|
|
41
|
+
id: z.ZodString;
|
|
42
|
+
createdAt: z.ZodDate;
|
|
43
|
+
updatedAt: z.ZodDate;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
declare const configVariantsSchema: z.ZodObject<{
|
|
46
|
+
configId: z.ZodString;
|
|
47
|
+
variantId: z.ZodString;
|
|
48
|
+
id: z.ZodString;
|
|
49
|
+
createdAt: z.ZodDate;
|
|
50
|
+
updatedAt: z.ZodDate;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
declare const targetingRulesSchema: z.ZodObject<{
|
|
53
|
+
environmentId: z.ZodString;
|
|
54
|
+
configId: z.ZodString;
|
|
55
|
+
configVariantId: z.ZodString;
|
|
56
|
+
variantVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
57
|
+
weight: z.ZodDefault<z.ZodNumber>;
|
|
58
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
59
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
60
|
+
conditions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
61
|
+
id: z.ZodString;
|
|
62
|
+
createdAt: z.ZodDate;
|
|
63
|
+
updatedAt: z.ZodDate;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
/**
|
|
66
|
+
* Zod inferred types (for runtime validation)
|
|
67
|
+
*/
|
|
68
|
+
type Config = z.infer<typeof configsSchema>;
|
|
69
|
+
type Variant = z.infer<typeof variantsSchema>;
|
|
70
|
+
type VariantVersion = z.infer<typeof variantVersionsSchema>;
|
|
71
|
+
type Environment = z.infer<typeof environmentsSchema>;
|
|
72
|
+
type EnvironmentSecret = z.infer<typeof environmentSecretsSchema>;
|
|
73
|
+
type ConfigVariant = z.infer<typeof configVariantsSchema>;
|
|
74
|
+
type TargetingRule = z.infer<typeof targetingRulesSchema>;
|
|
75
|
+
/**
|
|
76
|
+
* Kysely Table Interfaces
|
|
77
|
+
* Derived from Zod schemas with proper column types
|
|
78
|
+
*/
|
|
79
|
+
interface BaseTable {
|
|
80
|
+
id: Generated<string>;
|
|
81
|
+
createdAt: ColumnType<Date, string | undefined, string | undefined>;
|
|
82
|
+
updatedAt: ColumnType<Date, string | undefined, string | undefined>;
|
|
83
|
+
}
|
|
84
|
+
interface ConfigsTable extends BaseTable {
|
|
85
|
+
slug: string;
|
|
86
|
+
name?: string;
|
|
87
|
+
}
|
|
88
|
+
interface VariantsTable extends BaseTable {
|
|
89
|
+
name: string;
|
|
90
|
+
}
|
|
91
|
+
interface VariantVersionsTable extends BaseTable {
|
|
92
|
+
variantId: string;
|
|
93
|
+
version: number;
|
|
94
|
+
provider: string;
|
|
95
|
+
modelName: string;
|
|
96
|
+
jsonData: ColumnType<Record<string, unknown>, string, string>;
|
|
97
|
+
}
|
|
98
|
+
interface EnvironmentsTable extends BaseTable {
|
|
99
|
+
name: string;
|
|
100
|
+
slug: string;
|
|
101
|
+
isProd: ColumnType<boolean, boolean | undefined, boolean | undefined>;
|
|
102
|
+
}
|
|
103
|
+
interface EnvironmentSecretsTable extends BaseTable {
|
|
104
|
+
environmentId: string;
|
|
105
|
+
keyName: string;
|
|
106
|
+
keyValue: string;
|
|
107
|
+
}
|
|
108
|
+
interface ConfigVariantsTable extends BaseTable {
|
|
109
|
+
configId: string;
|
|
110
|
+
variantId: string;
|
|
111
|
+
}
|
|
112
|
+
interface TargetingRulesTable extends BaseTable {
|
|
113
|
+
environmentId: string;
|
|
114
|
+
configId: string;
|
|
115
|
+
configVariantId: string;
|
|
116
|
+
variantVersionId: string | null;
|
|
117
|
+
weight: ColumnType<number, number | undefined, number | undefined>;
|
|
118
|
+
priority: ColumnType<number, number | undefined, number | undefined>;
|
|
119
|
+
enabled: ColumnType<boolean, boolean | undefined, boolean | undefined>;
|
|
120
|
+
conditions: ColumnType<Record<string, unknown>, string, string>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Main Kysely Database interface
|
|
124
|
+
*/
|
|
125
|
+
interface Database {
|
|
126
|
+
configs: ConfigsTable;
|
|
127
|
+
variants: VariantsTable;
|
|
128
|
+
variant_versions: VariantVersionsTable;
|
|
129
|
+
environments: EnvironmentsTable;
|
|
130
|
+
environment_secrets: EnvironmentSecretsTable;
|
|
131
|
+
config_variants: ConfigVariantsTable;
|
|
132
|
+
targeting_rules: TargetingRulesTable;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Table names as a union type
|
|
136
|
+
*/
|
|
137
|
+
type TableName = keyof Database;
|
|
138
|
+
/**
|
|
139
|
+
* Utility types for type-safe operations
|
|
140
|
+
*/
|
|
141
|
+
type Insertable<T extends TableName> = { [K in keyof Database[T]]: Database[T][K] extends ColumnType<infer _SelectType, infer InsertType, infer _UpdateType> ? InsertType : Database[T][K] extends Generated<infer _GeneratedType> ? never : Database[T][K] };
|
|
142
|
+
type Selectable<T extends TableName> = { [K in keyof Database[T]]: Database[T][K] extends ColumnType<infer SelectType, infer _InsertType, infer _UpdateType> ? SelectType : Database[T][K] extends Generated<infer GeneratedType> ? GeneratedType : Database[T][K] };
|
|
143
|
+
type Updateable<T extends TableName> = { [K in keyof Database[T]]?: Database[T][K] extends ColumnType<infer _SelectType, infer _InsertType, infer UpdateType> ? UpdateType : Database[T][K] extends Generated<infer _GeneratedType> ? never : Database[T][K] };
|
|
144
|
+
/**
|
|
145
|
+
* Schema metadata for migrations
|
|
146
|
+
* Derived from Zod schemas
|
|
147
|
+
*/
|
|
148
|
+
declare const SCHEMA_METADATA: {
|
|
149
|
+
readonly tables: {
|
|
150
|
+
readonly configs: {
|
|
151
|
+
readonly order: 1;
|
|
152
|
+
readonly schema: z.ZodObject<{
|
|
153
|
+
slug: z.ZodString;
|
|
154
|
+
name: z.ZodOptional<z.ZodString>;
|
|
155
|
+
id: z.ZodString;
|
|
156
|
+
createdAt: z.ZodDate;
|
|
157
|
+
updatedAt: z.ZodDate;
|
|
158
|
+
}, z.core.$strip>;
|
|
159
|
+
readonly fields: {
|
|
160
|
+
readonly id: {
|
|
161
|
+
readonly type: "uuid";
|
|
162
|
+
readonly primaryKey: true;
|
|
163
|
+
};
|
|
164
|
+
readonly slug: {
|
|
165
|
+
readonly type: "text";
|
|
166
|
+
readonly unique: true;
|
|
167
|
+
};
|
|
168
|
+
readonly name: {
|
|
169
|
+
readonly type: "text";
|
|
170
|
+
readonly nullable: true;
|
|
171
|
+
};
|
|
172
|
+
readonly createdAt: {
|
|
173
|
+
readonly type: "timestamp";
|
|
174
|
+
readonly default: "now()";
|
|
175
|
+
};
|
|
176
|
+
readonly updatedAt: {
|
|
177
|
+
readonly type: "timestamp";
|
|
178
|
+
readonly default: "now()";
|
|
179
|
+
readonly onUpdate: "now()";
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
readonly variants: {
|
|
184
|
+
readonly order: 2;
|
|
185
|
+
readonly schema: z.ZodObject<{
|
|
186
|
+
name: z.ZodString;
|
|
187
|
+
id: z.ZodString;
|
|
188
|
+
createdAt: z.ZodDate;
|
|
189
|
+
updatedAt: z.ZodDate;
|
|
190
|
+
}, z.core.$strip>;
|
|
191
|
+
readonly fields: {
|
|
192
|
+
readonly id: {
|
|
193
|
+
readonly type: "uuid";
|
|
194
|
+
readonly primaryKey: true;
|
|
195
|
+
};
|
|
196
|
+
readonly name: {
|
|
197
|
+
readonly type: "text";
|
|
198
|
+
};
|
|
199
|
+
readonly createdAt: {
|
|
200
|
+
readonly type: "timestamp";
|
|
201
|
+
readonly default: "now()";
|
|
202
|
+
};
|
|
203
|
+
readonly updatedAt: {
|
|
204
|
+
readonly type: "timestamp";
|
|
205
|
+
readonly default: "now()";
|
|
206
|
+
readonly onUpdate: "now()";
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
readonly variant_versions: {
|
|
211
|
+
readonly order: 3;
|
|
212
|
+
readonly schema: z.ZodObject<{
|
|
213
|
+
variantId: z.ZodString;
|
|
214
|
+
version: z.ZodNumber;
|
|
215
|
+
provider: z.ZodString;
|
|
216
|
+
modelName: z.ZodString;
|
|
217
|
+
jsonData: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
218
|
+
id: z.ZodString;
|
|
219
|
+
createdAt: z.ZodDate;
|
|
220
|
+
updatedAt: z.ZodDate;
|
|
221
|
+
}, z.core.$strip>;
|
|
222
|
+
readonly fields: {
|
|
223
|
+
readonly id: {
|
|
224
|
+
readonly type: "uuid";
|
|
225
|
+
readonly primaryKey: true;
|
|
226
|
+
};
|
|
227
|
+
readonly variantId: {
|
|
228
|
+
readonly type: "uuid";
|
|
229
|
+
readonly references: {
|
|
230
|
+
readonly table: "variants";
|
|
231
|
+
readonly column: "id";
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
readonly version: {
|
|
235
|
+
readonly type: "integer";
|
|
236
|
+
};
|
|
237
|
+
readonly provider: {
|
|
238
|
+
readonly type: "text";
|
|
239
|
+
};
|
|
240
|
+
readonly modelName: {
|
|
241
|
+
readonly type: "text";
|
|
242
|
+
};
|
|
243
|
+
readonly jsonData: {
|
|
244
|
+
readonly type: "jsonb";
|
|
245
|
+
};
|
|
246
|
+
readonly createdAt: {
|
|
247
|
+
readonly type: "timestamp";
|
|
248
|
+
readonly default: "now()";
|
|
249
|
+
};
|
|
250
|
+
readonly updatedAt: {
|
|
251
|
+
readonly type: "timestamp";
|
|
252
|
+
readonly default: "now()";
|
|
253
|
+
readonly onUpdate: "now()";
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
readonly uniqueConstraints: readonly [{
|
|
257
|
+
readonly columns: readonly ["variantId", "version"];
|
|
258
|
+
}];
|
|
259
|
+
};
|
|
260
|
+
readonly environments: {
|
|
261
|
+
readonly order: 4;
|
|
262
|
+
readonly schema: z.ZodObject<{
|
|
263
|
+
name: z.ZodString;
|
|
264
|
+
slug: z.ZodString;
|
|
265
|
+
isProd: z.ZodDefault<z.ZodBoolean>;
|
|
266
|
+
id: z.ZodString;
|
|
267
|
+
createdAt: z.ZodDate;
|
|
268
|
+
updatedAt: z.ZodDate;
|
|
269
|
+
}, z.core.$strip>;
|
|
270
|
+
readonly fields: {
|
|
271
|
+
readonly id: {
|
|
272
|
+
readonly type: "uuid";
|
|
273
|
+
readonly primaryKey: true;
|
|
274
|
+
};
|
|
275
|
+
readonly name: {
|
|
276
|
+
readonly type: "text";
|
|
277
|
+
};
|
|
278
|
+
readonly slug: {
|
|
279
|
+
readonly type: "text";
|
|
280
|
+
readonly unique: true;
|
|
281
|
+
};
|
|
282
|
+
readonly isProd: {
|
|
283
|
+
readonly type: "boolean";
|
|
284
|
+
readonly default: false;
|
|
285
|
+
};
|
|
286
|
+
readonly createdAt: {
|
|
287
|
+
readonly type: "timestamp";
|
|
288
|
+
readonly default: "now()";
|
|
289
|
+
};
|
|
290
|
+
readonly updatedAt: {
|
|
291
|
+
readonly type: "timestamp";
|
|
292
|
+
readonly default: "now()";
|
|
293
|
+
readonly onUpdate: "now()";
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
readonly environment_secrets: {
|
|
298
|
+
readonly order: 5;
|
|
299
|
+
readonly schema: z.ZodObject<{
|
|
300
|
+
environmentId: z.ZodString;
|
|
301
|
+
keyName: z.ZodString;
|
|
302
|
+
keyValue: z.ZodString;
|
|
303
|
+
id: z.ZodString;
|
|
304
|
+
createdAt: z.ZodDate;
|
|
305
|
+
updatedAt: z.ZodDate;
|
|
306
|
+
}, z.core.$strip>;
|
|
307
|
+
readonly fields: {
|
|
308
|
+
readonly id: {
|
|
309
|
+
readonly type: "uuid";
|
|
310
|
+
readonly primaryKey: true;
|
|
311
|
+
};
|
|
312
|
+
readonly environmentId: {
|
|
313
|
+
readonly type: "uuid";
|
|
314
|
+
readonly references: {
|
|
315
|
+
readonly table: "environments";
|
|
316
|
+
readonly column: "id";
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
readonly keyName: {
|
|
320
|
+
readonly type: "text";
|
|
321
|
+
};
|
|
322
|
+
readonly keyValue: {
|
|
323
|
+
readonly type: "text";
|
|
324
|
+
};
|
|
325
|
+
readonly createdAt: {
|
|
326
|
+
readonly type: "timestamp";
|
|
327
|
+
readonly default: "now()";
|
|
328
|
+
};
|
|
329
|
+
readonly updatedAt: {
|
|
330
|
+
readonly type: "timestamp";
|
|
331
|
+
readonly default: "now()";
|
|
332
|
+
readonly onUpdate: "now()";
|
|
333
|
+
};
|
|
334
|
+
};
|
|
335
|
+
};
|
|
336
|
+
readonly config_variants: {
|
|
337
|
+
readonly order: 6;
|
|
338
|
+
readonly schema: z.ZodObject<{
|
|
339
|
+
configId: z.ZodString;
|
|
340
|
+
variantId: z.ZodString;
|
|
341
|
+
id: z.ZodString;
|
|
342
|
+
createdAt: z.ZodDate;
|
|
343
|
+
updatedAt: z.ZodDate;
|
|
344
|
+
}, z.core.$strip>;
|
|
345
|
+
readonly fields: {
|
|
346
|
+
readonly id: {
|
|
347
|
+
readonly type: "uuid";
|
|
348
|
+
readonly primaryKey: true;
|
|
349
|
+
};
|
|
350
|
+
readonly configId: {
|
|
351
|
+
readonly type: "uuid";
|
|
352
|
+
readonly references: {
|
|
353
|
+
readonly table: "configs";
|
|
354
|
+
readonly column: "id";
|
|
355
|
+
};
|
|
356
|
+
};
|
|
357
|
+
readonly variantId: {
|
|
358
|
+
readonly type: "uuid";
|
|
359
|
+
readonly references: {
|
|
360
|
+
readonly table: "variants";
|
|
361
|
+
readonly column: "id";
|
|
362
|
+
};
|
|
363
|
+
};
|
|
364
|
+
readonly createdAt: {
|
|
365
|
+
readonly type: "timestamp";
|
|
366
|
+
readonly default: "now()";
|
|
367
|
+
};
|
|
368
|
+
readonly updatedAt: {
|
|
369
|
+
readonly type: "timestamp";
|
|
370
|
+
readonly default: "now()";
|
|
371
|
+
readonly onUpdate: "now()";
|
|
372
|
+
};
|
|
373
|
+
};
|
|
374
|
+
};
|
|
375
|
+
readonly targeting_rules: {
|
|
376
|
+
readonly order: 7;
|
|
377
|
+
readonly schema: z.ZodObject<{
|
|
378
|
+
environmentId: z.ZodString;
|
|
379
|
+
configId: z.ZodString;
|
|
380
|
+
configVariantId: z.ZodString;
|
|
381
|
+
variantVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
382
|
+
weight: z.ZodDefault<z.ZodNumber>;
|
|
383
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
384
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
385
|
+
conditions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
386
|
+
id: z.ZodString;
|
|
387
|
+
createdAt: z.ZodDate;
|
|
388
|
+
updatedAt: z.ZodDate;
|
|
389
|
+
}, z.core.$strip>;
|
|
390
|
+
readonly fields: {
|
|
391
|
+
readonly id: {
|
|
392
|
+
readonly type: "uuid";
|
|
393
|
+
readonly primaryKey: true;
|
|
394
|
+
};
|
|
395
|
+
readonly environmentId: {
|
|
396
|
+
readonly type: "uuid";
|
|
397
|
+
readonly references: {
|
|
398
|
+
readonly table: "environments";
|
|
399
|
+
readonly column: "id";
|
|
400
|
+
};
|
|
401
|
+
};
|
|
402
|
+
readonly configId: {
|
|
403
|
+
readonly type: "uuid";
|
|
404
|
+
readonly references: {
|
|
405
|
+
readonly table: "configs";
|
|
406
|
+
readonly column: "id";
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
readonly configVariantId: {
|
|
410
|
+
readonly type: "uuid";
|
|
411
|
+
readonly references: {
|
|
412
|
+
readonly table: "config_variants";
|
|
413
|
+
readonly column: "id";
|
|
414
|
+
};
|
|
415
|
+
};
|
|
416
|
+
readonly variantVersionId: {
|
|
417
|
+
readonly type: "uuid";
|
|
418
|
+
readonly nullable: true;
|
|
419
|
+
readonly references: {
|
|
420
|
+
readonly table: "variant_versions";
|
|
421
|
+
readonly column: "id";
|
|
422
|
+
};
|
|
423
|
+
};
|
|
424
|
+
readonly weight: {
|
|
425
|
+
readonly type: "integer";
|
|
426
|
+
readonly default: 10000;
|
|
427
|
+
};
|
|
428
|
+
readonly priority: {
|
|
429
|
+
readonly type: "integer";
|
|
430
|
+
readonly default: 0;
|
|
431
|
+
};
|
|
432
|
+
readonly enabled: {
|
|
433
|
+
readonly type: "boolean";
|
|
434
|
+
readonly default: true;
|
|
435
|
+
};
|
|
436
|
+
readonly conditions: {
|
|
437
|
+
readonly type: "jsonb";
|
|
438
|
+
readonly default: "{}";
|
|
439
|
+
};
|
|
440
|
+
readonly createdAt: {
|
|
441
|
+
readonly type: "timestamp";
|
|
442
|
+
readonly default: "now()";
|
|
443
|
+
};
|
|
444
|
+
readonly updatedAt: {
|
|
445
|
+
readonly type: "timestamp";
|
|
446
|
+
readonly default: "now()";
|
|
447
|
+
readonly onUpdate: "now()";
|
|
448
|
+
};
|
|
449
|
+
};
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
};
|
|
453
|
+
/**
|
|
454
|
+
* Export all Zod schemas for runtime validation
|
|
455
|
+
*/
|
|
456
|
+
declare const schemas: {
|
|
457
|
+
readonly configs: z.ZodObject<{
|
|
458
|
+
slug: z.ZodString;
|
|
459
|
+
name: z.ZodOptional<z.ZodString>;
|
|
460
|
+
id: z.ZodString;
|
|
461
|
+
createdAt: z.ZodDate;
|
|
462
|
+
updatedAt: z.ZodDate;
|
|
463
|
+
}, z.core.$strip>;
|
|
464
|
+
readonly variants: z.ZodObject<{
|
|
465
|
+
name: z.ZodString;
|
|
466
|
+
id: z.ZodString;
|
|
467
|
+
createdAt: z.ZodDate;
|
|
468
|
+
updatedAt: z.ZodDate;
|
|
469
|
+
}, z.core.$strip>;
|
|
470
|
+
readonly variant_versions: z.ZodObject<{
|
|
471
|
+
variantId: z.ZodString;
|
|
472
|
+
version: z.ZodNumber;
|
|
473
|
+
provider: z.ZodString;
|
|
474
|
+
modelName: z.ZodString;
|
|
475
|
+
jsonData: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
476
|
+
id: z.ZodString;
|
|
477
|
+
createdAt: z.ZodDate;
|
|
478
|
+
updatedAt: z.ZodDate;
|
|
479
|
+
}, z.core.$strip>;
|
|
480
|
+
readonly environments: z.ZodObject<{
|
|
481
|
+
name: z.ZodString;
|
|
482
|
+
slug: z.ZodString;
|
|
483
|
+
isProd: z.ZodDefault<z.ZodBoolean>;
|
|
484
|
+
id: z.ZodString;
|
|
485
|
+
createdAt: z.ZodDate;
|
|
486
|
+
updatedAt: z.ZodDate;
|
|
487
|
+
}, z.core.$strip>;
|
|
488
|
+
readonly environment_secrets: z.ZodObject<{
|
|
489
|
+
environmentId: z.ZodString;
|
|
490
|
+
keyName: z.ZodString;
|
|
491
|
+
keyValue: z.ZodString;
|
|
492
|
+
id: z.ZodString;
|
|
493
|
+
createdAt: z.ZodDate;
|
|
494
|
+
updatedAt: z.ZodDate;
|
|
495
|
+
}, z.core.$strip>;
|
|
496
|
+
readonly config_variants: z.ZodObject<{
|
|
497
|
+
configId: z.ZodString;
|
|
498
|
+
variantId: z.ZodString;
|
|
499
|
+
id: z.ZodString;
|
|
500
|
+
createdAt: z.ZodDate;
|
|
501
|
+
updatedAt: z.ZodDate;
|
|
502
|
+
}, z.core.$strip>;
|
|
503
|
+
readonly targeting_rules: z.ZodObject<{
|
|
504
|
+
environmentId: z.ZodString;
|
|
505
|
+
configId: z.ZodString;
|
|
506
|
+
configVariantId: z.ZodString;
|
|
507
|
+
variantVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
508
|
+
weight: z.ZodDefault<z.ZodNumber>;
|
|
509
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
510
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
511
|
+
conditions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
512
|
+
id: z.ZodString;
|
|
513
|
+
createdAt: z.ZodDate;
|
|
514
|
+
updatedAt: z.ZodDate;
|
|
515
|
+
}, z.core.$strip>;
|
|
516
|
+
};
|
|
517
|
+
//#endregion
|
|
518
|
+
//#region src/db/validation.d.ts
|
|
519
|
+
/**
|
|
520
|
+
* Validate data against table schema
|
|
521
|
+
* Useful for runtime validation before inserting/updating
|
|
522
|
+
*/
|
|
523
|
+
declare function validateTableData<T extends TableName>(table: T, data: unknown): zod0.ZodSafeParseSuccess<{
|
|
524
|
+
slug: string;
|
|
525
|
+
id: string;
|
|
526
|
+
createdAt: Date;
|
|
527
|
+
updatedAt: Date;
|
|
528
|
+
name?: string | undefined;
|
|
529
|
+
}> | zod0.ZodSafeParseError<{
|
|
530
|
+
slug: string;
|
|
531
|
+
id: string;
|
|
532
|
+
createdAt: Date;
|
|
533
|
+
updatedAt: Date;
|
|
534
|
+
name?: string | undefined;
|
|
535
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
536
|
+
name: string;
|
|
537
|
+
id: string;
|
|
538
|
+
createdAt: Date;
|
|
539
|
+
updatedAt: Date;
|
|
540
|
+
}> | zod0.ZodSafeParseError<{
|
|
541
|
+
name: string;
|
|
542
|
+
id: string;
|
|
543
|
+
createdAt: Date;
|
|
544
|
+
updatedAt: Date;
|
|
545
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
546
|
+
variantId: string;
|
|
547
|
+
version: number;
|
|
548
|
+
provider: string;
|
|
549
|
+
modelName: string;
|
|
550
|
+
jsonData: Record<string, unknown>;
|
|
551
|
+
id: string;
|
|
552
|
+
createdAt: Date;
|
|
553
|
+
updatedAt: Date;
|
|
554
|
+
}> | zod0.ZodSafeParseError<{
|
|
555
|
+
variantId: string;
|
|
556
|
+
version: number;
|
|
557
|
+
provider: string;
|
|
558
|
+
modelName: string;
|
|
559
|
+
jsonData: Record<string, unknown>;
|
|
560
|
+
id: string;
|
|
561
|
+
createdAt: Date;
|
|
562
|
+
updatedAt: Date;
|
|
563
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
564
|
+
environmentId: string;
|
|
565
|
+
keyName: string;
|
|
566
|
+
keyValue: string;
|
|
567
|
+
id: string;
|
|
568
|
+
createdAt: Date;
|
|
569
|
+
updatedAt: Date;
|
|
570
|
+
}> | zod0.ZodSafeParseError<{
|
|
571
|
+
environmentId: string;
|
|
572
|
+
keyName: string;
|
|
573
|
+
keyValue: string;
|
|
574
|
+
id: string;
|
|
575
|
+
createdAt: Date;
|
|
576
|
+
updatedAt: Date;
|
|
577
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
578
|
+
configId: string;
|
|
579
|
+
variantId: string;
|
|
580
|
+
id: string;
|
|
581
|
+
createdAt: Date;
|
|
582
|
+
updatedAt: Date;
|
|
583
|
+
}> | zod0.ZodSafeParseError<{
|
|
584
|
+
configId: string;
|
|
585
|
+
variantId: string;
|
|
586
|
+
id: string;
|
|
587
|
+
createdAt: Date;
|
|
588
|
+
updatedAt: Date;
|
|
589
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
590
|
+
environmentId: string;
|
|
591
|
+
configId: string;
|
|
592
|
+
configVariantId: string;
|
|
593
|
+
weight: number;
|
|
594
|
+
priority: number;
|
|
595
|
+
enabled: boolean;
|
|
596
|
+
conditions: Record<string, unknown>;
|
|
597
|
+
id: string;
|
|
598
|
+
createdAt: Date;
|
|
599
|
+
updatedAt: Date;
|
|
600
|
+
variantVersionId?: string | null | undefined;
|
|
601
|
+
}> | zod0.ZodSafeParseError<{
|
|
602
|
+
environmentId: string;
|
|
603
|
+
configId: string;
|
|
604
|
+
configVariantId: string;
|
|
605
|
+
weight: number;
|
|
606
|
+
priority: number;
|
|
607
|
+
enabled: boolean;
|
|
608
|
+
conditions: Record<string, unknown>;
|
|
609
|
+
id: string;
|
|
610
|
+
createdAt: Date;
|
|
611
|
+
updatedAt: Date;
|
|
612
|
+
variantVersionId?: string | null | undefined;
|
|
613
|
+
}>;
|
|
614
|
+
/**
|
|
615
|
+
* Validate partial data (for updates)
|
|
616
|
+
*/
|
|
617
|
+
declare function validatePartialTableData<T extends TableName>(table: T, data: unknown): zod0.ZodSafeParseSuccess<{
|
|
618
|
+
name?: string | undefined;
|
|
619
|
+
id?: string | undefined;
|
|
620
|
+
createdAt?: Date | undefined;
|
|
621
|
+
updatedAt?: Date | undefined;
|
|
622
|
+
}> | zod0.ZodSafeParseError<{
|
|
623
|
+
name?: string | undefined;
|
|
624
|
+
id?: string | undefined;
|
|
625
|
+
createdAt?: Date | undefined;
|
|
626
|
+
updatedAt?: Date | undefined;
|
|
627
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
628
|
+
variantId?: string | undefined;
|
|
629
|
+
version?: number | undefined;
|
|
630
|
+
provider?: string | undefined;
|
|
631
|
+
modelName?: string | undefined;
|
|
632
|
+
jsonData?: Record<string, unknown> | undefined;
|
|
633
|
+
id?: string | undefined;
|
|
634
|
+
createdAt?: Date | undefined;
|
|
635
|
+
updatedAt?: Date | undefined;
|
|
636
|
+
}> | zod0.ZodSafeParseError<{
|
|
637
|
+
variantId?: string | undefined;
|
|
638
|
+
version?: number | undefined;
|
|
639
|
+
provider?: string | undefined;
|
|
640
|
+
modelName?: string | undefined;
|
|
641
|
+
jsonData?: Record<string, unknown> | undefined;
|
|
642
|
+
id?: string | undefined;
|
|
643
|
+
createdAt?: Date | undefined;
|
|
644
|
+
updatedAt?: Date | undefined;
|
|
645
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
646
|
+
environmentId?: string | undefined;
|
|
647
|
+
keyName?: string | undefined;
|
|
648
|
+
keyValue?: string | undefined;
|
|
649
|
+
id?: string | undefined;
|
|
650
|
+
createdAt?: Date | undefined;
|
|
651
|
+
updatedAt?: Date | undefined;
|
|
652
|
+
}> | zod0.ZodSafeParseError<{
|
|
653
|
+
environmentId?: string | undefined;
|
|
654
|
+
keyName?: string | undefined;
|
|
655
|
+
keyValue?: string | undefined;
|
|
656
|
+
id?: string | undefined;
|
|
657
|
+
createdAt?: Date | undefined;
|
|
658
|
+
updatedAt?: Date | undefined;
|
|
659
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
660
|
+
configId?: string | undefined;
|
|
661
|
+
variantId?: string | undefined;
|
|
662
|
+
id?: string | undefined;
|
|
663
|
+
createdAt?: Date | undefined;
|
|
664
|
+
updatedAt?: Date | undefined;
|
|
665
|
+
}> | zod0.ZodSafeParseError<{
|
|
666
|
+
configId?: string | undefined;
|
|
667
|
+
variantId?: string | undefined;
|
|
668
|
+
id?: string | undefined;
|
|
669
|
+
createdAt?: Date | undefined;
|
|
670
|
+
updatedAt?: Date | undefined;
|
|
671
|
+
}> | zod0.ZodSafeParseSuccess<{
|
|
672
|
+
environmentId?: string | undefined;
|
|
673
|
+
configId?: string | undefined;
|
|
674
|
+
configVariantId?: string | undefined;
|
|
675
|
+
variantVersionId?: string | null | undefined;
|
|
676
|
+
weight?: number | undefined;
|
|
677
|
+
priority?: number | undefined;
|
|
678
|
+
enabled?: boolean | undefined;
|
|
679
|
+
conditions?: Record<string, unknown> | undefined;
|
|
680
|
+
id?: string | undefined;
|
|
681
|
+
createdAt?: Date | undefined;
|
|
682
|
+
updatedAt?: Date | undefined;
|
|
683
|
+
}> | zod0.ZodSafeParseError<{
|
|
684
|
+
environmentId?: string | undefined;
|
|
685
|
+
configId?: string | undefined;
|
|
686
|
+
configVariantId?: string | undefined;
|
|
687
|
+
variantVersionId?: string | null | undefined;
|
|
688
|
+
weight?: number | undefined;
|
|
689
|
+
priority?: number | undefined;
|
|
690
|
+
enabled?: boolean | undefined;
|
|
691
|
+
conditions?: Record<string, unknown> | undefined;
|
|
692
|
+
id?: string | undefined;
|
|
693
|
+
createdAt?: Date | undefined;
|
|
694
|
+
updatedAt?: Date | undefined;
|
|
695
|
+
}>;
|
|
696
|
+
/**
|
|
697
|
+
* Parse and validate data, throws on error
|
|
698
|
+
*/
|
|
699
|
+
declare function parseTableData<T extends TableName>(table: T, data: unknown): {
|
|
700
|
+
slug: string;
|
|
701
|
+
id: string;
|
|
702
|
+
createdAt: Date;
|
|
703
|
+
updatedAt: Date;
|
|
704
|
+
name?: string | undefined;
|
|
705
|
+
} | {
|
|
706
|
+
name: string;
|
|
707
|
+
id: string;
|
|
708
|
+
createdAt: Date;
|
|
709
|
+
updatedAt: Date;
|
|
710
|
+
} | {
|
|
711
|
+
variantId: string;
|
|
712
|
+
version: number;
|
|
713
|
+
provider: string;
|
|
714
|
+
modelName: string;
|
|
715
|
+
jsonData: Record<string, unknown>;
|
|
716
|
+
id: string;
|
|
717
|
+
createdAt: Date;
|
|
718
|
+
updatedAt: Date;
|
|
719
|
+
} | {
|
|
720
|
+
environmentId: string;
|
|
721
|
+
keyName: string;
|
|
722
|
+
keyValue: string;
|
|
723
|
+
id: string;
|
|
724
|
+
createdAt: Date;
|
|
725
|
+
updatedAt: Date;
|
|
726
|
+
} | {
|
|
727
|
+
configId: string;
|
|
728
|
+
variantId: string;
|
|
729
|
+
id: string;
|
|
730
|
+
createdAt: Date;
|
|
731
|
+
updatedAt: Date;
|
|
732
|
+
} | {
|
|
733
|
+
environmentId: string;
|
|
734
|
+
configId: string;
|
|
735
|
+
configVariantId: string;
|
|
736
|
+
weight: number;
|
|
737
|
+
priority: number;
|
|
738
|
+
enabled: boolean;
|
|
739
|
+
conditions: Record<string, unknown>;
|
|
740
|
+
id: string;
|
|
741
|
+
createdAt: Date;
|
|
742
|
+
updatedAt: Date;
|
|
743
|
+
variantVersionId?: string | null | undefined;
|
|
744
|
+
};
|
|
745
|
+
/**
|
|
746
|
+
* Parse partial data, throws on error
|
|
747
|
+
*/
|
|
748
|
+
declare function parsePartialTableData<T extends TableName>(table: T, data: unknown): {
|
|
749
|
+
name?: string | undefined;
|
|
750
|
+
id?: string | undefined;
|
|
751
|
+
createdAt?: Date | undefined;
|
|
752
|
+
updatedAt?: Date | undefined;
|
|
753
|
+
} | {
|
|
754
|
+
variantId?: string | undefined;
|
|
755
|
+
version?: number | undefined;
|
|
756
|
+
provider?: string | undefined;
|
|
757
|
+
modelName?: string | undefined;
|
|
758
|
+
jsonData?: Record<string, unknown> | undefined;
|
|
759
|
+
id?: string | undefined;
|
|
760
|
+
createdAt?: Date | undefined;
|
|
761
|
+
updatedAt?: Date | undefined;
|
|
762
|
+
} | {
|
|
763
|
+
environmentId?: string | undefined;
|
|
764
|
+
keyName?: string | undefined;
|
|
765
|
+
keyValue?: string | undefined;
|
|
766
|
+
id?: string | undefined;
|
|
767
|
+
createdAt?: Date | undefined;
|
|
768
|
+
updatedAt?: Date | undefined;
|
|
769
|
+
} | {
|
|
770
|
+
configId?: string | undefined;
|
|
771
|
+
variantId?: string | undefined;
|
|
772
|
+
id?: string | undefined;
|
|
773
|
+
createdAt?: Date | undefined;
|
|
774
|
+
updatedAt?: Date | undefined;
|
|
775
|
+
} | {
|
|
776
|
+
environmentId?: string | undefined;
|
|
777
|
+
configId?: string | undefined;
|
|
778
|
+
configVariantId?: string | undefined;
|
|
779
|
+
variantVersionId?: string | null | undefined;
|
|
780
|
+
weight?: number | undefined;
|
|
781
|
+
priority?: number | undefined;
|
|
782
|
+
enabled?: boolean | undefined;
|
|
783
|
+
conditions?: Record<string, unknown> | undefined;
|
|
784
|
+
id?: string | undefined;
|
|
785
|
+
createdAt?: Date | undefined;
|
|
786
|
+
updatedAt?: Date | undefined;
|
|
787
|
+
};
|
|
788
|
+
//#endregion
|
|
789
|
+
//#region src/db/migrations.d.ts
|
|
790
|
+
type DatabaseType$1 = 'postgres' | 'mysql' | 'sqlite' | 'mssql';
|
|
791
|
+
declare function matchType(columnDataType: string, fieldType: string, dbType: DatabaseType$1): boolean;
|
|
792
|
+
interface MigrationResult {
|
|
793
|
+
toBeCreated: Array<{
|
|
794
|
+
table: string;
|
|
795
|
+
fields: Record<string, any>;
|
|
796
|
+
order: number;
|
|
797
|
+
}>;
|
|
798
|
+
toBeAdded: Array<{
|
|
799
|
+
table: string;
|
|
800
|
+
fields: Record<string, any>;
|
|
801
|
+
order: number;
|
|
802
|
+
}>;
|
|
803
|
+
runMigrations: () => Promise<void>;
|
|
804
|
+
compileMigrations: () => Promise<string>;
|
|
805
|
+
migrations: any[];
|
|
806
|
+
needsMigration: boolean;
|
|
807
|
+
}
|
|
808
|
+
declare function getMigrations(db: Kysely<Database>, dbType: DatabaseType$1): Promise<MigrationResult>;
|
|
809
|
+
/**
|
|
810
|
+
* Run migrations if needed based on autoMigrate config
|
|
811
|
+
* @param db - Kysely database instance
|
|
812
|
+
* @param dbType - Database type
|
|
813
|
+
* @param autoMigrate - Auto-migrate configuration
|
|
814
|
+
* @returns true if migrations were run, false otherwise
|
|
815
|
+
*/
|
|
816
|
+
declare function runAutoMigrations(db: Kysely<Database>, dbType: DatabaseType$1, autoMigrate: boolean | 'development'): Promise<{
|
|
817
|
+
ran: boolean;
|
|
818
|
+
tables: string[];
|
|
819
|
+
fields: string[];
|
|
820
|
+
}>;
|
|
821
|
+
//#endregion
|
|
822
|
+
//#region src/db/index.d.ts
|
|
823
|
+
/**
|
|
824
|
+
* Supported database types
|
|
825
|
+
*/
|
|
826
|
+
type DatabaseType = 'postgres' | 'mysql' | 'sqlite' | 'mssql';
|
|
827
|
+
/**
|
|
828
|
+
* Database connection options
|
|
829
|
+
*/
|
|
830
|
+
type DatabaseConnection = {
|
|
831
|
+
type: 'postgres';
|
|
832
|
+
dialect: PostgresDialect;
|
|
833
|
+
} | {
|
|
834
|
+
type: 'mysql';
|
|
835
|
+
dialect: MysqlDialect;
|
|
836
|
+
} | {
|
|
837
|
+
type: 'sqlite';
|
|
838
|
+
dialect: SqliteDialect;
|
|
839
|
+
} | {
|
|
840
|
+
type: 'mssql';
|
|
841
|
+
dialect: MssqlDialect;
|
|
842
|
+
} | {
|
|
843
|
+
type: DatabaseType;
|
|
844
|
+
kysely: Kysely<Database>;
|
|
845
|
+
};
|
|
846
|
+
/**
|
|
847
|
+
* Create a Kysely database instance with type safety
|
|
848
|
+
*/
|
|
849
|
+
declare function createDatabase(connection: DatabaseConnection): Kysely<Database>;
|
|
850
|
+
/**
|
|
851
|
+
* Auto-detect database type from connection object
|
|
852
|
+
*/
|
|
853
|
+
declare function detectDatabaseType(db: unknown): DatabaseType | null;
|
|
854
|
+
/**
|
|
855
|
+
* Create database from raw connection
|
|
856
|
+
*/
|
|
857
|
+
declare function createDatabaseFromConnection(rawConnection: any): Promise<Kysely<Database> | null>;
|
|
858
|
+
//#endregion
|
|
859
|
+
export { Variant as A, variantVersionsSchema as B, Insertable as C, TargetingRule as D, TableName as E, configsSchema as F, environmentSecretsSchema as I, environmentsSchema as L, VariantVersionsTable as M, VariantsTable as N, TargetingRulesTable as O, configVariantsSchema as P, schemas as R, EnvironmentsTable as S, Selectable as T, variantsSchema as V, ConfigsTable as _, detectDatabaseType as a, EnvironmentSecret as b, matchType as c, parseTableData as d, validatePartialTableData as f, ConfigVariantsTable as g, ConfigVariant as h, createDatabaseFromConnection as i, VariantVersion as j, Updateable as k, runAutoMigrations as l, Config as m, DatabaseType as n, MigrationResult as o, validateTableData as p, createDatabase as r, getMigrations as s, DatabaseConnection as t, parsePartialTableData as u, Database as v, SCHEMA_METADATA as w, EnvironmentSecretsTable as x, Environment as y, targetingRulesSchema as z };
|