@proteinjs/db 1.48.0 → 1.49.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 (98) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.prettierignore +2 -1
  3. package/CHANGELOG.md +20 -0
  4. package/dist/generated/index.d.ts.map +1 -1
  5. package/dist/generated/index.js +1 -3
  6. package/dist/generated/index.js.map +1 -1
  7. package/dist/generated/test/index.d.ts.map +1 -1
  8. package/dist/generated/test/index.js +1 -3
  9. package/dist/generated/test/index.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4 -5
  13. package/dist/index.js.map +1 -1
  14. package/dist/src/Db.js +2 -2
  15. package/dist/src/Db.js.map +1 -1
  16. package/dist/src/MigrationRunner.js +2 -2
  17. package/dist/src/MigrationRunner.js.map +1 -1
  18. package/dist/src/Table.d.ts +16 -1
  19. package/dist/src/Table.d.ts.map +1 -1
  20. package/dist/src/Table.js +14 -0
  21. package/dist/src/Table.js.map +1 -1
  22. package/dist/src/auth/TableAuth.d.ts +4 -0
  23. package/dist/src/auth/TableAuth.d.ts.map +1 -1
  24. package/dist/src/auth/TableAuth.js +12 -0
  25. package/dist/src/auth/TableAuth.js.map +1 -1
  26. package/dist/src/auth/TableServiceAuth.d.ts.map +1 -1
  27. package/dist/src/auth/TableServiceAuth.js +5 -0
  28. package/dist/src/auth/TableServiceAuth.js.map +1 -1
  29. package/dist/src/schema/SchemaOperations.d.ts +4 -3
  30. package/dist/src/schema/SchemaOperations.d.ts.map +1 -1
  31. package/dist/src/schema/TableManager.d.ts +24 -6
  32. package/dist/src/schema/TableManager.d.ts.map +1 -1
  33. package/dist/src/schema/TableManager.js +93 -26
  34. package/dist/src/schema/TableManager.js.map +1 -1
  35. package/dist/src/source/SourceRecord.d.ts +2 -2
  36. package/dist/src/source/{SourceRecordLoader.d.ts → SourceRecordSyncRunner.d.ts} +15 -7
  37. package/dist/src/source/SourceRecordSyncRunner.d.ts.map +1 -0
  38. package/dist/src/source/{SourceRecordLoader.js → SourceRecordSyncRunner.js} +46 -31
  39. package/dist/src/source/SourceRecordSyncRunner.js.map +1 -0
  40. package/dist/src/tables/MigrationTable.d.ts +10 -2
  41. package/dist/src/tables/MigrationTable.d.ts.map +1 -1
  42. package/dist/src/tables/MigrationTable.js +12 -4
  43. package/dist/src/tables/MigrationTable.js.map +1 -1
  44. package/dist/test/DurableTable.test.d.ts +2 -0
  45. package/dist/test/DurableTable.test.d.ts.map +1 -0
  46. package/dist/test/DurableTable.test.js +172 -0
  47. package/dist/test/DurableTable.test.js.map +1 -0
  48. package/dist/test/MigrationAuth.test.js +12 -9
  49. package/dist/test/MigrationAuth.test.js.map +1 -1
  50. package/dist/test/SchemaReconcileLines.test.d.ts +2 -0
  51. package/dist/test/SchemaReconcileLines.test.d.ts.map +1 -0
  52. package/dist/test/SchemaReconcileLines.test.js +176 -0
  53. package/dist/test/SchemaReconcileLines.test.js.map +1 -0
  54. package/dist/test/SourceRecordLoaderQualifiedName.test.d.ts +2 -0
  55. package/dist/test/SourceRecordLoaderQualifiedName.test.d.ts.map +1 -0
  56. package/dist/test/SourceRecordLoaderQualifiedName.test.js +79 -0
  57. package/dist/test/SourceRecordLoaderQualifiedName.test.js.map +1 -0
  58. package/dist/test/SourceRecordSyncRunner.test.d.ts +2 -0
  59. package/dist/test/SourceRecordSyncRunner.test.d.ts.map +1 -0
  60. package/dist/test/{SourceRecordLoader.test.js → SourceRecordSyncRunner.test.js} +63 -7
  61. package/dist/test/SourceRecordSyncRunner.test.js.map +1 -0
  62. package/dist/test/TableManagerCreateOrder.test.d.ts +2 -0
  63. package/dist/test/TableManagerCreateOrder.test.d.ts.map +1 -0
  64. package/dist/test/TableManagerCreateOrder.test.js +66 -0
  65. package/dist/test/TableManagerCreateOrder.test.js.map +1 -0
  66. package/dist/test/reusable/SourceRecordSyncTests.d.ts.map +1 -1
  67. package/dist/test/reusable/SourceRecordSyncTests.js +3 -5
  68. package/dist/test/reusable/SourceRecordSyncTests.js.map +1 -1
  69. package/dist/test/reusable/TableManagerTests.d.ts.map +1 -1
  70. package/dist/test/reusable/TableManagerTests.js +180 -0
  71. package/dist/test/reusable/TableManagerTests.js.map +1 -1
  72. package/generated/index.ts +20 -19
  73. package/generated/test/index.ts +54 -53
  74. package/index.ts +3 -4
  75. package/package.json +4 -4
  76. package/src/Db.ts +2 -2
  77. package/src/MigrationRunner.ts +2 -2
  78. package/src/Table.ts +16 -1
  79. package/src/auth/TableAuth.ts +14 -0
  80. package/src/auth/TableServiceAuth.ts +6 -1
  81. package/src/schema/SchemaOperations.ts +4 -3
  82. package/src/schema/TableManager.ts +84 -26
  83. package/src/source/SourceRecord.ts +2 -2
  84. package/src/source/{SourceRecordLoader.ts → SourceRecordSyncRunner.ts} +31 -13
  85. package/src/tables/MigrationTable.ts +12 -4
  86. package/test/DurableTable.test.ts +156 -0
  87. package/test/MigrationAuth.test.ts +7 -5
  88. package/test/SchemaReconcileLines.test.ts +127 -0
  89. package/test/SourceRecordLoaderQualifiedName.test.ts +63 -0
  90. package/test/{SourceRecordLoader.test.ts → SourceRecordSyncRunner.test.ts} +75 -8
  91. package/test/TableManagerCreateOrder.test.ts +78 -0
  92. package/test/reusable/SourceRecordSyncTests.ts +3 -5
  93. package/test/reusable/TableManagerTests.ts +95 -0
  94. package/dist/src/source/SourceRecordLoader.d.ts.map +0 -1
  95. package/dist/src/source/SourceRecordLoader.js.map +0 -1
  96. package/dist/test/SourceRecordLoader.test.d.ts +0 -2
  97. package/dist/test/SourceRecordLoader.test.d.ts.map +0 -1
  98. package/dist/test/SourceRecordLoader.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TableManager.d.ts","sourceRoot":"","sources":["../../../src/schema/TableManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAoC,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC;;;;;GAKG;AACH,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;IAYhF,MAAM,CAAC,QAAQ,CAAC,mBAAmB,MAAM;CAC1C;AAKD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;CAC3C;AAED,qBAAa,YAAY;IACvB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAO;IAC9D,OAAO,CAAC,MAAM,CAA2F;IACzG,OAAO,CAAC,QAAQ,CAAW;IACpB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;gBAGpC,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,CAAC,EAAE,cAAc;IAQ3B,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IAInC;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAMnC,eAAe;IAgB7B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,4BAA4B;YAQtB,mBAAmB;IAcjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;YACW,+BAA+B;IAiB7C;;;;;;;;;;;OAWG;YACW,wBAAwB;IAyCtC;sEACkE;IAClE,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,+BAA+B;IAwDvC,OAAO,CAAC,gBAAgB;YAgBV,eAAe;YA6Ff,kBAAkB;IA+ChC;;;;;;;OAOG;YACW,6BAA6B;IAe3C;;;;OAIG;YACW,uBAAuB;CAyCtC"}
