hazo_connect 2.4.6 → 2.6.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 (37) hide show
  1. package/README.md +167 -3
  2. package/dist/adapters/pg-adapter.d.ts +53 -0
  3. package/dist/adapters/pg-adapter.d.ts.map +1 -0
  4. package/dist/adapters/pg-adapter.js +76 -0
  5. package/dist/adapters/pg-adapter.js.map +1 -0
  6. package/dist/adapters/sqlite-adapter.d.ts +35 -0
  7. package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
  8. package/dist/adapters/sqlite-adapter.js +66 -0
  9. package/dist/adapters/sqlite-adapter.js.map +1 -1
  10. package/dist/factory.d.ts.map +1 -1
  11. package/dist/factory.js +8 -4
  12. package/dist/factory.js.map +1 -1
  13. package/dist/migrations/runner.d.ts +39 -0
  14. package/dist/migrations/runner.d.ts.map +1 -0
  15. package/dist/migrations/runner.js +87 -0
  16. package/dist/migrations/runner.js.map +1 -0
  17. package/dist/nextjs/setup-helpers.d.ts.map +1 -1
  18. package/dist/nextjs/setup-helpers.js +15 -4
  19. package/dist/nextjs/setup-helpers.js.map +1 -1
  20. package/dist/query-builder.d.ts +65 -0
  21. package/dist/query-builder.d.ts.map +1 -1
  22. package/dist/query-builder.js +148 -0
  23. package/dist/query-builder.js.map +1 -1
  24. package/dist/server/index.d.ts +3 -0
  25. package/dist/server/index.d.ts.map +1 -1
  26. package/dist/server/index.js +4 -1
  27. package/dist/server/index.js.map +1 -1
  28. package/dist/sqlite/query-translator.d.ts.map +1 -1
  29. package/dist/sqlite/query-translator.js +39 -2
  30. package/dist/sqlite/query-translator.js.map +1 -1
  31. package/dist/types.d.ts +1 -1
  32. package/dist/types.d.ts.map +1 -1
  33. package/dist/utils/database-url.d.ts +20 -0
  34. package/dist/utils/database-url.d.ts.map +1 -0
  35. package/dist/utils/database-url.js +44 -0
  36. package/dist/utils/database-url.js.map +1 -0
  37. package/package.json +24 -14
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/migrations/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAqCD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiD7B"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * Purpose: Apply pending SQL migration files against a hazo_connect adapter.
4
+ *
5
+ * Scans a directory for `NNNN_*.sql` files, applies pending ones in numeric
6
+ * order, and records each one in a `_migrations` (or custom-named) tracking
7
+ * table. Each migration runs inside the adapter's transaction, so a failure
8
+ * mid-file leaves the database unchanged.
9
+ *
10
+ * Today this targets `SqliteAdapter` (the only adapter exposing
11
+ * `.transaction()` and `.execScript()`). The runner uses duck typing so a
12
+ * future adapter that implements those methods will be supported without
13
+ * code changes.
14
+ */
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.runMigrations = runMigrations;
20
+ const crypto_1 = __importDefault(require("crypto"));
21
+ const fs_1 = __importDefault(require("fs"));
22
+ const path_1 = __importDefault(require("path"));
23
+ const FILENAME_PATTERN = /^\d+_.+\.sql$/i;
24
+ function isMigrationCapable(adapter) {
25
+ return (typeof adapter.execScript === 'function' &&
26
+ typeof adapter.transaction === 'function');
27
+ }
28
+ function computeChecksum(contents) {
29
+ return crypto_1.default.createHash('sha256').update(contents).digest('hex').slice(0, 16);
30
+ }
31
+ function listMigrationFiles(directory) {
32
+ if (!fs_1.default.existsSync(directory)) {
33
+ throw new Error(`Migrations directory does not exist: ${directory}`);
34
+ }
35
+ return fs_1.default
36
+ .readdirSync(directory)
37
+ .filter(name => FILENAME_PATTERN.test(name))
38
+ .sort();
39
+ }
40
+ /**
41
+ * Apply all pending migrations in `options.directory` against `adapter`.
42
+ *
43
+ * @returns The migrations that were applied during this call (empty array if
44
+ * everything was already up to date).
45
+ */
46
+ async function runMigrations(adapter, options) {
47
+ if (!isMigrationCapable(adapter)) {
48
+ throw new Error('runMigrations requires an adapter that exposes execScript() and transaction(). ' +
49
+ 'Today only SqliteAdapter qualifies.');
50
+ }
51
+ const tableName = options.tableName ?? '_migrations';
52
+ const quotedTable = quoteIdent(tableName);
53
+ // Create the tracking table if absent. Outside any transaction.
54
+ await adapter.execScript(`CREATE TABLE IF NOT EXISTS ${quotedTable} (
55
+ name TEXT PRIMARY KEY,
56
+ applied_at TEXT NOT NULL DEFAULT (datetime('now')),
57
+ checksum TEXT NOT NULL
58
+ );`);
59
+ const appliedRows = await adapter.rawQuery(`SELECT name FROM ${quotedTable}`);
60
+ const alreadyApplied = new Set(appliedRows.map((row) => String(row.name)));
61
+ const files = listMigrationFiles(options.directory);
62
+ const applied = [];
63
+ for (const name of files) {
64
+ if (alreadyApplied.has(name))
65
+ continue;
66
+ const filePath = path_1.default.join(options.directory, name);
67
+ const contents = fs_1.default.readFileSync(filePath, 'utf-8');
68
+ const checksum = computeChecksum(contents);
69
+ await adapter.transaction(async (tx) => {
70
+ await tx.execScript(contents);
71
+ await tx.rawQuery(`INSERT INTO ${quotedTable} (name, checksum) VALUES (?, ?)`, { params: [name, checksum] });
72
+ });
73
+ applied.push({
74
+ name,
75
+ checksum,
76
+ applied_at: new Date().toISOString()
77
+ });
78
+ }
79
+ return applied;
80
+ }
81
+ function quoteIdent(identifier) {
82
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(identifier)) {
83
+ throw new Error(`Invalid migration table name: ${identifier}`);
84
+ }
85
+ return `"${identifier}"`;
86
+ }
87
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/lib/migrations/runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAoB/E;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAA;IAEnD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CA6DpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAwBpB"}
1
+ {"version":3,"file":"setup-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAqB/E;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAA;IAEnD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CA2EpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAwBpB"}
@@ -23,6 +23,7 @@ const path_1 = __importDefault(require("path"));
23
23
  const index_js_1 = require("../server/index.js");
