@vibeorm/migrate 2.1.1 → 2.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 (94) hide show
  1. package/dist/adoption.d.ts.map +1 -1
  2. package/dist/baseline-record.d.ts +14 -0
  3. package/dist/baseline-record.d.ts.map +1 -0
  4. package/dist/baseline.d.ts +31 -0
  5. package/dist/baseline.d.ts.map +1 -0
  6. package/dist/compare-reference-rls.d.ts +10 -0
  7. package/dist/compare-reference-rls.d.ts.map +1 -0
  8. package/dist/compare-sqlite-primary-key.d.ts +6 -0
  9. package/dist/compare-sqlite-primary-key.d.ts.map +1 -0
  10. package/dist/ddl/mysql.d.ts.map +1 -1
  11. package/dist/ddl/postgres.d.ts +2 -1
  12. package/dist/ddl/postgres.d.ts.map +1 -1
  13. package/dist/ddl/sqlite.d.ts +6 -1
  14. package/dist/ddl/sqlite.d.ts.map +1 -1
  15. package/dist/desired-state.d.ts +7 -0
  16. package/dist/desired-state.d.ts.map +1 -1
  17. package/dist/down.d.ts.map +1 -1
  18. package/dist/fs.d.ts +2 -0
  19. package/dist/fs.d.ts.map +1 -1
  20. package/dist/fs.js +6165 -4900
  21. package/dist/fs.js.map +41 -30
  22. package/dist/history.d.ts.map +1 -1
  23. package/dist/index.d.ts +22 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +7735 -5291
  26. package/dist/index.js.map +59 -34
  27. package/dist/inspect-objects.d.ts +10 -1
  28. package/dist/inspect-objects.d.ts.map +1 -1
  29. package/dist/introspect/mysql.d.ts.map +1 -1
  30. package/dist/introspect/postgres.d.ts.map +1 -1
  31. package/dist/introspect/shared.d.ts +7 -8
  32. package/dist/introspect/shared.d.ts.map +1 -1
  33. package/dist/introspect/sqlite.d.ts +4 -0
  34. package/dist/introspect/sqlite.d.ts.map +1 -1
  35. package/dist/journal-read.d.ts +24 -0
  36. package/dist/journal-read.d.ts.map +1 -0
  37. package/dist/migration-checksum.d.ts +14 -0
  38. package/dist/migration-checksum.d.ts.map +1 -0
  39. package/dist/module-bundle.d.ts +27 -0
  40. package/dist/module-bundle.d.ts.map +1 -0
  41. package/dist/module-export.d.ts +10 -0
  42. package/dist/module-export.d.ts.map +1 -0
  43. package/dist/module-history.d.ts +18 -0
  44. package/dist/module-history.d.ts.map +1 -0
  45. package/dist/module-journal.d.ts +49 -0
  46. package/dist/module-journal.d.ts.map +1 -0
  47. package/dist/module-origin.d.ts +47 -0
  48. package/dist/module-origin.d.ts.map +1 -0
  49. package/dist/module-ownership.d.ts +33 -0
  50. package/dist/module-ownership.d.ts.map +1 -0
  51. package/dist/module-pending.d.ts +19 -0
  52. package/dist/module-pending.d.ts.map +1 -0
  53. package/dist/module-readiness.d.ts +32 -0
  54. package/dist/module-readiness.d.ts.map +1 -0
  55. package/dist/mysql-catalog-visibility.d.ts +5 -0
  56. package/dist/mysql-catalog-visibility.d.ts.map +1 -0
  57. package/dist/mysql-types.d.ts.map +1 -1
  58. package/dist/normalize.d.ts +4 -15
  59. package/dist/normalize.d.ts.map +1 -1
  60. package/dist/object-ownership.d.ts.map +1 -1
  61. package/dist/planner.d.ts +5 -0
  62. package/dist/planner.d.ts.map +1 -1
  63. package/dist/postgres-default-equivalence.d.ts +11 -0
  64. package/dist/postgres-default-equivalence.d.ts.map +1 -0
  65. package/dist/postgres-type-identity.d.ts +15 -0
  66. package/dist/postgres-type-identity.d.ts.map +1 -0
  67. package/dist/postgres-types.d.ts +5 -0
  68. package/dist/postgres-types.d.ts.map +1 -1
  69. package/dist/recovery.d.ts.map +1 -1
  70. package/dist/reference-state.d.ts.map +1 -1
  71. package/dist/replay-objects.d.ts +10 -0
  72. package/dist/replay-objects.d.ts.map +1 -0
  73. package/dist/replay-plan.d.ts +28 -0
  74. package/dist/replay-plan.d.ts.map +1 -0
  75. package/dist/replay-reference.d.ts +18 -0
  76. package/dist/replay-reference.d.ts.map +1 -0
  77. package/dist/runner.d.ts +45 -30
  78. package/dist/runner.d.ts.map +1 -1
  79. package/dist/shadow-dedicated.d.ts +12 -0
  80. package/dist/shadow-dedicated.d.ts.map +1 -0
  81. package/dist/shadow-guard.d.ts +13 -0
  82. package/dist/shadow-guard.d.ts.map +1 -0
  83. package/dist/shadow-types.d.ts +52 -0
  84. package/dist/shadow-types.d.ts.map +1 -0
  85. package/dist/shadow.d.ts +17 -0
  86. package/dist/shadow.d.ts.map +1 -0
  87. package/dist/sql-statements.d.ts +2 -0
  88. package/dist/sql-statements.d.ts.map +1 -1
  89. package/dist/sqlite-types.d.ts.map +1 -1
  90. package/dist/types.d.ts +27 -3
  91. package/dist/types.d.ts.map +1 -1
  92. package/dist/verify-history.d.ts +35 -0
  93. package/dist/verify-history.d.ts.map +1 -0
  94. package/package.json +3 -3
