pipework 0.198.0 → 0.200.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 (141) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/REFERENCE.md +56 -0
  3. package/dist/REFERENCE.md +7 -195
  4. package/dist/async/jobs/queue-door.d.ts +20 -0
  5. package/dist/async/jobs/queue-door.d.ts.map +1 -0
  6. package/dist/async/jobs/queue-door.js +38 -0
  7. package/dist/async/jobs/queue-door.js.map +1 -0
  8. package/dist/async/jobs/queue.d.ts +5 -0
  9. package/dist/async/jobs/queue.d.ts.map +1 -1
  10. package/dist/async/jobs/queue.js +2 -0
  11. package/dist/async/jobs/queue.js.map +1 -1
  12. package/dist/auth/tenant/in-tenant.d.ts +12 -1
  13. package/dist/auth/tenant/in-tenant.d.ts.map +1 -1
  14. package/dist/auth/tenant/in-tenant.js +28 -11
  15. package/dist/auth/tenant/in-tenant.js.map +1 -1
  16. package/dist/auth/tenant/scoped-db.d.ts +8 -0
  17. package/dist/auth/tenant/scoped-db.d.ts.map +1 -1
  18. package/dist/auth/tenant/scoped-db.js +47 -0
  19. package/dist/auth/tenant/scoped-db.js.map +1 -1
  20. package/dist/cli/commands/alerts.js +4 -2
  21. package/dist/cli/commands/alerts.js.map +1 -1
  22. package/dist/cli/commands/check.d.ts +14 -0
  23. package/dist/cli/commands/check.d.ts.map +1 -1
  24. package/dist/cli/commands/check.js +26 -1
  25. package/dist/cli/commands/check.js.map +1 -1
  26. package/dist/cli/commands/db.d.ts.map +1 -1
  27. package/dist/cli/commands/db.js +26 -1
  28. package/dist/cli/commands/db.js.map +1 -1
  29. package/dist/cli/commands/generate.d.ts.map +1 -1
  30. package/dist/cli/commands/generate.js +8 -2
  31. package/dist/cli/commands/generate.js.map +1 -1
  32. package/dist/core/config/load.d.ts +19 -0
  33. package/dist/core/config/load.d.ts.map +1 -1
  34. package/dist/core/config/load.js +30 -3
  35. package/dist/core/config/load.js.map +1 -1
  36. package/dist/core/config/namespace.d.ts +8 -0
  37. package/dist/core/config/namespace.d.ts.map +1 -1
  38. package/dist/core/config/resolve.d.ts +2 -0
  39. package/dist/core/config/resolve.d.ts.map +1 -1
  40. package/dist/core/config/resolve.js +2 -2
  41. package/dist/core/config/resolve.js.map +1 -1
  42. package/dist/core/config/schema.d.ts +17 -0
  43. package/dist/core/config/schema.d.ts.map +1 -1
  44. package/dist/core/config/schema.js +64 -0
  45. package/dist/core/config/schema.js.map +1 -1
  46. package/dist/core/pipework.d.ts +10 -2
  47. package/dist/core/pipework.d.ts.map +1 -1
  48. package/dist/core/pipework.js +18 -5
  49. package/dist/core/pipework.js.map +1 -1
  50. package/dist/core/surface/worker.d.ts.map +1 -1
  51. package/dist/core/surface/worker.js +16 -9
  52. package/dist/core/surface/worker.js.map +1 -1
  53. package/dist/core/validation/connectivity.d.ts.map +1 -1
  54. package/dist/core/validation/connectivity.js +2 -1
  55. package/dist/core/validation/connectivity.js.map +1 -1
  56. package/dist/core/validation/rls-role.d.ts +5 -0
  57. package/dist/core/validation/rls-role.d.ts.map +1 -1
  58. package/dist/core/validation/rls-role.js +43 -0
  59. package/dist/core/validation/rls-role.js.map +1 -1
  60. package/dist/core/validation/startup.d.ts.map +1 -1
  61. package/dist/core/validation/startup.js +2 -1
  62. package/dist/core/validation/startup.js.map +1 -1
  63. package/dist/data/db/db.d.ts +48 -0
  64. package/dist/data/db/db.d.ts.map +1 -1
  65. package/dist/data/db/db.js +117 -3
  66. package/dist/data/db/db.js.map +1 -1
  67. package/dist/data/db/namespace.d.ts +3 -1
  68. package/dist/data/db/namespace.d.ts.map +1 -1
  69. package/dist/data/db/namespace.js +3 -1
  70. package/dist/data/db/namespace.js.map +1 -1
  71. package/dist/data/db/owner-labels.d.ts +9 -0
  72. package/dist/data/db/owner-labels.d.ts.map +1 -0
  73. package/dist/data/db/owner-labels.js +9 -0
  74. package/dist/data/db/owner-labels.js.map +1 -0
  75. package/dist/data/db/pool.d.ts +4 -2
  76. package/dist/data/db/pool.d.ts.map +1 -1
  77. package/dist/data/db/pool.js.map +1 -1
  78. package/dist/data/db/unbound.d.ts +18 -0
  79. package/dist/data/db/unbound.d.ts.map +1 -0
  80. package/dist/data/db/unbound.js +26 -0
  81. package/dist/data/db/unbound.js.map +1 -0
  82. package/dist/data/migrate/door-generate.d.ts +35 -0
  83. package/dist/data/migrate/door-generate.d.ts.map +1 -0
  84. package/dist/data/migrate/door-generate.js +96 -0
  85. package/dist/data/migrate/door-generate.js.map +1 -0
  86. package/dist/data/migrate/generate.d.ts +2 -2
  87. package/dist/data/migrate/generate.d.ts.map +1 -1
  88. package/dist/data/migrate/generate.js +15 -4
  89. package/dist/data/migrate/generate.js.map +1 -1
  90. package/dist/data/migrate/run.d.ts.map +1 -1
  91. package/dist/data/migrate/run.js +2 -1
  92. package/dist/data/migrate/run.js.map +1 -1
  93. package/dist/data/migrate/snapshot.d.ts +6 -0
  94. package/dist/data/migrate/snapshot.d.ts.map +1 -1
  95. package/dist/data/migrate/snapshot.js.map +1 -1
  96. package/dist/infra/alerts/beat.d.ts +6 -0
  97. package/dist/infra/alerts/beat.d.ts.map +1 -1
  98. package/dist/infra/alerts/beat.js +9 -0
  99. package/dist/infra/alerts/beat.js.map +1 -1
  100. package/dist/infra/alerts/faults.d.ts +4 -3
  101. package/dist/infra/alerts/faults.d.ts.map +1 -1
  102. package/dist/infra/alerts/faults.js +34 -10
  103. package/dist/infra/alerts/faults.js.map +1 -1
  104. package/dist/infra/alerts/namespace.d.ts +8 -1
  105. package/dist/infra/alerts/namespace.d.ts.map +1 -1
  106. package/dist/infra/alerts/namespace.js +8 -1
  107. package/dist/infra/alerts/namespace.js.map +1 -1
  108. package/dist/infra/cache/create.d.ts.map +1 -1
  109. package/dist/infra/cache/create.js +3 -3
  110. package/dist/infra/cache/create.js.map +1 -1
  111. package/dist/infra/cache/entry.d.ts +7 -1
  112. package/dist/infra/cache/entry.d.ts.map +1 -1
  113. package/dist/infra/cache/entry.js +10 -5
  114. package/dist/infra/cache/entry.js.map +1 -1
  115. package/dist/infra/cache/tenant.d.ts.map +1 -1
  116. package/dist/infra/cache/tenant.js +2 -3
  117. package/dist/infra/cache/tenant.js.map +1 -1
  118. package/dist/infra/email/sigv4.d.ts +24 -0
  119. package/dist/infra/email/sigv4.d.ts.map +1 -0
  120. package/dist/infra/email/sigv4.js +55 -0
  121. package/dist/infra/email/sigv4.js.map +1 -0
  122. package/dist/infra/storage/handle.d.ts.map +1 -1
  123. package/dist/infra/storage/handle.js +28 -6
  124. package/dist/infra/storage/handle.js.map +1 -1
  125. package/dist/request/di/resolve.d.ts.map +1 -1
  126. package/dist/request/di/resolve.js +2 -2
  127. package/dist/request/di/resolve.js.map +1 -1
  128. package/dist/request/http/server.d.ts.map +1 -1
  129. package/dist/request/http/server.js +2 -3
  130. package/dist/request/http/server.js.map +1 -1
  131. package/dist/test/plugin.d.ts.map +1 -1
  132. package/dist/test/plugin.js +8 -1
  133. package/dist/test/plugin.js.map +1 -1
  134. package/dist/test/setup.d.ts.map +1 -1
  135. package/dist/test/setup.js +28 -0
  136. package/dist/test/setup.js.map +1 -1
  137. package/dist/test/system-channel.d.ts +3 -1
  138. package/dist/test/system-channel.d.ts.map +1 -1
  139. package/dist/test/system-channel.js +10 -3
  140. package/dist/test/system-channel.js.map +1 -1
  141. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/core/surface/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/core/surface/worker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../../../src/core/validation/connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAChD,SAAS,SAAO,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CAgB5B;AAmBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAE1F"}
