@xylex-group/athena 2.7.0 → 2.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.
- package/README.md +210 -17
- package/dist/browser.cjs +1253 -401
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +8 -7
- package/dist/browser.d.ts +8 -7
- package/dist/browser.js +1247 -402
- package/dist/browser.js.map +1 -1
- package/dist/cli/index.cjs +1285 -451
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +3 -3
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +1285 -451
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +1921 -698
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.js +1915 -699
- package/dist/index.js.map +1 -1
- package/dist/{model-form-AKYrgede.d.ts → model-form-DMed05gE.d.cts} +347 -82
- package/dist/{model-form-ehfqLuG7.d.cts → model-form-DXPlOnlI.d.ts} +347 -82
- package/dist/{pipeline-BUsR9XlO.d.ts → pipeline-CkMnhwPI.d.ts} +1 -1
- package/dist/{pipeline-BfCWSRYl.d.cts → pipeline-D4sJRKqN.d.cts} +1 -1
- package/dist/{react-email-BQzmXBDE.d.cts → react-email-DZhDDlEl.d.cts} +121 -8
- package/dist/{react-email-BrVRp80B.d.ts → react-email-Lrz9A-BW.d.ts} +121 -8
- package/dist/react.cjs +1 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +4 -4
- package/dist/react.d.ts +4 -4
- package/dist/react.js +1 -1
- package/dist/react.js.map +1 -1
- package/dist/{types-BSIsyss1.d.cts → types-BzY6fETM.d.ts} +47 -5
- package/dist/{types-t_TVqnmp.d.ts → types-CAtTGGoz.d.cts} +47 -5
- package/dist/{types-BsyRW49r.d.cts → types-vikz9YIO.d.cts} +23 -1
- package/dist/{types-BsyRW49r.d.ts → types-vikz9YIO.d.ts} +23 -1
- package/package.json +3 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { q as BackendType, I as IntrospectionSnapshot, S as SchemaIntrospectionProvider } from './types-vikz9YIO.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Supported case transformations for generated symbols and path token variants.
|
|
@@ -35,6 +35,13 @@ interface GeneratorExperimentalFlags {
|
|
|
35
35
|
*/
|
|
36
36
|
scyllaProviderContracts: boolean;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Internal generator metadata carried on normalized configs and generated
|
|
40
|
+
* registry artifacts so downstream tooling can detect contract revisions.
|
|
41
|
+
*/
|
|
42
|
+
interface GeneratorInternalConfig {
|
|
43
|
+
schemaVersion: number;
|
|
44
|
+
}
|
|
38
45
|
/**
|
|
39
46
|
* Path templates for each generated artifact category.
|
|
40
47
|
*/
|
|
@@ -44,10 +51,20 @@ interface GeneratorOutputTargets {
|
|
|
44
51
|
database: string;
|
|
45
52
|
registry: string;
|
|
46
53
|
}
|
|
54
|
+
type GeneratorOutputFormat = 'define-model' | 'table-builder';
|
|
47
55
|
/**
|
|
48
56
|
* Output configuration including dynamic placeholder aliases.
|
|
49
57
|
*/
|
|
50
58
|
interface GeneratorOutputConfig {
|
|
59
|
+
format?: GeneratorOutputFormat;
|
|
60
|
+
targets?: Partial<GeneratorOutputTargets>;
|
|
61
|
+
placeholderMap?: Record<string, string>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Normalized output configuration with defaults applied.
|
|
65
|
+
*/
|
|
66
|
+
interface NormalizedGeneratorOutputConfig {
|
|
67
|
+
format: GeneratorOutputFormat;
|
|
51
68
|
targets: GeneratorOutputTargets;
|
|
52
69
|
placeholderMap: Record<string, string>;
|
|
53
70
|
}
|
|
@@ -66,6 +83,13 @@ interface PostgresDirectProviderConfig {
|
|
|
66
83
|
database?: string;
|
|
67
84
|
schemas?: GeneratorSchemaSelection;
|
|
68
85
|
}
|
|
86
|
+
interface PostgresDirectProviderInputConfig {
|
|
87
|
+
kind: 'postgres';
|
|
88
|
+
mode: 'direct';
|
|
89
|
+
connectionString?: string;
|
|
90
|
+
database?: string;
|
|
91
|
+
schemas?: GeneratorSchemaSelection;
|
|
92
|
+
}
|
|
69
93
|
/**
|
|
70
94
|
* Athena gateway-backed PostgreSQL introspection mode using `/gateway/query`.
|
|
71
95
|
*/
|
|
@@ -78,6 +102,15 @@ interface PostgresGatewayProviderConfig {
|
|
|
78
102
|
schemas?: GeneratorSchemaSelection;
|
|
79
103
|
backend?: BackendType;
|
|
80
104
|
}
|
|
105
|
+
interface PostgresGatewayProviderInputConfig {
|
|
106
|
+
kind: 'postgres';
|
|
107
|
+
mode: 'gateway';
|
|
108
|
+
gatewayUrl?: string;
|
|
109
|
+
apiKey?: string;
|
|
110
|
+
database?: string;
|
|
111
|
+
schemas?: GeneratorSchemaSelection;
|
|
112
|
+
backend?: BackendType;
|
|
113
|
+
}
|
|
81
114
|
/**
|
|
82
115
|
* Scylla introspection provider contract placeholder (phase-two scaffold).
|
|
83
116
|
*/
|
|
@@ -88,13 +121,21 @@ interface ScyllaDirectProviderConfig {
|
|
|
88
121
|
keyspace: string;
|
|
89
122
|
datacenter?: string;
|
|
90
123
|
}
|
|
124
|
+
interface ScyllaDirectProviderInputConfig {
|
|
125
|
+
kind: 'scylla';
|
|
126
|
+
mode: 'direct';
|
|
127
|
+
contactPoints?: string[];
|
|
128
|
+
keyspace?: string;
|
|
129
|
+
datacenter?: string;
|
|
130
|
+
}
|
|
91
131
|
type GeneratorProviderConfig = PostgresDirectProviderConfig | PostgresGatewayProviderConfig | ScyllaDirectProviderConfig;
|
|
132
|
+
type GeneratorProviderInputConfig = PostgresDirectProviderInputConfig | PostgresGatewayProviderInputConfig | ScyllaDirectProviderInputConfig;
|
|
92
133
|
/**
|
|
93
134
|
* Root config contract loaded from `athena.config.ts`.
|
|
94
135
|
*/
|
|
95
136
|
interface AthenaGeneratorConfig {
|
|
96
|
-
provider:
|
|
97
|
-
output
|
|
137
|
+
provider: GeneratorProviderInputConfig;
|
|
138
|
+
output?: GeneratorOutputConfig;
|
|
98
139
|
naming?: Partial<GeneratorNamingConfig>;
|
|
99
140
|
features?: Partial<GeneratorFeatureFlags>;
|
|
100
141
|
experimental?: Partial<GeneratorExperimentalFlags>;
|
|
@@ -104,10 +145,11 @@ interface AthenaGeneratorConfig {
|
|
|
104
145
|
*/
|
|
105
146
|
interface NormalizedAthenaGeneratorConfig {
|
|
106
147
|
provider: GeneratorProviderConfig;
|
|
107
|
-
output:
|
|
148
|
+
output: NormalizedGeneratorOutputConfig;
|
|
108
149
|
naming: GeneratorNamingConfig;
|
|
109
150
|
features: GeneratorFeatureFlags;
|
|
110
151
|
experimental: GeneratorExperimentalFlags;
|
|
152
|
+
internal: GeneratorInternalConfig;
|
|
111
153
|
}
|
|
112
154
|
/**
|
|
113
155
|
* Config loader options for CLI/programmatic usage.
|
|
@@ -156,4 +198,4 @@ interface RunGeneratorResult extends GeneratedArtifacts {
|
|
|
156
198
|
writtenFiles: string[];
|
|
157
199
|
}
|
|
158
200
|
|
|
159
|
-
export type { AthenaGeneratorConfig as A, GeneratedArtifacts as G, LoadGeneratorConfigOptions as L, NormalizedAthenaGeneratorConfig as N, RunGeneratorOptions as R, LoadedGeneratorConfig as a, GeneratorProviderConfig as b, GeneratorExperimentalFlags as c, GeneratedArtifact as d, GeneratorArtifactKind as e, GeneratorFeatureFlags as f,
|
|
201
|
+
export type { AthenaGeneratorConfig as A, GeneratedArtifacts as G, LoadGeneratorConfigOptions as L, NormalizedAthenaGeneratorConfig as N, RunGeneratorOptions as R, LoadedGeneratorConfig as a, GeneratorProviderConfig as b, GeneratorExperimentalFlags as c, GeneratedArtifact as d, GeneratorArtifactKind as e, GeneratorFeatureFlags as f, GeneratorInternalConfig as g, GeneratorNamingConfig as h, GeneratorOutputConfig as i, GeneratorOutputFormat as j, GeneratorOutputTargets as k, GeneratorSchemaSelection as l, NamingStyle as m, NormalizedGeneratorOutputConfig as n, RunGeneratorResult as o };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { q as BackendType, I as IntrospectionSnapshot, S as SchemaIntrospectionProvider } from './types-vikz9YIO.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Supported case transformations for generated symbols and path token variants.
|
|
@@ -35,6 +35,13 @@ interface GeneratorExperimentalFlags {
|
|
|
35
35
|
*/
|
|
36
36
|
scyllaProviderContracts: boolean;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Internal generator metadata carried on normalized configs and generated
|
|
40
|
+
* registry artifacts so downstream tooling can detect contract revisions.
|
|
41
|
+
*/
|
|
42
|
+
interface GeneratorInternalConfig {
|
|
43
|
+
schemaVersion: number;
|
|
44
|
+
}
|
|
38
45
|
/**
|
|
39
46
|
* Path templates for each generated artifact category.
|
|
40
47
|
*/
|
|
@@ -44,10 +51,20 @@ interface GeneratorOutputTargets {
|
|
|
44
51
|
database: string;
|
|
45
52
|
registry: string;
|
|
46
53
|
}
|
|
54
|
+
type GeneratorOutputFormat = 'define-model' | 'table-builder';
|
|
47
55
|
/**
|
|
48
56
|
* Output configuration including dynamic placeholder aliases.
|
|
49
57
|
*/
|
|
50
58
|
interface GeneratorOutputConfig {
|
|
59
|
+
format?: GeneratorOutputFormat;
|
|
60
|
+
targets?: Partial<GeneratorOutputTargets>;
|
|
61
|
+
placeholderMap?: Record<string, string>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Normalized output configuration with defaults applied.
|
|
65
|
+
*/
|
|
66
|
+
interface NormalizedGeneratorOutputConfig {
|
|
67
|
+
format: GeneratorOutputFormat;
|
|
51
68
|
targets: GeneratorOutputTargets;
|
|
52
69
|
placeholderMap: Record<string, string>;
|
|
53
70
|
}
|
|
@@ -66,6 +83,13 @@ interface PostgresDirectProviderConfig {
|
|
|
66
83
|
database?: string;
|
|
67
84
|
schemas?: GeneratorSchemaSelection;
|
|
68
85
|
}
|
|
86
|
+
interface PostgresDirectProviderInputConfig {
|
|
87
|
+
kind: 'postgres';
|
|
88
|
+
mode: 'direct';
|
|
89
|
+
connectionString?: string;
|
|
90
|
+
database?: string;
|
|
91
|
+
schemas?: GeneratorSchemaSelection;
|
|
92
|
+
}
|
|
69
93
|
/**
|
|
70
94
|
* Athena gateway-backed PostgreSQL introspection mode using `/gateway/query`.
|
|
71
95
|
*/
|
|
@@ -78,6 +102,15 @@ interface PostgresGatewayProviderConfig {
|
|
|
78
102
|
schemas?: GeneratorSchemaSelection;
|
|
79
103
|
backend?: BackendType;
|
|
80
104
|
}
|
|
105
|
+
interface PostgresGatewayProviderInputConfig {
|
|
106
|
+
kind: 'postgres';
|
|
107
|
+
mode: 'gateway';
|
|
108
|
+
gatewayUrl?: string;
|
|
109
|
+
apiKey?: string;
|
|
110
|
+
database?: string;
|
|
111
|
+
schemas?: GeneratorSchemaSelection;
|
|
112
|
+
backend?: BackendType;
|
|
113
|
+
}
|
|
81
114
|
/**
|
|
82
115
|
* Scylla introspection provider contract placeholder (phase-two scaffold).
|
|
83
116
|
*/
|
|
@@ -88,13 +121,21 @@ interface ScyllaDirectProviderConfig {
|
|
|
88
121
|
keyspace: string;
|
|
89
122
|
datacenter?: string;
|
|
90
123
|
}
|
|
124
|
+
interface ScyllaDirectProviderInputConfig {
|
|
125
|
+
kind: 'scylla';
|
|
126
|
+
mode: 'direct';
|
|
127
|
+
contactPoints?: string[];
|
|
128
|
+
keyspace?: string;
|
|
129
|
+
datacenter?: string;
|
|
130
|
+
}
|
|
91
131
|
type GeneratorProviderConfig = PostgresDirectProviderConfig | PostgresGatewayProviderConfig | ScyllaDirectProviderConfig;
|
|
132
|
+
type GeneratorProviderInputConfig = PostgresDirectProviderInputConfig | PostgresGatewayProviderInputConfig | ScyllaDirectProviderInputConfig;
|
|
92
133
|
/**
|
|
93
134
|
* Root config contract loaded from `athena.config.ts`.
|
|
94
135
|
*/
|
|
95
136
|
interface AthenaGeneratorConfig {
|
|
96
|
-
provider:
|
|
97
|
-
output
|
|
137
|
+
provider: GeneratorProviderInputConfig;
|
|
138
|
+
output?: GeneratorOutputConfig;
|
|
98
139
|
naming?: Partial<GeneratorNamingConfig>;
|
|
99
140
|
features?: Partial<GeneratorFeatureFlags>;
|
|
100
141
|
experimental?: Partial<GeneratorExperimentalFlags>;
|
|
@@ -104,10 +145,11 @@ interface AthenaGeneratorConfig {
|
|
|
104
145
|
*/
|
|
105
146
|
interface NormalizedAthenaGeneratorConfig {
|
|
106
147
|
provider: GeneratorProviderConfig;
|
|
107
|
-
output:
|
|
148
|
+
output: NormalizedGeneratorOutputConfig;
|
|
108
149
|
naming: GeneratorNamingConfig;
|
|
109
150
|
features: GeneratorFeatureFlags;
|
|
110
151
|
experimental: GeneratorExperimentalFlags;
|
|
152
|
+
internal: GeneratorInternalConfig;
|
|
111
153
|
}
|
|
112
154
|
/**
|
|
113
155
|
* Config loader options for CLI/programmatic usage.
|
|
@@ -156,4 +198,4 @@ interface RunGeneratorResult extends GeneratedArtifacts {
|
|
|
156
198
|
writtenFiles: string[];
|
|
157
199
|
}
|
|
158
200
|
|
|
159
|
-
export type { AthenaGeneratorConfig as A, GeneratedArtifacts as G, LoadGeneratorConfigOptions as L, NormalizedAthenaGeneratorConfig as N, RunGeneratorOptions as R, LoadedGeneratorConfig as a, GeneratorProviderConfig as b, GeneratorExperimentalFlags as c, GeneratedArtifact as d, GeneratorArtifactKind as e, GeneratorFeatureFlags as f,
|
|
201
|
+
export type { AthenaGeneratorConfig as A, GeneratedArtifacts as G, LoadGeneratorConfigOptions as L, NormalizedAthenaGeneratorConfig as N, RunGeneratorOptions as R, LoadedGeneratorConfig as a, GeneratorProviderConfig as b, GeneratorExperimentalFlags as c, GeneratedArtifact as d, GeneratorArtifactKind as e, GeneratorFeatureFlags as f, GeneratorInternalConfig as g, GeneratorNamingConfig as h, GeneratorOutputConfig as i, GeneratorOutputFormat as j, GeneratorOutputTargets as k, GeneratorSchemaSelection as l, NamingStyle as m, NormalizedGeneratorOutputConfig as n, RunGeneratorResult as o };
|
|
@@ -222,6 +222,21 @@ interface AthenaGatewayHookResult {
|
|
|
222
222
|
|
|
223
223
|
type ModelKey = string;
|
|
224
224
|
type ColumnKey = string;
|
|
225
|
+
/**
|
|
226
|
+
* Supported column helper families for table-builder definitions.
|
|
227
|
+
*/
|
|
228
|
+
type ModelColumnKind = 'boolean' | 'number' | 'string' | 'json' | 'enumeration';
|
|
229
|
+
/**
|
|
230
|
+
* Optional per-column metadata carried by model contracts.
|
|
231
|
+
*/
|
|
232
|
+
interface ModelColumnMetadata {
|
|
233
|
+
kind: ModelColumnKind;
|
|
234
|
+
columnName?: string;
|
|
235
|
+
nullable?: boolean;
|
|
236
|
+
hasDefault?: boolean;
|
|
237
|
+
isGenerated?: boolean;
|
|
238
|
+
enumValues?: readonly string[];
|
|
239
|
+
}
|
|
225
240
|
/**
|
|
226
241
|
* Runtime values that can safely be serialized into tenant-scoped headers.
|
|
227
242
|
*/
|
|
@@ -249,6 +264,7 @@ interface ModelMetadataBase {
|
|
|
249
264
|
tableName?: string;
|
|
250
265
|
primaryKey: string[];
|
|
251
266
|
nullable?: Partial<Record<string, boolean>>;
|
|
267
|
+
columns?: Partial<Record<string, ModelColumnMetadata>>;
|
|
252
268
|
relations?: Record<string, ModelRelationMetadata>;
|
|
253
269
|
}
|
|
254
270
|
/**
|
|
@@ -257,6 +273,7 @@ interface ModelMetadataBase {
|
|
|
257
273
|
type ModelMetadata<Row> = Omit<ModelMetadataBase, 'primaryKey' | 'nullable'> & {
|
|
258
274
|
primaryKey: Array<Extract<keyof Row, string>>;
|
|
259
275
|
nullable?: Partial<Record<Extract<keyof Row, string>, boolean>>;
|
|
276
|
+
columns?: Partial<Record<Extract<keyof Row, string>, ModelColumnMetadata>>;
|
|
260
277
|
};
|
|
261
278
|
/**
|
|
262
279
|
* Relation metadata for model contracts and introspection snapshots.
|
|
@@ -290,6 +307,11 @@ interface ModelDef<Row, Insert = Partial<Row>, Update = Partial<Insert>, Meta ex
|
|
|
290
307
|
* Row-agnostic model definition used as a generic constraint.
|
|
291
308
|
*/
|
|
292
309
|
type AnyModelDef = ModelDef<unknown, unknown, unknown, ModelMetadataBase>;
|
|
310
|
+
/**
|
|
311
|
+
* Public model/table value that carries Athena target metadata plus row/write typings.
|
|
312
|
+
* This can be passed directly to `client.from(...)` for opt-in target inference.
|
|
313
|
+
*/
|
|
314
|
+
type AthenaModelTarget<Row = unknown, Insert = unknown, Update = unknown> = ModelDef<Row, Insert, Update, ModelMetadataBase>;
|
|
293
315
|
/**
|
|
294
316
|
* Schema-level model registry.
|
|
295
317
|
*/
|
|
@@ -399,4 +421,4 @@ interface SchemaIntrospectionProvider {
|
|
|
399
421
|
inspect(options?: IntrospectionInspectOptions): Promise<IntrospectionSnapshot>;
|
|
400
422
|
}
|
|
401
423
|
|
|
402
|
-
export { type AthenaConditionCastType as A, Backend as B, type
|
|
424
|
+
export { type AthenaConditionValue as $, type AthenaConditionCastType as A, Backend as B, type ModelDef as C, type DatabaseDef as D, type ModelMetadata as E, type ModelRelationKind as F, type ModelRelationMetadata as G, type RowOf as H, type IntrospectionSnapshot as I, type SchemaDef as J, type TenantContextValue as K, type TenantKeyMap as L, type ModelAt as M, type AnyModelDef as N, type AthenaGatewayHookConfig as O, type AthenaGatewayHookResult as P, type AthenaDeletePayload as Q, type RegistryDef as R, type SchemaIntrospectionProvider as S, type TenantContext as T, type UpdateOf as U, type AthenaFetchPayload as V, type AthenaGatewayResponse as W, type AthenaInsertPayload as X, type AthenaUpdatePayload as Y, type AthenaGatewayEndpointPath as Z, type AthenaGatewayMethod as _, type AthenaGatewayCallOptions as a, type AthenaConditionArrayValue as a0, type AthenaGatewayCondition as a1, type AthenaSortBy as a2, type AthenaConditionOperator as a3, type AthenaGatewayConnectionOptions as b, type AthenaGatewayConnectionResult as c, type AthenaGatewayErrorCode as d, type AthenaGatewayErrorDetails as e, type AthenaJsonArray as f, type AthenaJsonObject as g, type AthenaJsonPrimitive as h, type AthenaJsonValue as i, type AthenaModelTarget as j, type AthenaRpcCallOptions as k, type AthenaRpcFilter as l, type AthenaRpcFilterOperator as m, type AthenaRpcOrder as n, type AthenaRpcPayload as o, type BackendConfig as p, type BackendType as q, type InsertOf as r, type IntrospectionColumn as s, type IntrospectionInspectOptions as t, type IntrospectionRelation as u, type IntrospectionSchema as v, type IntrospectionTable as w, type IntrospectionTypeKind as x, type ModelColumnKind as y, type ModelColumnMetadata as z };
|
|
@@ -222,6 +222,21 @@ interface AthenaGatewayHookResult {
|
|
|
222
222
|
|
|
223
223
|
type ModelKey = string;
|
|
224
224
|
type ColumnKey = string;
|
|
225
|
+
/**
|
|
226
|
+
* Supported column helper families for table-builder definitions.
|
|
227
|
+
*/
|
|
228
|
+
type ModelColumnKind = 'boolean' | 'number' | 'string' | 'json' | 'enumeration';
|
|
229
|
+
/**
|
|
230
|
+
* Optional per-column metadata carried by model contracts.
|
|
231
|
+
*/
|
|
232
|
+
interface ModelColumnMetadata {
|
|
233
|
+
kind: ModelColumnKind;
|
|
234
|
+
columnName?: string;
|
|
235
|
+
nullable?: boolean;
|
|
236
|
+
hasDefault?: boolean;
|
|
237
|
+
isGenerated?: boolean;
|
|
238
|
+
enumValues?: readonly string[];
|
|
239
|
+
}
|
|
225
240
|
/**
|
|
226
241
|
* Runtime values that can safely be serialized into tenant-scoped headers.
|
|
227
242
|
*/
|
|
@@ -249,6 +264,7 @@ interface ModelMetadataBase {
|
|
|
249
264
|
tableName?: string;
|
|
250
265
|
primaryKey: string[];
|
|
251
266
|
nullable?: Partial<Record<string, boolean>>;
|
|
267
|
+
columns?: Partial<Record<string, ModelColumnMetadata>>;
|
|
252
268
|
relations?: Record<string, ModelRelationMetadata>;
|
|
253
269
|
}
|
|
254
270
|
/**
|
|
@@ -257,6 +273,7 @@ interface ModelMetadataBase {
|
|
|
257
273
|
type ModelMetadata<Row> = Omit<ModelMetadataBase, 'primaryKey' | 'nullable'> & {
|
|
258
274
|
primaryKey: Array<Extract<keyof Row, string>>;
|
|
259
275
|
nullable?: Partial<Record<Extract<keyof Row, string>, boolean>>;
|
|
276
|
+
columns?: Partial<Record<Extract<keyof Row, string>, ModelColumnMetadata>>;
|
|
260
277
|
};
|
|
261
278
|
/**
|
|
262
279
|
* Relation metadata for model contracts and introspection snapshots.
|
|
@@ -290,6 +307,11 @@ interface ModelDef<Row, Insert = Partial<Row>, Update = Partial<Insert>, Meta ex
|
|
|
290
307
|
* Row-agnostic model definition used as a generic constraint.
|
|
291
308
|
*/
|
|
292
309
|
type AnyModelDef = ModelDef<unknown, unknown, unknown, ModelMetadataBase>;
|
|
310
|
+
/**
|
|
311
|
+
* Public model/table value that carries Athena target metadata plus row/write typings.
|
|
312
|
+
* This can be passed directly to `client.from(...)` for opt-in target inference.
|
|
313
|
+
*/
|
|
314
|
+
type AthenaModelTarget<Row = unknown, Insert = unknown, Update = unknown> = ModelDef<Row, Insert, Update, ModelMetadataBase>;
|
|
293
315
|
/**
|
|
294
316
|
* Schema-level model registry.
|
|
295
317
|
*/
|
|
@@ -399,4 +421,4 @@ interface SchemaIntrospectionProvider {
|
|
|
399
421
|
inspect(options?: IntrospectionInspectOptions): Promise<IntrospectionSnapshot>;
|
|
400
422
|
}
|
|
401
423
|
|
|
402
|
-
export { type AthenaConditionCastType as A, Backend as B, type
|
|
424
|
+
export { type AthenaConditionValue as $, type AthenaConditionCastType as A, Backend as B, type ModelDef as C, type DatabaseDef as D, type ModelMetadata as E, type ModelRelationKind as F, type ModelRelationMetadata as G, type RowOf as H, type IntrospectionSnapshot as I, type SchemaDef as J, type TenantContextValue as K, type TenantKeyMap as L, type ModelAt as M, type AnyModelDef as N, type AthenaGatewayHookConfig as O, type AthenaGatewayHookResult as P, type AthenaDeletePayload as Q, type RegistryDef as R, type SchemaIntrospectionProvider as S, type TenantContext as T, type UpdateOf as U, type AthenaFetchPayload as V, type AthenaGatewayResponse as W, type AthenaInsertPayload as X, type AthenaUpdatePayload as Y, type AthenaGatewayEndpointPath as Z, type AthenaGatewayMethod as _, type AthenaGatewayCallOptions as a, type AthenaConditionArrayValue as a0, type AthenaGatewayCondition as a1, type AthenaSortBy as a2, type AthenaConditionOperator as a3, type AthenaGatewayConnectionOptions as b, type AthenaGatewayConnectionResult as c, type AthenaGatewayErrorCode as d, type AthenaGatewayErrorDetails as e, type AthenaJsonArray as f, type AthenaJsonObject as g, type AthenaJsonPrimitive as h, type AthenaJsonValue as i, type AthenaModelTarget as j, type AthenaRpcCallOptions as k, type AthenaRpcFilter as l, type AthenaRpcFilterOperator as m, type AthenaRpcOrder as n, type AthenaRpcPayload as o, type BackendConfig as p, type BackendType as q, type InsertOf as r, type IntrospectionColumn as s, type IntrospectionInspectOptions as t, type IntrospectionRelation as u, type IntrospectionSchema as v, type IntrospectionTable as w, type IntrospectionTypeKind as x, type ModelColumnKind as y, type ModelColumnMetadata as z };
|
package/package.json
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"cron-parser": "^4.9.0",
|
|
10
10
|
"pg": "^8.16.0",
|
|
11
11
|
"use-sync-external-store": "^1.5.0",
|
|
12
|
-
"uuid": "^9.0.1"
|
|
12
|
+
"uuid": "^9.0.1",
|
|
13
|
+
"zod": "^4.0.1"
|
|
13
14
|
},
|
|
14
15
|
"description": "Athena JS SDK",
|
|
15
16
|
"devDependencies": {
|
|
@@ -189,5 +190,5 @@
|
|
|
189
190
|
]
|
|
190
191
|
}
|
|
191
192
|
},
|
|
192
|
-
"version": "2.
|
|
193
|
+
"version": "2.8.0"
|
|
193
194
|
}
|