24
24
  const admin_service_js_1 = require("../sqlite/admin-service.js");
25
25
  const sqlite_adapter_js_1 = require("../adapters/sqlite-adapter.js");
26
+ const database_url_js_1 = require("../utils/database-url.js");
26
27
  /**
27
28
  * Runtime guard to ensure this module is only used on the server
28
29
  */
@@ -56,13 +57,23 @@ ensureServerOnly();
56
57
  */
57
58
  function createHazoConnectFromEnv(options = {}) {
58
59
  ensureServerOnly();
59
- const dbType = (options.type || process.env.HAZO_CONNECT_TYPE || 'sqlite').toLowerCase();
60
+ // DATABASE_URL=sqlite:... takes lowest precedence it can flip the type
61
+ // to sqlite and seed the path, but explicit options/env always win.
62
+ const databaseUrlParsed = (0, database_url_js_1.parseDatabaseUrl)(process.env.DATABASE_URL);
63
+ const dbType = (options.type ||
64
+ process.env.HAZO_CONNECT_TYPE ||
65
+ databaseUrlParsed?.type ||
66
+ 'sqlite').toLowerCase();
60
67
  if (dbType === 'sqlite') {
61
- const sqlitePathEnv = options.sqlitePath || process.env.HAZO_CONNECT_SQLITE_PATH || process.env.SQLITE_DATABASE_PATH;
68
+ const sqlitePathEnv = options.sqlitePath ||
69
+ process.env.HAZO_CONNECT_SQLITE_PATH ||
70
+ process.env.SQLITE_DATABASE_PATH ||
71
+ (databaseUrlParsed?.type === 'sqlite' ? databaseUrlParsed.database_path : undefined);
62
72
  let sqlitePath;
63
73
  if (sqlitePathEnv) {
64
- // If path is absolute, use as-is; otherwise resolve relative to process.cwd()
65
- sqlitePath = path_1.default.isAbsolute(sqlitePathEnv)
74
+ // If path is absolute (or :memory:), use as-is; otherwise resolve
75
+ // relative to process.cwd().
76
+ sqlitePath = path_1.default.isAbsolute(sqlitePathEnv) || sqlitePathEnv === ':memory:'
66
77
  ? sqlitePathEnv
67
78
  : path_1.default.resolve(process.cwd(), sqlitePathEnv);
68
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-helpers.js","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,YAAY,CAAA;AAPZ;;;;;GAKG;;;;;AA2EH,4DA+DC;AAqCD,0DA0BC;AAOD,8DAGC;AA/MD,gDAAuB;AAEvB,iDAAsD;AACtD,iEAAkE;AAClE,qEAA6D;AAE7D;;GAEG;AACH,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,4DAA4D;YAC5D,+EAA+E,CAChF,CAAA;IACH,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,gBAAgB,EAAE,CAAA;AAgClB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,wBAAwB,CACtC,UAA2C,EAAE;IAE7C,gBAAgB,EAAE,CAAA;IAElB,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC,CAAC,WAAW,EAA+B,CAAA;IAErH,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;QAEpH,IAAI,UAAkB,CAAA;QAEtB,IAAI,aAAa,EAAE,CAAC;YAClB,8EAA8E;YAC9E,UAAU,GAAG,cAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBACzC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM,CAAA;QACxF,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM,CAAA;QAClG,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B;YAC5D,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;YACxD,CAAC,CAAC,SAAS,CAAA;QAEb,OAAO,IAAA,4BAAiB,EAAC;YACvB,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa;YAC9B,MAAM,EAAE;gBACN,aAAa,EAAE,UAAU;gBACzB,SAAS,EAAE,QAAQ;gBACnB,cAAc,EAAE,aAAa;aAC9B;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAA;QAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAA;QAEnF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAA;QACH,CAAC;QAED,OAAO,IAAA,4BAAiB,EAAC;YACvB,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE;gBACT,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,MAAM;aAChB;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,8BAA8B,MAAM,IAAI;YACxC,sCAAsC;YACtC,oEAAoE,CACrE,CAAA;IACH,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,IAAI,iBAAiB,GAA8B,IAAI,CAAA;AACvD,IAAI,eAAe,GAAkB,IAAI,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,uBAAuB,CACrC,UAA2C,EAAE;IAE7C,gBAAgB,EAAE,CAAA;IAElB,qDAAqD;IACrD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ;QAC/D,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACtE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM;QACjF,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM;KAC5F,CAAC,CAAA;IAEF,qEAAqE;IACrE,IAAI,CAAC,iBAAiB,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;QAC9D,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;QACrD,eAAe,GAAG,eAAe,CAAA;QAEjC,kEAAkE;QAClE,yCAAyC;QACzC,IAAI,iBAAiB,YAAY,iCAAa,EAAE,CAAC;YAC/C,IAAA,wCAAqB,EAAC,iBAAiB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB;IACvC,iBAAiB,GAAG,IAAI,CAAA;IACxB,eAAe,GAAG,IAAI,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"setup-helpers.js","sourceRoot":"","sources":["../../src/lib/nextjs/setup-helpers.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ export declare class QueryBuilder {
20
20
  private _offsetValue;
21
21
  private _joins;
22
22
  private _nestedSelects;
23
+ private _forUpdate?;
24
+ private _returning?;
25
+ private _update?;
26
+ private _onConflict?;
27
+ private _onConflictAction?;
23
28
  /**
24
29
  * Set the table name
25
30
  * @param table - Table name
@@ -91,6 +96,66 @@ export declare class QueryBuilder {
91
96
  * @returns QueryBuilder instance for chaining
92
97
  */
93
98
  nestedSelect(table: string, fields: string[]): this;
99
+ /**
100
+ * Add FOR UPDATE clause (with optional SKIP LOCKED)
101
+ * @param opts - Options object; skipLocked defaults to false
102
+ * @returns QueryBuilder instance for chaining
103
+ */
104
+ forUpdate(opts?: {
105
+ skipLocked?: boolean;
106
+ }): this;
107
+ /**
108
+ * Set RETURNING clause for UPDATE/INSERT/DELETE statements
109
+ * @param cols - Columns to return; defaults to '*'
110
+ * @returns QueryBuilder instance for chaining
111
+ */
112
+ returning(cols?: string): this;
113
+ /**
114
+ * Set the UPDATE payload
115
+ * @param data - Object mapping column names to new values
116
+ * @returns QueryBuilder instance for chaining
117
+ */
118
+ update(data: Record<string, unknown>): this;
119
+ /**
120
+ * Declare the conflict target for an INSERT. Pair with `.doUpdate()` or
121
+ * `.doNothing()` to produce an upsert. Without a following action, the
122
+ * INSERT is emitted unchanged (the conflict target is ignored).
123
+ * @param cols - Columns that form the conflict target (must match a
124
+ * UNIQUE constraint or PRIMARY KEY on the target table).
125
+ */
126
+ onConflict(cols: string[]): this;
127
+ /**
128
+ * On conflict, replace the conflicting row.
129
+ * @param set - When omitted (or `'excluded'`), updates every inserted column
130
+ * to its `excluded.col` value. When given an object, only the listed
131
+ * columns are updated, with parameterised values.
132
+ */
133
+ doUpdate(set?: Record<string, unknown> | 'excluded'): this;
134
+ /**
135
+ * On conflict, leave the existing row untouched. Returns no rows for the
136
+ * conflicting insert(s).
137
+ */
138
+ doNothing(): this;
139
+ /** Get the conflict target columns, if any. */
140
+ getOnConflict(): string[] | undefined;
141
+ /** Get the conflict action descriptor, if any. */
142
+ getOnConflictAction(): {
143
+ kind: 'do_nothing';
144
+ } | {
145
+ kind: 'do_update_excluded';
146
+ } | {
147
+ kind: 'do_update_set';
148
+ set: Record<string, unknown>;
149
+ } | undefined;
150
+ /**
151
+ * Emit a parameterised PostgreSQL query string
152
+ * Supports SELECT (with optional FOR UPDATE) and UPDATE ... RETURNING
153
+ * @returns Object with `text` (SQL string) and `values` (positional params)
154
+ */
155
+ toPgSql(): {
156
+ text: string;
157
+ values: unknown[];
158
+ };
94
159
  /**
95
160
  * Get the table name
96
161
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/lib/query-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACb,MAAM,SAAS,CAAA;AAEhB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAA0D;IAC1E,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,MAAM,CAA2D;IACzE,OAAO,CAAC,cAAc,CAAqB;IAE3C;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAgBvC;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAK/D;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAK3C;;;;OAIG;IACH,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,GAAG,IAAI;IAUxF;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,cAAsB,GAAG,IAAI;IAK7D;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,QAAkB,GAAG,IAAI;IAK/D;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKnD;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,kBAAkB,IAAI,cAAc,EAAE;IAItC;;OAEG;IACH,oBAAoB,IAAI,cAAc,EAAE,EAAE;IAI1C;;OAEG;IACH,UAAU,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,cAAc,CAAA;KAAE,CAAC;IAIjE;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;IAIhE;;OAEG;IACH,gBAAgB,IAAI,YAAY,EAAE;IAIlC;;;OAGG;IACH,KAAK,IAAI,YAAY;CAatB"}
1
+ {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/lib/query-builder.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,144 @@ class QueryBuilder {
140
140
  this._nestedSelects.push({ table, fields });
141
141
  return this;
142
142
  }
143
+ /**
144
+ * Add FOR UPDATE clause (with optional SKIP LOCKED)
145
+ * @param opts - Options object; skipLocked defaults to false
146
+ * @returns QueryBuilder instance for chaining
147
+ */
148
+ forUpdate(opts = {}) {
149
+ this._forUpdate = { skipLocked: opts.skipLocked ?? false };
150
+ return this;
151
+ }
152
+ /**
153
+ * Set RETURNING clause for UPDATE/INSERT/DELETE statements
154
+ * @param cols - Columns to return; defaults to '*'
155
+ * @returns QueryBuilder instance for chaining
156
+ */
157
+ returning(cols = '*') {
158
+ this._returning = cols;
159
+ return this;
160
+ }
161
+ /**
162
+ * Set the UPDATE payload
163
+ * @param data - Object mapping column names to new values
164
+ * @returns QueryBuilder instance for chaining
165
+ */
166
+ update(data) {
167
+ this._update = data;
168
+ return this;
169
+ }
170
+ /**
171
+ * Declare the conflict target for an INSERT. Pair with `.doUpdate()` or
172
+ * `.doNothing()` to produce an upsert. Without a following action, the
173
+ * INSERT is emitted unchanged (the conflict target is ignored).
174
+ * @param cols - Columns that form the conflict target (must match a
175
+ * UNIQUE constraint or PRIMARY KEY on the target table).
176
+ */
177
+ onConflict(cols) {
178
+ if (!Array.isArray(cols) || cols.length === 0) {
179
+ throw new Error('QueryBuilder.onConflict: cols must be a non-empty array');
180
+ }
181
+ this._onConflict = [...cols];
182
+ return this;
183
+ }
184
+ /**
185
+ * On conflict, replace the conflicting row.
186
+ * @param set - When omitted (or `'excluded'`), updates every inserted column
187
+ * to its `excluded.col` value. When given an object, only the listed
188
+ * columns are updated, with parameterised values.
189
+ */
190
+ doUpdate(set) {
191
+ if (set === undefined || set === 'excluded') {
192
+ this._onConflictAction = { kind: 'do_update_excluded' };
193
+ }
194
+ else {
195
+ if (Object.keys(set).length === 0) {
196
+ throw new Error('QueryBuilder.doUpdate: set object must contain at least one column');
197
+ }
198
+ this._onConflictAction = { kind: 'do_update_set', set };
199
+ }
200
+ return this;
201
+ }
202
+ /**
203
+ * On conflict, leave the existing row untouched. Returns no rows for the
204
+ * conflicting insert(s).
205
+ */
206
+ doNothing() {
207
+ this._onConflictAction = { kind: 'do_nothing' };
208
+ return this;
209
+ }
210
+ /** Get the conflict target columns, if any. */
211
+ getOnConflict() {
212
+ return this._onConflict;
213
+ }
214
+ /** Get the conflict action descriptor, if any. */
215
+ getOnConflictAction() {
216
+ return this._onConflictAction;
217
+ }
218
+ /**
219
+ * Emit a parameterised PostgreSQL query string
220
+ * Supports SELECT (with optional FOR UPDATE) and UPDATE ... RETURNING
221
+ * @returns Object with `text` (SQL string) and `values` (positional params)
222
+ */
223
+ toPgSql() {
224
+ if (!this._table)
225
+ throw new Error('QueryBuilder.toPgSql: table not set');
226
+ const values = [];
227
+ const next = (v) => { values.push(v); return `$${values.length}`; };
228
+ let text = '';
229
+ if (this._update) {
230
+ const sets = Object.entries(this._update)
231
+ .map(([k, v]) => `${k} = ${next(v)}`).join(', ');
232
+ text = `UPDATE ${this._table} SET ${sets}`;
233
+ }
234
+ else {
235
+ const cols = this._selectFields.length
236
+ ? this._selectFields.join(', ')
237
+ : '*';
238
+ text = `SELECT ${cols} FROM ${this._table}`;
239
+ }
240
+ if (this._whereConditions.length) {
241
+ const where = this._whereConditions
242
+ .map((c) => {
243
+ if (c.operator === 'eq')
244
+ return `${c.field} = ${next(c.value)}`;
245
+ if (c.operator === 'neq')
246
+ return `${c.field} != ${next(c.value)}`;
247
+ if (c.operator === 'lt')
248
+ return `${c.field} < ${next(c.value)}`;
249
+ if (c.operator === 'lte')
250
+ return `${c.field} <= ${next(c.value)}`;
251
+ if (c.operator === 'gt')
252
+ return `${c.field} > ${next(c.value)}`;
253
+ if (c.operator === 'gte')
254
+ return `${c.field} >= ${next(c.value)}`;
255
+ if (c.operator === 'in')
256
+ return `${c.field} = ANY(${next(c.value)})`;
257
+ return `${c.field} ${c.operator} ${next(c.value)}`;
258
+ })
259
+ .join(' AND ');
260
+ text += ` WHERE ${where}`;
261
+ }
262
+ if (this._orderBy.length) {
263
+ const order = this._orderBy
264
+ .map((o) => `${o.field} ${o.direction.toUpperCase()}`)
265
+ .join(', ');
266
+ text += ` ORDER BY ${order}`;
267
+ }
268
+ if (this._limitValue !== null) {
269
+ text += ` LIMIT ${this._limitValue}`;
270
+ }
271
+ if (this._forUpdate && !this._update) {
272
+ text += ' FOR UPDATE';
273
+ if (this._forUpdate.skipLocked)
274
+ text += ' SKIP LOCKED';
275
+ }
276
+ if (this._returning) {
277
+ text += ` RETURNING ${this._returning}`;
278
+ }
279
+ return { text, values };
280
+ }
143
281
  /**
144
282
  * Get the table name
145
283
  */
@@ -209,6 +347,16 @@ class QueryBuilder {
209
347
  cloned._offsetValue = this._offsetValue;
210
348
  cloned._joins = [...this._joins];
211
349
  cloned._nestedSelects = [...this._nestedSelects];
350
+ cloned._forUpdate = this._forUpdate ? { ...this._forUpdate } : undefined;
351
+ cloned._returning = this._returning;
352
+ cloned._update = this._update ? { ...this._update } : undefined;
353
+ cloned._onConflict = this._onConflict ? [...this._onConflict] : undefined;
354
+ if (this._onConflictAction) {
355
+ cloned._onConflictAction =
356
+ this._onConflictAction.kind === 'do_update_set'
357
+ ? { kind: 'do_update_set', set: { ...this._onConflictAction.set } }
358
+ : { kind: this._onConflictAction.kind };
359
+ }
212
360
  return cloned;
213
361
  }
214
362
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../src/lib/query-builder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAUH;;;GAGG;AACH,MAAa,YAAY;IAAzB;QACU,WAAM,GAAkB,IAAI,CAAA;QAC5B,kBAAa,GAAa,EAAE,CAAA;QAC5B,qBAAgB,GAAqB,EAAE,CAAA;QACvC,uBAAkB,GAAuB,EAAE,CAAA;QAC3C,aAAQ,GAAwD,EAAE,CAAA;QAClE,gBAAW,GAAkB,IAAI,CAAA;QACjC,iBAAY,GAAkB,IAAI,CAAA;QAClC,WAAM,GAAyD,EAAE,CAAA;QACjE,mBAAc,GAAmB,EAAE,CAAA;IA6M7C,CAAC;IA3MC;;;;OAIG;IACH,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAyB;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,gDAAgD;YAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC3D,CAAC;iBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QAC7B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAa,EAAE,QAAuB,EAAE,KAAU;QACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,KAAa,EAAE,MAAa;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,UAAyE;QAC/E,MAAM,YAAY,GAAqB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC,CAAA;QACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAa,EAAE,YAA4B,KAAK;QACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAa,EAAE,EAAU,EAAE,OAAiB,OAAO;QACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAa,EAAE,MAAgB;QAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAA;QACjC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC3B,MAAM,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9C,MAAM,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACpD,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAA;QACtF,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACvC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;QAChD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAtND,oCAsNC"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../src/lib/query-builder.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,12 @@ export type { AutoIdConfig, CrudService, CrudServiceOptions, ExecutableQueryBuil
15
15
  export { BaseAdapter } from '../adapters/base-adapter.js';
16
16
  export { PostgrestAdapter } from '../adapters/postgrest-adapter.js';
17
17
  export { SqliteAdapter } from '../adapters/sqlite-adapter.js';
18
+ export type { SqliteTransactionContext } from '../adapters/sqlite-adapter.js';
18
19
  export { SupabaseAdapter } from '../adapters/supabase-adapter.js';
19
20
  export { FileAdapter } from '../adapters/file-adapter.js';
20
21
  export { getSqliteAdminService, initializeAdminService, registerSqliteAdapter, clearRegisteredAdapter } from '../sqlite/admin-service.js';
22
+ export { runMigrations } from '../migrations/runner.js';
23
+ export type { AppliedMigration, RunMigrationsOptions } from '../migrations/runner.js';
21
24
  export { parseJsonbField } from '../utils/jsonb.js';
22
25
  export { wrapResult, ok, err } from '../utils/result.js';
23
26
  export type { DbResult } from '../utils/result.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGjD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACb,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAGzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGjD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACb,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAGzD,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,4BAA4B,CAAA"}
@@ -13,7 +13,7 @@
13
13
  * and runtime guards to prevent client-side usage.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.getConfigurationTips = exports.validateNextJsConfig = exports.assertFound = exports.assertNotEmpty = exports.AssertionError = exports.err = exports.ok = exports.wrapResult = exports.parseJsonbField = exports.clearRegisteredAdapter = exports.registerSqliteAdapter = exports.initializeAdminService = exports.getSqliteAdminService = exports.FileAdapter = exports.SupabaseAdapter = exports.SqliteAdapter = exports.PostgrestAdapter = exports.BaseAdapter = exports.executeQuery = exports.createTableQuery = exports.createCrudService = exports.attachExecute = exports.createHazoConnect = exports.QueryBuilder = exports.getDefaultLogLevel = exports.createLogLevelWrapper = exports.createLoggerWithLevel = exports.getDefaultLogger = exports.defaultLogger = exports.noOpLogger = exports.ErrorCode = void 0;
16
+ exports.getConfigurationTips = exports.validateNextJsConfig = exports.assertFound = exports.assertNotEmpty = exports.AssertionError = exports.err = exports.ok = exports.wrapResult = exports.parseJsonbField = exports.runMigrations = exports.clearRegisteredAdapter = exports.registerSqliteAdapter = exports.initializeAdminService = exports.getSqliteAdminService = exports.FileAdapter = exports.SupabaseAdapter = exports.SqliteAdapter = exports.PostgrestAdapter = exports.BaseAdapter = exports.executeQuery = exports.createTableQuery = exports.createCrudService = exports.attachExecute = exports.createHazoConnect = exports.QueryBuilder = exports.getDefaultLogLevel = exports.createLogLevelWrapper = exports.createLoggerWithLevel = exports.getDefaultLogger = exports.defaultLogger = exports.noOpLogger = exports.ErrorCode = void 0;
17
17
  /**
18
18
  * Runtime guard to ensure this module is only used on the server
19
19
  * @throws Error if called in a browser environment
@@ -65,6 +65,9 @@ Object.defineProperty(exports, "getSqliteAdminService", { enumerable: true, get:
65
65
  Object.defineProperty(exports, "initializeAdminService", { enumerable: true, get: function () { return admin_service_js_1.initializeAdminService; } });
66
66
  Object.defineProperty(exports, "registerSqliteAdapter", { enumerable: true, get: function () { return admin_service_js_1.registerSqliteAdapter; } });
67
67
  Object.defineProperty(exports, "clearRegisteredAdapter", { enumerable: true, get: function () { return admin_service_js_1.clearRegisteredAdapter; } });
68
+ // Export migration runner
69
+ var runner_js_1 = require("../migrations/runner.js");
70
+ Object.defineProperty(exports, "runMigrations", { enumerable: true, get: function () { return runner_js_1.runMigrations; } });
68
71
  // Export JSONB parsing utility (pure function, no Node.js deps)
69
72
  var jsonb_js_1 = require("../utils/jsonb.js");
70
73
  Object.defineProperty(exports, "parseJsonbField", { enumerable: true, get: function () { return jsonb_js_1.parseJsonbField; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,YAAY,CAAA;AAPZ;;;;;GAKG;;;AAIH;;;GAGG;AACH,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,sDAAsD;YACtD,+EAA+E,CAChF,CAAA;IACH,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,gBAAgB,EAAE,CAAA;AAiBlB,wCAAmD;AAA1C,qGAAA,SAAS,OAAA;AAAE,sGAAA,UAAU,OAAA;AAC9B,0DAA6F;AAApF,kHAAA,aAAa,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAC/D,gEAAmF;AAA1E,6HAAA,qBAAqB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAElD,uBAAuB;AACvB,wDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,4CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAE1B,iBAAiB;AACjB,4CAKsB;AAJpB,2GAAA,aAAa,OAAA;AACb,+GAAA,iBAAiB,OAAA;AACjB,8GAAA,gBAAgB,OAAA;AAChB,0GAAA,YAAY,OAAA;AAUd,uCAAuC;AACvC,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AACpB,yEAAmE;AAA1D,wHAAA,gBAAgB,OAAA;AACzB,mEAA6D;AAApD,kHAAA,aAAa,OAAA;AACtB,uEAAiE;AAAxD,sHAAA,eAAe,OAAA;AACxB,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AAEpB,8BAA8B;AAC9B,+DAKmC;AAJjC,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAGxB,gEAAgE;AAChE,8CAAmD;AAA1C,2GAAA,eAAe,OAAA;AAExB,+BAA+B;AAC/B,gDAAwD;AAA/C,uGAAA,UAAU,OAAA;AAAE,+FAAA,EAAE,OAAA;AAAE,gGAAA,GAAG,OAAA;AAG5B,6BAA6B;AAC7B,wDAAoF;AAA3E,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,4GAAA,WAAW,OAAA;AAEpD,4CAA4C;AAC5C,oEAIqC;AAHnC,2HAAA,oBAAoB,OAAA;AACpB,2HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,YAAY,CAAA;AAPZ;;;;;GAKG;;;AAIH;;;GAGG;AACH,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,sDAAsD;YACtD,+EAA+E,CAChF,CAAA;IACH,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,gBAAgB,EAAE,CAAA;AAiBlB,wCAAmD;AAA1C,qGAAA,SAAS,OAAA;AAAE,sGAAA,UAAU,OAAA;AAC9B,0DAA6F;AAApF,kHAAA,aAAa,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAC/D,gEAAmF;AAA1E,6HAAA,qBAAqB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAElD,uBAAuB;AACvB,wDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,iBAAiB;AACjB,4CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAE1B,iBAAiB;AACjB,4CAKsB;AAJpB,2GAAA,aAAa,OAAA;AACb,+GAAA,iBAAiB,OAAA;AACjB,8GAAA,gBAAgB,OAAA;AAChB,0GAAA,YAAY,OAAA;AAUd,uCAAuC;AACvC,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AACpB,yEAAmE;AAA1D,wHAAA,gBAAgB,OAAA;AACzB,mEAA6D;AAApD,kHAAA,aAAa,OAAA;AAEtB,uEAAiE;AAAxD,sHAAA,eAAe,OAAA;AACxB,+DAAyD;AAAhD,8GAAA,WAAW,OAAA;AAEpB,8BAA8B;AAC9B,+DAKmC;AAJjC,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAGxB,0BAA0B;AAC1B,qDAAuD;AAA9C,0GAAA,aAAa,OAAA;AAGtB,gEAAgE;AAChE,8CAAmD;AAA1C,2GAAA,eAAe,OAAA;AAExB,+BAA+B;AAC/B,gDAAwD;AAA/C,uGAAA,UAAU,OAAA;AAAE,+FAAA,EAAE,OAAA;AAAE,gGAAA,GAAG,OAAA;AAG5B,6BAA6B;AAC7B,wDAAoF;AAA3E,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,4GAAA,WAAW,OAAA;AAEpD,4CAA4C;AAC5C,oEAIqC;AAHnC,2HAAA,oBAAoB,OAAA;AACpB,2HAAA,oBAAoB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-translator.d.ts","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAsBtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAClE,iBAAiB,CAoCnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,eAAe,CAkBjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAUtE"}
1
+ {"version":3,"file":"query-translator.d.ts","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAsBtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAClE,iBAAiB,CAqCnB;AAmDD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,eAAe,CAkBjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAUtE"}
@@ -63,15 +63,52 @@ function translateInsert(builder, rowsInput) {
63
63
  throw new SqliteTranslationError("All inserted rows must share the same set of columns");
64
64
  }
65
65
  }
66
+ const conflictClause = buildOnConflictClause(builder, columns);
66
67
  const baseSql = `INSERT INTO ${quoteIdentifierLocal(tableName)} (${quotedColumns.join(", ")}) VALUES (${columns
67
68
  .map(() => "?")
68
- .join(", ")}) RETURNING *`;
69
+ .join(", ")})${conflictClause.clause} RETURNING *`;
69
70
  const statements = rows.map(row => ({
70
71
  sql: baseSql,
71
- params: columns.map(column => (0, sqlite_utils_1.normalizeValue)(row[column]))
72
+ params: [...columns.map(column => (0, sqlite_utils_1.normalizeValue)(row[column])), ...conflictClause.params]
72
73
  }));
73
74
  return { statements };
74
75
  }
76
+ function buildOnConflictClause(builder, insertColumns) {
77
+ const target = builder.getOnConflict();
78
+ const action = builder.getOnConflictAction();
79
+ if (!target) {
80
+ return { clause: "", params: [] };
81
+ }
82
+ const quotedTarget = target.map(quoteColumnName).join(", ");
83
+ if (!action || action.kind === "do_update_excluded") {
84
+ // Default: every inserted column gets refreshed from excluded.col.
85
+ // Exclude the conflict-target columns themselves (no-op write).
86
+ const updatable = insertColumns.filter(col => !target.includes(col));
87
+ if (updatable.length === 0) {
88
+ // Nothing meaningful to update — fall back to DO NOTHING semantics.
89
+ return { clause: ` ON CONFLICT (${quotedTarget}) DO NOTHING`, params: [] };
90
+ }
91
+ const setFragments = updatable.map(col => `${quoteColumnName(col)} = excluded.${quoteColumnName(col)}`);
92
+ return {
93
+ clause: ` ON CONFLICT (${quotedTarget}) DO UPDATE SET ${setFragments.join(", ")}`,
94
+ params: []
95
+ };
96
+ }
97
+ if (action.kind === "do_nothing") {
98
+ return { clause: ` ON CONFLICT (${quotedTarget}) DO NOTHING`, params: [] };
99
+ }
100
+ // do_update_set — explicit parameterised SET.
101
+ const setColumns = Object.keys(action.set);
102
+ if (setColumns.length === 0) {
103
+ throw new SqliteTranslationError("ON CONFLICT DO UPDATE requires at least one column in the SET payload");
104
+ }
105
+ const setFragments = setColumns.map(col => `${quoteColumnName(col)} = ?`);
106
+ const setParams = setColumns.map(col => (0, sqlite_utils_1.normalizeValue)(action.set[col]));
107
+ return {
108
+ clause: ` ON CONFLICT (${quotedTarget}) DO UPDATE SET ${setFragments.join(", ")}`,
109
+ params: setParams
110
+ };
111
+ }
75
112
  /**
76
113
  * Translate an update payload into an UPDATE statement.
77
114
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query-translator.js","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-translator.js","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"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"}