@zauso-ai/capstan-db 0.1.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/client.d.ts +31 -18
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +300 -24
  4. package/dist/client.js.map +1 -1
  5. package/dist/crud.d.ts +14 -0
  6. package/dist/crud.d.ts.map +1 -1
  7. package/dist/crud.js +49 -39
  8. package/dist/crud.js.map +1 -1
  9. package/dist/dialect.d.ts +25 -0
  10. package/dist/dialect.d.ts.map +1 -0
  11. package/dist/dialect.js +208 -0
  12. package/dist/dialect.js.map +1 -0
  13. package/dist/embedding.d.ts +63 -0
  14. package/dist/embedding.d.ts.map +1 -0
  15. package/dist/embedding.js +61 -0
  16. package/dist/embedding.js.map +1 -0
  17. package/dist/index.d.ts +14 -4
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +6 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/migrate.d.ts +44 -23
  22. package/dist/migrate.d.ts.map +1 -1
  23. package/dist/migrate.js +308 -125
  24. package/dist/migrate.js.map +1 -1
  25. package/dist/model.d.ts +9 -0
  26. package/dist/model.d.ts.map +1 -1
  27. package/dist/model.js +13 -0
  28. package/dist/model.js.map +1 -1
  29. package/dist/naming.d.ts +37 -0
  30. package/dist/naming.d.ts.map +1 -0
  31. package/dist/naming.js +196 -0
  32. package/dist/naming.js.map +1 -0
  33. package/dist/runtime.d.ts +51 -0
  34. package/dist/runtime.d.ts.map +1 -0
  35. package/dist/runtime.js +490 -0
  36. package/dist/runtime.js.map +1 -0
  37. package/dist/schema.d.ts +2 -12
  38. package/dist/schema.d.ts.map +1 -1
  39. package/dist/schema.js +199 -105
  40. package/dist/schema.js.map +1 -1
  41. package/dist/search.d.ts +52 -0
  42. package/dist/search.d.ts.map +1 -0
  43. package/dist/search.js +110 -0
  44. package/dist/search.js.map +1 -0
  45. package/dist/types.d.ts +5 -2
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/vector-store-memory.d.ts +31 -0
  48. package/dist/vector-store-memory.d.ts.map +1 -0
  49. package/dist/vector-store-memory.js +125 -0
  50. package/dist/vector-store-memory.js.map +1 -0
  51. package/dist/vector-store-pgvector.d.ts +46 -0
  52. package/dist/vector-store-pgvector.d.ts.map +1 -0
  53. package/dist/vector-store-pgvector.js +215 -0
  54. package/dist/vector-store-pgvector.js.map +1 -0
  55. package/dist/vector-store-sqlite.d.ts +51 -0
  56. package/dist/vector-store-sqlite.d.ts.map +1 -0
  57. package/dist/vector-store-sqlite.js +203 -0
  58. package/dist/vector-store-sqlite.js.map +1 -0
  59. package/dist/vector-store.d.ts +79 -0
  60. package/dist/vector-store.d.ts.map +1 -0
  61. package/dist/vector-store.js +5 -0
  62. package/dist/vector-store.js.map +1 -0
  63. package/dist/write.d.ts +15 -0
  64. package/dist/write.d.ts.map +1 -0
  65. package/dist/write.js +156 -0
  66. package/dist/write.js.map +1 -0
  67. package/package.json +17 -4