1
+ {"version":3,"file":"TableManager.d.ts","sourceRoot":"","sources":["../../../src/schema/TableManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAoC,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC;;;;;GAKG;AACH,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;IAYhF,MAAM,CAAC,QAAQ,CAAC,mBAAmB,MAAM;CAC1C;AAKD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;CAC3C;AAED,qBAAa,YAAY;IACvB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAO;IAC9D,OAAO,CAAC,MAAM,CAA2F;IACzG,OAAO,CAAC,QAAQ,CAAW;IACpB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;gBAGpC,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,CAAC,EAAE,cAAc;IAQ3B,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IAInC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAMnC,eAAe;IAgB7B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,4BAA4B;YAQtB,mBAAmB;IAcjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;YACW,+BAA+B;IAiB7C;;;;;;;;;;;OAWG;YACW,wBAAwB;IAqCtC,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,+BAA+B;IAwDvC,OAAO,CAAC,gBAAgB;YAgBV,eAAe;YA6Ff,kBAAkB;IA+ChC;;;;;;;OAOG;YACW,6BAA6B;IAe3C;;;;OAIG;YACW,uBAAuB;CAyCtC"}
@@ -50,6 +50,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
50
50
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
51
  }
52
52
  };
53
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
+ if (ar || !(i in from)) {
56
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
+ ar[i] = from[i];
58
+ }
59
+ }
60
+ return to.concat(ar || Array.prototype.slice.call(from));
61
+ };
53
62
  Object.defineProperty(exports, "__esModule", { value: true });
54
63
  exports.TableManager = exports.DuplicateValuesForUniqueIndexError = void 0;
55
64
  var logger_1 = require("@proteinjs/logger");