1
+ {"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../../../src/core/validation/connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAChD,SAAS,SAAO,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CAiB5B;AAmBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAE1F"}
@@ -2,7 +2,8 @@ export async function validateConnectivity(databases, timeoutMs = 5000) {
2
2
  const issues = [];
3
3
  const checks = [...databases.entries()].map(async ([name, db]) => {
4
4
  try {
5
- await testConnection(db.url, timeoutMs);
5
+ // A platform-mode database is reached at runtime as the platform role; the owner is not dialled.
6
+ await testConnection(db.rls?.platformRole !== undefined && db.systemUrl !== undefined ? db.systemUrl : db.url, timeoutMs);
6
7
  }
7
8
  catch (err) {
8
9
  issues.push({
@@ -1 +1 @@
1
- {"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../../src/core/validation/connectivity.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAgD,EAChD,SAAS,GAAG,IAAI;IAEhB,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,+BAA+B,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACrG,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,SAAiB;IAC1D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;IAEtD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE;QACxB,GAAG,EAAE,CAAC;QACN,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5C,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,GAAG,CAAA,UAAU,CAAA;IACrB,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAwB;IAC1D,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAA;AACnF,CAAC"}
1
+ {"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../../src/core/validation/connectivity.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAgD,EAChD,SAAS,GAAG,IAAI;IAEhB,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,iGAAiG;YACjG,MAAM,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAC3H,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,+BAA+B,IAAI,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACrG,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,SAAiB;IAC1D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;IAEtD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE;QACxB,GAAG,EAAE,CAAC;QACN,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5C,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,GAAG,CAAA,UAAU,CAAA;IACrB,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAwB;IAC1D,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAA;AACnF,CAAC"}
@@ -17,4 +17,9 @@ export declare function rlsProbeTarget(db: ResolvedDatabase, strategy: Isolation
17
17
  export declare function probeRlsRole(url: string, timeoutMs?: number | null): Promise<RlsRoleProbe>;
18
18
  /** Startup-validation leg: for each database with `rls` configured, the runtime connection's role (`appUrl ?? url`) must not bypass RLS. */
19
19
  export declare function validateRlsRoles(databases: ReadonlyMap<string, ResolvedDatabase>, timeoutMs?: number): Promise<ValidationIssue[]>;
20
+ export declare function systemRoleMessage(database: string, platformRole: string, probe: RlsRoleProbe): string[];
21
+ /** Startup-validation leg: for each database in platform mode, the `systemUrl` role must be the named platform role and must not bypass RLS. */
22
+ export declare function validateSystemRoles(databases: ReadonlyMap<string, ResolvedDatabase>, timeoutMs?: number): Promise<ValidationIssue[]>;
23
+ /** Databases with `rls` and no platform role: their system channel runs on the owner role, which bypasses RLS. */
24
+ export declare function ownerSystemChannelWarnings(databases: ReadonlyMap<string, ResolvedDatabase>): string[];
20
25
  //# sourceMappingURL=rls-role.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rls-role.d.ts","sourceRoot":"","sources":["../../../src/core/validation/rls-role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAQ5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAQ5E;AAED,oOAAoO;AACpO,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAExF;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBtG;AAED,4IAA4I;AAC5I,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAChD,SAAS,SAAO,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CAoB5B"}
1
+ {"version":3,"file":"rls-role.d.ts","sourceRoot":"","sources":["../../../src/core/validation/rls-role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAQ5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAQ5E;AAED,oOAAoO;AACpO,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAExF;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBtG;AAED,4IAA4I;AAC5I,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAChD,SAAS,SAAO,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CAoB5B;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAkBvG;AAED,gJAAgJ;AAChJ,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAChD,SAAS,SAAO,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CAoB5B;AAED,kHAAkH;AAClH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,EAAE,CAMrG"}
@@ -57,4 +57,47 @@ export async function validateRlsRoles(databases, timeoutMs = 5000) {
57
57
  await Promise.all(checks);
58
58
  return issues;
59
59
  }
60
+ export function systemRoleMessage(database, platformRole, probe) {
61
+ const out = [];
62
+ if (probe.superuser || probe.bypassRls) {
63
+ const flag = probe.superuser ? 'SUPERUSER' : 'BYPASSRLS';
64
+ out.push(`database "${database}": the systemUrl role "${probe.role}" is ${flag} — row-level security never applies to it, ` +
65
+ `so the system channel reaches every tenant row and no door means anything. ` +
66
+ `Point systemUrl/systemTestUrl at a role with neither flag, named rls.platformRole.`);
67
+ }
68
+ if (probe.role !== platformRole) {
69
+ out.push(`database "${database}": the systemUrl connection authenticates as "${probe.role}", but rls.platformRole is "${platformRole}" — ` +
70
+ `door policies are granted to "${platformRole}" only. Point systemUrl/systemTestUrl at a connection as "${platformRole}", ` +
71
+ `or change rls.platformRole.`);
72
+ }
73
+ return out;
74
+ }
75
+ /** Startup-validation leg: for each database in platform mode, the `systemUrl` role must be the named platform role and must not bypass RLS. */
76
+ export async function validateSystemRoles(databases, timeoutMs = 5000) {
77
+ const issues = [];
78
+ const checks = [...databases.entries()]
79
+ .filter(([, db]) => db.rls?.platformRole !== undefined && db.systemUrl !== undefined)
80
+ .map(async ([name, db]) => {
81
+ let probe;
82
+ try {
83
+ probe = await probeRlsRole(db.systemUrl, timeoutMs);
84
+ }
85
+ catch {
86
+ // An unreachable database is validateConnectivity's finding.
87
+ return;
88
+ }
89
+ for (const message of systemRoleMessage(name, db.rls.platformRole, probe)) {
90
+ issues.push({ phase: 'database', message });
91
+ }
92
+ });
93
+ await Promise.all(checks);
94
+ return issues;
95
+ }
96
+ /** Databases with `rls` and no platform role: their system channel runs on the owner role, which bypasses RLS. */
97
+ export function ownerSystemChannelWarnings(databases) {
98
+ return [...databases.entries()]
99
+ .filter(([, db]) => db.rls !== undefined && db.rls.platformRole === undefined)
100
+ .map(([name]) => `database "${name}" has rls configured and no platform role: pipe.system() runs on the owner role, which bypasses RLS. ` +
101
+ `Set systemUrl and rls.platformRole to run it on a role with no BYPASSRLS and read tenant tables through declared doors.`);
102
+ }
60
103
  //# sourceMappingURL=rls-role.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rls-role.js","sourceRoot":"","sources":["../../../src/core/validation/rls-role.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rls-role.js","sourceRoot":"","sources":["../../../src/core/validation/rls-role.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../../src/core/validation/startup.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,CAAA;IACtE,2LAA2L;IAC3L,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IACvD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACjD;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B3E"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../../src/core/validation/startup.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,CAAA;IACtE,2LAA2L;IAC3L,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IACvD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACjD;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3E"}
@@ -3,7 +3,7 @@ import { validateDomainIntegrity } from './domain.js';
3
3
  import { collectSurfaceIssues } from './surfaces.js';
4
4
  import { validateConnectivity } from './connectivity.js';
5
5
  import { validateQueueTables } from './queue-tables.js';
6
- import { validateRlsRoles } from './rls-role.js';
6
+ import { validateRlsRoles, validateSystemRoles } from './rls-role.js';
7
7
  import { definitions } from '../../data/domain/define.js';
8
8
  export async function validateStartup(ctx) {
9
9
  const issues = [];
@@ -14,6 +14,7 @@ export async function validateStartup(ctx) {
14
14
  if (ctx.connectivityCheck !== false && ctx.databases !== undefined) {
15
15
  issues.push(...await validateConnectivity(ctx.databases));
16
16
  issues.push(...await validateRlsRoles(ctx.databases));
17
+ issues.push(...await validateSystemRoles(ctx.databases));
17
18
  }
18
19
  if (ctx.connectivityCheck !== false && ctx.defaultDatabase !== undefined) {
19
20
  issues.push(...await validateQueueTables(ctx.defaultDatabase));
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/core/validation/startup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAezD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAsB;IAC1D,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAE/E,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,GAAG,oBAAoB,CACrB,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAC/D,CACF,CAAA;IACH,CAAC;IAED,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/core/validation/startup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAezD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAsB;IAC1D,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAE/E,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,GAAG,oBAAoB,CACrB,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAC/D,CACF,CAAA;IACH,CAAC;IAED,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
@@ -1,4 +1,15 @@
1
1
  import type { DB, TransactionConfig } from './index.js';
2
+ /**
3
+ * The database handle for the active Flow: its bound transaction, scoped to the
4
+ * Flow's tenant (or tenant-guarded when there is none).
5
+ *
6
+ * With no bound transaction, `pipe()` uses the pooled connection. On a
7
+ * platform-mode database (`rls.platformRole`) that is the platform role: with no
8
+ * tenant in the Flow it runs as is and tenant tables return nothing (fail
9
+ * closed); with a tenant in the Flow it throws, naming `pipe.transaction` and the
10
+ * request or job transaction, because the tenant setting can only be set per
11
+ * transaction and a builder runs its statement unwrapped.
12
+ */
2
13
  export declare function pipe(name?: string): DB;
3
14
  export declare namespace pipe {
4
15
  var transaction: <T>(nameOrFn: string | ((tx: DB) => Promise<T>), maybeFnOrConfig?: ((tx: DB) => Promise<T>) | TransactionConfig, maybeConfig?: TransactionConfig) => Promise<T>;
@@ -31,6 +42,43 @@ export declare function pipeRaw(name?: string): DB;
31
42
  * `pipework_test_system`, that opens only while a statement sent through this
32
43
  * handle runs, so it reads and writes every tenant's rows as the owner does.
33
44
  * Limit: a RESTRICTIVE policy still filters in tests; BYPASSRLS would not.
45
+ *
46
+ * Where the database sets `rls.platformRole` the channel runs on that role
47
+ * (`systemUrl`), which bypasses nothing. The handle refuses at build time any
48
+ * statement over a tenant-scoped table; a platform read of one goes through a
49
+ * door declared in config, with `pipe.door()`.
34
50
  */
35
51
  export declare function pipeSystem(name?: string): DB;
52
+ /** The system channel's connection without the platform guard: framework code that sets the tenant itself (`inTenant`) writes tenant tables on it. */
53
+ export declare function pipeSystemRaw(name?: string): DB;
54
+ /**
55
+ * A named cross-tenant read. The door must be declared under `doors` in config;
56
+ * generated migrations give the platform role (`rls.platformRole`) a SELECT
57
+ * policy on the door's table that opens only while `pipework.door` names it.
58
+ * `fn` runs in one transaction on the system connection, and the setting is
59
+ * set for that transaction only. The `db` it receives reads the door's table
60
+ * and non-tenant tables; any other tenant table, and any write to the door's
61
+ * table, is refused at build time. Columns are not limited: the door opens the
62
+ * whole table.
63
+ *
64
+ * Under collapsed test isolation the door runs on the test connection, each
65
+ * statement bracketed with the door open and the test-only system policy.
66
+ */
67
+ export declare function pipeDoor<T>(name: string, fn: (db: DB) => Promise<T>, options?: {
68
+ database?: string;
69
+ }): Promise<T>;
70
+ /**
71
+ * A framework door as a database handle, for pipework's own long-lived loops that have no Flow (the
72
+ * worker's claim and reap): every statement runs in its own transaction with the door open, and
73
+ * `transaction()` opens it first. `db` is the platform connection. The generated policy for the
74
+ * door decides what the statements may touch.
75
+ */
76
+ export declare function frameworkDoorDb(db: DB, doorName: string): DB;
77
+ /**
78
+ * Pipework's own doors (`config.frameworkDoors`), for its internal work only —
79
+ * deliberately not on `pipe`. Same transaction as `pipe.door`, but the door may
80
+ * also delete where it was declared to. Throws by name where the database is not
81
+ * in platform mode or the door is not declared (its substrate is not configured).
82
+ */
83
+ export declare function pipeFrameworkDoor<T>(name: string, fn: (db: DB) => Promise<T>, database?: string): Promise<T>;
36
84
  //# sourceMappingURL=db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/data/db/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAqBvD,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAQtC;yBARe,IAAI;sBAyD0B,CAAC,YACnC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,oBACzB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,gBAChD,iBAAiB,KAC9B,OAAO,CAAC,CAAC,CAAC;;AAnDb;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAEzC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAY5C"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/data/db/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAsBvD;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAQtC;yBARe,IAAI;sBA0L0B,CAAC,YACnC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,oBACzB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,gBAChD,iBAAiB,KAC9B,OAAO,CAAC,CAAC,CAAC;;AApLb;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAEzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAK5C;AAED,sJAAsJ;AACtJ,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAY/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAAC,CAAC,CAAC,CA6BZ;AAyBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,CAoB5D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CASlH"}
@@ -1,7 +1,9 @@
1
+ import { sql } from './sql.js';
1
2
  import { requireContext, runInContext } from '../../request/context/store.js';
2
3
  import { verifyTransactionBinding, bindTransaction } from '../../request/context/guard.js';
3
4
  import { propagateLocals } from '../../request/context/run-in-transaction.js';
4
- import { createScopedDb, createTenantGuardDb } from '../../auth/tenant/scoped-db.js';
5
+ import { unboundDb } from './unbound.js';
6
+ import { createScopedDb, createTenantGuardDb, createSystemGuardDb, createDoorDb } from '../../auth/tenant/scoped-db.js';
5
7
  function resolveDb(name) {
6
8
  const ctx = requireContext();
7
9
  const resolvedName = name ?? ctx.instance.config.defaultDatabaseName();
@@ -11,9 +13,19 @@ function resolveDb(name) {
11
13
  verifyTransactionBinding(ctx, bound, resolvedName);
12
14
  return bound.drizzle;
13
15
  }
14
- const conn = ctx.instance.pool.getOrCreate(dbConfig);
15
- return conn.drizzle;
16
+ return unboundDb(ctx, resolvedName, dbConfig, 'pipe()');
16
17
  }
18
+ /**
19
+ * The database handle for the active Flow: its bound transaction, scoped to the
20
+ * Flow's tenant (or tenant-guarded when there is none).
21
+ *
22
+ * With no bound transaction, `pipe()` uses the pooled connection. On a
23
+ * platform-mode database (`rls.platformRole`) that is the platform role: with no
24
+ * tenant in the Flow it runs as is and tenant tables return nothing (fail
25
+ * closed); with a tenant in the Flow it throws, naming `pipe.transaction` and the
26
+ * request or job transaction, because the tenant setting can only be set per
27
+ * transaction and a builder runs its statement unwrapped.
28
+ */
17
29
  export function pipe(name) {
18
30
  const ctx = requireContext();
19
31
  const db = resolveDb(name);
@@ -52,8 +64,20 @@ export function pipeRaw(name) {
52
64
  * `pipework_test_system`, that opens only while a statement sent through this
53
65
  * handle runs, so it reads and writes every tenant's rows as the owner does.
54
66
  * Limit: a RESTRICTIVE policy still filters in tests; BYPASSRLS would not.
67
+ *
68
+ * Where the database sets `rls.platformRole` the channel runs on that role
69
+ * (`systemUrl`), which bypasses nothing. The handle refuses at build time any
70
+ * statement over a tenant-scoped table; a platform read of one goes through a
71
+ * door declared in config, with `pipe.door()`.
55
72
  */
56
73
  export function pipeSystem(name) {
74
+ const db = pipeSystemRaw(name);
75
+ const ctx = requireContext();
76
+ const resolvedName = name ?? ctx.instance.config.defaultDatabaseName();
77
+ return ctx.instance.config.database(resolvedName).rls?.platformRole !== undefined ? createSystemGuardDb(db) : db;
78
+ }
79
+ /** The system channel's connection without the platform guard: framework code that sets the tenant itself (`inTenant`) writes tenant tables on it. */
80
+ export function pipeSystemRaw(name) {
57
81
  const ctx = requireContext();
58
82
  const resolvedName = name ?? ctx.instance.config.defaultDatabaseName();
59
83
  const dbConfig = ctx.instance.config.database(resolvedName);
@@ -64,6 +88,96 @@ export function pipeSystem(name) {
64
88
  }
65
89
  return ctx.instance.pool.getOrCreate(dbConfig).drizzle;
66
90
  }
91
+ /**
92
+ * A named cross-tenant read. The door must be declared under `doors` in config;
93
+ * generated migrations give the platform role (`rls.platformRole`) a SELECT
94
+ * policy on the door's table that opens only while `pipework.door` names it.
95
+ * `fn` runs in one transaction on the system connection, and the setting is
96
+ * set for that transaction only. The `db` it receives reads the door's table
97
+ * and non-tenant tables; any other tenant table, and any write to the door's
98
+ * table, is refused at build time. Columns are not limited: the door opens the
99
+ * whole table.
100
+ *
101
+ * Under collapsed test isolation the door runs on the test connection, each
102
+ * statement bracketed with the door open and the test-only system policy.
103
+ */
104
+ export async function pipeDoor(name, fn, options) {
105
+ const ctx = requireContext();
106
+ const config = ctx.instance.config;
107
+ const declared = config.doors[name];
108
+ const resolvedName = options?.database ?? declared?.database ?? config.defaultDatabaseName();
109
+ const dbConfig = config.database(resolvedName);
110
+ if (dbConfig.rls?.platformRole === undefined) {
111
+ throw new Error(`[pipework] pipe.door("${name}") needs a platform role: database "${resolvedName}" has no rls.platformRole.\n\n` +
112
+ ' Doors replace the system channel\'s blanket RLS bypass. Fix: set `rls.platformRole` and `systemUrl`\n' +
113
+ ` on "${resolvedName}" (a role that is not BYPASSRLS), then declare the door under \`doors\`.\n`);
114
+ }
115
+ if (declared === undefined) {
116
+ const names = Object.keys(config.doors);
117
+ throw new Error(`[pipework] pipe.door("${name}"): no door by that name is declared.\n\n` +
118
+ ` Declared doors: ${names.length > 0 ? names.join(', ') : '(none)'}\n` +
119
+ ' Fix: declare it under `doors` in pipework.config.ts with its table and reason.\n');
120
+ }
121
+ if (declared.database !== resolvedName) {
122
+ throw new Error(`[pipework] pipe.door("${name}", ..., { database: "${resolvedName}" }): the door is declared on database "${declared.database}".\n`);
123
+ }
124
+ return runDoor(ctx.instance, dbConfig, declared, fn);
125
+ }
126
+ async function runDoor(instance, dbConfig, door, fn) {
127
+ if (instance.pool.isOverridden(dbConfig.name)) {
128
+ const conn = instance.pool.getOrCreate(dbConfig);
129
+ const handle = conn.door?.(door.name) ?? conn.system ?? conn.drizzle;
130
+ return handle.transaction((tx) => fn(createDoorDb(tx, door)));
131
+ }
132
+ const conn = instance.pool.getOrCreate(dbConfig, 'system');
133
+ return conn.drizzle.transaction(async (tx) => {
134
+ await openDoor(tx, door.name);
135
+ return fn(createDoorDb(tx, door));
136
+ });
137
+ }
138
+ async function openDoor(tx, name) {
139
+ await tx.execute(sql `SELECT set_config('pipework.door', ${name}, true)`);
140
+ }
141
+ /**
142
+ * A framework door as a database handle, for pipework's own long-lived loops that have no Flow (the
143
+ * worker's claim and reap): every statement runs in its own transaction with the door open, and
144
+ * `transaction()` opens it first. `db` is the platform connection. The generated policy for the
145
+ * door decides what the statements may touch.
146
+ */
147
+ export function frameworkDoorDb(db, doorName) {
148
+ return new Proxy(db, {
149
+ get(target, prop, receiver) {
150
+ if (prop === 'execute') {
151
+ return (query) => target.transaction(async (tx) => {
152
+ await openDoor(tx, doorName);
153
+ return tx.execute(query);
154
+ });
155
+ }
156
+ if (prop === 'transaction') {
157
+ return (fn, config) => target.transaction(async (tx) => {
158
+ await openDoor(tx, doorName);
159
+ return fn(tx);
160
+ }, config);
161
+ }
162
+ const value = Reflect.get(target, prop, receiver);
163
+ return typeof value === 'function' ? value.bind(target) : value;
164
+ },
165
+ });
166
+ }
167
+ /**
168
+ * Pipework's own doors (`config.frameworkDoors`), for its internal work only —
169
+ * deliberately not on `pipe`. Same transaction as `pipe.door`, but the door may
170
+ * also delete where it was declared to. Throws by name where the database is not
171
+ * in platform mode or the door is not declared (its substrate is not configured).
172
+ */
173
+ export async function pipeFrameworkDoor(name, fn, database) {
174
+ const ctx = requireContext();
175
+ const door = ctx.instance.config.frameworkDoors[name];
176
+ if (door === undefined) {
177
+ throw new Error(`[pipework] The framework door "${name}" is not declared: it exists only where the default database sets rls.platformRole and the blueprint enables its substrate.`);
178
+ }
179
+ return runDoor(ctx.instance, ctx.instance.config.database(database ?? door.database), door, fn);
180
+ }
67
181
  pipe.transaction = async function transaction(nameOrFn, maybeFnOrConfig, maybeConfig) {
68
182
  const ctx = requireContext();
69
183
  let resolvedName;
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/data/db/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/data/db/db.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { pipe as getDb, pipeSystem } from './db.js';
1
+ import { pipe as getDb, pipeSystem, pipeDoor } from './db.js';
2
2
  import { sql } from './sql.js';
3
3
  import { migrateAll, migrateOne } from '../migrate/index.js';
4
4
  import { excluded } from './excluded.js';
@@ -20,6 +20,8 @@ export { excluded } from './excluded.js';
20
20
  export declare const pipe: typeof getDb & {
21
21
  /** The system channel — deliberate cross-tenant access for pre-tenant surfaces (auth membership resolution, public webhook ingress, admin tooling). Never tenant-scoped or tenant-guarded; runs on the owner-role connection outside the request transaction. */
22
22
  system: typeof pipeSystem;
23
+ /** A named cross-tenant read: `pipe.door(name, db => ...)`. The door is declared under `doors` in config; the callback runs in one transaction on the platform-role connection and may SELECT from the door's table and from non-tenant tables. Needs `rls.platformRole`. */
24
+ door: typeof pipeDoor;
23
25
  /** Query operators and aggregates — eq, gt, lt, and, or, count, sum, etc. */
24
26
  filter: {
25
27
  readonly and: typeof import("../query/index.js").and;
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/data/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGnM,OAAO,EAAS,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGzE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE3E,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,mJAAmJ;AACnJ,eAAO,MAAM,IAAI;IACf,iQAAiQ;;IAGjQ,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7E,+RAA+R;;;;;;;;;;;;;IAkB/R,oDAAoD;;IAEpD,mDAAmD;;IAGnD,6EAA6E;;IAG7E,gFAAgF;;IAGhF,kHAAkH;;IAGlH,oMAAoM;;IAGpM,2GAA2G;;IAG3G,0GAA0G;;IAG1G,uNAAuN;;IAGvN,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;IAE9E,qMAAqM;;IAErM,6DAA6D;;IAE7D,+LAA+L;;IAG/L,2GAA2G;;IAE3G,kNAAkN;;IAElN,gHAAgH;;IAEhH,kQAAkQ;;CAElQ,CAAA"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/data/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGnM,OAAO,EAAS,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGzE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE3E,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,mJAAmJ;AACnJ,eAAO,MAAM,IAAI;IACf,iQAAiQ;;IAGjQ,6QAA6Q;;IAG7Q,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7E,+RAA+R;;;;;;;;;;;;;IAkB/R,oDAAoD;;IAEpD,mDAAmD;;IAGnD,6EAA6E;;IAG7E,gFAAgF;;IAGhF,kHAAkH;;IAGlH,oMAAoM;;IAGpM,2GAA2G;;IAG3G,0GAA0G;;IAG1G,uNAAuN;;IAGvN,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;IAE9E,qMAAqM;;IAErM,6DAA6D;;IAE7D,+LAA+L;;IAG/L,2GAA2G;;IAE3G,kNAAkN;;IAElN,gHAAgH;;IAEhH,kQAAkQ;;CAElQ,CAAA"}
@@ -1,4 +1,4 @@
1
- import { pipe as getDb, pipeSystem } from './db.js';
1
+ import { pipe as getDb, pipeSystem, pipeDoor } from './db.js';
2
2
  import { sql } from './sql.js';
3
3
  import { migrateAll, migrateOne } from '../migrate/index.js';
4
4
  import { filter } from './filter.js';
@@ -21,6 +21,8 @@ export { excluded } from './excluded.js';
21
21
  export const pipe = Object.assign(getDb, {
22
22
  /** The system channel — deliberate cross-tenant access for pre-tenant surfaces (auth membership resolution, public webhook ingress, admin tooling). Never tenant-scoped or tenant-guarded; runs on the owner-role connection outside the request transaction. */
23
23
  system: pipeSystem,
24
+ /** A named cross-tenant read: `pipe.door(name, db => ...)`. The door is declared under `doors` in config; the callback runs in one transaction on the platform-role connection and may SELECT from the door's table and from non-tenant tables. Needs `rls.platformRole`. */
25
+ door: pipeDoor,
24
26
  /** Query operators and aggregates — eq, gt, lt, and, or, count, sum, etc. */
25
27
  filter,
26
28
  /** Raw statement tag — for a statement pipework does not model. Interpolated values are parameters; `sql.raw` is not. Runs on the caller's connection, so inside a request it is the request transaction. Writes still go through pipe.update / insert / delete, which is what audit hooks. */
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/data/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEnM,qBAAqB;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKzE,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,mJAAmJ;AACnJ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;IACvC,iQAAiQ;IACjQ,MAAM,EAAE,UAAU;IAElB,6EAA6E;IAC7E,MAAM;IAEN,+RAA+R;IAC/R,GAAG;IAEH,kGAAkG;IAClG,eAAe;IACf,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,WAAW;IACX,qBAAqB;IACrB,OAAO;IAEP,qDAAqD;IACrD,UAAU;IACV,SAAS;IACT,SAAS;IAET,oDAAoD;IACpD,OAAO,EAAE,UAAU;IACnB,mDAAmD;IACnD,UAAU;IAEV,6EAA6E;IAC7E,QAAQ;IAER,gFAAgF;IAChF,YAAY;IAEZ,kHAAkH;IAClH,YAAY;IAEZ,oMAAoM;IACpM,YAAY;IAEZ,2GAA2G;IAC3G,OAAO;IAEP,0GAA0G;IAC1G,MAAM;IAEN,uNAAuN;IACvN,EAAE;IAEF,8EAA8E;IAC9E,KAAK;IACL,qMAAqM;IACrM,MAAM;IACN,6DAA6D;IAC7D,WAAW;IACX,+LAA+L;IAC/L,QAAQ;IAER,2GAA2G;IAC3G,MAAM;IACN,kNAAkN;IAClN,MAAM;IACN,gHAAgH;IAChH,MAAM,EAAE,MAAM;IACd,kQAAkQ;IAClQ,MAAM;CACP,CAAC,CAAA"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/data/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEnM,qBAAqB;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKzE,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,mJAAmJ;AACnJ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;IACvC,iQAAiQ;IACjQ,MAAM,EAAE,UAAU;IAElB,6QAA6Q;IAC7Q,IAAI,EAAE,QAAQ;IAEd,6EAA6E;IAC7E,MAAM;IAEN,+RAA+R;IAC/R,GAAG;IAEH,kGAAkG;IAClG,eAAe;IACf,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,WAAW;IACX,qBAAqB;IACrB,OAAO;IAEP,qDAAqD;IACrD,UAAU;IACV,SAAS;IACT,SAAS;IAET,oDAAoD;IACpD,OAAO,EAAE,UAAU;IACnB,mDAAmD;IACnD,UAAU;IAEV,6EAA6E;IAC7E,QAAQ;IAER,gFAAgF;IAChF,YAAY;IAEZ,kHAAkH;IAClH,YAAY;IAEZ,oMAAoM;IACpM,YAAY;IAEZ,2GAA2G;IAC3G,OAAO;IAEP,0GAA0G;IAC1G,MAAM;IAEN,uNAAuN;IACvN,EAAE;IAEF,8EAA8E;IAC9E,KAAK;IACL,qMAAqM;IACrM,MAAM;IACN,6DAA6D;IAC7D,WAAW;IACX,+LAA+L;IAC/L,QAAQ;IAER,2GAA2G;IAC3G,MAAM;IACN,kNAAkN;IAClN,MAAM;IACN,gHAAgH;IAChH,MAAM,EAAE,MAAM;IACd,kQAAkQ;IAClQ,MAAM;CACP,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Callers that legitimately open the owner-role connection of a platform-mode
3
+ * database: they run DDL. Everything else runs on the platform role.
4
+ */
5
+ export declare const OWNER_LABEL_MIGRATE = "migrate";
6
+ /** Trace and audit partition maintenance (`createTracePartitionStartupHook`, `scheduleTracePartitionMaintenance`): the app passes it `getOrCreate(config, 'owner', label)`. */
7
+ export declare const OWNER_LABEL_TRACE_PARTITIONS = "trace-partition-maintenance";
8
+ export declare const OWNER_DDL_LABELS: readonly string[];
9
+ //# sourceMappingURL=owner-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-labels.d.ts","sourceRoot":"","sources":["../../../src/data/db/owner-labels.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAC5C,+KAA+K;AAC/K,eAAO,MAAM,4BAA4B,gCAAgC,CAAA;AAEzE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAwD,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Callers that legitimately open the owner-role connection of a platform-mode
3
+ * database: they run DDL. Everything else runs on the platform role.
4
+ */
5
+ export const OWNER_LABEL_MIGRATE = 'migrate';
6
+ /** Trace and audit partition maintenance (`createTracePartitionStartupHook`, `scheduleTracePartitionMaintenance`): the app passes it `getOrCreate(config, 'owner', label)`. */
7
+ export const OWNER_LABEL_TRACE_PARTITIONS = 'trace-partition-maintenance';
8
+ export const OWNER_DDL_LABELS = [OWNER_LABEL_MIGRATE, OWNER_LABEL_TRACE_PARTITIONS];
9
+ //# sourceMappingURL=owner-labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-labels.js","sourceRoot":"","sources":["../../../src/data/db/owner-labels.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAC5C,+KAA+K;AAC/K,MAAM,CAAC,MAAM,4BAA4B,GAAG,6BAA6B,CAAA;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAA"}
@@ -2,8 +2,8 @@ import postgres from 'postgres';
2
2
  import { type PostgresJsDatabase } from '../query/postgres-js/index.js';
3
3
  import type { ResolvedDatabase } from '../../core/config/load.js';
4
4
  import type { ResolvedObservability } from '../../core/config/load.js';
5
- /** Which database role a pooled connection authenticates as. `owner` runs migrations/bootstrap and owns tables (bypasses RLS); `app` is the non-owner, non-BYPASSRLS runtime role that RLS policies enforce against. */
6
- export type ConnectionRole = 'owner' | 'app';
5
+ /** Which database role a pooled connection authenticates as. `owner` runs migrations/bootstrap and owns tables (bypasses RLS); `app` is the non-owner, non-BYPASSRLS runtime role that RLS policies enforce against; `system` is the platform role (`rls.platformRole`, via `systemUrl`), which reaches a tenant table only through a declared door. */
6
+ export type ConnectionRole = 'owner' | 'app' | 'system';
7
7
  /** A standalone pooled connection: the raw postgres.js client, its drizzle handle, and a `close()` that ends the pool. */
8
8
  export interface ManagedConnection {
9
9
  readonly name: string;
@@ -18,6 +18,8 @@ export interface ManagedConnection {
18
18
  readonly drizzle: PostgresJsDatabase;
19
19
  /** Test override only: this connection's handle for `pipe.system()`, reading across tenants under row-level security. */
20
20
  readonly system?: PostgresJsDatabase;
21
+ /** Test override only: a handle for `pipe.door(name)` on the test connection, with that door's setting open for each statement. */
22
+ readonly door?: (name: string) => PostgresJsDatabase;
21
23
  /**
22
24
  * The ids of every pooled connection (opening up to `max`), ascending by
23
25
  * `connectionId`. `connectionId` is the driver ordinal that