@@ -36,6 +36,12 @@ export declare function inspectSqlObject(params: {
36
36
  dialect: Dialect;
37
37
  identity: SqlObjectIdentity;
38
38
  }): Promise<InspectedSqlObject>;
39
+ /** Inspect an independent reference in bounded round trips, preserving missing/unavailable outcomes. */
40
+ export declare function inspectSqlObjects(params: {
41
+ executor: SqlExecutor;
42
+ dialect: Dialect;
43
+ identities: readonly SqlObjectIdentity[];
44
+ }): Promise<readonly InspectedSqlObject[]>;
39
45
  /** Require provable catalog visibility; role-only/partial grants report unavailable rather than missing. */
40
46
  export declare function assertCatalogVisibility(params: {
41
47
  executor: SqlExecutor;
@@ -52,7 +58,8 @@ export declare function verifyMigrationState(params: {
52
58
  executor: SqlExecutor;
53
59
  expected: DesiredState;
54
60
  dialect: Dialect;
55
- probe?: "none" | "rollback" | "temporary";
61
+ probe?: "none" | "rollback" | "temporary"; /** Independent replay verification may batch its catalog reads. */
62
+ batch?: true;
56
63
  }): Promise<MigrationStateReport>;
57
64
  /** A transition verifies intended removals as well as definitions that should remain. */
58
65
  export declare function verifyMigrationTransition(params: {
@@ -63,6 +70,8 @@ export declare function verifyMigrationTransition(params: {
63
70
  removals?: readonly SqlObjectIdentity[];
64
71
  probe?: "none" | "rollback" | "temporary";
65
72
  }): Promise<MigrationStateReport>;
73
+ /** @internal Only for a validated rebuild script immediately before COMMIT/FK restoration. */
74
+ export declare function verifySqliteTransitionBeforeRestore(params: Parameters<typeof verifyMigrationTransition>[0]): Promise<MigrationStateReport>;
66
75
  /** Resolve the physical namespace once; never invent a MySQL database name. */
67
76
  export declare function migrationNamespace(params: {
68
77
  executor: SqlExecutor;
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-objects.d.ts","sourceRoot":"","sources":["../src/inspect-objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect-objects.d.ts","sourceRoot":"","sources":["../src/inspect-objects.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../src/introspect/mysql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAUV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2H/C,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8M1F"}
1
+ {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../src/introspect/mysql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,KAAK,EAUV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkI/C,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+O1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/introspect/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,KAAK,EASV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA+L/C,gFAAgF;AAChF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,WAAW,CAAC;IACtB,uFAAuF;IACvF,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuBpB;AAED,yFAAyF;AACzF,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+LrG"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/introspect/postgres.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,KAAK,EASV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA4M/C,gFAAgF;AAChF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,QAAQ,EAAE,WAAW,CAAC;IACtB,uFAAuF;IACvF,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuBpB;AAED,yFAAyF;AACzF,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2MrG"}
@@ -11,11 +11,10 @@
11
11
  * synthesized `@relation` name so `db pull` output re-parses (the parser
12
12
  * rejects the unnamed shape as `ambiguous-relation`) and implicit-M2M
13
13
  * detection keeps its name keys unique.
14
- * - A table matching the implicit join-table shape (name `_X`, exactly columns
15
- * "A" and "B", two single-column FKs, a unique index on (A, B)) is NOT a
16
- * model: it becomes two unnamed `oneToMany` list sides on the joined models,
17
- * carrying `relationName` when the physical name differs from the default
18
- * `_AToB`.
14
+ * - Only canonical implicit join tables are compressed: required A/B columns,
15
+ * cascading single-column FKs to primary keys, an unfiltered AB unique index
16
+ * and the B lookup index, with no extra indexes. Noncanonical shapes remain
17
+ * explicit models or refuse when compression cannot preserve their keys.
19
18
  */
20
19
  import type { CascadeAction, ModelIR } from "@vibeorm/schema";
21
20
  /** A grouped foreign key (composite-capable), dialect-independent. */
@@ -52,9 +51,9 @@ export type JoinTableInfo = {
52
51
  };
53
52
  /**
54
53
  * Detect whether a physical table is an implicit many-to-many join table:
55
- * name starts with `_`, columns are exactly "A"/"B", two single-column FKs
56
- * cover them, and a unique index spans (A, B). Purely structural — never
57
- * reads relation types (round-trip stability, LEARNINGS).
54
+ * Name and index/FK structure must match the renderer's canonical shape.
55
+ * Referenced primary keys are checked later, once target models exist.
56
+ * Callers remain responsible for refusing unrepresented catalog guarantees.
58
57
  */
59
58
  export declare function detectJoinTable(params: {
60
59
  table: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/introspect/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAc,MAAM,iBAAiB,CAAC;AAI1E,sEAAsE;AACtE,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACvC,GAAG,aAAa,GAAG,IAAI,CA8BvB;AAID,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD,GAAG,IAAI,CAgDP;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD,GAAG,IAAI,CAuCP;AAmGD,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/introspect/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAc,MAAM,iBAAiB,CAAC;AAI1E,sEAAsE;AACtE,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACvC,GAAG,aAAa,GAAG,IAAI,CA0BvB;AAID,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD,GAAG,IAAI,CAwDP;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD,GAAG,IAAI,CAuCP;AAmGD,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -36,6 +36,10 @@ import type { SqlExecutor } from "../types.ts";
36
36
  export declare function introspectSqlite(params: {
37
37
  executor: SqlExecutor;
38
38
  }): Promise<SchemaIR>;
39
+ /** @internal The runner verifies foreign_key_check and restores enforcement after COMMIT. */
40
+ export declare function introspectSqliteBeforeForeignKeyRestore(params: {
41
+ executor: SqlExecutor;
42
+ }): Promise<SchemaIR>;
39
43
  /**
40
44
  * Recover an expression index's column list from its `sqlite_master.sql`
41
45
  * (SQLITE-2). Only shapes WE emit parse — plain quoted columns and
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/introspect/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,KAAK,EAQV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AAUzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAyB/C,uDAAuD;AACvD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuI3F;AAwGD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,IAAI,CAqD3C"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/introspect/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,KAAK,EAQV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AAUzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA0B/C,uDAAuD;AACvD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE3F;AAED,6FAA6F;AAC7F,wBAAsB,uCAAuC,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAElH;AAgRD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,IAAI,CAqD3C"}
@@ -0,0 +1,24 @@
1
+ import type { Dialect } from "@vibeorm/schema";
2
+ import type { SqlExecutor } from "./types.ts";
3
+ /** Validated journal data, shared by the runner and read-only history API. */
4
+ export type JournalRow = {
5
+ readonly checksum: string;
6
+ readonly statementIndex: number;
7
+ readonly error?: string;
8
+ readonly moduleEntry?: string;
9
+ };
10
+ /**
11
+ * Execute a journal read without creating it. Undefined means proven absence,
12
+ * never a denied read. SQLite has no missing-table error code, so an unsuccessful
13
+ * read is followed by catalog inspection rather than matching error messages.
14
+ * This module never imports runner/history, keeping their shared reader acyclic.
15
+ */
16
+ export declare function readJournalRows(params: {
17
+ executor: SqlExecutor;
18
+ dialect: Dialect;
19
+ query: {
20
+ readonly text: string;
21
+ readonly values?: readonly unknown[];
22
+ };
23
+ }): Promise<Map<string, JournalRow> | undefined>;
24
+ //# sourceMappingURL=journal-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal-read.d.ts","sourceRoot":"","sources":["../src/journal-read.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,8EAA8E;AAC9E,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAiBhJ;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,CAAC;CACxE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,CAsB/C"}
@@ -0,0 +1,14 @@
1
+ import type { MigrationExecution } from "./execution.ts";
2
+ import type { MigrationDesiredState } from "./desired-state.ts";
3
+ import type { ModuleMigrationOrigin } from "./module-origin.ts";
4
+ /** Historical SQL/execution checksum, with optional immutable state and module provenance. */
5
+ export declare function migrationChecksum(params: {
6
+ moduleOrigin?: ModuleMigrationOrigin;
7
+ sql: readonly string[];
8
+ execution?: MigrationExecution;
9
+ desiredState?: MigrationDesiredState;
10
+ downSql?: readonly string[];
11
+ downExecution?: MigrationExecution;
12
+ desiredStatePending?: boolean;
13
+ }): string;
14
+ //# sourceMappingURL=migration-checksum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-checksum.d.ts","sourceRoot":"","sources":["../src/migration-checksum.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,MAAM,CAGT"}
@@ -0,0 +1,27 @@
1
+ import type { Dialect, SqlObjectIdentity } from "@vibeorm/schema";
2
+ import type { ModuleMigrationSource } from "./module-origin.ts";
3
+ import type { MigrationFile } from "./types.ts";
4
+ /** Data-only package export, with ordered immutable source snapshots. */
5
+ export type ModuleMigrationBundle = {
6
+ readonly moduleId: string;
7
+ readonly dialect: Dialect;
8
+ readonly migrations: readonly MigrationFile[];
9
+ };
10
+ /** Author an append-only upgrade chain; this never opens a database or executes SQL. */
11
+ export declare function defineModuleMigrations(params: {
12
+ moduleId: string;
13
+ dialect: Dialect;
14
+ steps: readonly {
15
+ readonly revision: string;
16
+ readonly previousRevision: string | null;
17
+ readonly contracts: readonly string[];
18
+ readonly owned: readonly SqlObjectIdentity[];
19
+ readonly migration: ModuleMigrationSource;
20
+ }[];
21
+ }): ModuleMigrationBundle;
22
+ /** Materialize ordered local units without reinterpreting or concatenating package SQL. */
23
+ export declare function moduleMigrationFiles(params: {
24
+ bundle: ModuleMigrationBundle;
25
+ prefix: string;
26
+ }): readonly MigrationFile[];
27
+ //# sourceMappingURL=module-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-bundle.d.ts","sourceRoot":"","sources":["../src/module-bundle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS;QACd,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAC7C,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;KAC3C,EAAE,CAAC;CACL,GAAG,qBAAqB,CAgBxB;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,aAAa,EAAE,CAYxH"}
@@ -0,0 +1,10 @@
1
+ import type { ModuleMigrationBundle } from "./module-bundle.ts";
2
+ /** Emit separate data-only migration and startup-readiness entries for a package build. */
3
+ export declare function emitModuleMigrationExport(params: {
4
+ bundle: ModuleMigrationBundle;
5
+ contract: string;
6
+ }): readonly {
7
+ name: string;
8
+ content: string;
9
+ }[];
10
+ //# sourceMappingURL=module-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-export.d.ts","sourceRoot":"","sources":["../src/module-export.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,2FAA2F;AAC3F,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAWnJ"}
@@ -0,0 +1,18 @@
1
+ import type { ModuleJournalRecord } from "./module-journal.ts";
2
+ import type { ModuleMigrationOrigin } from "./module-origin.ts";
3
+ import type { MigrationFile } from "./types.ts";
4
+ /** Validate ordered chains, never selecting an earlier completed entry past a later incomplete one. */
5
+ export declare function moduleHistoryHeads(params: {
6
+ records: ReadonlyMap<string, ModuleJournalRecord>;
7
+ }): Map<string, ModuleJournalRecord>;
8
+ /** Installed module expectations for an ordinary application file, including subset runners. */
9
+ export declare function applicationModuleOrigins(params: {
10
+ migration: MigrationFile;
11
+ records: ReadonlyMap<string, ModuleJournalRecord>;
12
+ }): readonly ModuleMigrationOrigin[];
13
+ /** Lock-held admission for the full pending sequence, including conflicts with prior module ownership. */
14
+ export declare function assertModuleUpgradeHistory(params: {
15
+ migrations: readonly MigrationFile[];
16
+ records: ReadonlyMap<string, ModuleJournalRecord>;
17
+ }): void;
18
+ //# sourceMappingURL=module-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-history.d.ts","sourceRoot":"","sources":["../src/module-history.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAgBlI;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAAG,SAAS,qBAAqB,EAAE,CAQlK;AAiBD,0GAA0G;AAC1G,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,GAAG,IAAI,CAyCpJ"}
@@ -0,0 +1,49 @@
1
+ import type { Dialect } from "@vibeorm/schema";
2
+ import type { JournalRow } from "./journal-read.ts";
3
+ import type { MigrationFile, SqlExecutor } from "./types.ts";
4
+ /** Completion is independent of cursor position: final verification may still fail. */
5
+ export type ModuleJournalEntry = {
6
+ readonly version: 1;
7
+ readonly migration: MigrationFile;
8
+ readonly complete: boolean;
9
+ };
10
+ export type ModuleJournalRecord = {
11
+ readonly row: JournalRow;
12
+ readonly entry?: ModuleJournalEntry;
13
+ };
14
+ /** Validate both stored source provenance and the local execution checksum. */
15
+ export declare function parseModuleJournalEntry(params: {
16
+ text: string;
17
+ name: string;
18
+ checksum: string;
19
+ }): ModuleJournalEntry;
20
+ /** Read-only journal access: an absent journal or old journal without the optional column is not upgraded. */
21
+ export declare function readModuleJournal(params: {
22
+ executor: SqlExecutor;
23
+ dialect: Dialect;
24
+ }): Promise<ReadonlyMap<string, ModuleJournalRecord>>;
25
+ /** Deployment-only, lock-held schema upgrade on the existing history table. */
26
+ export declare function ensureModuleJournal(params: {
27
+ executor: SqlExecutor;
28
+ dialect: Dialect;
29
+ }): Promise<void>;
30
+ /** First record is complete only on the transactional path, within the same commit as its SQL. */
31
+ export declare function insertModuleJournal(params: {
32
+ executor: SqlExecutor;
33
+ dialect: Dialect;
34
+ migration: MigrationFile;
35
+ index: number;
36
+ complete: boolean;
37
+ }): Promise<void>;
38
+ /** Called only after statement progress and final desired-state verification have completed. */
39
+ export declare function completeModuleJournal(params: {
40
+ executor: SqlExecutor;
41
+ dialect: Dialect;
42
+ migration: MigrationFile;
43
+ }): Promise<void>;
44
+ /** Neither repair sentinels nor a completed cursor can manufacture a completed module revision. */
45
+ export declare function moduleRecordComplete(params: {
46
+ migration: MigrationFile;
47
+ stored: JournalRow;
48
+ }): boolean;
49
+ //# sourceMappingURL=module-journal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-journal.d.ts","sourceRoot":"","sources":["../src/module-journal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAO/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,uFAAuF;AACvF,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AACxH,MAAM,MAAM,mBAAmB,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAMpG,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,CAUpH;AAED,8GAA8G;AAC9G,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAQ9I;AAED,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5G;AAED,kGAAkG;AAClG,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxK;AAED,gGAAgG;AAChG,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,aAAa,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxI;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAMtG"}
@@ -0,0 +1,47 @@
1
+ import type { Dialect, SqlObjectIdentity } from "@vibeorm/schema";
2
+ import type { MigrationFile } from "./types.ts";
3
+ /** Complete package-authored source, retained even when application state is composed later. */
4
+ export type ModuleMigrationSource = Omit<MigrationFile, "moduleOrigin">;
5
+ /** Immutable provenance for one ordered package upgrade, not proof that it was applied. */
6
+ export type ModuleMigrationOrigin = {
7
+ readonly version: 1;
8
+ readonly moduleId: string;
9
+ readonly dialect: Dialect;
10
+ readonly previousRevision: string | null;
11
+ readonly revision: string;
12
+ readonly contracts: readonly string[];
13
+ readonly owned: readonly SqlObjectIdentity[];
14
+ readonly source: ModuleMigrationSource;
15
+ readonly artifactChecksum: string;
16
+ };
17
+ /** The source snapshot carries all execution/security/reverse metadata in one data-only sidecar. */
18
+ export declare const MODULE_ORIGIN_METADATA: Readonly<{
19
+ filename: string;
20
+ version: 1;
21
+ }>;
22
+ /** Validate sidecar shape and the checksum of the complete source plus ownership/compatibility metadata. */
23
+ export declare function assertModuleOrigin(params: {
24
+ value: unknown;
25
+ }): asserts params is {
26
+ value: ModuleMigrationOrigin;
27
+ };
28
+ /** Snapshot the package's authored upgrade; later mutation of author inputs cannot alter it. */
29
+ export declare function createModuleOrigin(params: Omit<ModuleMigrationOrigin, "version" | "artifactChecksum">): ModuleMigrationOrigin;
30
+ /** Absent module metadata contributes zero bytes to every historical checksum. */
31
+ export declare function moduleOriginChecksumSuffix(params: {
32
+ moduleOrigin?: ModuleMigrationOrigin;
33
+ }): string;
34
+ /** Read the sidecar through the same typed JSON boundary as desired-state metadata. */
35
+ export declare function parseModuleOrigin(params: {
36
+ text: string;
37
+ }): ModuleMigrationOrigin;
38
+ /** Applying a module cannot discard the source's execution, reverse, security or desired-state metadata. */
39
+ export declare function assertMaterializedModuleMigration(params: {
40
+ migration: MigrationFile;
41
+ }): void;
42
+ /** Restore the complete source metadata while allowing a separately reviewed application desired state. */
43
+ export declare function restoreModuleMigration(params: {
44
+ migration: MigrationFile;
45
+ origin: ModuleMigrationOrigin;
46
+ }): MigrationFile;
47
+ //# sourceMappingURL=module-origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-origin.d.ts","sourceRoot":"","sources":["../src/module-origin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,gGAAgG;AAChG,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAExE,2FAA2F;AAC3F,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,CAAiE,CAAC;AAuBhJ,4GAA4G;AAC5G,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,IAAI;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAkBjH;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,kBAAkB,CAAC,GAAG,qBAAqB,CAO7H;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,YAAY,CAAC,EAAE,qBAAqB,CAAA;CAAE,GAAG,MAAM,CAInG;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,qBAAqB,CAMjF;AAGD,4GAA4G;AAC5G,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAK5F;AAED,2GAA2G;AAC3G,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,GAAG,aAAa,CAazH"}
@@ -0,0 +1,33 @@
1
+ import type { SqlObjectIdentity } from "@vibeorm/schema";
2
+ import type { MigrationDesiredState } from "./desired-state.ts";
3
+ import type { ModuleMigrationOrigin } from "./module-origin.ts";
4
+ import type { SqlExecutor } from "./types.ts";
5
+ /** Baked placement; MySQL authors must name the actual application database. */
6
+ export declare function moduleNamespace(params: {
7
+ origin: ModuleMigrationOrigin;
8
+ }): string;
9
+ /** Derive the complete exact ownership set from source declarations, not a naming prefix. */
10
+ export declare function moduleOwnedObjects(params: {
11
+ desiredState: MigrationDesiredState;
12
+ namespace?: string;
13
+ }): readonly SqlObjectIdentity[];
14
+ /** A checksum does not turn extra ownership claims into authority over application objects. */
15
+ export declare function assertModuleOwnership(params: {
16
+ origin: ModuleMigrationOrigin;
17
+ desiredState?: MigrationDesiredState;
18
+ }): void;
19
+ /** Inspect full physical inventory: new objects cannot claim existing app objects or external dependents. */
20
+ export declare function assertLiveModuleOwnership(params: {
21
+ executor: SqlExecutor;
22
+ origin: ModuleMigrationOrigin;
23
+ resume?: boolean;
24
+ sqliteRestorePending?: true;
25
+ }): Promise<void>;
26
+ /** Protect installed module objects without requiring an application snapshot. */
27
+ export declare function assertApplicationModuleState(params: {
28
+ executor: SqlExecutor;
29
+ origins: readonly ModuleMigrationOrigin[];
30
+ probe?: "none" | "rollback" | "temporary";
31
+ sqliteRestorePending?: true;
32
+ }): Promise<void>;
33
+ //# sourceMappingURL=module-ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-ownership.d.ts","sourceRoot":"","sources":["../src/module-ownership.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAgB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAOhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,GAAG,MAAM,CAKjF;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,qBAAqB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,iBAAiB,EAAE,CAKpI;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CAAE,GAAG,IAAI,CAgC3H;AA2BD,6GAA6G;AAC7G,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,oBAAoB,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9K;AAED,kFAAkF;AAClF,wBAAsB,4BAA4B,CAAC,MAAM,EAAE;IACzD,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAC1C,oBAAoB,CAAC,EAAE,IAAI,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB"}
@@ -0,0 +1,19 @@
1
+ import type { SchemaIR } from "@vibeorm/schema";
2
+ import type { DesiredState } from "./desired-state.ts";
3
+ import type { ModuleMigrationBundle } from "./module-bundle.ts";
4
+ import type { MigrationFile } from "./types.ts";
5
+ /** Compose the application target with enabled package heads without copying models into its generated client. */
6
+ export declare function composeApplicationModules(params: {
7
+ application: DesiredState;
8
+ bundles: readonly ModuleMigrationBundle[];
9
+ }): DesiredState;
10
+ /** Import only new immutable upgrades, in deterministic module/predecessor order. Never infer uninstall SQL. */
11
+ export declare function pendingModuleMigrations(params: {
12
+ bundles: readonly ModuleMigrationBundle[];
13
+ existing: readonly MigrationFile[];
14
+ prefix: string;
15
+ application?: SchemaIR;
16
+ /** Independently replayed complete history, required when importing after a SQL-only application head. */
17
+ replayState?: DesiredState;
18
+ }): readonly MigrationFile[];
19
+ //# sourceMappingURL=module-pending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-pending.d.ts","sourceRoot":"","sources":["../src/module-pending.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsBhD,kHAAkH;AAClH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,GAAG,YAAY,CAWxI;AAED,gHAAgH;AAChH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,0GAA0G;IAC1G,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,GAAG,SAAS,aAAa,EAAE,CA6D3B"}
@@ -0,0 +1,32 @@
1
+ import type { Dialect } from "@vibeorm/schema";
2
+ import type { MigrationStateReport } from "./inspect-objects.ts";
3
+ import type { SqlExecutor } from "./types.ts";
4
+ /** The immutable schema artifact expected by a runtime, never an npm version. */
5
+ export type ModuleReadinessExpectation = {
6
+ readonly moduleId: string;
7
+ readonly revision: string;
8
+ readonly artifactChecksum: string;
9
+ readonly contract: string;
10
+ };
11
+ export type ModuleReadinessResult = {
12
+ readonly moduleId: string;
13
+ readonly installedRevision?: string;
14
+ readonly revision: "matching" | "compatible" | "missing" | "incompatible" | "incomplete";
15
+ readonly structural: {
16
+ readonly status: "not-checked" | "matching" | "drifted";
17
+ readonly report?: MigrationStateReport;
18
+ };
19
+ };
20
+ export type ModuleReadinessReport = {
21
+ readonly ready: boolean;
22
+ readonly modules: readonly ModuleReadinessResult[];
23
+ };
24
+ /** Read completed history once; optionally inspect live objects. No journal creation, DDL or repair. */
25
+ export declare function inspectModuleReadiness(params: {
26
+ executor: SqlExecutor;
27
+ dialect: Dialect;
28
+ modules: readonly ModuleReadinessExpectation[];
29
+ compatibility?: "exact" | "contract";
30
+ deep?: boolean;
31
+ }): Promise<ModuleReadinessReport>;
32
+ //# sourceMappingURL=module-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-readiness.d.ts","sourceRoot":"","sources":["../src/module-readiness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,iFAAiF;AACjF,MAAM,MAAM,0BAA0B,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAChK,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;IACzF,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC;CAC1H,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,CAAC;AAEpH,wGAAwG;AACxG,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkCjC"}
@@ -0,0 +1,5 @@
1
+ /** Prove unfiltered MySQL FK metadata visibility without requiring global row reads. */
2
+ export declare function hasMysqlGlobalCatalogVisibility(params: {
3
+ rows: readonly Record<string, unknown>[];
4
+ }): boolean;
5
+ //# sourceMappingURL=mysql-catalog-visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql-catalog-visibility.d.ts","sourceRoot":"","sources":["../src/mysql-catalog-visibility.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,GAAG,OAAO,CAY7G"}
@@ -1 +1 @@
1
- {"version":3,"file":"mysql-types.d.ts","sourceRoot":"","sources":["../src/mysql-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMnE,6EAA6E;AAC7E,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAUhE,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAMvE;AAaD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CASlE;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,MAAM,CAgBT;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAEjF;AAID,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,MAAM,CA8BT;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CA8B9E;AAID,yEAAyE;AACzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAQxF"}
1
+ {"version":3,"file":"mysql-types.d.ts","sourceRoot":"","sources":["../src/mysql-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMnE,6EAA6E;AAC7E,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAUhE,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAMvE;AAaD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CASlE;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,MAAM,CAgBT;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAEjF;AAID,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,MAAM,CA+BT;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CA8B9E;AAID,yEAAyE;AACzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAQxF"}
@@ -113,21 +113,10 @@ export declare function defaultFingerprintFor(params: {
113
113
  /**
114
114
  * Comparison key for a partial-index predicate.
115
115
  *
116
- * The engines re-serialize these expressions on introspection (postgres adds
117
- * parentheses around every operand, quotes identifiers and appends `::type`
118
- * casts), so the key must absorb THAT and nothing else. Erasing quotes,
119
- * parentheses and case wholesale (what this did before, F29) made
120
- * `'ACTIVE'` equal to `'active'` and `(a OR b) AND c` equal to
121
- * `a OR (b AND c)` — two different indexes comparing equal is a migration
122
- * step that never gets generated.
123
- *
124
- * So: string literals keep their bytes; identifiers and keywords fold to lower
125
- * case and lose their quoting; `::type` casts and REDUNDANT parentheses are
126
- * dropped by parsing the boolean structure and re-emitting it with the minimum
127
- * parenthesization, which keeps genuine grouping differences visible.
128
- *
129
- * A predicate this parser cannot read falls back to its token sequence — never
130
- * to the old lossy key.
116
+ * Literal bytes, quoted identifier case and casts are semantic. Only the
117
+ * supported boolean structure is reparenthesized. Quoted and unquoted names
118
+ * may conservatively compare unequal; equivalence requires catalog evidence.
119
+ * Complex lexical forms remain opaque rather than claiming false convergence.
131
120
  */
132
121
  export declare function normalizeWhere(params: {
133
122
  where: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"object-ownership.d.ts","sourceRoot":"","sources":["../src/object-ownership.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,gGAAgG;AAChG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,EAAE,CAYpJ;AAED,wGAAwG;AACxG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CA2BtJ;AAED,uGAAuG;AACvG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,QAAQ,CAY/H;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,GAAG,SAAS,CAejH;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,EAAE,CA4B7H;AAED,qFAAqF;AACrF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,EAAE,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,IAAI,CAIrI;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,iBAAiB,EAAE,CAiB9G;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAMpK;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,IAAI,CAoBzO"}
1
+ {"version":3,"file":"object-ownership.d.ts","sourceRoot":"","sources":["../src/object-ownership.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,gGAAgG;AAChG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,EAAE,CAYpJ;AAED,wGAAwG;AACxG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CA4BtJ;AAED,uGAAuG;AACvG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,QAAQ,CAY/H;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,GAAG,SAAS,CAgBjH;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,EAAE,CA6B7H;AAED,qFAAqF;AACrF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,EAAE,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,IAAI,CAIrI;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,iBAAiB,EAAE,CAiB9G;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAMpK;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAAG,IAAI,CAoBzO"}
package/dist/planner.d.ts CHANGED
@@ -2,10 +2,13 @@ import type { Dialect, SchemaIR, SqlObjectIdentity, VibeExtension } from "@vibeo
2
2
  import type { SqlExecutor, MigrationStep } from "./types.ts";
3
3
  import type { DesiredState } from "./desired-state.ts";
4
4
  import type { MigrationObjectState } from "./inspect-objects.ts";
5
+ import type { CatalogObject } from "./inventory.ts";
5
6
  /** Shared live plan; reports observations separately from trusted desired declarations. */
6
7
  export type SchemaMigrationPlan = {
7
8
  readonly physical: SchemaIR;
8
9
  readonly from: SchemaIR;
10
+ /** Desired schema with independently resolved PostgreSQL type evidence retained. */
11
+ readonly to: SchemaIR;
9
12
  readonly namespace: string;
10
13
  readonly steps: readonly MigrationStep[];
11
14
  readonly sql: readonly string[];
@@ -21,6 +24,8 @@ export declare function planSchemaMigration(params: {
21
24
  namespace?: string;
22
25
  /** Already-introspected physical IR, including verified native RLS when applicable. */
23
26
  physical?: SchemaIR;
27
+ /** Inventory captured with physical; replay has already excluded verified private infrastructure. */
28
+ physicalInventory?: readonly CatalogObject[];
24
29
  previous?: DesiredState;
25
30
  extensions?: readonly VibeExtension[];
26
31
  probe?: "none" | "rollback" | "temporary";
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAOjE,2FAA2F;AAC3F,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qGAAqG;AACrG,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC9E,uFAAuF;IACvF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACzF,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4J/B"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,2FAA2F;AAC3F,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qGAAqG;AACrG,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC9E,uFAAuF;IACvF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACzF,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoK/B"}
@@ -0,0 +1,11 @@
1
+ import type { QualifiedSqlName } from "@vibeorm/schema";
2
+ import type { SqlExecutor } from "./types.ts";
3
+ /** Prove only qualified zero-argument default calls against the stored catalog identity. */
4
+ export declare function equivalentPostgresDefaultFunction(params: {
5
+ executor: SqlExecutor;
6
+ table: QualifiedSqlName;
7
+ column: string;
8
+ expected: string;
9
+ actual: string;
10
+ }): Promise<boolean>;
11
+ //# sourceMappingURL=postgres-default-equivalence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-default-equivalence.d.ts","sourceRoot":"","sources":["../src/postgres-default-equivalence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAiB9C,4FAA4F;AAC5F,wBAAsB,iCAAiC,CAAC,MAAM,EAAE;IAC9D,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBnB"}
@@ -0,0 +1,15 @@
1
+ import type { SchemaIR, SqlObjectIdentity } from "@vibeorm/schema";
2
+ import type { SqlExecutor } from "./types.ts";
3
+ /** Resolved migration fields and columns whose authored identity cannot be proven. */
4
+ export type PostgresTypeResolution = {
5
+ readonly schema: SchemaIR;
6
+ readonly unavailable: readonly SqlObjectIdentity[];
7
+ };
8
+ /** Resolve only from explicit names, independent evidence, or PostgreSQL's system catalog. */
9
+ export declare function resolvePostgresTypeIdentities(params: {
10
+ executor: SqlExecutor;
11
+ schema: SchemaIR;
12
+ previous?: SchemaIR;
13
+ mode: "catalog" | "reference" | "verify";
14
+ }): Promise<PostgresTypeResolution>;
15
+ //# sourceMappingURL=postgres-type-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-type-identity.d.ts","sourceRoot":"","sources":["../src/postgres-type-identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,QAAQ,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,sFAAsF;AACtF,MAAM,MAAM,sBAAsB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAEvH,8FAA8F;AAC9F,wBAAsB,6BAA6B,CAAC,MAAM,EAAE;IAC1D,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC1C,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyClC"}