qubu 0.0.0 → 0.3.3

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 (109) hide show
  1. package/dist/canonical-BbnqavJm.mjs +972 -0
  2. package/dist/codegen.d.mts +107 -0
  3. package/dist/codegen.mjs +1199 -0
  4. package/dist/column-CXMxx8Hq.mjs +118 -0
  5. package/dist/complete-D5Djh-zo.mjs +1788 -0
  6. package/dist/complete-types-BdFqUfbb.d.mts +371 -0
  7. package/dist/core.d.mts +33 -0
  8. package/dist/core.mjs +36 -0
  9. package/dist/ddl.d.mts +118 -0
  10. package/dist/ddl.mjs +1120 -0
  11. package/dist/dialect-b2-Z6uBF.mjs +13 -0
  12. package/dist/diff.d.mts +2 -0
  13. package/dist/diff.mjs +883 -0
  14. package/dist/drizzle-mysql.d.mts +24 -0
  15. package/dist/drizzle-mysql.mjs +72 -0
  16. package/dist/drizzle-postgres.d.mts +24 -0
  17. package/dist/drizzle-postgres.mjs +73 -0
  18. package/dist/drizzle-sqlite.d.mts +24 -0
  19. package/dist/drizzle-sqlite.mjs +82 -0
  20. package/dist/drizzle.d.mts +13 -0
  21. package/dist/drizzle.mjs +2 -0
  22. package/dist/errors-BGCoLe_r.mjs +14 -0
  23. package/dist/errors-Dxv73YJu.mjs +26 -0
  24. package/dist/explain-CkIK13L_.mjs +98 -0
  25. package/dist/index-Ds7-mhJi.d.mts +146 -0
  26. package/dist/index-Dug5HnLB.d.mts +204 -0
  27. package/dist/index.d.mts +2 -0
  28. package/dist/index.mjs +1276 -0
  29. package/dist/introspection.d.mts +117 -0
  30. package/dist/introspection.mjs +4341 -0
  31. package/dist/json-CUZlv4HT.mjs +169 -0
  32. package/dist/migration.d.mts +215 -0
  33. package/dist/migration.mjs +1161 -0
  34. package/dist/mysql-DqkqXB6A.mjs +355 -0
  35. package/dist/mysql.d.mts +5 -0
  36. package/dist/mysql.mjs +50 -0
  37. package/dist/naming-QVCOnSj2.mjs +20 -0
  38. package/dist/omit-OxV58AwX.mjs +5 -0
  39. package/dist/on-conflict-BxnxubMb.mjs +143 -0
  40. package/dist/postgres-DEBBeh52.mjs +235 -0
  41. package/dist/postgres.d.mts +123 -0
  42. package/dist/postgres.mjs +52 -0
  43. package/dist/registry-BufIskVN.mjs +569 -0
  44. package/dist/relational-DCZrrNia.mjs +77 -0
  45. package/dist/runtime-BTr-MTlo.mjs +193 -0
  46. package/dist/schema.d.mts +2 -0
  47. package/dist/schema.mjs +5 -0
  48. package/dist/serialize-PF1cfH2P.mjs +556 -0
  49. package/dist/snapshot-CWPgzxNx.mjs +392 -0
  50. package/dist/snapshot.d.mts +4 -0
  51. package/dist/snapshot.mjs +8 -0
  52. package/dist/source-DUoJVXmL.mjs +68 -0
  53. package/dist/sqlite-BU6DBxef.mjs +320 -0
  54. package/dist/sqlite.d.mts +5 -0
  55. package/dist/sqlite.mjs +48 -0
  56. package/dist/standard-BTVYKh_F.mjs +12 -0
  57. package/dist/table-llv9tsZ8.mjs +384 -0
  58. package/dist/types-4Q076HKo.d.mts +3636 -0
  59. package/dist/types-BX0mckiU.d.mts +644 -0
  60. package/dist/types-CO1KaRNc.d.mts +46 -0
  61. package/dist/types-Cec0xzo4.mjs +116 -0
  62. package/dist/value-BvilP0oz.mjs +29 -0
  63. package/dist/vite/ambient.d.ts +449 -0
  64. package/dist/vite.d.mts +35 -0
  65. package/dist/vite.mjs +498 -0
  66. package/docs/config.json +21 -0
  67. package/docs/dialects-and-execution.md +427 -0
  68. package/docs/getting-started.md +96 -0
  69. package/docs/guides/compose-queries.md +225 -0
  70. package/docs/guides/drizzle.md +129 -0
  71. package/docs/guides/extensions/dialects.md +40 -0
  72. package/docs/guides/extensions/overview.md +36 -0
  73. package/docs/guides/extensions/sources-and-clauses.md +82 -0
  74. package/docs/guides/extensions/typed-expressions.md +94 -0
  75. package/docs/guides/extensions/unsafe-syntax.md +27 -0
  76. package/docs/guides/json.md +65 -0
  77. package/docs/guides/mutations.md +138 -0
  78. package/docs/guides/select/conditions.md +110 -0
  79. package/docs/guides/select/grouping-and-windows.md +82 -0
  80. package/docs/guides/select/ordering-and-pagination.md +78 -0
  81. package/docs/guides/select/overview.md +139 -0
  82. package/docs/guides/sql-templates.md +157 -0
  83. package/docs/guides/vite-plugin.md +92 -0
  84. package/docs/index.md +111 -0
  85. package/docs/query-model/fragments.md +109 -0
  86. package/docs/query-model/result-shapes.md +125 -0
  87. package/docs/query-model/source-scope.md +182 -0
  88. package/docs/reference/introspection-support.md +196 -0
  89. package/docs/reference/mysql-snapshot.md +55 -0
  90. package/docs/reference/postgres-snapshot.md +61 -0
  91. package/docs/reference/sqlite-snapshot.md +53 -0
  92. package/docs/reference/supported-surface.md +104 -0
  93. package/docs/schema/catalog-model.md +58 -0
  94. package/docs/schema/code-generation.md +139 -0
  95. package/docs/schema/columns-and-writes.md +130 -0
  96. package/docs/schema/constraints-and-indexes.md +180 -0
  97. package/docs/schema/ddl-emission.md +75 -0
  98. package/docs/schema/diff.md +75 -0
  99. package/docs/schema/introspection.md +214 -0
  100. package/docs/schema/migration-plans.md +76 -0
  101. package/docs/schema/snapshots.md +93 -0
  102. package/docs/schema/storage-and-schema-sql.md +104 -0
  103. package/docs/schema/tables-and-names.md +106 -0
  104. package/docs/sql-semantic-types.md +141 -0
  105. package/docs/troubleshooting.md +151 -0
  106. package/package.json +132 -10
  107. package/skills/qubu/SKILL.md +42 -0
  108. package/skills/qubu/agents/openai.yaml +6 -0
  109. package/readme.md +0 -1