@@ -105,13 +114,14 @@ var TableManager = /** @class */ (function () {
105
114
  /**
106
115
  * Reconcile every registered table with the live schema. Absent tables are created as ONE
107
116
  * batch (a single schema-update operation on drivers that support it — the prod-boot win),
108
- * preserving their registration order so foreign keys to other absent tables resolve; existing
109
- * tables are altered individually after, so an alter that adds a foreign key to a
110
- * just-created table sees it live.
117
+ * ordered by their foreign-key references ({@link orderByReferences}) so each table's foreign
118
+ * keys resolve against tables created before it — the registry's enumeration order carries no
119
+ * such guarantee; existing tables are altered individually after, so an alter that adds a
120
+ * foreign key to a just-created table sees it live.
111
121
  */
112
122
  TableManager.prototype.loadTables = function () {
113
123
  return __awaiter(this, void 0, void 0, function () {
114
- var tables, absentTables, existingTables, _i, tables_1, table, error_1, _a, existingTables_1, table;
124
+ var tables, absentTables, existingTables, _i, tables_1, table, tablesToCreate, error_1, _a, existingTables_1, table;
115
125
  return __generator(this, function (_b) {
116
126
  switch (_b.label) {
117
127
  case 0:
@@ -138,22 +148,23 @@ var TableManager = /** @class */ (function () {
138
148
  return [3 /*break*/, 1];
139
149
  case 4:
140
150
  if (!(absentTables.length > 0)) return [3 /*break*/, 10];
141
- this.logger.info({ message: "Creating tables: ".concat(absentTables.map(function (table) { return table.name; }).join(', ')) });
151
+ tablesToCreate = this.orderByReferences(absentTables);
152
+ this.logger.info({ message: "Creating tables: ".concat(tablesToCreate.map(function (table) { return table.name; }).join(', ')) });
142
153
  _b.label = 5;
143
154
  case 5:
144
155
  _b.trys.push([5, 7, , 9]);
145
- return [4 /*yield*/, this.schemaOperations.createTables(absentTables)];
156
+ return [4 /*yield*/, this.schemaOperations.createTables(tablesToCreate)];
146
157
  case 6:
147
158
  _b.sent();
148
159
  return [3 /*break*/, 9];
149
160
  case 7:
150
161
  error_1 = _b.sent();
151
- return [4 /*yield*/, this.reconcileConcurrentSchemaChange(absentTables, error_1)];
162
+ return [4 /*yield*/, this.reconcileConcurrentSchemaChange(tablesToCreate, error_1)];
152
163
  case 8:
153
164
  _b.sent();
154
165
  return [3 /*break*/, 9];
155
166
  case 9:
156
- this.logger.info({ message: "Finished creating ".concat(absentTables.length, " tables") });
167
+ this.logger.info({ message: "Finished creating ".concat(tablesToCreate.length, " tables") });
157
168
  _b.label = 10;
158
169
  case 10:
159
170
  _a = 0, existingTables_1 = existingTables;
@@ -258,6 +269,64 @@ var TableManager = /** @class */ (function () {
258
269
  }
259
270
  return prepared;
260
271
  };
272
+ /**
273
+ * The order to create `tables` in: every table after the tables its foreign keys reference
274
+ * (`ColumnOptions.references`), so each foreign key a CREATE declares resolves against a table
275
+ * already created — one statement batch or one statement at a time alike. Tables are grouped by
276
+ * rank (0: references no other table in the set; otherwise one more than the highest rank it
277
+ * references) and keep their given order within a rank, so a deterministic input gives a
278
+ * deterministic output. A reference to the table itself, or to a table outside the set (already
279
+ * created, or not registered), does not constrain the order. A cycle of references cannot be
280
+ * created in any order: it is refused, naming the cycle and every table it blocks.
281
+ */
282
+ TableManager.prototype.orderByReferences = function (tables) {
283
+ var _a, _b;
284
+ var tableNames = new Set(tables.map(function (table) { return table.name; }));
285
+ var referencedTables = new Map();
286
+ for (var _i = 0, tables_3 = tables; _i < tables_3.length; _i++) {
287
+ var table = tables_3[_i];
288
+ var referenced = new Set();
289
+ for (var _c = 0, _d = Object.values(table.columns); _c < _d.length; _c++) {
290
+ var column = _d[_c];
291
+ var referencedTable = (_b = (_a = column.options) === null || _a === void 0 ? void 0 : _a.references) === null || _b === void 0 ? void 0 : _b.table;
292
+ if (referencedTable && referencedTable !== table.name && tableNames.has(referencedTable)) {
293
+ referenced.add(referencedTable);
294
+ }
295
+ }
296
+ referencedTables.set(table.name, Array.from(referenced));
297
+ }
298
+ var ordered = [];
299
+ var created = new Set();
300
+ var remaining = tables;
301
+ while (remaining.length > 0) {
302
+ // One rank: every remaining table whose references were all created by EARLIER ranks.
303
+ var rank = remaining.filter(function (table) { return referencedTables.get(table.name).every(function (name) { return created.has(name); }); });
304
+ if (rank.length === 0) {
305
+ throw new Error(this.referenceCycleMessage(remaining, referencedTables));
306
+ }
307
+ ordered.push.apply(ordered, rank);
308
+ rank.forEach(function (table) { return created.add(table.name); });
309
+ remaining = remaining.filter(function (table) { return !created.has(table.name); });
310
+ }
311
+ return ordered;
312
+ };
313
+ /**
314
+ * Every table in `blocked` references another table in `blocked`, so walking those references
315
+ * from any of them must revisit a table: the walk from the first yields one cycle to name.
316
+ */
317
+ TableManager.prototype.referenceCycleMessage = function (blocked, referencedTables) {
318
+ var blockedNames = blocked.map(function (table) { return table.name; });
319
+ var walk = [];
320
+ var current = blockedNames[0];
321
+ while (!walk.includes(current)) {
322
+ walk.push(current);
323
+ current = referencedTables.get(current).find(function (name) { return blockedNames.includes(name); });
324
+ }
325
+ var cycle = __spreadArray(__spreadArray([], walk.slice(walk.indexOf(current)), true), [current], false);
326
+ return ("Cannot create tables whose foreign keys form a cycle: ".concat(cycle.join(' -> '), ". A foreign key can only ") +
327
+ "reference a table created before it, so no creation order exists \u2014 declare one of these references " +
328
+ "once the tables exist (an alter adds it). Tables it blocks: ".concat(blockedNames.join(', ')));
329
+ };
261
330
  TableManager.prototype.requireEncryptedDeclarations = function () {
262
331
  var _a;
263
332
  if (getEnvVar('DB_REQUIRE_ENCRYPTED_DECLARATIONS') === 'true') {
@@ -332,11 +401,15 @@ var TableManager = /** @class */ (function () {
332
401
  * never calls it). Every outcome that reaches the intended-definition gate is logged LOUDLY at
333
402
  * WARN — tolerance fired (treated as applied) OR the re-read failed (genuine conflict / still
334
403
  * absent, re-throwing) — so an unexpected activation is visible in prod logs rather than silent.
404
+ * Each of those lines carries the ERROR itself (`obj.error`), never text copied out of it: the
405
+ * backend words a schema error itself and can quote row data in it (a failed backfill names the
406
+ * duplicate key), and only an error OBJECT can be recognized by the logger as one its driver
407
+ * marked to print as a status and a sentence (`LogLineErrors`).
335
408
  */
336
409
  TableManager.prototype.reconcileConcurrentSchemaChange = function (tables, error) {
337
410
  var _a, _b;
338
411
  return __awaiter(this, void 0, void 0, function () {
339
- var tableNames, reason, _i, tables_3, table;
412
+ var tableNames, _i, tables_4, table;
340
413
  return __generator(this, function (_c) {
341
414
  switch (_c.label) {
342
415
  case 0:
@@ -344,13 +417,12 @@ var TableManager = /** @class */ (function () {
344
417
  throw error;
345
418
  }
346
419
  tableNames = tables.map(function (table) { return table.name; }).join(', ');
347
- reason = this.schemaErrorReason(error);
348
- _i = 0, tables_3 = tables;
420
+ _i = 0, tables_4 = tables;
349
421
  _c.label = 1;
350
422
  case 1:
351
- if (!(_i < tables_3.length)) return [3 /*break*/, 4];
352
- table = tables_3[_i];
353
- return [4 /*yield*/, this.verifyIntendedDefinition(table, tableNames, reason, error)];
423
+ if (!(_i < tables_4.length)) return [3 /*break*/, 4];
424
+ table = tables_4[_i];
425
+ return [4 /*yield*/, this.verifyIntendedDefinition(table, tableNames, error)];
354
426
  case 2:
355
427
  _c.sent();
356
428
  _c.label = 3;
@@ -359,7 +431,8 @@ var TableManager = /** @class */ (function () {
359
431
  return [3 /*break*/, 1];
360
432
  case 4:
361
433
  this.logger.warn({
362
- message: "[schema reconcile] tolerated concurrent ALREADY_EXISTS for table(s) '".concat(tableNames, "' \u2014 re-read verified the object present with the intended definition, treating as applied (a concurrent actor won the race). reason: ").concat(reason),
434
+ message: "[schema reconcile] tolerated concurrent ALREADY_EXISTS for table(s) '".concat(tableNames, "' \u2014 re-read verified the object present with the intended definition, treating as applied (a concurrent actor won the race)."),
435
+ obj: { error: error },
363
436
  });
364
437
  return [2 /*return*/];
365
438
  }
@@ -378,7 +451,7 @@ var TableManager = /** @class */ (function () {
378
451
  * success; only a definition still absent or mismatched after every attempt is a genuine
379
452
  * conflict — logged at WARN, then the ORIGINAL error re-throws.
380
453
  */
381
- TableManager.prototype.verifyIntendedDefinition = function (table, tableNames, reason, error) {
454
+ TableManager.prototype.verifyIntendedDefinition = function (table, tableNames, error) {
382
455
  return __awaiter(this, void 0, void 0, function () {
383
456
  var remainingChanges, attempt;
384
457
  return __generator(this, function (_a) {
@@ -414,28 +487,22 @@ var TableManager = /** @class */ (function () {
414
487
  // Still absent after every re-read — not the concurrent-winner case; surface the original
415
488
  // error rather than masking it.
416
489
  this.logger.warn({
417
- message: "[schema reconcile] caught ALREADY_EXISTS for table(s) '".concat(tableNames, "' but '").concat(table.name, "' is still absent after ").concat(TableManager.RECONCILE_VERIFY_ATTEMPTS, " re-reads \u2014 NOT a concurrent apply; re-throwing. reason: ").concat(reason),
490
+ message: "[schema reconcile] caught ALREADY_EXISTS for table(s) '".concat(tableNames, "' but '").concat(table.name, "' is still absent after ").concat(TableManager.RECONCILE_VERIFY_ATTEMPTS, " re-reads \u2014 NOT a concurrent apply; re-throwing."),
491
+ obj: { error: error },
418
492
  });
419
493
  throw error;
420
494
  }
421
495
  // The object exists but the live schema still differs from the intended definition, so a
422
496
  // concurrent actor did NOT apply our exact change (a genuine conflict). Propagate.
423
497
  this.logger.warn({
424
- message: "[schema reconcile] caught ALREADY_EXISTS for table '".concat(table.name, "' but the live schema does NOT match the intended definition after ").concat(TableManager.RECONCILE_VERIFY_ATTEMPTS, " re-reads (genuine conflict) \u2014 re-throwing. reason: ").concat(reason),
425
- obj: { remainingChanges: remainingChanges },
498
+ message: "[schema reconcile] caught ALREADY_EXISTS for table '".concat(table.name, "' but the live schema does NOT match the intended definition after ").concat(TableManager.RECONCILE_VERIFY_ATTEMPTS, " re-reads (genuine conflict) \u2014 re-throwing."),
499
+ obj: { remainingChanges: remainingChanges, error: error },
426
500
  });
427
501
  throw error;
428
502
  }
429
503
  });
430
504
  });
431
505
  };
432
- /** Concise, loggable reason from a schema-update error: the backend names the offending object
433
- * in `details` (validation phase) or `message` (apply phase). */
434
- TableManager.prototype.schemaErrorReason = function (error) {
435
- var _a, _b;
436
- var candidate = error;
437
- return String((_b = (_a = candidate === null || candidate === void 0 ? void 0 : candidate.details) !== null && _a !== void 0 ? _a : candidate === null || candidate === void 0 ? void 0 : candidate.message) !== null && _b !== void 0 ? _b : error);
438
- };
439
506
  TableManager.prototype.delay = function (ms) {
440
507
  return new Promise(function (resolve) { return setTimeout(resolve, ms); });
441
508
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TableManager.js","sourceRoot":"","sources":["../../../src/schema/TableManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableManager.js","sourceRoot":"","sources":["../../../src/schema/TableManager.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Record as DbRecord } from '../Record';
4
4
  /**
5
5
  * A source record declaration paired with its owning source: the package that compiled the
6
6
  * declaration into this build (from the declaration's reflection qualified name). The source is
7
- * the ownership grain of the sync — {@link SourceRecordLoader} stamps it on every row it writes
7
+ * the ownership grain of the sync — {@link SourceRecordSyncRunner} stamps it on every row it writes
8
8
  * and prunes only within it, so servers running different builds against one shared database
9
9
  * never delete each other's rows.
10
10
  */
@@ -18,7 +18,7 @@ export interface SourceRecord extends DbRecord {
18
18
  isLoadedFromSource?: boolean;
19
19
  /**
20
20
  * The package whose declaration owns this row (the declaring loader's package, from its
21
- * reflection qualified name). Stamped by {@link SourceRecordLoader} on every row it writes;
21
+ * reflection qualified name). Stamped by {@link SourceRecordSyncRunner} on every row it writes;
22
22
  * the removed-reconcile prunes only rows whose `sourcePackage` matches a package the running
23
23
  * build actually declares from — so a build never deletes rows owned by a package it does not
24
24
  * carry (e.g. another server's types on a shared database). Rows written before this column
@@ -21,7 +21,7 @@ export type SourceRecordTableLoadSummary = {
21
21
  export type SourceRecordLoadSummary = {
22
22
  [tableName: string]: SourceRecordTableLoadSummary;
23
23
  };
24
- export declare class SourceRecordLoader {
24
+ export declare class SourceRecordSyncRunner {
25
25
  private logger;
26
26
  /** Memo of resolved package versions — one resolution (and at most one warning) per source. */
27
27
  private sourceVersions;
@@ -154,7 +154,7 @@ export declare class SourceRecordLoader {
154
154
  * For object-valued fields (e.g. a `JsonColumn` blob), source is treated as
155
155
  * fully authoritative: any structural drift — extra keys in existing, missing
156
156
  * keys in existing, or value differences anywhere in the subtree — produces
157
- * a mismatch. Comparison goes through {@link SourceRecordLoader.canonicalStringify}
157
+ * a mismatch. Comparison goes through {@link SourceRecordSyncRunner.canonicalStringify}
158
158
  * so that key ordering (which backing stores may canonicalize alphabetically)
159
159
  * does not cause false positives.
160
160
  *
@@ -181,16 +181,24 @@ export declare class SourceRecordLoader {
181
181
  * The declaring package's version, read from its own package.json at runtime. Resolution runs
182
182
  * from the process cwd — the booting server's package, the one dependency tree every declaring
183
183
  * package is reachable from (`@proteinjs/db` itself does not depend on the packages that
184
- * declare records, so module-relative resolution could never find them). The package's entry
185
- * is resolved (honoring exports maps, where `<pkg>/package.json` is usually not requireable),
186
- * then the nearest package.json whose `name` matches is read walking up from it.
184
+ * declare records, so module-relative resolution could never find them).
187
185
  *
188
- * Returns undefined where resolution is impossible — no Node `require` (browser bundles), or a
186
+ * Two roads, in order:
187
+ * 1. The booting package itself: `<cwd>/package.json`, when its `name` is `source`. A lookup by
188
+ * name from cwd searches cwd's node_modules chain, which never contains the package cwd IS,
189
+ * so without this read the server's own records would sync unversioned.
190
+ * 2. Any other package: its entry is resolved from cwd (honoring exports maps, where
191
+ * `<pkg>/package.json` is usually not requireable), then the nearest package.json whose
192
+ * `name` matches is read walking up from it.
193
+ *
194
+ * Returns undefined where neither road resolves — no Node `require` (browser bundles), or a
189
195
  * package not resolvable from cwd. The sync then has no place in the version order for that
190
196
  * package: it never touches its version-stamped rows, and what it writes is unversioned
191
197
  * (see {@link isNewerStamp}). Logged once per boot so a misconfigured cwd is visible.
192
198
  */
193
199
  private resolveSourceVersion;
200
+ /** The `version` of the package.json at `packageJsonPath` when it exists and names `source`. */
201
+ private packageVersionAt;
194
202
  /**
195
203
  * Whether a row's version stamp is strictly newer than the reconciling build's version of the
196
204
  * same package — the guard that makes version skew of one package safe on a shared database:
@@ -210,4 +218,4 @@ export declare class SourceRecordLoader {
210
218
  */
211
219
  private compareVersions;
212
220
  }
213
- //# sourceMappingURL=SourceRecordLoader.d.ts.map
221
+ //# sourceMappingURL=SourceRecordSyncRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceRecordSyncRunner.d.ts","sourceRoot":"","sources":["../../../src/source/SourceRecordSyncRunner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAkBjC,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAAA;CAAE,CAAC;AAE5F,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAA+C;IAE7D,+FAA+F;IAC/F,OAAO,CAAC,cAAc,CAAyC;IAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA0JpE;;;;;;;;;OASG;YACW,gBAAgB;IA2D9B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;YACW,kCAAkC;IA0BhD;;;;;;OAMG;YACW,YAAY;IAkB1B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA+CvB;;;;;;;;;;;;;;;;;;;OAmBG;YACW,UAAU;IAwBxB;;;OAGG;YACW,eAAe;IAmB7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAmB1B,mGAAmG;IACnG,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,oBAAoB;IAyC5B,gGAAgG;IAChG,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAapB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CA4DxB"}
@@ -47,15 +47,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  }
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.SourceRecordLoader = void 0;
50
+ exports.SourceRecordSyncRunner = void 0;
51
51
  var logger_1 = require("@proteinjs/logger");
52
52
  var db_query_1 = require("@proteinjs/db-query");
53
53
  var SourceRecord_1 = require("./SourceRecord");
54
54
  var Db_1 = require("../Db");
55
55
  var SourceRecordRepo_1 = require("./SourceRecordRepo");
56
56
  var Record_1 = require("../Record");
57
- var SourceRecordLoader = /** @class */ (function () {
58
- function SourceRecordLoader() {
57
+ var SourceRecordSyncRunner = /** @class */ (function () {
58
+ function SourceRecordSyncRunner() {
59
59
  this.logger = new logger_1.Logger({ name: this.constructor.name });
60
60
  /** Memo of resolved package versions — one resolution (and at most one warning) per source. */
61
61
  this.sourceVersions = new Map();
@@ -100,7 +100,7 @@ var SourceRecordLoader = /** @class */ (function () {
100
100
  * {@link MigrationRunner.runPreSchemaSyncMigrations}); the later full pass re-reconciles the
101
101
  * same rows idempotently under the same ownership model.
102
102
  */
103
- SourceRecordLoader.prototype.load = function (onlyTable) {
103
+ SourceRecordSyncRunner.prototype.load = function (onlyTable) {
104
104
  var _a, _b;
105
105
  return __awaiter(this, void 0, void 0, function () {
106
106
  var _c, tables, buildSources, db, summary, _loop_1, this_1, _d, _e, _f, _i, tableName;
@@ -304,7 +304,7 @@ var SourceRecordLoader = /** @class */ (function () {
304
304
  * differ (idempotent boots), through `Db.update` so table watchers observe each write.
305
305
  * See {@link load} for the ownership model.
306
306
  */
307
- SourceRecordLoader.prototype.reconcileRemoved = function (db, table, keyProperty, buildSources, allDeclaredKeys) {
307
+ SourceRecordSyncRunner.prototype.reconcileRemoved = function (db, table, keyProperty, buildSources, allDeclaredKeys) {
308
308
  var _a;
309
309
  return __awaiter(this, void 0, void 0, function () {
310
310
  var policy, qb, candidates, stampedNewer, removedRecords, skippedNewer, deleteQb, removedUpdateCount, _i, removedRecords_1, removedRecord;
@@ -405,7 +405,7 @@ var SourceRecordLoader = /** @class */ (function () {
405
405
  * seam, not rewriting the semantics. The contract lives on
406
406
  * {@link SourceRecordOptions.onSourceRemoved}.
407
407
  */
408
- SourceRecordLoader.prototype.softRemovedRecordHoldingDeclaredId = function (db, table, keyProperty, declaredId, source, allDeclaredKeys) {
408
+ SourceRecordSyncRunner.prototype.softRemovedRecordHoldingDeclaredId = function (db, table, keyProperty, declaredId, source, allDeclaredKeys) {
409
409
  return __awaiter(this, void 0, void 0, function () {
410
410
  var policy, holder;
411
411
  return __generator(this, function (_a) {
@@ -436,7 +436,7 @@ var SourceRecordLoader = /** @class */ (function () {
436
436
  * on. Tables that keep removed rows (`onSourceRemoved: 'keep'`) opted out of removal
437
437
  * semantics altogether, so there is nothing to explain there.
438
438
  */
439
- SourceRecordLoader.prototype.countUnowned = function (db, table, keyProperty) {
439
+ SourceRecordSyncRunner.prototype.countUnowned = function (db, table, keyProperty) {
440
440
  var _a;
441
441
  return __awaiter(this, void 0, void 0, function () {
442
442
  var qb, unowned;
@@ -469,7 +469,7 @@ var SourceRecordLoader = /** @class */ (function () {
469
469
  * column or a single-column unique index in `Table.indexes`), present on every declaration, and
470
470
  * unambiguous across declarations — each violation fails boot loudly by name.
471
471
  */
472
- SourceRecordLoader.prototype.validateSyncKey = function (table, records) {
472
+ SourceRecordSyncRunner.prototype.validateSyncKey = function (table, records) {
473
473
  var _a, _b, _c;
474
474
  var naturalKey = table.sourceRecordOptions.naturalKey;
475
475
  if (!naturalKey) {
@@ -521,7 +521,7 @@ var SourceRecordLoader = /** @class */ (function () {
521
521
  * A row with NO stamp (written before versions existed, or by a build that could not resolve
522
522
  * its version) still gets one — once — so version ordering can protect it from then on.
523
523
  */
524
- SourceRecordLoader.prototype.hasChanges = function (table, sourceRecord, existingRecord) {
524
+ SourceRecordSyncRunner.prototype.hasChanges = function (table, sourceRecord, existingRecord) {
525
525
  var _a;
526
526
  return __awaiter(this, void 0, void 0, function () {
527
527
  var serializer, serializedSource, serializedExisting, versionStampColumn, columnName, sourceValue, existingValue;
@@ -558,7 +558,7 @@ var SourceRecordLoader = /** @class */ (function () {
558
558
  * Every source-record table in this build with the records declared for it, plus the set of
559
559
  * packages that declare ANY source record in this build — the packages this boot speaks for.
560
560
  */
561
- SourceRecordLoader.prototype.getDeclarations = function () {
561
+ SourceRecordSyncRunner.prototype.getDeclarations = function () {
562
562
  return __awaiter(this, void 0, void 0, function () {
563
563
  var tables, _i, _a, table, buildSources, _b, _c, _d, source, qualifiedName, name_2, loader;
564
564
  return __generator(this, function (_e) {
@@ -587,13 +587,13 @@ var SourceRecordLoader = /** @class */ (function () {
587
587
  * For object-valued fields (e.g. a `JsonColumn` blob), source is treated as
588
588
  * fully authoritative: any structural drift — extra keys in existing, missing
589
589
  * keys in existing, or value differences anywhere in the subtree — produces
590
- * a mismatch. Comparison goes through {@link SourceRecordLoader.canonicalStringify}
590
+ * a mismatch. Comparison goes through {@link SourceRecordSyncRunner.canonicalStringify}
591
591
  * so that key ordering (which backing stores may canonicalize alphabetically)
592
592
  * does not cause false positives.
593
593
  *
594
594
  * For arrays, order and length must match exactly.
595
595
  */
596
- SourceRecordLoader.prototype.findMismatchPath = function (source, existing, path) {
596
+ SourceRecordSyncRunner.prototype.findMismatchPath = function (source, existing, path) {
597
597
  if (source === existing) {
598
598
  return null;
599
599
  }
@@ -648,7 +648,7 @@ var SourceRecordLoader = /** @class */ (function () {
648
648
  * Arrays preserve order (order is semantic for arrays); only object keys
649
649
  * are sorted.
650
650
  */
651
- SourceRecordLoader.prototype.canonicalStringify = function (value) {
651
+ SourceRecordSyncRunner.prototype.canonicalStringify = function (value) {
652
652
  var _this = this;
653
653
  if (value === null || typeof value !== 'object') {
654
654
  return JSON.stringify(value);
@@ -668,7 +668,7 @@ var SourceRecordLoader = /** @class */ (function () {
668
668
  return '{' + keys.map(function (k) { return JSON.stringify(k) + ':' + _this.canonicalStringify(obj[k]); }).join(',') + '}';
669
669
  };
670
670
  /** Memoized {@link resolveSourceVersion} — one resolution (and at most one warning) per source. */
671
- SourceRecordLoader.prototype.sourceVersion = function (source) {
671
+ SourceRecordSyncRunner.prototype.sourceVersion = function (source) {
672
672
  if (!this.sourceVersions.has(source)) {
673
673
  this.sourceVersions.set(source, this.resolveSourceVersion(source));
674
674
  }
@@ -678,16 +678,22 @@ var SourceRecordLoader = /** @class */ (function () {
678
678
  * The declaring package's version, read from its own package.json at runtime. Resolution runs
679
679
  * from the process cwd — the booting server's package, the one dependency tree every declaring
680
680
  * package is reachable from (`@proteinjs/db` itself does not depend on the packages that
681
- * declare records, so module-relative resolution could never find them). The package's entry
682
- * is resolved (honoring exports maps, where `<pkg>/package.json` is usually not requireable),
683
- * then the nearest package.json whose `name` matches is read walking up from it.
681
+ * declare records, so module-relative resolution could never find them).
684
682
  *
685
- * Returns undefined where resolution is impossible — no Node `require` (browser bundles), or a
683
+ * Two roads, in order:
684
+ * 1. The booting package itself: `<cwd>/package.json`, when its `name` is `source`. A lookup by
685
+ * name from cwd searches cwd's node_modules chain, which never contains the package cwd IS,
686
+ * so without this read the server's own records would sync unversioned.
687
+ * 2. Any other package: its entry is resolved from cwd (honoring exports maps, where
688
+ * `<pkg>/package.json` is usually not requireable), then the nearest package.json whose
689
+ * `name` matches is read walking up from it.
690
+ *
691
+ * Returns undefined where neither road resolves — no Node `require` (browser bundles), or a
686
692
  * package not resolvable from cwd. The sync then has no place in the version order for that
687
693
  * package: it never touches its version-stamped rows, and what it writes is unversioned
688
694
  * (see {@link isNewerStamp}). Logged once per boot so a misconfigured cwd is visible.
689
695
  */
690
- SourceRecordLoader.prototype.resolveSourceVersion = function (source) {
696
+ SourceRecordSyncRunner.prototype.resolveSourceVersion = function (source) {
691
697
  // The ambient CJS `require` — the only require carrying `.resolve` (module.require does
692
698
  // not). Every use below goes through the variable, so bundlers never see a statically
693
699
  // analyzable `require(...)` call; in a browser bundle the runtime attempts throw into
@@ -696,18 +702,19 @@ var SourceRecordLoader = /** @class */ (function () {
696
702
  var cwd = typeof process !== 'undefined' && typeof process.cwd === 'function' ? process.cwd() : undefined;
697
703
  if (nodeRequire && cwd) {
698
704
  try {
699
- var entryPath = nodeRequire.resolve(source, { paths: [cwd] });
700
705
  var path = nodeRequire('path');
701
706
  var fs = nodeRequire('fs');
707
+ var ownVersion = this.packageVersionAt(fs, path.join(cwd, 'package.json'), source);
708
+ if (ownVersion) {
709
+ return ownVersion;
710
+ }
711
+ var entryPath = nodeRequire.resolve(source, { paths: [cwd] });
702
712
  // Walk up from the entry file to the package's own package.json (the name check skips
703
713
  // nested stubs like a dist/package.json); stop at the filesystem root.
704
714
  for (var directory = path.dirname(entryPath);; directory = path.dirname(directory)) {
705
- var candidate = path.join(directory, 'package.json');
706
- if (fs.existsSync(candidate)) {
707
- var packageJson = JSON.parse(fs.readFileSync(candidate, 'utf8'));
708
- if ((packageJson === null || packageJson === void 0 ? void 0 : packageJson.name) === source && typeof packageJson.version === 'string') {
709
- return packageJson.version;
710
- }
715
+ var version = this.packageVersionAt(fs, path.join(directory, 'package.json'), source);
716
+ if (version) {
717
+ return version;
711
718
  }
712
719
  if (path.dirname(directory) === directory) {
713
720
  break;
@@ -723,6 +730,14 @@ var SourceRecordLoader = /** @class */ (function () {
723
730
  });
724
731
  return undefined;
725
732
  };
733
+ /** The `version` of the package.json at `packageJsonPath` when it exists and names `source`. */
734
+ SourceRecordSyncRunner.prototype.packageVersionAt = function (fs, packageJsonPath, source) {
735
+ if (!fs.existsSync(packageJsonPath)) {
736
+ return undefined;
737
+ }
738
+ var packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
739
+ return (packageJson === null || packageJson === void 0 ? void 0 : packageJson.name) === source && typeof packageJson.version === 'string' ? packageJson.version : undefined;
740
+ };
726
741
  /**
727
742
  * Whether a row's version stamp is strictly newer than the reconciling build's version of the
728
743
  * same package — the guard that makes version skew of one package safe on a shared database:
@@ -734,7 +749,7 @@ var SourceRecordLoader = /** @class */ (function () {
734
749
  * touches a version-stamped row — conservative: prefer leaving a removed row behind over
735
750
  * deleting one that might be newer.
736
751
  */
737
- SourceRecordLoader.prototype.isNewerStamp = function (stampedVersion, reconcilingVersion) {
752
+ SourceRecordSyncRunner.prototype.isNewerStamp = function (stampedVersion, reconcilingVersion) {
738
753
  if (stampedVersion == null) {
739
754
  return false;
740
755
  }
@@ -749,7 +764,7 @@ var SourceRecordLoader = /** @class */ (function () {
749
764
  * positive when a > b, and undefined when either side does not parse as semver (unorderable —
750
765
  * the caller treats that conservatively).
751
766
  */
752
- SourceRecordLoader.prototype.compareVersions = function (a, b) {
767
+ SourceRecordSyncRunner.prototype.compareVersions = function (a, b) {
753
768
  var parse = function (version) {
754
769
  var _a;
755
770
  var match = /^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?/.exec(version.trim());
@@ -806,7 +821,7 @@ var SourceRecordLoader = /** @class */ (function () {
806
821
  }
807
822
  return 0;
808
823
  };
809
- return SourceRecordLoader;
824
+ return SourceRecordSyncRunner;
810
825
  }());
811
- exports.SourceRecordLoader = SourceRecordLoader;
812
- //# sourceMappingURL=SourceRecordLoader.js.map
826
+ exports.SourceRecordSyncRunner = SourceRecordSyncRunner;
827
+ //# sourceMappingURL=SourceRecordSyncRunner.js.map