@owlmeans/postgres-resource 0.1.18-rc.41 → 0.1.18-rc.43

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 (171) hide show
  1. package/README.md +13 -13
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/postgres-resource/SKILL.md +2 -2
  4. package/build/consts.d.ts +9 -0
  5. package/build/consts.d.ts.map +1 -1
  6. package/build/consts.js +6 -0
  7. package/build/consts.js.map +1 -1
  8. package/build/declarations/types.d.ts +12 -0
  9. package/build/declarations/types.d.ts.map +1 -0
  10. package/build/declarations/types.js +2 -0
  11. package/build/declarations/types.js.map +1 -0
  12. package/build/declarations.d.ts +6 -9
  13. package/build/declarations.d.ts.map +1 -1
  14. package/build/declarations.js +25 -15
  15. package/build/declarations.js.map +1 -1
  16. package/build/errors.d.ts +0 -20
  17. package/build/errors.d.ts.map +1 -1
  18. package/build/errors.js +1 -111
  19. package/build/errors.js.map +1 -1
  20. package/build/index.d.ts +3 -0
  21. package/build/index.d.ts.map +1 -1
  22. package/build/index.js +1 -0
  23. package/build/index.js.map +1 -1
  24. package/build/pg-error/types.d.ts +24 -0
  25. package/build/pg-error/types.d.ts.map +1 -0
  26. package/build/pg-error/types.js +2 -0
  27. package/build/pg-error/types.js.map +1 -0
  28. package/build/pg-error.d.ts +4 -0
  29. package/build/pg-error.d.ts.map +1 -0
  30. package/build/pg-error.js +100 -0
  31. package/build/pg-error.js.map +1 -0
  32. package/build/resource.d.ts +1 -1
  33. package/build/resource.d.ts.map +1 -1
  34. package/build/resource.js +15 -11
  35. package/build/resource.js.map +1 -1
  36. package/build/types.d.ts +6 -1
  37. package/build/types.d.ts.map +1 -1
  38. package/build/types.local.d.ts +14 -0
  39. package/build/types.local.d.ts.map +1 -0
  40. package/build/types.local.js +2 -0
  41. package/build/types.local.js.map +1 -0
  42. package/build/utils/consts.local.d.ts +35 -0
  43. package/build/utils/consts.local.d.ts.map +1 -0
  44. package/build/utils/consts.local.js +63 -0
  45. package/build/utils/consts.local.js.map +1 -0
  46. package/build/utils/criteria/types.d.ts +31 -0
  47. package/build/utils/criteria/types.d.ts.map +1 -0
  48. package/build/utils/criteria/types.js +2 -0
  49. package/build/utils/criteria/types.js.map +1 -0
  50. package/build/utils/criteria.d.ts +3 -27
  51. package/build/utils/criteria.d.ts.map +1 -1
  52. package/build/utils/criteria.js +88 -107
  53. package/build/utils/criteria.js.map +1 -1
  54. package/build/utils/diff/types.d.ts +40 -0
  55. package/build/utils/diff/types.d.ts.map +1 -0
  56. package/build/utils/diff/types.js +2 -0
  57. package/build/utils/diff/types.js.map +1 -0
  58. package/build/utils/diff.d.ts +5 -35
  59. package/build/utils/diff.d.ts.map +1 -1
  60. package/build/utils/diff.js +321 -343
  61. package/build/utils/diff.js.map +1 -1
  62. package/build/utils/index.d.ts +10 -0
  63. package/build/utils/index.d.ts.map +1 -1
  64. package/build/utils/index.js.map +1 -1
  65. package/build/utils/introspect/types.d.ts +9 -0
  66. package/build/utils/introspect/types.d.ts.map +1 -0
  67. package/build/utils/introspect/types.js +2 -0
  68. package/build/utils/introspect/types.js.map +1 -0
  69. package/build/utils/introspect.d.ts +3 -3
  70. package/build/utils/introspect.d.ts.map +1 -1
  71. package/build/utils/introspect.js +42 -67
  72. package/build/utils/introspect.js.map +1 -1
  73. package/build/utils/life-cycle/types.d.ts +37 -0
  74. package/build/utils/life-cycle/types.d.ts.map +1 -0
  75. package/build/utils/life-cycle/types.js +2 -0
  76. package/build/utils/life-cycle/types.js.map +1 -0
  77. package/build/utils/life-cycle.d.ts +3 -38
  78. package/build/utils/life-cycle.d.ts.map +1 -1
  79. package/build/utils/life-cycle.js +90 -107
  80. package/build/utils/life-cycle.js.map +1 -1
  81. package/build/utils/marshal/types.d.ts +39 -0
  82. package/build/utils/marshal/types.d.ts.map +1 -0
  83. package/build/utils/marshal/types.js +2 -0
  84. package/build/utils/marshal/types.js.map +1 -0
  85. package/build/utils/marshal.d.ts +4 -32
  86. package/build/utils/marshal.d.ts.map +1 -1
  87. package/build/utils/marshal.js +124 -141
  88. package/build/utils/marshal.js.map +1 -1
  89. package/build/utils/migrations.d.ts.map +1 -1
  90. package/build/utils/migrations.js +41 -36
  91. package/build/utils/migrations.js.map +1 -1
  92. package/build/utils/name/types.d.ts +43 -0
  93. package/build/utils/name/types.d.ts.map +1 -0
  94. package/build/utils/name/types.js +2 -0
  95. package/build/utils/name/types.js.map +1 -0
  96. package/build/utils/name.d.ts +6 -35
  97. package/build/utils/name.d.ts.map +1 -1
  98. package/build/utils/name.js +40 -59
  99. package/build/utils/name.js.map +1 -1
  100. package/build/utils/schema/types.d.ts +22 -0
  101. package/build/utils/schema/types.d.ts.map +1 -0
  102. package/build/utils/schema/types.js +2 -0
  103. package/build/utils/schema/types.js.map +1 -0
  104. package/build/utils/schema.d.ts +4 -24
  105. package/build/utils/schema.d.ts.map +1 -1
  106. package/build/utils/schema.js +341 -352
  107. package/build/utils/schema.js.map +1 -1
  108. package/build/utils/sql/types.d.ts +25 -0
  109. package/build/utils/sql/types.d.ts.map +1 -0
  110. package/build/utils/sql/types.js +2 -0
  111. package/build/utils/sql/types.js.map +1 -0
  112. package/build/utils/sql.d.ts +5 -27
  113. package/build/utils/sql.d.ts.map +1 -1
  114. package/build/utils/sql.js +0 -0
  115. package/build/utils/sql.js.map +1 -1
  116. package/build/utils/sync/types.d.ts +25 -0
  117. package/build/utils/sync/types.d.ts.map +1 -0
  118. package/build/utils/sync/types.js +2 -0
  119. package/build/utils/sync/types.js.map +1 -0
  120. package/build/utils/sync.d.ts +2 -19
  121. package/build/utils/sync.d.ts.map +1 -1
  122. package/build/utils/sync.js +67 -84
  123. package/build/utils/sync.js.map +1 -1
  124. package/build/utils/types.d.ts +18 -0
  125. package/build/utils/types.d.ts.map +1 -0
  126. package/build/utils/types.js +2 -0
  127. package/build/utils/types.js.map +1 -0
  128. package/build/utils/types.local.d.ts +33 -0
  129. package/build/utils/types.local.d.ts.map +1 -0
  130. package/build/utils/types.local.js +2 -0
  131. package/build/utils/types.local.js.map +1 -0
  132. package/package.json +14 -13
  133. package/src/consts.ts +7 -0
  134. package/src/declarations/types.ts +12 -0
  135. package/src/declarations.ts +30 -23
  136. package/src/errors.ts +1 -131
  137. package/src/index.ts +3 -0
  138. package/src/pg-error/types.ts +23 -0
  139. package/src/pg-error.ts +114 -0
  140. package/src/resource.ts +20 -24
  141. package/src/types.local.ts +16 -0
  142. package/src/types.ts +8 -4
  143. package/src/utils/consts.local.ts +71 -0
  144. package/src/utils/criteria/types.ts +32 -0
  145. package/src/utils/criteria.ts +99 -129
  146. package/src/utils/diff/types.ts +41 -0
  147. package/src/utils/diff.ts +331 -348
  148. package/src/utils/index.ts +10 -0
  149. package/src/utils/introspect/types.ts +9 -0
  150. package/src/utils/introspect.ts +54 -79
  151. package/src/utils/life-cycle/types.ts +41 -0
  152. package/src/utils/life-cycle.ts +108 -134
  153. package/src/utils/marshal/types.ts +40 -0
  154. package/src/utils/marshal.ts +134 -147
  155. package/src/utils/migrations.ts +39 -33
  156. package/src/utils/name/types.ts +44 -0
  157. package/src/utils/name.ts +49 -63
  158. package/src/utils/schema/types.ts +26 -0
  159. package/src/utils/schema.ts +366 -397
  160. package/src/utils/sql/types.ts +25 -0
  161. package/src/utils/sql.ts +0 -0
  162. package/src/utils/sync/types.ts +25 -0
  163. package/src/utils/sync.ts +65 -83
  164. package/src/utils/types.local.ts +35 -0
  165. package/src/utils/types.ts +19 -0
  166. package/tests/criteria.spec.ts +4 -1
  167. package/tests/diff.spec.ts +28 -1
  168. package/tests/errors.spec.ts +4 -3
  169. package/tests/name.spec.ts +5 -3
  170. package/tests/schema.spec.ts +3 -1
  171. package/tests/sql.spec.ts +20 -22
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { TableSpec } from '../../types.js';
2
+ /**
3
+ * `{{alias}}` placeholders of custom SQL, resolved through ONE context's registered postgres
4
+ * resources. Reached as `pgPlaceholdersOf(context)`.
5
+ */
6
+ export interface PgPlaceholderHelper {
7
+ /**
8
+ * Fully qualified table of a registered postgres resource; omit the alias for `self`.
9
+ * This is what `PostgresTx.ref` and `PostgresResource.ref` resolve through.
10
+ *
11
+ * @throws {PostgresPlaceholderError}
12
+ */
13
+ refOf: (self: TableSpec | null, alias?: string) => string;
14
+ /**
15
+ * Rewrite `{{...}}` placeholders into quoted identifiers.
16
+ *
17
+ * Identifiers only — `$1`-style parameters are left exactly as written and their values
18
+ * never pass through here. Postgres can't bind an identifier as a parameter, which is the
19
+ * whole reason this mechanism has to exist; values have no such excuse.
20
+ *
21
+ * @throws {PostgresPlaceholderError}
22
+ */
23
+ resolvePlaceholders: (text: string, self: TableSpec | null) => string;
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/sql/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACzD;;;;;;;;OAQG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,MAAM,CAAA;CACtE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/sql/types.ts"],"names":[],"mappings":""}
@@ -1,30 +1,8 @@
1
- import type { BasicContext } from '@owlmeans/context';
2
- import type { TableSpec } from '../types.js';
3
- /**
4
- * The context a placeholder resolves through.
5
- *
6
- * Resolution reads exactly one thing — `context.resource(alias).table` — so the config a context
7
- * carries is irrelevant here, and pinning one would force every caller holding a server context
8
- * to cast its way in. Deliberately open, and named so callers pass what they already have.
9
- */
10
- export type PlaceholderContext = BasicContext<any>;
11
- /**
12
- * Fully qualified table of a registered postgres resource; omit the alias for `self`.
13
- * This is what `PostgresTx.ref` and `PostgresResource.ref` resolve through.
14
- *
15
- * @throws {PostgresPlaceholderError}
16
- */
17
- export declare const refOf: (context: PlaceholderContext, self: TableSpec | null, alias?: string) => string;
18
- /**
19
- * Rewrite `{{...}}` placeholders into quoted identifiers.
20
- *
21
- * Identifiers only — `$1`-style parameters are left exactly as written and their values
22
- * never pass through here. Postgres can't bind an identifier as a parameter, which is the
23
- * whole reason this mechanism has to exist; values have no such excuse.
24
- *
25
- * @throws {PostgresPlaceholderError}
26
- */
27
- export declare const resolvePlaceholders: (text: string, context: PlaceholderContext, self: TableSpec | null) => string;
1
+ import type { PgPlaceholderHelper } from './sql/types.js';
2
+ import type { PlaceholderContext } from './types.js';
28
3
  /** Testing seam — a rebuilt context is a fresh key, but a reused one keeps its entries. */
29
4
  export declare const resetPlaceholderCache: () => void;
5
+ export declare const makePgPlaceholderHelper: (context: PlaceholderContext) => PgPlaceholderHelper;
6
+ /** The placeholder resolver of one context — one per context. */
7
+ export declare const pgPlaceholdersOf: (target: PlaceholderContext) => PgPlaceholderHelper;
30
8
  //# sourceMappingURL=sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAA;AAe9D;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAkDlD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,YACP,kBAAkB,QAAQ,SAAS,GAAG,IAAI,UAAU,MAAM,KAClE,MAAsD,CAAA;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,SACxB,MAAM,WAAW,kBAAkB,QAAQ,SAAS,GAAG,IAAI,KAChE,MAqCF,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAO,IAAkC,CAAA"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAuBpD,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAO,IAAkC,CAAA;AAE3E,eAAO,MAAM,uBAAuB,YAAa,kBAAkB,KAAG,mBAyErE,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,qDAA8C,CAAA"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC;;;;;;;;;GASG;AACH,MAAM,WAAW,GAAG,+DAA+D,CAAA;AAWnF;;;;;GAKG;AACH,IAAI,MAAM,GAAqD,IAAI,OAAO,EAAE,CAAA;AAE5E,MAAM,OAAO,GAAG,CAAC,OAA2B,EAAuB,EAAE;IACnE,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;QACjB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CACb,OAA2B,EAAE,KAAa,EAAE,IAAsB,EACvD,EAAE;IACb,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrC;;;WAGG;QACH,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAA;QACrD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,QAA0C,CAAA;IAC9C,IAAI,CAAC;QACH,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAmC,KAAK,CAAC,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,wBAAwB,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC3B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3C,iGAAiG;QACjG,MAAM,IAAI,wBAAwB,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,OAA2B,EAAE,IAAsB,EAAE,KAAc,EAC3D,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,SAAS,CAAA;AAEzD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAY,EAAE,OAA2B,EAAE,IAAsB,EACzD,EAAE;IACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,EAAE,SAAS,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,KAAa,EAAE,KAAa,EAAE,QAAiB,EAAE,EAAE;QAChG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAA;YACrD,CAAC;YAED,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACzC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;QACD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,wBAAwB,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAA;QACrG,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAExB,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAS,EAAE,GAAG,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { DdlPlan, TableSpec } from '../../types.js';
2
+ /** The reconciliation steps run over one checked out connection. */
3
+ export interface PgSyncHelper {
4
+ /**
5
+ * Serialize initialization across replicas. A session level lock, not `xact`, because
6
+ * migrations run in their own transactions inside the critical section.
7
+ */
8
+ acquireLock: (qualified: string) => Promise<void>;
9
+ /** Release the {@link PgSyncHelper.acquireLock} lock; never masks the failure that preceded it. */
10
+ releaseLock: (qualified: string) => Promise<void>;
11
+ /** `CREATE SCHEMA IF NOT EXISTS`. */
12
+ ensureSchema: (schema: string) => Promise<void>;
13
+ /**
14
+ * Apply a reconciliation plan in a single transaction.
15
+ *
16
+ * Postgres DDL is transactional, so a plan that fails partway leaves the table exactly as
17
+ * it was. That property is what makes converging without confirmation prompts tolerable —
18
+ * the table is either fully converged or untouched, never half migrated.
19
+ *
20
+ * @throws {PostgresCastRequired} Postgres refused an automatic cast.
21
+ * @throws {PostgresSyncError} any other statement failed — the message names the statement.
22
+ */
23
+ applyPlan: (spec: TableSpec, plan: DdlPlan) => Promise<DdlPlan>;
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/sync/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAExD,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,mGAAmG;IACnG,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,qCAAqC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C;;;;;;;;;OASG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAChE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/sync/types.ts"],"names":[],"mappings":""}
@@ -1,21 +1,4 @@
1
1
  import type { PoolClient } from 'pg';
2
- import type { DdlPlan, TableSpec } from '../types.js';
3
- /**
4
- * Serialize initialization across replicas. A session level lock, not `xact`, because
5
- * migrations run in their own transactions inside the critical section.
6
- */
7
- export declare const acquireLock: (client: PoolClient, qualified: string) => Promise<void>;
8
- export declare const releaseLock: (client: PoolClient, qualified: string) => Promise<void>;
9
- export declare const ensureSchema: (client: PoolClient, schema: string) => Promise<void>;
10
- /**
11
- * Apply a reconciliation plan in a single transaction.
12
- *
13
- * Postgres DDL is transactional, so a plan that fails partway leaves the table exactly as
14
- * it was. That property is what makes converging without confirmation prompts tolerable —
15
- * the table is either fully converged or untouched, never half migrated.
16
- *
17
- * @throws {PostgresCastRequired} Postgres refused an automatic cast.
18
- * @throws {PostgresSyncError} any other statement failed — the message names the statement.
19
- */
20
- export declare const applyPlan: (client: PoolClient, spec: TableSpec, plan: DdlPlan) => Promise<DdlPlan>;
2
+ import type { PgSyncHelper } from './sync/types.js';
3
+ export declare const makePgSyncHelper: (client: PoolClient) => PgSyncHelper;
21
4
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAIpC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAiBrD;;;GAGG;AACH,eAAO,MAAM,WAAW,WAAkB,UAAU,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAGrF,CAAA;AAED,eAAO,MAAM,WAAW,WAAkB,UAAU,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAOrF,CAAA;AAED,eAAO,MAAM,YAAY,WAAkB,UAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAMnF,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,WACZ,UAAU,QAAQ,SAAS,QAAQ,OAAO,KACjD,OAAO,CAAC,OAAO,CA8CjB,CAAA"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAQpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAInD,eAAO,MAAM,gBAAgB,WAAY,UAAU,KAAG,YA0ErD,CAAA"}
@@ -1,93 +1,76 @@
1
- import { PgErrorCode } from '../consts.js';
2
- import { PostgresCastRequired, PostgresSyncError, describePgError, pgErrorToResourceError } from '../errors.js';
3
- import { countNonNull } from './introspect.js';
4
- import { advisoryKey, quoteIdent } from './name.js';
5
- /**
6
- * Codes that mean "the cast is legal, the data isn't": a `text` column holding `'a'` retyped to
7
- * `integer`, a value too wide for the new length, a number past the new range. Postgres refuses
8
- * each of these rather than truncating, and the remedy is the same one a refused cast needs — so
9
- * they are only read as a cast problem here, inside DDL. On the CRUD path the identical code means
10
- * a caller passed a bad value, which is a different bug with a different fix.
11
- */
12
- const CAST_DATA_CODES = [
13
- PgErrorCode.InvalidTextRepresentation,
14
- PgErrorCode.StringDataRightTruncation,
15
- PgErrorCode.NumericValueOutOfRange
16
- ];
17
- /**
18
- * Serialize initialization across replicas. A session level lock, not `xact`, because
19
- * migrations run in their own transactions inside the critical section.
20
- */
21
- export const acquireLock = async (client, qualified) => {
22
- const [first, second] = advisoryKey(qualified);
23
- await client.query('SELECT pg_advisory_lock($1, $2)', [first, second]);
24
- };
25
- export const releaseLock = async (client, qualified) => {
26
- const [first, second] = advisoryKey(qualified);
27
- try {
28
- await client.query('SELECT pg_advisory_unlock($1, $2)', [first, second]);
29
- }
30
- catch {
31
- /** Releasing the session drops the lock anyway — never mask the original failure. */
32
- }
33
- };
34
- export const ensureSchema = async (client, schema) => {
35
- try {
36
- await client.query(`CREATE SCHEMA IF NOT EXISTS ${quoteIdent(schema)}`);
37
- }
38
- catch (error) {
39
- throw pgErrorToResourceError(error);
40
- }
41
- };
42
- /**
43
- * Apply a reconciliation plan in a single transaction.
44
- *
45
- * Postgres DDL is transactional, so a plan that fails partway leaves the table exactly as
46
- * it was. That property is what makes converging without confirmation prompts tolerable —
47
- * the table is either fully converged or untouched, never half migrated.
48
- *
49
- * @throws {PostgresCastRequired} Postgres refused an automatic cast.
50
- * @throws {PostgresSyncError} any other statement failed — the message names the statement.
51
- */
52
- export const applyPlan = async (client, spec, plan) => {
53
- if (plan.statements.length < 1) {
54
- return plan;
55
- }
56
- /** Read what a drop would cost before the transaction opens, so the log can say it. */
57
- for (const statement of plan.statements) {
58
- if (statement.destructive === true) {
59
- statement.affected = await countNonNull(client, spec.qualified, statement.target);
1
+ import { logger } from '@owlmeans/log';
2
+ import { PostgresCastRequired, PostgresSyncError } from '../errors.js';
3
+ import { pgErrorHelper } from '../pg-error.js';
4
+ import { makePgIntrospectHelper } from './introspect.js';
5
+ import { pgNameHelper } from './name.js';
6
+ import { CAST_DATA_CODES } from './consts.local.js';
7
+ const log = logger('postgres-resource');
8
+ export const makePgSyncHelper = (client) => {
9
+ const { describePgError, pgErrorToResourceError } = pgErrorHelper;
10
+ const { advisoryKey, quoteIdent } = pgNameHelper;
11
+ const introspect = makePgIntrospectHelper(client);
12
+ const acquireLock = async (qualified) => {
13
+ const [first, second] = advisoryKey(qualified);
14
+ await client.query('SELECT pg_advisory_lock($1, $2)', [first, second]);
15
+ };
16
+ const releaseLock = async (qualified) => {
17
+ const [first, second] = advisoryKey(qualified);
18
+ try {
19
+ await client.query('SELECT pg_advisory_unlock($1, $2)', [first, second]);
20
+ }
21
+ catch {
22
+ /** Releasing the session drops the lock anyway — never mask the original failure. */
23
+ }
24
+ };
25
+ const ensureSchema = async (schema) => {
26
+ try {
27
+ await client.query(`CREATE SCHEMA IF NOT EXISTS ${quoteIdent(schema)}`);
60
28
  }
61
- }
62
- await client.query('BEGIN');
63
- let current = '';
64
- try {
29
+ catch (error) {
30
+ throw pgErrorToResourceError(error);
31
+ }
32
+ };
33
+ const applyPlan = async (spec, plan) => {
34
+ if (plan.statements.length < 1) {
35
+ return plan;
36
+ }
37
+ /** Read what a drop would cost before the transaction opens, so the log can say it. */
65
38
  for (const statement of plan.statements) {
66
- current = statement.sql;
67
- if (statement.destructive === true && (statement.affected ?? 0) > 0) {
68
- console.warn(`@owlmeans/postgres-resource: dropping ${spec.qualified}.${statement.target} —`
69
- + ` ${statement.affected} row(s) hold a value. Declare it under \`pg.unmanaged\``
70
- + ' or set `pg: { managed: false }` to keep it.');
39
+ if (statement.destructive === true) {
40
+ statement.affected = await introspect.countNonNull(spec.qualified, statement.target);
41
+ }
42
+ }
43
+ await client.query('BEGIN');
44
+ let current = '';
45
+ try {
46
+ for (const statement of plan.statements) {
47
+ current = statement.sql;
48
+ if (statement.destructive === true && (statement.affected ?? 0) > 0) {
49
+ log.warn('Dropping a column that holds values; declare it under pg.unmanaged or set pg.managed false to keep it', {
50
+ table: spec.qualified, column: statement.target, rows: statement.affected,
51
+ }, { event: 'migration.drop' });
52
+ }
53
+ await client.query(statement.sql);
71
54
  }
72
- await client.query(statement.sql);
55
+ await client.query('COMMIT');
73
56
  }
74
- await client.query('COMMIT');
75
- }
76
- catch (error) {
77
- await client.query('ROLLBACK').catch(() => undefined);
78
- const translated = pgErrorToResourceError(error);
79
- const code = error?.code;
80
- if (translated instanceof PostgresCastRequired || (code != null && CAST_DATA_CODES.includes(code))) {
81
- const failure = new PostgresCastRequired(`${spec.qualified}: ${describePgError(error)} — statement: ${current}.`
82
- + ' Declare `pg: { using: \'<expr>\' }` on the property, or perform the change in a'
83
- + ' `pre` migration so reconciliation observes no drift.');
57
+ catch (error) {
58
+ await client.query('ROLLBACK').catch(() => undefined);
59
+ const translated = pgErrorToResourceError(error);
60
+ const code = error?.code;
61
+ if (translated instanceof PostgresCastRequired || (code != null && CAST_DATA_CODES.includes(code))) {
62
+ const failure = new PostgresCastRequired(`${spec.qualified}: ${describePgError(error)} — statement: ${current}.`
63
+ + ' Declare `pg: { using: \'<expr>\' }` on the property, or perform the change in a'
64
+ + ' `pre` migration so reconciliation observes no drift.');
65
+ failure.cause = error;
66
+ throw failure;
67
+ }
68
+ const failure = new PostgresSyncError(`${spec.qualified}: ${describePgError(error)} — statement: ${current}`);
84
69
  failure.cause = error;
85
70
  throw failure;
86
71
  }
87
- const failure = new PostgresSyncError(`${spec.qualified}: ${describePgError(error)} — statement: ${current}`);
88
- failure.cause = error;
89
- throw failure;
90
- }
91
- return plan;
72
+ return plan;
73
+ };
74
+ return { acquireLock, releaseLock, ensureSchema, applyPlan };
92
75
  };
93
76
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { PgRuntimeTable, TableSpec } from '../types.js';
2
+ import type { MigrationReport } from '@owlmeans/resource';
3
+ import type { BasicContext } from '@owlmeans/context';
4
+ export interface TableInit {
5
+ spec: TableSpec;
6
+ /** The Drizzle table CRUD is built against. */
7
+ entity: PgRuntimeTable;
8
+ reports: MigrationReport[];
9
+ }
10
+ /**
11
+ * The context a placeholder resolves through.
12
+ *
13
+ * Resolution reads exactly one thing — `context.resource(alias).table` — so the config a context
14
+ * carries is irrelevant here, and pinning one would force every caller holding a server context
15
+ * to cast its way in. Deliberately open, and named so callers pass what they already have.
16
+ */
17
+ export type PlaceholderContext = BasicContext<any>;
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,+CAA+C;IAC/C,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import type { SQL } from 'drizzle-orm';
2
+ import { PG_KEYWORD } from '../consts.js';
3
+ import type { PgPropertyOverride, PgRootOverride } from '../types.js';
4
+ /**
5
+ * A value at a path, as the jsonb it is (`#>`) and as text (`#>>`). The path is ONE bound `text[]`
6
+ * parameter, so a segment holding a comma or a brace stays one segment.
7
+ */
8
+ export interface PathTarget {
9
+ value: SQL;
10
+ text: SQL;
11
+ /** Absent, or a JSON `null` — what every other store reads as "no value". */
12
+ missing: SQL;
13
+ }
14
+ export interface RawProperty {
15
+ type?: string | string[];
16
+ format?: string;
17
+ enum?: unknown[];
18
+ items?: RawProperty;
19
+ maxLength?: number;
20
+ maximum?: number;
21
+ minimum?: number;
22
+ default?: unknown;
23
+ nullable?: boolean;
24
+ secure?: boolean;
25
+ [PG_KEYWORD]?: PgPropertyOverride;
26
+ }
27
+ export interface RawSchema {
28
+ properties?: Record<string, RawProperty>;
29
+ required?: string[];
30
+ allOf?: RawSchema[];
31
+ [PG_KEYWORD]?: PgRootOverride;
32
+ }
33
+ //# sourceMappingURL=types.local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../../src/utils/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAErE;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,GAAG,CAAA;IACV,IAAI,EAAE,GAAG,CAAA;IACT,6EAA6E;IAC7E,OAAO,EAAE,GAAG,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,CAAC,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IACnB,CAAC,UAAU,CAAC,CAAC,EAAE,cAAc,CAAA;CAC9B"}
@@ -0,0 +1,2 @@
1
+ import { PG_KEYWORD } from '../consts.js';
2
+ //# sourceMappingURL=types.local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.local.js","sourceRoot":"","sources":["../../src/utils/types.local.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/postgres-resource",
3
- "version": "0.1.18-rc.41",
3
+ "version": "0.1.18-rc.43",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -26,22 +26,23 @@
26
26
  "pg": "*"
27
27
  },
28
28
  "dependencies": {
29
- "@noble/hashes": "^1.5.0",
30
- "@owlmeans/basic-ids": "^0.1.18-rc.34",
31
- "@owlmeans/context": "^0.1.18-rc.32",
32
- "@owlmeans/resource": "^0.1.18-rc.37",
33
- "@owlmeans/server-context": "^0.1.18-rc.40",
34
- "@scure/base": "^2.3.0",
35
- "drizzle-orm": "~0.45.2"
29
+ "@noble/hashes": "^2.4.0",
30
+ "@owlmeans/basic-ids": "^0.1.18-rc.37",
31
+ "@owlmeans/context": "^0.1.18-rc.34",
32
+ "@owlmeans/log": "^0.1.18-rc.2",
33
+ "@owlmeans/resource": "^0.1.18-rc.40",
34
+ "@owlmeans/server-context": "^0.1.18-rc.43",
35
+ "@scure/base": "^2.4.0",
36
+ "drizzle-orm": "~0.45.3"
36
37
  },
37
38
  "devDependencies": {
38
39
  "@owlmeans/dep-config": "workspace:*",
39
- "@owlmeans/test-integration": "^0.1.18-rc.30",
40
- "@types/bun": "^1.4.0",
41
- "@types/node": "^26.1.0",
42
- "@types/pg": "^8.20.4",
40
+ "@owlmeans/test-integration": "^0.1.18-rc.33",
41
+ "@types/bun": "^1.4.2",
42
+ "@types/node": "^26.6.4",
43
+ "@types/pg": "^8.23.1",
43
44
  "nodemon": "^3.1.14",
44
- "pg": "^8.22.0",
45
+ "pg": "^8.23.1",
45
46
  "typescript": "^7.0.2"
46
47
  },
47
48
  "publishConfig": {
package/src/consts.ts CHANGED
@@ -20,6 +20,13 @@ export const DEF_MIGRATIONS_TABLE = '_owlmeans_migrations'
20
20
  /** JSON Schema keyword carrying the Postgres specific overrides. */
21
21
  export const PG_KEYWORD = 'pg'
22
22
 
23
+ /**
24
+ * AJV keyword registration for consumers running in strict mode. The mapper reads the raw
25
+ * schema object and never validates through AJV, so this is purely to stop strict mode
26
+ * rejecting a schema that carries `pg` overrides.
27
+ */
28
+ export const pgKeyword = { keyword: PG_KEYWORD, valid: true }
29
+
23
30
  /** Postgres `NAMEDATALEN - 1`. Identifiers past this are silently truncated by the server. */
24
31
  export const PG_MAX_IDENTIFIER = 63
25
32
 
@@ -0,0 +1,12 @@
1
+ import type { PostgresDeclaration } from '../types.js'
2
+
3
+ /**
4
+ * The per-alias declaration store every postgres resource maker reads and extends — schema,
5
+ * indexes and migrations, keyed by resource alias.
6
+ */
7
+ export interface PgDeclarationHelper {
8
+ /** The declaration of an alias, created empty on first use. */
9
+ getDeclaration: (alias: string) => PostgresDeclaration
10
+ /** Testing seam — drops every declaration so a spec can redeclare a resource from scratch. */
11
+ resetDeclarations: (alias?: string) => void
12
+ }