@@ -0,0 +1,46 @@
1
+ import { Cs as ColumnIsGenerated, Ds as ColumnOutput, Hs as PortableColumnStorage, Ls as ColumnUpdateInput, Ps as ColumnStorageOf, Ss as ColumnInsertInput, bs as ColumnHasDefault, ni as SchemaTableRecord, xs as ColumnIdentityOf, zs as NativeColumnStorage } from "./types-4Q076HKo.mjs";
2
+ //#region src/drizzle/types.d.ts
3
+ /** SQL engines supported by the Qubu-to-Drizzle runtime adapter. */
4
+ type DrizzleDialect = 'postgresql' | 'mysql' | 'sqlite';
5
+ type IsAny<T> = 0 extends 1 & T ? true : false;
6
+ type SameType<TLeft, TRight> = IsAny<TLeft> extends true ? true : IsAny<TRight> extends true ? true : (<T>() => T extends TLeft ? 1 : 2) extends (<T>() => T extends TRight ? 1 : 2) ? (<T>() => T extends TRight ? 1 : 2) extends (<T>() => T extends TLeft ? 1 : 2) ? true : false : false;
7
+ type HasCompatibleValueTypes<TDefinition> = SameType<ColumnOutput<TDefinition>, ColumnInsertInput<TDefinition>> extends true ? SameType<ColumnOutput<TDefinition>, ColumnUpdateInput<TDefinition>> : false;
8
+ type HasCompatibleStorage<TDefinition, TDialect extends DrizzleDialect> = ColumnStorageOf<TDefinition> extends (infer TStorage) ? TStorage extends PortableColumnStorage ? true : TStorage extends NativeColumnStorage<infer TStorageDialect, string> ? TDialect extends TStorageDialect ? true : false : false : false;
9
+ type InvalidValueTypeColumns<TTables extends SchemaTableRecord> = { [TTableKey in keyof TTables & string]: { [TColumnKey in keyof TTables[TTableKey]['definitions'] & string]: HasCompatibleValueTypes<TTables[TTableKey]['definitions'][TColumnKey]> extends true ? never : `${TTableKey}.${TColumnKey}`; }[keyof TTables[TTableKey]['definitions'] & string]; }[keyof TTables & string];
10
+ type InvalidStorageColumns<TTables extends SchemaTableRecord, TDialect extends DrizzleDialect> = { [TTableKey in keyof TTables & string]: { [TColumnKey in keyof TTables[TTableKey]['definitions'] & string]: HasCompatibleStorage<TTables[TTableKey]['definitions'][TColumnKey], TDialect> extends true ? never : `${TTableKey}.${TColumnKey}`; }[keyof TTables[TTableKey]['definitions'] & string]; }[keyof TTables & string];
11
+ type DrizzleSchemaValidation<TTables extends SchemaTableRecord, TDialect extends DrizzleDialect> = ([InvalidValueTypeColumns<TTables>] extends [never] ? unknown : {
12
+ readonly __drizzle_requires_one_value_type__: InvalidValueTypeColumns<TTables>;
13
+ }) & ([InvalidStorageColumns<TTables, TDialect>] extends [never] ? unknown : {
14
+ readonly __drizzle_requires_compatible_storage__: InvalidStorageColumns<TTables, TDialect>;
15
+ });
16
+ type DrizzleColumnIdentity<TDefinition> = ColumnIdentityOf<TDefinition> extends {
17
+ readonly generation: infer TGeneration;
18
+ } ? TGeneration extends 'always' ? 'always' : TGeneration extends 'by-default' ? 'byDefault' : undefined : undefined;
19
+ type DrizzleColumnGenerated<TDefinition> = ColumnIsGenerated<TDefinition> extends true ? {
20
+ readonly as: ColumnOutput<TDefinition>;
21
+ readonly type: 'always';
22
+ } : undefined;
23
+ type DrizzleColumnHasDefault<TDefinition> = ColumnIsGenerated<TDefinition> extends true ? true : ColumnHasDefault<TDefinition>;
24
+ type DrizzleColumnConfig<TTableName extends string, TDefinition, TColumnType extends string> = {
25
+ readonly name: string;
26
+ readonly tableName: TTableName;
27
+ readonly dataType: 'custom';
28
+ readonly columnType: TColumnType;
29
+ readonly data: ColumnOutput<TDefinition>;
30
+ readonly driverParam: ColumnInsertInput<TDefinition>;
31
+ readonly enumValues: undefined;
32
+ /**
33
+ * Qubu makes nullable columns required on insert unless they have a default.
34
+ * Keeping this flag true and carrying null in `data` preserves that rule in
35
+ * Drizzle's single-axis column model.
36
+ */
37
+ readonly notNull: true;
38
+ readonly hasDefault: DrizzleColumnHasDefault<TDefinition>;
39
+ readonly isPrimaryKey: false;
40
+ readonly isAutoincrement: false;
41
+ readonly hasRuntimeDefault: false;
42
+ readonly identity: DrizzleColumnIdentity<TDefinition>;
43
+ readonly generated: DrizzleColumnGenerated<TDefinition>;
44
+ };
45
+ //#endregion
46
+ export { DrizzleDialect as n, DrizzleSchemaValidation as r, DrizzleColumnConfig as t };
@@ -0,0 +1,116 @@
1
+ import { s as resolveCastTarget } from "./json-CUZlv4HT.mjs";
2
+ import { t as standardDialect } from "./standard-BTVYKh_F.mjs";
3
+ import { c as makeExpression, l as makeSchemaExpression, p as fragment } from "./column-CXMxx8Hq.mjs";
4
+ import { t as asValue } from "./value-BvilP0oz.mjs";
5
+ //#region src/core/render.ts
6
+ function render(query, options = {}) {
7
+ const dialect = isDialect(options) ? options : options.dialect ?? standardDialect();
8
+ const parameters = [];
9
+ let text = "";
10
+ let projectionMode = "result";
11
+ const context = {
12
+ dialect,
13
+ get projectionMode() {
14
+ return projectionMode;
15
+ },
16
+ append(value) {
17
+ text += value;
18
+ },
19
+ parameter(value) {
20
+ parameters.push(value);
21
+ text += dialect.placeholder(parameters.length);
22
+ },
23
+ render(part) {
24
+ part.render(context);
25
+ },
26
+ renderRelation(part) {
27
+ const previousMode = projectionMode;
28
+ projectionMode = "relation";
29
+ try {
30
+ part.render(context);
31
+ } finally {
32
+ projectionMode = previousMode;
33
+ }
34
+ }
35
+ };
36
+ query.render(context);
37
+ return Object.freeze({
38
+ text,
39
+ parameters: Object.freeze(parameters.slice())
40
+ });
41
+ }
42
+ function isDialect(value) {
43
+ return "placeholder" in value && "quoteIdentifier" in value;
44
+ }
45
+ //#endregion
46
+ //#region src/expressions/cast.ts
47
+ function cast(expression, target) {
48
+ return makeSchemaExpression("operator", (context) => {
49
+ context.append("CAST(");
50
+ context.render(expression);
51
+ context.append(" AS ");
52
+ context.append(typeof target === "string" ? target : resolveCastTarget(context.dialect, target.castTarget));
53
+ context.append(")");
54
+ });
55
+ }
56
+ /** Create a cast whose JS output and SQL result domain are declared up front. */
57
+ function typedCast() {
58
+ return (expression, typeName) => cast(expression, typeName);
59
+ }
60
+ //#endregion
61
+ //#region src/core/primitives/routine.ts
62
+ const routinePart = /^[A-Za-z_][A-Za-z0-9_$]*$/;
63
+ /** Render a validated, unquoted SQL routine name such as `LOWER` or `app.fn`. */
64
+ function routineName(name) {
65
+ const parts = name.split(".");
66
+ if (parts.length === 0 || parts.some((part) => !routinePart.test(part))) throw new Error(`Invalid SQL routine name: ${name}`);
67
+ return fragment((context) => context.append(parts.join(".")));
68
+ }
69
+ //#endregion
70
+ //#region src/expressions/functions/call.ts
71
+ function call(name, ...args) {
72
+ const expressions = args.map((argument) => asValue(argument));
73
+ return makeExpression("function", (context) => {
74
+ context.render(routineName(name));
75
+ context.append("(");
76
+ expressions.forEach((argument, index) => {
77
+ if (index > 0) context.append(", ");
78
+ context.render(argument);
79
+ });
80
+ context.append(")");
81
+ });
82
+ }
83
+ /**
84
+ * Internal built-in function constructor for deterministic schema functions.
85
+ * Arbitrary calls stay on {@link call} and require an explicit schema
86
+ * extension contract before they can be used in schema metadata.
87
+ */
88
+ function schemaCall(name, ...args) {
89
+ routineName(name);
90
+ const expressions = args.map((argument) => asValue(argument));
91
+ return makeSchemaExpression("function", (context) => {
92
+ context.append(name);
93
+ context.append("(");
94
+ expressions.forEach((argument, index) => {
95
+ if (index > 0) context.append(", ");
96
+ context.render(argument);
97
+ });
98
+ context.append(")");
99
+ });
100
+ }
101
+ /** Declare the SQL result domain of a custom function call. */
102
+ function typedCall() {
103
+ return (name, ...args) => call(name, ...args);
104
+ }
105
+ //#endregion
106
+ //#region src/query/clauses/types.ts
107
+ function createClause(clauseKind, placement, order, render) {
108
+ return {
109
+ clauseKind,
110
+ placement,
111
+ order,
112
+ ...fragment(render)
113
+ };
114
+ }
115
+ //#endregion
116
+ export { routineName as a, render as c, typedCall as i, call as n, cast as o, schemaCall as r, typedCast as s, createClause as t };
@@ -0,0 +1,29 @@
1
+ import { l as makeSchemaExpression, p as fragment } from "./column-CXMxx8Hq.mjs";
2
+ //#region src/core/primitives/parameter.ts
3
+ function parameter(_value) {
4
+ return fragment((context) => context.parameter(_value));
5
+ }
6
+ //#endregion
7
+ //#region src/expressions/value.ts
8
+ function value(input) {
9
+ const expression = makeSchemaExpression("value", (context) => context.render(parameter(input)));
10
+ return Object.freeze({
11
+ ...expression,
12
+ value: input
13
+ });
14
+ }
15
+ /** Bind a value while declaring its SQL semantic domain. */
16
+ function typedValue(input) {
17
+ return value(input);
18
+ }
19
+ function isExpressionValue(valueToCheck) {
20
+ return typeof valueToCheck === "object" && valueToCheck !== null && "expressionKind" in valueToCheck && "render" in valueToCheck && typeof valueToCheck.render === "function";
21
+ }
22
+ function isValueExpression(valueToCheck) {
23
+ return isExpressionValue(valueToCheck) && valueToCheck.expressionKind === "value" && "value" in valueToCheck;
24
+ }
25
+ function asValue(input) {
26
+ return isExpressionValue(input) ? input : value(input);
27
+ }
28
+ //#endregion
29
+ export { parameter as a, value as i, isValueExpression as n, typedValue as r, asValue as t };
@@ -0,0 +1,449 @@
1
+ /**
2
+ * Opt-in ambient declarations for files carrying the `"use qubu"` hint.
3
+ * Add `qubu/globals` to the project's TypeScript `types` or include this file
4
+ * explicitly. The Vite plugin supplies the matching runtime imports.
5
+ */
6
+
7
+ declare global {
8
+ const add: typeof import('qubu').add
9
+ const alias: typeof import('qubu').alias
10
+ const all: typeof import('qubu').all
11
+ const allowAll: typeof import('qubu').allowAll
12
+ const and: typeof import('qubu').and
13
+ const asc: typeof import('qubu').asc
14
+ const asValue: typeof import('qubu').asValue
15
+ const avg: typeof import('qubu').avg
16
+ const bigint: typeof import('qubu').bigint
17
+ const between: typeof import('qubu').between
18
+ const binary: typeof import('qubu').binary
19
+ const boolean: typeof import('qubu').boolean
20
+ const call: typeof import('qubu').call
21
+ const caseWhen: typeof import('qubu').caseWhen
22
+ const cast: typeof import('qubu').cast
23
+ const check: typeof import('qubu').check
24
+ const coalesce: typeof import('qubu').coalesce
25
+ const column: typeof import('qubu').column
26
+ const concat: typeof import('qubu').concat
27
+ const count: typeof import('qubu').count
28
+ const countDistinct: typeof import('qubu').countDistinct
29
+ const correlate: typeof import('qubu').correlate
30
+ const crossJoin: typeof import('qubu').crossJoin
31
+ const cte: typeof import('qubu').cte
32
+ const date: typeof import('qubu').date
33
+ const denseRank: typeof import('qubu').denseRank
34
+ const defaultValues: typeof import('qubu').defaultValues
35
+ const deleteFrom: typeof import('qubu').deleteFrom
36
+ const desc: typeof import('qubu').desc
37
+ const distinct: typeof import('qubu').distinct
38
+ const divide: typeof import('qubu').divide
39
+ const eq: typeof import('qubu').eq
40
+ const except: typeof import('qubu').except
41
+ const execute: typeof import('qubu').execute
42
+ const executeRows: typeof import('qubu').executeRows
43
+ const externalDefault: typeof import('qubu').externalDefault
44
+ const externalGeneratedColumn: typeof import('qubu').externalGeneratedColumn
45
+ const exists: typeof import('qubu').exists
46
+ const fetchFirst: typeof import('qubu').fetchFirst
47
+ const fetchNext: typeof import('qubu').fetchNext
48
+ const foreignKey: typeof import('qubu').foreignKey
49
+ const from: typeof import('qubu').from
50
+ const fullJoin: typeof import('qubu').fullJoin
51
+ const groupBy: typeof import('qubu').groupBy
52
+ const generatedColumn: typeof import('qubu').generatedColumn
53
+ const gt: typeof import('qubu').gt
54
+ const gte: typeof import('qubu').gte
55
+ const having: typeof import('qubu').having
56
+ const identityColumn: typeof import('qubu').identityColumn
57
+ const inList: typeof import('qubu').inList
58
+ const inQuery: typeof import('qubu').inQuery
59
+ const index: typeof import('qubu').index
60
+ const innerJoin: typeof import('qubu').innerJoin
61
+ const integer: typeof import('qubu').integer
62
+ const insertInto: typeof import('qubu').insertInto
63
+ const insertSelect: typeof import('qubu').insertSelect
64
+ const intersect: typeof import('qubu').intersect
65
+ const isDistinctFrom: typeof import('qubu').isDistinctFrom
66
+ const isNotDistinctFrom: typeof import('qubu').isNotDistinctFrom
67
+ const isNotNull: typeof import('qubu').isNotNull
68
+ const isNull: typeof import('qubu').isNull
69
+ const isTrue: typeof import('qubu').isTrue
70
+ const json: typeof import('qubu').json
71
+ const jsonBoolean: typeof import('qubu').jsonBoolean
72
+ const jsonExists: typeof import('qubu').jsonExists
73
+ const jsonNumber: typeof import('qubu').jsonNumber
74
+ const jsonPath: typeof import('qubu').jsonPath
75
+ const jsonText: typeof import('qubu').jsonText
76
+ const leftJoin: typeof import('qubu').leftJoin
77
+ const lateral: typeof import('qubu').lateral
78
+ const like: typeof import('qubu').like
79
+ const lower: typeof import('qubu').lower
80
+ const lt: typeof import('qubu').lt
81
+ const lte: typeof import('qubu').lte
82
+ const max: typeof import('qubu').max
83
+ const min: typeof import('qubu').min
84
+ const modulo: typeof import('qubu').modulo
85
+ const multiply: typeof import('qubu').multiply
86
+ const naturalJoin: typeof import('qubu').naturalJoin
87
+ const nativeColumn: typeof import('qubu').nativeColumn
88
+ const nativeStorage: typeof import('qubu').nativeStorage
89
+ const ne: typeof import('qubu').ne
90
+ const not: typeof import('qubu').not
91
+ const notExists: typeof import('qubu').notExists
92
+ const notIn: typeof import('qubu').notIn
93
+ const notLike: typeof import('qubu').notLike
94
+ const nullsFirst: typeof import('qubu').nullsFirst
95
+ const nullsLast: typeof import('qubu').nullsLast
96
+ const numeric: typeof import('qubu').numeric
97
+ const nullable: typeof import('qubu').nullable
98
+ const offset: typeof import('qubu').offset
99
+ const omit: typeof import('qubu').omit
100
+ const or: typeof import('qubu').or
101
+ const order: typeof import('qubu').order
102
+ const orderBy: typeof import('qubu').orderBy
103
+ const over: typeof import('qubu').over
104
+ const portableStorage: typeof import('qubu').portableStorage
105
+ const primaryKey: typeof import('qubu').primaryKey
106
+ const qubu: typeof import('qubu').qubu
107
+ const references: typeof import('qubu').references
108
+ const recursiveCte: typeof import('qubu').recursiveCte
109
+ const render: typeof import('qubu').render
110
+ const rank: typeof import('qubu').rank
111
+ const rightJoin: typeof import('qubu').rightJoin
112
+ const returning: typeof import('qubu').returning
113
+ const rowNumber: typeof import('qubu').rowNumber
114
+ const scalar: typeof import('qubu').scalar
115
+ const schema: typeof import('qubu').schema
116
+ const schemaCall: typeof import('qubu').schemaCall
117
+ const select: typeof import('qubu').select
118
+ const sql: typeof import('qubu').sql
119
+ const stream: typeof import('qubu').stream
120
+ const subtract: typeof import('qubu').subtract
121
+ const sum: typeof import('qubu').sum
122
+ const table: typeof import('qubu').table
123
+ const text: typeof import('qubu').text
124
+ const timestamp: typeof import('qubu').timestamp
125
+ const union: typeof import('qubu').union
126
+ const unionAll: typeof import('qubu').unionAll
127
+ const unique: typeof import('qubu').unique
128
+ const update: typeof import('qubu').update
129
+ const upper: typeof import('qubu').upper
130
+ const value: typeof import('qubu').value
131
+ const values: typeof import('qubu').values
132
+ const where: typeof import('qubu').where
133
+ const withCte: typeof import('qubu').withCte
134
+ const uuid: typeof import('qubu').uuid
135
+
136
+ type ColumnDefinition<
137
+ TOutput = unknown,
138
+ TNullable extends boolean = false,
139
+ TInsert = TOutput,
140
+ TUpdate = TInsert,
141
+ THasDefault extends boolean = false,
142
+ TGenerated extends boolean = false,
143
+ TSqlType extends import('qubu').AnySqlType = import('qubu').SqlUnknown,
144
+ TStorage extends import('qubu').ColumnStorage | undefined = undefined,
145
+ TDefault extends import('qubu').ColumnDefault | undefined =
146
+ | import('qubu').ColumnDefault
147
+ | undefined,
148
+ TGeneratedColumn extends
149
+ | import('qubu').GeneratedColumnDescriptor
150
+ | undefined = import('qubu').GeneratedColumnDescriptor | undefined,
151
+ TIdentity extends import('qubu').IdentityDescriptor | undefined =
152
+ | import('qubu').IdentityDescriptor
153
+ | undefined,
154
+ TOnUpdate extends import('qubu').AnySchemaExpression | undefined =
155
+ | import('qubu').AnySchemaExpression
156
+ | undefined,
157
+ > = import('qubu').ColumnDefinition<
158
+ TOutput,
159
+ TNullable,
160
+ TInsert,
161
+ TUpdate,
162
+ THasDefault,
163
+ TGenerated,
164
+ TSqlType,
165
+ TStorage,
166
+ TDefault,
167
+ TGeneratedColumn,
168
+ TIdentity,
169
+ TOnUpdate
170
+ >
171
+ type ColumnSqlType<T> = import('qubu').ColumnSqlType<T>
172
+ type ColumnDefault = import('qubu').ColumnDefault
173
+ type ColumnDefaultInput = import('qubu').ColumnDefaultInput
174
+ type ColumnDefaultOf<T> = import('qubu').ColumnDefaultOf<T>
175
+ type ColumnGeneratedOf<T> = import('qubu').ColumnGeneratedOf<T>
176
+ type ColumnIdentityOf<T> = import('qubu').ColumnIdentityOf<T>
177
+ type ColumnOnUpdateOf<T> = import('qubu').ColumnOnUpdateOf<T>
178
+ type GeneratedColumnDescriptor = import('qubu').GeneratedColumnDescriptor
179
+ type IdentityDescriptor = import('qubu').IdentityDescriptor
180
+ type MysqlIdentityExtension = import('qubu').MysqlIdentityExtension
181
+ type ColumnStorage = import('qubu').ColumnStorage
182
+ type PortableColumnStorage = import('qubu').PortableColumnStorage
183
+ type NativeColumnStorage<
184
+ TDialect extends string = string,
185
+ TDeclaration extends string = string,
186
+ > = import('qubu').NativeColumnStorage<TDialect, TDeclaration>
187
+ type ColumnStorageOf<T> = import('qubu').ColumnStorageOf<T>
188
+ type ColumnStorageTypeOf<T> = import('qubu').ColumnStorageTypeOf<T>
189
+ type ColumnStorageDialectOf<T> = import('qubu').ColumnStorageDialectOf<T>
190
+ type ColumnStorageDeclarationOf<T> =
191
+ import('qubu').ColumnStorageDeclarationOf<T>
192
+ type ColumnStorageKindOf<T> = import('qubu').ColumnStorageKindOf<T>
193
+ type ColumnReference<
194
+ TName extends string = string,
195
+ TMetadata = never,
196
+ > = import('qubu').ColumnReference<TName, TMetadata>
197
+ type Dialect<
198
+ TCapabilities extends
199
+ import('qubu').DialectCapability = import('qubu').DialectCapability,
200
+ > = import('qubu').Dialect<TCapabilities>
201
+ type DialectCapability = import('qubu').DialectCapability
202
+ type DialectJson = import('qubu').DialectJson
203
+ type PortableCastType = import('qubu').PortableCastType
204
+ type PortableCastTarget<
205
+ TType extends
206
+ import('qubu').PortableCastType = import('qubu').PortableCastType,
207
+ > = import('qubu').PortableCastTarget<TType>
208
+ type NamedCastTarget<TTypeName extends string = string> =
209
+ import('qubu').NamedCastTarget<TTypeName>
210
+ type CastTarget = import('qubu').CastTarget
211
+ type DialectCastTypes = import('qubu').DialectCastTypes
212
+ type Expression<
213
+ TMetadata = any,
214
+ TKind extends import('qubu').ExpressionKind = import('qubu').ExpressionKind,
215
+ > = import('qubu').Expression<TMetadata, TKind>
216
+ type Fragment<TMetadata = any> = import('qubu').Fragment<TMetadata>
217
+ type FragmentMeta = import('qubu').FragmentMeta
218
+ type JsonPath<
219
+ TSegments extends readonly (string | number)[] = readonly (
220
+ | string
221
+ | number
222
+ )[],
223
+ > = import('qubu').JsonPath<TSegments>
224
+ type JsonScalarKind = import('qubu').JsonScalarKind
225
+ type QueryCardinality = import('qubu').QueryCardinality
226
+ type CardinalityMeta<
227
+ TCardinality extends
228
+ import('qubu').QueryCardinality = import('qubu').QueryCardinality,
229
+ > = import('qubu').CardinalityMeta<TCardinality>
230
+ type CardinalityOf<T> = import('qubu').CardinalityOf<T>
231
+ type CapabilitiesOf<T> = import('qubu').CapabilitiesOf<T>
232
+ type HasSubquery<T> = import('qubu').HasSubquery<T>
233
+ type HasWindow<T> = import('qubu').HasWindow<T>
234
+ type SubqueryMeta = import('qubu').SubqueryMeta
235
+ type WindowMeta = import('qubu').WindowMeta
236
+ type ResultMeta<
237
+ TOutput,
238
+ TNullableFrom = never,
239
+ TSqlType extends import('qubu').AnySqlType = import('qubu').SqlUnknown,
240
+ > = import('qubu').ResultMeta<TOutput, TNullableFrom, TSqlType>
241
+ type SqlTypeOf<T> = import('qubu').SqlTypeOf<T>
242
+ type SqlSemanticType<TName extends string = string> =
243
+ import('qubu').SqlSemanticType<TName>
244
+ type AnySqlType = import('qubu').AnySqlType
245
+ type SqlUnknown = import('qubu').SqlUnknown
246
+ type SqlTextLike = import('qubu').SqlTextLike
247
+ type SqlNumericLike = import('qubu').SqlNumericLike
248
+ type SqlOrderable<TGroup = unknown> = import('qubu').SqlOrderable<TGroup>
249
+ type SqlEqualityComparable<TGroup = unknown> =
250
+ import('qubu').SqlEqualityComparable<TGroup>
251
+ type SqlText = import('qubu').SqlText
252
+ type SqlUuid = import('qubu').SqlUuid
253
+ type SqlInteger = import('qubu').SqlInteger
254
+ type SqlDecimal = import('qubu').SqlDecimal
255
+ type SqlBoolean = import('qubu').SqlBoolean
256
+ type SqlDate = import('qubu').SqlDate
257
+ type SqlTimestamp = import('qubu').SqlTimestamp
258
+ type SqlJson<TValue = unknown> = import('qubu').SqlJson<TValue>
259
+ type SqlBigInt = import('qubu').SqlBigInt
260
+ type SqlBinary = import('qubu').SqlBinary
261
+ type SqlFragment<
262
+ TOutput = unknown,
263
+ TSqlType extends import('qubu').AnySqlType = import('qubu').SqlUnknown,
264
+ TChild extends import('qubu').AnyFragment = never,
265
+ > = import('qubu').SqlFragment<TOutput, TSqlType, TChild>
266
+ type SqlTag = import('qubu').SqlTag
267
+ type TypedSqlTag<
268
+ TOutput,
269
+ TSqlType extends import('qubu').AnySqlType = import('qubu').SqlUnknown,
270
+ > = import('qubu').TypedSqlTag<TOutput, TSqlType>
271
+ type SqlTypeSatisfies<TActual, TConstraint> = import('qubu').SqlTypeSatisfies<
272
+ TActual,
273
+ TConstraint
274
+ >
275
+ type SqlEqualityCompatible<TLeft, TRight> =
276
+ import('qubu').SqlEqualityCompatible<TLeft, TRight>
277
+ type SqlOrderCompatible<TLeft, TRight> = import('qubu').SqlOrderCompatible<
278
+ TLeft,
279
+ TRight
280
+ >
281
+ type FieldLike<
282
+ TOptions extends
283
+ import('qubu').FieldLikeOptions = import('qubu').FieldLikeOptions,
284
+ > = import('qubu').FieldLike<TOptions>
285
+ type SourceLike<TShape extends object> = import('qubu').SourceLike<TShape>
286
+ type TableLike<TShape extends object> = import('qubu').TableLike<TShape>
287
+ type RequiresSourceMeta<TSource> = import('qubu').RequiresSourceMeta<TSource>
288
+ type RequiresOuterSourceMeta<TSource> =
289
+ import('qubu').RequiresOuterSourceMeta<TSource>
290
+ type ProvidesOuterSourceMeta<TSource> =
291
+ import('qubu').ProvidesOuterSourceMeta<TSource>
292
+ type NullableSourceMeta<TSource> = import('qubu').NullableSourceMeta<TSource>
293
+ type RequiresCapabilityMeta<
294
+ TCapability extends
295
+ import('qubu').DialectCapability = import('qubu').DialectCapability,
296
+ > = import('qubu').RequiresCapabilityMeta<TCapability>
297
+ type ExecutionOptions = import('qubu').ExecutionOptions
298
+ type ExecutionRequest = import('qubu').ExecutionRequest
299
+ type ExecutionResult<TRow extends object = Record<string, unknown>> =
300
+ import('qubu').ExecutionResult<TRow>
301
+ type QubuClient<
302
+ TAdapter extends import('qubu').QueryAdapter = import('qubu').QueryAdapter,
303
+ > = import('qubu').QubuClient<TAdapter>
304
+ type QubuStreamingClient<
305
+ TAdapter extends
306
+ import('qubu').StreamingQueryAdapter = import('qubu').StreamingQueryAdapter,
307
+ > = import('qubu').QubuStreamingClient<TAdapter>
308
+ type QubuStreamingTransaction = import('qubu').QubuStreamingTransaction
309
+ type QubuStreamingTransactionalClient<
310
+ TAdapter extends
311
+ import('qubu').StreamingTransactionalQueryAdapter = import('qubu').StreamingTransactionalQueryAdapter,
312
+ > = import('qubu').QubuStreamingTransactionalClient<TAdapter>
313
+ type QueryAdapter = import('qubu').QueryAdapter
314
+ type StreamableQuery<TRow extends object = Record<string, unknown>> =
315
+ import('qubu').StreamableQuery<TRow>
316
+ type StreamingQueryAdapter = import('qubu').StreamingQueryAdapter
317
+ type StreamingTransactionalQueryAdapter =
318
+ import('qubu').StreamingTransactionalQueryAdapter
319
+ type RenderedQuery = import('qubu').RenderedQuery
320
+ type MutationQuery<
321
+ TRow extends object = Record<string, unknown>,
322
+ TKind extends import('qubu').MutationKind = import('qubu').MutationKind,
323
+ TMetadata = never,
324
+ > = import('qubu').MutationQuery<TRow, TKind, TMetadata>
325
+ type Query<
326
+ TRow extends object = import('qubu').Row,
327
+ TCardinality extends
328
+ import('qubu').QueryCardinality = import('qubu').QueryCardinality,
329
+ TMetadata = never,
330
+ > = import('qubu').Query<TRow, TCardinality, TMetadata>
331
+ type SelectQuery<
332
+ TRow extends object = Record<string, unknown>,
333
+ TCardinality extends
334
+ import('qubu').QueryCardinality = import('qubu').QueryCardinality,
335
+ TMetadata = never,
336
+ > = import('qubu').SelectQuery<TRow, TCardinality, TMetadata>
337
+ type Source<
338
+ TIdentity = unknown,
339
+ TRow extends object = Record<string, unknown>,
340
+ TMetadata = never,
341
+ TSqlTypes extends {
342
+ readonly [K in keyof TRow]: import('qubu').AnySqlType
343
+ } = { readonly [K in keyof TRow]: import('qubu').SqlUnknown },
344
+ TConstraints extends import('qubu').SourceConstraintsRecord = {},
345
+ > = import('qubu').Source<TIdentity, TRow, TMetadata, TSqlTypes, TConstraints>
346
+ type SourceConstraint = import('qubu').SourceConstraint
347
+ type SourceConstraintsRecord = import('qubu').SourceConstraintsRecord
348
+ type SourceIndexesRecord = import('qubu').SourceIndexesRecord
349
+ type SourceIndex = import('qubu').SourceIndex
350
+ type SchemaDialect = import('qubu').SchemaDialect
351
+ type SchemaDialectExtension<TDialect extends string = string> =
352
+ import('qubu').SchemaDialectExtension<TDialect>
353
+ type SchemaObjectIdentity = import('qubu').SchemaObjectIdentity
354
+ type SchemaObjectNameOptions = import('qubu').SchemaObjectNameOptions
355
+ type SchemaMetadataDiagnostic = import('qubu').SchemaMetadataDiagnostic
356
+ type ConstraintDialectExtension = import('qubu').ConstraintDialectExtension
357
+ type PostgresConstraintExtension = import('qubu').PostgresConstraintExtension
358
+ type SqliteConstraintExtension = import('qubu').SqliteConstraintExtension
359
+ type MysqlConstraintExtension = import('qubu').MysqlConstraintExtension
360
+ type ConstraintOptions<
361
+ TExtension extends import('qubu').ConstraintDialectExtension | undefined =
362
+ | import('qubu').ConstraintDialectExtension
363
+ | undefined,
364
+ > = import('qubu').ConstraintOptions<TExtension>
365
+ type KeyConstraintOptions<
366
+ TExtension extends import('qubu').ConstraintDialectExtension | undefined =
367
+ | import('qubu').ConstraintDialectExtension
368
+ | undefined,
369
+ > = import('qubu').KeyConstraintOptions<TExtension>
370
+ type UniqueConstraintOptions<
371
+ TExtension extends import('qubu').ConstraintDialectExtension | undefined =
372
+ | import('qubu').ConstraintDialectExtension
373
+ | undefined,
374
+ > = import('qubu').UniqueConstraintOptions<TExtension>
375
+ type ForeignKeyOptions<
376
+ TExtension extends import('qubu').ConstraintDialectExtension | undefined =
377
+ | import('qubu').ConstraintDialectExtension
378
+ | undefined,
379
+ > = import('qubu').ForeignKeyOptions<TExtension>
380
+ type UniqueNullSemantics = import('qubu').UniqueNullSemantics
381
+ type ReferentialAction = import('qubu').ReferentialAction
382
+ type ForeignKeyMatch = import('qubu').ForeignKeyMatch
383
+ type ConstraintTiming = import('qubu').ConstraintTiming
384
+ type AnyKeyColumn = import('qubu').AnyKeyColumn
385
+ type KeyConstraint<
386
+ TKind extends 'primary-key' | 'unique' = 'primary-key' | 'unique',
387
+ TColumns extends readonly import('qubu').ColumnReference<
388
+ string,
389
+ any
390
+ >[] = readonly import('qubu').ColumnReference<string, any>[],
391
+ > = import('qubu').KeyConstraint<TKind, TColumns>
392
+ type UniqueConstraint<
393
+ TColumns extends
394
+ readonly import('qubu').AnyKeyColumn[] = readonly import('qubu').AnyKeyColumn[],
395
+ TNulls extends
396
+ import('qubu').UniqueNullSemantics = import('qubu').UniqueNullSemantics,
397
+ > = import('qubu').UniqueConstraint<TColumns, TNulls>
398
+ type ForeignKeyTarget<
399
+ TTable extends
400
+ import('qubu').TableLike<any> = import('qubu').TableLike<any>,
401
+ TColumns extends
402
+ readonly import('qubu').AnyKeyColumn[] = readonly import('qubu').AnyKeyColumn[],
403
+ > = import('qubu').ForeignKeyTarget<TTable, TColumns>
404
+ type ForeignKeyTargetInput<
405
+ TTarget extends
406
+ import('qubu').ForeignKeyTarget = import('qubu').ForeignKeyTarget,
407
+ > = import('qubu').ForeignKeyTargetInput<TTarget>
408
+ type ForeignKeyConstraint<
409
+ TColumns extends
410
+ readonly import('qubu').AnyKeyColumn[] = readonly import('qubu').AnyKeyColumn[],
411
+ TTarget extends
412
+ import('qubu').ForeignKeyTargetInput = import('qubu').ForeignKeyTargetInput,
413
+ > = import('qubu').ForeignKeyConstraint<TColumns, TTarget>
414
+ type CheckConstraint<
415
+ TExpression extends
416
+ import('qubu').AnyExpression = import('qubu').AnyExpression,
417
+ > = import('qubu').CheckConstraint<TExpression>
418
+ type CheckConstraintOptions<
419
+ TExtension extends import('qubu').ConstraintDialectExtension | undefined =
420
+ | import('qubu').ConstraintDialectExtension
421
+ | undefined,
422
+ > = import('qubu').CheckConstraintOptions<TExtension>
423
+ type IndexDialectExtension = import('qubu').IndexDialectExtension
424
+ type PostgresIndexExtension = import('qubu').PostgresIndexExtension
425
+ type SqliteIndexExtension = import('qubu').SqliteIndexExtension
426
+ type MysqlIndexExtension = import('qubu').MysqlIndexExtension
427
+ type IndexTerm = import('qubu').IndexTerm
428
+ type IndexOptions<
429
+ TPredicate extends import('qubu').AnyExpression | undefined =
430
+ | import('qubu').AnyExpression
431
+ | undefined,
432
+ TExtension extends import('qubu').IndexDialectExtension | undefined =
433
+ | import('qubu').IndexDialectExtension
434
+ | undefined,
435
+ > = import('qubu').IndexOptions<TPredicate, TExtension>
436
+ type TableIndex<
437
+ TTerms extends readonly import('qubu').IndexTerm[] = any,
438
+ TOptions extends import('qubu').IndexOptions<any> = any,
439
+ > = import('qubu').TableIndex<TTerms, TOptions>
440
+ type Table<
441
+ TName extends string = string,
442
+ TDefinitions extends
443
+ import('qubu').TableDefinitions = import('qubu').TableDefinitions,
444
+ TConstraints extends import('qubu').SourceConstraintsRecord = {},
445
+ TIndexes extends import('qubu').SourceIndexesRecord = {},
446
+ > = import('qubu').Table<TName, TDefinitions, TConstraints, TIndexes>
447
+ }
448
+
449
+ export {}