package/dist/crud.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"crud.js","sourceRoot":"","sources":["../src/crud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.js","sourceRoot":"","sources":["../src/crud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { DbProvider, FieldDefinition, ScalarType } from "./types.js";
2
+ export interface ProviderMeta {
3
+ tableBuilder: string;
4
+ importModule: string;
5
+ nowDefaultSql: string;
6
+ }
7
+ export interface ColumnMapping {
8
+ builder: string;
9
+ import: string;
10
+ config?: string;
11
+ sqlType: string;
12
+ }
13
+ export declare function providerMeta(provider: DbProvider): ProviderMeta;
14
+ export declare function columnMapping(fieldType: ScalarType, provider: DbProvider, dimensions?: number): ColumnMapping;
15
+ export declare function columnMappingForReference(targetField: FieldDefinition, provider: DbProvider): ColumnMapping;
16
+ export declare function sqlTypeForField(def: FieldDefinition, provider: DbProvider): string;
17
+ export declare function sqlTypeForReference(targetField: FieldDefinition, provider: DbProvider): string;
18
+ export declare function autoIdSchemaExpr(columnName: string, provider: DbProvider): {
19
+ expr: string;
20
+ imports: string[];
21
+ needsSql: boolean;
22
+ };
23
+ export declare function autoIdSqlDefault(provider: DbProvider): string;
24
+ export declare function sqlDefaultClause(def: FieldDefinition, provider: DbProvider): string | null;
25
+ //# sourceMappingURL=dialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,CAsB/D;AAyED,wBAAgB,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAU7G;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,GAAG,aAAa,CAc3G;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAalF;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAE9F;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAsBjI;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAU7D;AAMD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAiC1F"}
@@ -0,0 +1,208 @@
1
+ const SQLITE_UUID_SQL = "(lower(hex(randomblob(4))) || '-' || lower(hex(randomblob(2))) || '-4' || " +
2
+ "substr(lower(hex(randomblob(2))), 2) || '-' || " +
3
+ "substr('89ab', abs(random()) % 4 + 1, 1) || substr(lower(hex(randomblob(2))), 2) || '-' || " +
4
+ "lower(hex(randomblob(6))))";
5
+ export function providerMeta(provider) {
6
+ switch (provider) {
7
+ case "sqlite":
8
+ case "libsql":
9
+ return {
10
+ tableBuilder: "sqliteTable",
11
+ importModule: "drizzle-orm/sqlite-core",
12
+ nowDefaultSql: "(datetime('now'))",
13
+ };
14
+ case "postgres":
15
+ return {
16
+ tableBuilder: "pgTable",
17
+ importModule: "drizzle-orm/pg-core",
18
+ nowDefaultSql: "now()",
19
+ };
20
+ case "mysql":
21
+ return {
22
+ tableBuilder: "mysqlTable",
23
+ importModule: "drizzle-orm/mysql-core",
24
+ nowDefaultSql: "CURRENT_TIMESTAMP",
25
+ };
26
+ }
27
+ }
28
+ function sqliteColumnMapping(fieldType) {
29
+ switch (fieldType) {
30
+ case "string":
31
+ case "text":
32
+ case "date":
33
+ case "datetime":
34
+ return { builder: "text", import: "text", sqlType: "TEXT" };
35
+ case "integer":
36
+ return { builder: "integer", import: "integer", sqlType: "INTEGER" };
37
+ case "number":
38
+ return { builder: "real", import: "real", sqlType: "REAL" };
39
+ case "boolean":
40
+ return { builder: "integer", import: "integer", config: '{ mode: "boolean" }', sqlType: "INTEGER" };
41
+ case "json":
42
+ return { builder: "text", import: "text", config: '{ mode: "json" }', sqlType: "TEXT" };
43
+ case "vector":
44
+ return { builder: "text", import: "text", config: '{ mode: "json" }', sqlType: "TEXT" };
45
+ }
46
+ }
47
+ function pgColumnMapping(fieldType, dimensions) {
48
+ switch (fieldType) {
49
+ case "string":
50
+ return { builder: "varchar", import: "varchar", config: "{ length: 255 }", sqlType: "VARCHAR(255)" };
51
+ case "text":
52
+ return { builder: "text", import: "text", sqlType: "TEXT" };
53
+ case "date":
54
+ return { builder: "date", import: "date", sqlType: "DATE" };
55
+ case "datetime":
56
+ return { builder: "timestamp", import: "timestamp", sqlType: "TIMESTAMP" };
57
+ case "integer":
58
+ return { builder: "integer", import: "integer", sqlType: "INTEGER" };
59
+ case "number":
60
+ return { builder: "doublePrecision", import: "doublePrecision", sqlType: "DOUBLE PRECISION" };
61
+ case "boolean":
62
+ return { builder: "boolean", import: "boolean", sqlType: "BOOLEAN" };
63
+ case "json":
64
+ return { builder: "jsonb", import: "jsonb", sqlType: "JSONB" };
65
+ case "vector":
66
+ return {
67
+ builder: "vector",
68
+ import: "vector",
69
+ config: `{ dimensions: ${dimensions ?? 1536} }`,
70
+ sqlType: `vector(${dimensions ?? 1536})`,
71
+ };
72
+ }
73
+ }
74
+ function mysqlColumnMapping(fieldType) {
75
+ switch (fieldType) {
76
+ case "string":
77
+ return { builder: "varchar", import: "varchar", config: "{ length: 255 }", sqlType: "VARCHAR(255)" };
78
+ case "text":
79
+ return { builder: "text", import: "text", sqlType: "TEXT" };
80
+ case "date":
81
+ return { builder: "date", import: "date", sqlType: "DATE" };
82
+ case "datetime":
83
+ return { builder: "datetime", import: "datetime", sqlType: "DATETIME" };
84
+ case "integer":
85
+ return { builder: "int", import: "int", sqlType: "INT" };
86
+ case "number":
87
+ return { builder: "double", import: "double", sqlType: "DOUBLE" };
88
+ case "boolean":
89
+ return { builder: "boolean", import: "boolean", sqlType: "BOOLEAN" };
90
+ case "json":
91
+ return { builder: "json", import: "json", sqlType: "JSON" };
92
+ case "vector":
93
+ return { builder: "json", import: "json", sqlType: "JSON" };
94
+ }
95
+ }
96
+ export function columnMapping(fieldType, provider, dimensions) {
97
+ switch (provider) {
98
+ case "sqlite":
99
+ case "libsql":
100
+ return sqliteColumnMapping(fieldType);
101
+ case "postgres":
102
+ return pgColumnMapping(fieldType, dimensions);
103
+ case "mysql":
104
+ return mysqlColumnMapping(fieldType);
105
+ }
106
+ }
107
+ export function columnMappingForReference(targetField, provider) {
108
+ if (targetField.autoId) {
109
+ switch (provider) {
110
+ case "sqlite":
111
+ case "libsql":
112
+ return { builder: "text", import: "text", sqlType: "TEXT" };
113
+ case "postgres":
114
+ return { builder: "uuid", import: "uuid", sqlType: "UUID" };
115
+ case "mysql":
116
+ return { builder: "varchar", import: "varchar", config: "{ length: 36 }", sqlType: "VARCHAR(36)" };
117
+ }
118
+ }
119
+ return columnMapping(targetField.type, provider, targetField.dimensions);
120
+ }
121
+ export function sqlTypeForField(def, provider) {
122
+ if (def.autoId) {
123
+ switch (provider) {
124
+ case "sqlite":
125
+ case "libsql":
126
+ return "TEXT";
127
+ case "postgres":
128
+ return "UUID";
129
+ case "mysql":
130
+ return "VARCHAR(36)";
131
+ }
132
+ }
133
+ return columnMapping(def.type, provider, def.dimensions).sqlType;
134
+ }
135
+ export function sqlTypeForReference(targetField, provider) {
136
+ return columnMappingForReference(targetField, provider).sqlType;
137
+ }
138
+ export function autoIdSchemaExpr(columnName, provider) {
139
+ switch (provider) {
140
+ case "sqlite":
141
+ case "libsql":
142
+ return {
143
+ expr: `text("${columnName}").primaryKey().default(sql\`${SQLITE_UUID_SQL}\`)`,
144
+ imports: ["text"],
145
+ needsSql: true,
146
+ };
147
+ case "postgres":
148
+ return {
149
+ expr: `uuid("${columnName}").primaryKey().defaultRandom()`,
150
+ imports: ["uuid"],
151
+ needsSql: false,
152
+ };
153
+ case "mysql":
154
+ return {
155
+ expr: `varchar("${columnName}", { length: 36 }).primaryKey().default(sql\`(UUID())\`)`,
156
+ imports: ["varchar"],
157
+ needsSql: true,
158
+ };
159
+ }
160
+ }
161
+ export function autoIdSqlDefault(provider) {
162
+ switch (provider) {
163
+ case "sqlite":
164
+ case "libsql":
165
+ return `DEFAULT ${SQLITE_UUID_SQL}`;
166
+ case "postgres":
167
+ return "DEFAULT gen_random_uuid()";
168
+ case "mysql":
169
+ return "DEFAULT (UUID())";
170
+ }
171
+ }
172
+ function sqlStringLiteral(value) {
173
+ return `'${value.replace(/'/g, "''")}'`;
174
+ }
175
+ export function sqlDefaultClause(def, provider) {
176
+ if (def.autoId) {
177
+ return autoIdSqlDefault(provider);
178
+ }
179
+ if (def.updatedAt && def.default === undefined) {
180
+ return `DEFAULT ${providerMeta(provider).nowDefaultSql}`;
181
+ }
182
+ if (def.default === undefined)
183
+ return null;
184
+ if (def.default === "now") {
185
+ return `DEFAULT ${providerMeta(provider).nowDefaultSql}`;
186
+ }
187
+ if (typeof def.default === "string") {
188
+ return `DEFAULT ${sqlStringLiteral(def.default)}`;
189
+ }
190
+ if (typeof def.default === "boolean") {
191
+ switch (provider) {
192
+ case "postgres":
193
+ case "mysql":
194
+ return `DEFAULT ${def.default ? "true" : "false"}`;
195
+ case "sqlite":
196
+ case "libsql":
197
+ return `DEFAULT ${def.default ? "1" : "0"}`;
198
+ }
199
+ }
200
+ if (typeof def.default === "number") {
201
+ return `DEFAULT ${def.default}`;
202
+ }
203
+ if (typeof def.default === "object") {
204
+ return `DEFAULT ${sqlStringLiteral(JSON.stringify(def.default))}`;
205
+ }
206
+ return null;
207
+ }
208
+ //# sourceMappingURL=dialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Adapter that converts text into dense vector embeddings.
3
+ *
4
+ * Implementations call an external embedding model (e.g. OpenAI, Cohere,
5
+ * a local ONNX model) and return fixed-length float arrays.
6
+ */
7
+ export interface EmbeddingAdapter {
8
+ /** Generate embeddings for one or more texts (batch). */
9
+ embed(texts: string[]): Promise<number[][]>;
10
+ /** Number of dimensions each embedding vector contains. */
11
+ dimensions: number;
12
+ }
13
+ /**
14
+ * Links a model's text field to a vector field via an embedding adapter so
15
+ * embeddings can be generated automatically on insert / update.
16
+ */
17
+ export interface EmbeddingConfig {
18
+ /** The model field to embed (must be string or text type). */
19
+ sourceField: string;
20
+ /** The vector field to store embeddings in. */
21
+ vectorField: string;
22
+ /** The embedding adapter to use. */
23
+ adapter: EmbeddingAdapter;
24
+ }
25
+ /**
26
+ * Register embedding configuration for a model.
27
+ *
28
+ * @example
29
+ * const articleEmbedding = defineEmbedding("Article", {
30
+ * sourceField: "body",
31
+ * vectorField: "embedding",
32
+ * adapter: openaiEmbeddings({ apiKey: process.env.OPENAI_KEY! }),
33
+ * });
34
+ */
35
+ export declare function defineEmbedding(modelName: string, config: EmbeddingConfig): EmbeddingConfig & {
36
+ modelName: string;
37
+ };
38
+ /** Options for the OpenAI-compatible embedding adapter. */
39
+ export interface OpenAIEmbeddingOptions {
40
+ /** OpenAI (or compatible) API key. */
41
+ apiKey: string;
42
+ /** Model identifier. @default "text-embedding-3-small" */
43
+ model?: string;
44
+ /** Base URL for the embeddings API. @default "https://api.openai.com/v1" */
45
+ baseUrl?: string;
46
+ /** Number of dimensions to request. @default 1536 */
47
+ dimensions?: number;
48
+ }
49
+ /**
50
+ * Create an OpenAI-compatible embedding adapter.
51
+ *
52
+ * Works with any API that implements the OpenAI `/v1/embeddings` contract
53
+ * (OpenAI, Azure OpenAI, Ollama, vLLM, etc.).
54
+ *
55
+ * @example
56
+ * const adapter = openaiEmbeddings({
57
+ * apiKey: process.env.OPENAI_KEY!,
58
+ * model: "text-embedding-3-small",
59
+ * dimensions: 1536,
60
+ * });
61
+ */
62
+ export declare function openaiEmbeddings(opts: OpenAIEmbeddingOptions): EmbeddingAdapter;
63
+ //# sourceMappingURL=embedding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAMD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,GACtB,eAAe,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAEzC;AAMD,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,CAkC/E"}
@@ -0,0 +1,61 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Embedding adapter interface and configuration
3
+ // ---------------------------------------------------------------------------
4
+ // ---------------------------------------------------------------------------
5
+ // defineEmbedding
6
+ // ---------------------------------------------------------------------------
7
+ /**
8
+ * Register embedding configuration for a model.
9
+ *
10
+ * @example
11
+ * const articleEmbedding = defineEmbedding("Article", {
12
+ * sourceField: "body",
13
+ * vectorField: "embedding",
14
+ * adapter: openaiEmbeddings({ apiKey: process.env.OPENAI_KEY! }),
15
+ * });
16
+ */
17
+ export function defineEmbedding(modelName, config) {
18
+ return { ...config, modelName };
19
+ }
20
+ /**
21
+ * Create an OpenAI-compatible embedding adapter.
22
+ *
23
+ * Works with any API that implements the OpenAI `/v1/embeddings` contract
24
+ * (OpenAI, Azure OpenAI, Ollama, vLLM, etc.).
25
+ *
26
+ * @example
27
+ * const adapter = openaiEmbeddings({
28
+ * apiKey: process.env.OPENAI_KEY!,
29
+ * model: "text-embedding-3-small",
30
+ * dimensions: 1536,
31
+ * });
32
+ */
33
+ export function openaiEmbeddings(opts) {
34
+ const dimensions = opts.dimensions ?? 1536;
35
+ const baseUrl = opts.baseUrl ?? "https://api.openai.com/v1";
36
+ const model = opts.model ?? "text-embedding-3-small";
37
+ return {
38
+ dimensions,
39
+ async embed(texts) {
40
+ const res = await fetch(`${baseUrl}/embeddings`, {
41
+ method: "POST",
42
+ headers: {
43
+ "Authorization": `Bearer ${opts.apiKey}`,
44
+ "Content-Type": "application/json",
45
+ },
46
+ body: JSON.stringify({
47
+ model,
48
+ input: texts,
49
+ dimensions,
50
+ }),
51
+ });
52
+ if (!res.ok) {
53
+ const body = await res.text();
54
+ throw new Error(`Embedding request failed (${res.status}): ${body}`);
55
+ }
56
+ const data = (await res.json());
57
+ return data.data.map((d) => d.embedding);
58
+ },
59
+ };
60
+ }
61
+ //# sourceMappingURL=embedding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AA4B9E,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,MAAuB;IAEvB,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAkBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA4B;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,2BAA2B,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,wBAAwB,CAAC;IAErD,OAAO;QACL,UAAU;QACV,KAAK,CAAC,KAAK,CAAC,KAAe;YACzB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,aAAa,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;oBACxC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK;oBACL,KAAK,EAAE,KAAK;oBACZ,UAAU;iBACX,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CACpD,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,18 @@
1
1
  export { defineModel, field, relation } from "./model.js";
2
2
  export { generateDrizzleSchema } from "./schema.js";
3
3
  export { createDatabase } from "./client.js";
4
- export { generateMigration, applyMigration } from "./migrate.js";
5
- export { generateCrudRoutes, pluralize } from "./crud.js";
6
- export type { CrudRouteFiles } from "./crud.js";
7
- export type { ModelDefinition, FieldDefinition, RelationDefinition, IndexDefinition, DatabaseConfig, ScalarType, } from "./types.js";
4
+ export type { DatabaseInstance } from "./client.js";
5
+ export { planMigration, generateMigration, applyMigration, ensureTrackingTable, getAppliedMigrations, getMigrationStatus, applyTrackedMigrations, } from "./migrate.js";
6
+ export type { MigrationDbClient, MigrationIssue, MigrationIssueCode, MigrationOptions, MigrationPlan, MigrationStatus } from "./migrate.js";
7
+ export { createDatabaseRuntime } from "./runtime.js";
8
+ export type { DatabaseRuntime, FindManyOptions, ModelRepository, QueryOrder, SqlMutationResult, SqlRuntimeAdapter } from "./runtime.js";
9
+ export { createCrudRepository, createCrudRuntime, generateCrudRoutes, pluralize } from "./crud.js";
10
+ export type { CrudQueryOptions, CrudRouteFiles, CrudRuntime } from "./crud.js";
11
+ export { defineEmbedding, openaiEmbeddings } from "./embedding.js";
12
+ export type { EmbeddingAdapter, EmbeddingConfig, OpenAIEmbeddingOptions } from "./embedding.js";
13
+ export { cosineDistance, findNearest, hybridSearch } from "./search.js";
14
+ export type { VectorItem, ScoredResult, HybridItem, HybridSearchOptions } from "./search.js";
15
+ export { prepareCreateData, prepareUpdateData } from "./write.js";
16
+ export type { PrepareWriteOptions } from "./write.js";
17
+ export type { ModelDefinition, FieldDefinition, RelationDefinition, IndexDefinition, DatabaseConfig, DbProvider, ScalarType, } from "./types.js";
8
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5I,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxI,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnG,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,10 @@
1
1
  export { defineModel, field, relation } from "./model.js";
2
2
  export { generateDrizzleSchema } from "./schema.js";
3
3
  export { createDatabase } from "./client.js";
4
- export { generateMigration, applyMigration } from "./migrate.js";
5
- export { generateCrudRoutes, pluralize } from "./crud.js";
4
+ export { planMigration, generateMigration, applyMigration, ensureTrackingTable, getAppliedMigrations, getMigrationStatus, applyTrackedMigrations, } from "./migrate.js";
5
+ export { createDatabaseRuntime } from "./runtime.js";
6
+ export { createCrudRepository, createCrudRuntime, generateCrudRoutes, pluralize } from "./crud.js";
7
+ export { defineEmbedding, openaiEmbeddings } from "./embedding.js";
8
+ export { cosineDistance, findNearest, hybridSearch } from "./search.js";
9
+ export { prepareCreateData, prepareUpdateData } from "./write.js";
6
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
package/dist/migrate.d.ts CHANGED
@@ -1,29 +1,50 @@
1
- import type { ModelDefinition } from "./types.js";
2
- /**
3
- * Generate SQL migration statements that transform `fromModels` into
4
- * `toModels`. This is a forward-only diff: it creates new tables, adds new
5
- * columns, and creates indexes. It does NOT handle column drops, renames, or
6
- * type changes (SQLite has limited ALTER TABLE support).
7
- *
8
- * @param fromModels - The previous set of model definitions (can be empty for
9
- * initial migration).
10
- * @param toModels - The target set of model definitions.
11
- * @returns An array of SQL statements to execute.
12
- */
13
- export declare function generateMigration(fromModels: ModelDefinition[], toModels: ModelDefinition[]): string[];
14
- /**
15
- * Execute an array of SQL migration statements against a database.
16
- *
17
- * The statements are run inside a transaction so that either all succeed or
18
- * none are applied.
19
- *
20
- * @param db - A Drizzle `BetterSQLite3Database` instance (or any object whose
21
- * `$client` property is a better-sqlite3 `Database`).
22
- * @param sql - The SQL statements to execute.
23
- */
1
+ import type { DbProvider, ModelDefinition } from "./types.js";
2
+ export type MigrationIssueCode = "DROP_TABLE" | "DROP_COLUMN" | "ALTER_COLUMN" | "DROP_INDEX" | "RENAME_COLUMN";
3
+ export interface MigrationIssue {
4
+ code: MigrationIssueCode;
5
+ message: string;
6
+ tableName: string;
7
+ fieldName?: string;
8
+ destructive: boolean;
9
+ }
10
+ export interface MigrationPlan {
11
+ provider: DbProvider;
12
+ statements: string[];
13
+ issues: MigrationIssue[];
14
+ safe: boolean;
15
+ }
16
+ export interface MigrationOptions {
17
+ provider?: DbProvider;
18
+ allowDestructive?: boolean;
19
+ strict?: boolean;
20
+ }
21
+ export declare function planMigration(fromModels: ModelDefinition[], toModels: ModelDefinition[], options?: DbProvider | MigrationOptions): MigrationPlan;
22
+ export declare function generateMigration(fromModels: ModelDefinition[], toModels: ModelDefinition[], options?: DbProvider | MigrationOptions): string[];
24
23
  export declare function applyMigration(db: {
25
24
  $client: {
26
25
  exec: (sql: string) => void;
27
26
  };
28
27
  }, sql: string[]): void;
28
+ export interface MigrationDbClient {
29
+ exec: (sql: string) => void;
30
+ prepare: (sql: string) => {
31
+ all: (...params: unknown[]) => unknown[];
32
+ run: (...params: unknown[]) => unknown;
33
+ get: (...params: unknown[]) => unknown;
34
+ };
35
+ }
36
+ export declare function ensureTrackingTable(client: MigrationDbClient, provider?: DbProvider): void;
37
+ export declare function getAppliedMigrations(client: MigrationDbClient): string[];
38
+ export interface MigrationStatus {
39
+ applied: Array<{
40
+ name: string;
41
+ appliedAt: string;
42
+ }>;
43
+ pending: string[];
44
+ }
45
+ export declare function getMigrationStatus(client: MigrationDbClient, allMigrationNames: string[], provider?: DbProvider): MigrationStatus;
46
+ export declare function applyTrackedMigrations(client: MigrationDbClient, migrations: Array<{
47
+ name: string;
48
+ sql: string;
49
+ }>, provider?: DbProvider): string[];
29
50
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgD,MAAM,YAAY,CAAC;AAyHhG;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,eAAe,EAAE,EAC7B,QAAQ,EAAE,eAAe,EAAE,GAC1B,MAAM,EAAE,CA0DV;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAcpG"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAoC,eAAe,EAAE,MAAM,YAAY,CAAC;AAqIhG,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2FD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,eAAe,EAAE,EAC7B,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE,UAAU,GAAG,gBAAgB,GACtC,aAAa,CA0If;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,eAAe,EAAE,EAC7B,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,CAAC,EAAE,UAAU,GAAG,gBAAgB,GACtC,MAAM,EAAE,CAYV;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAcpG;AA2BD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;QACxB,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;QACzC,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;QACvC,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;KACxC,CAAC;CACH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,GAAE,UAAqB,GAAG,IAAI,CAEpG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAKxE;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EACzB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,QAAQ,GAAE,UAAqB,GAC9B,eAAe,CAajB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,QAAQ,GAAE,UAAqB,GAC9B,MAAM,EAAE,CAkCV"}