pipework 0.199.0 → 0.201.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.
- package/CHANGELOG.md +29 -0
- package/REFERENCE.md +53 -0
- package/dist/REFERENCE.md +131 -10
- package/dist/async/jobs/queue-door.d.ts +20 -0
- package/dist/async/jobs/queue-door.d.ts.map +1 -0
- package/dist/async/jobs/queue-door.js +38 -0
- package/dist/async/jobs/queue-door.js.map +1 -0
- package/dist/async/jobs/queue.d.ts +5 -0
- package/dist/async/jobs/queue.d.ts.map +1 -1
- package/dist/async/jobs/queue.js +2 -0
- package/dist/async/jobs/queue.js.map +1 -1
- package/dist/auth/tenant/in-tenant.d.ts +12 -1
- package/dist/auth/tenant/in-tenant.d.ts.map +1 -1
- package/dist/auth/tenant/in-tenant.js +28 -11
- package/dist/auth/tenant/in-tenant.js.map +1 -1
- package/dist/auth/tenant/scoped-db.d.ts +8 -0
- package/dist/auth/tenant/scoped-db.d.ts.map +1 -1
- package/dist/auth/tenant/scoped-db.js +47 -0
- package/dist/auth/tenant/scoped-db.js.map +1 -1
- package/dist/cli/commands/alerts.js +4 -2
- package/dist/cli/commands/alerts.js.map +1 -1
- package/dist/cli/commands/check.d.ts +14 -0
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +26 -1
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/db.d.ts.map +1 -1
- package/dist/cli/commands/db.js +26 -1
- package/dist/cli/commands/db.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +8 -2
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/core/config/load.d.ts +19 -0
- package/dist/core/config/load.d.ts.map +1 -1
- package/dist/core/config/load.js +30 -3
- package/dist/core/config/load.js.map +1 -1
- package/dist/core/config/namespace.d.ts +8 -0
- package/dist/core/config/namespace.d.ts.map +1 -1
- package/dist/core/config/resolve.d.ts +2 -0
- package/dist/core/config/resolve.d.ts.map +1 -1
- package/dist/core/config/resolve.js +2 -2
- package/dist/core/config/resolve.js.map +1 -1
- package/dist/core/config/schema.d.ts +17 -0
- package/dist/core/config/schema.d.ts.map +1 -1
- package/dist/core/config/schema.js +64 -0
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/errors/http.d.ts +18 -1
- package/dist/core/errors/http.d.ts.map +1 -1
- package/dist/core/errors/http.js +10 -1
- package/dist/core/errors/http.js.map +1 -1
- package/dist/core/errors/index.d.ts +1 -1
- package/dist/core/errors/index.d.ts.map +1 -1
- package/dist/core/errors/index.js.map +1 -1
- package/dist/core/pipework.d.ts +10 -2
- package/dist/core/pipework.d.ts.map +1 -1
- package/dist/core/pipework.js +18 -5
- package/dist/core/pipework.js.map +1 -1
- package/dist/core/surface/worker.d.ts.map +1 -1
- package/dist/core/surface/worker.js +16 -9
- package/dist/core/surface/worker.js.map +1 -1
- package/dist/core/validation/connectivity.d.ts.map +1 -1
- package/dist/core/validation/connectivity.js +2 -1
- package/dist/core/validation/connectivity.js.map +1 -1
- package/dist/core/validation/rls-role.d.ts +5 -0
- package/dist/core/validation/rls-role.d.ts.map +1 -1
- package/dist/core/validation/rls-role.js +43 -0
- package/dist/core/validation/rls-role.js.map +1 -1
- package/dist/core/validation/startup.d.ts.map +1 -1
- package/dist/core/validation/startup.js +2 -1
- package/dist/core/validation/startup.js.map +1 -1
- package/dist/data/db/db.d.ts +48 -0
- package/dist/data/db/db.d.ts.map +1 -1
- package/dist/data/db/db.js +117 -3
- package/dist/data/db/db.js.map +1 -1
- package/dist/data/db/namespace.d.ts +3 -1
- package/dist/data/db/namespace.d.ts.map +1 -1
- package/dist/data/db/namespace.js +3 -1
- package/dist/data/db/namespace.js.map +1 -1
- package/dist/data/db/owner-labels.d.ts +9 -0
- package/dist/data/db/owner-labels.d.ts.map +1 -0
- package/dist/data/db/owner-labels.js +9 -0
- package/dist/data/db/owner-labels.js.map +1 -0
- package/dist/data/db/pool.d.ts +4 -2
- package/dist/data/db/pool.d.ts.map +1 -1
- package/dist/data/db/pool.js.map +1 -1
- package/dist/data/db/unbound.d.ts +18 -0
- package/dist/data/db/unbound.d.ts.map +1 -0
- package/dist/data/db/unbound.js +26 -0
- package/dist/data/db/unbound.js.map +1 -0
- package/dist/data/migrate/door-generate.d.ts +35 -0
- package/dist/data/migrate/door-generate.d.ts.map +1 -0
- package/dist/data/migrate/door-generate.js +96 -0
- package/dist/data/migrate/door-generate.js.map +1 -0
- package/dist/data/migrate/generate.d.ts +2 -2
- package/dist/data/migrate/generate.d.ts.map +1 -1
- package/dist/data/migrate/generate.js +15 -4
- package/dist/data/migrate/generate.js.map +1 -1
- package/dist/data/migrate/run.d.ts.map +1 -1
- package/dist/data/migrate/run.js +2 -1
- package/dist/data/migrate/run.js.map +1 -1
- package/dist/data/migrate/snapshot.d.ts +6 -0
- package/dist/data/migrate/snapshot.d.ts.map +1 -1
- package/dist/data/migrate/snapshot.js.map +1 -1
- package/dist/data/schema/parse.d.ts +2 -2
- package/dist/data/schema/parse.d.ts.map +1 -1
- package/dist/data/schema/parse.js +4 -2
- package/dist/data/schema/parse.js.map +1 -1
- package/dist/infra/cache/create.d.ts.map +1 -1
- package/dist/infra/cache/create.js +3 -3
- package/dist/infra/cache/create.js.map +1 -1
- package/dist/infra/cache/entry.d.ts +7 -1
- package/dist/infra/cache/entry.d.ts.map +1 -1
- package/dist/infra/cache/entry.js +10 -5
- package/dist/infra/cache/entry.js.map +1 -1
- package/dist/infra/cache/tenant.d.ts.map +1 -1
- package/dist/infra/cache/tenant.js +2 -3
- package/dist/infra/cache/tenant.js.map +1 -1
- package/dist/infra/storage/handle.d.ts.map +1 -1
- package/dist/infra/storage/handle.js +28 -6
- package/dist/infra/storage/handle.js.map +1 -1
- package/dist/request/di/resolve.d.ts.map +1 -1
- package/dist/request/di/resolve.js +7 -7
- package/dist/request/di/resolve.js.map +1 -1
- package/dist/request/http/error-step.d.ts +17 -0
- package/dist/request/http/error-step.d.ts.map +1 -0
- package/dist/request/http/error-step.js +33 -0
- package/dist/request/http/error-step.js.map +1 -0
- package/dist/request/http/server.d.ts.map +1 -1
- package/dist/request/http/server.js +26 -7
- package/dist/request/http/server.js.map +1 -1
- package/dist/test/plugin.d.ts.map +1 -1
- package/dist/test/plugin.js +8 -1
- package/dist/test/plugin.js.map +1 -1
- package/dist/test/setup.d.ts.map +1 -1
- package/dist/test/setup.js +28 -0
- package/dist/test/setup.js.map +1 -1
- package/dist/test/system-channel.d.ts +3 -1
- package/dist/test/system-channel.d.ts.map +1 -1
- package/dist/test/system-channel.js +10 -3
- package/dist/test/system-channel.js.map +1 -1
- package/dist/trace/runtime/step-error.d.ts +2 -0
- package/dist/trace/runtime/step-error.d.ts.map +1 -1
- package/dist/trace/runtime/step-error.js.map +1 -1
- 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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AAEjF,MAAM,UAAU,mBAAmB,CAAC,MAA2B;IAC7D,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IACtG,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAClG,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACzC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,IAAI,GAA2B,EAAE,CAAA;IACvC,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,UAAU,GAAI,CAAC,CAAC,KAAK,CAAC,UAA2C,CAAC,KAAK,CAAA;QAC7E,MAAM,WAAW,GAAI,KAAK,CAAC,UAA2C,CAAC,KAAK,CAAA;QAC5E,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,0BAA0B,CAAC,CAAC,IAAI,8BAA8B,UAAU,qCAAqC,WAAW,QAAQ;gBAChI,2FAA2F,UAAU,WAAW,CACjH,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACtC,2BAA2B,EAAE,CAAA;IAC/B,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEhE,MAAM,OAAO,GAAmB;QAC9B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;QAErD,YAAY,CAAC,CAAyB;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACtB,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,OAAuB;YACjC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAA;YACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;YAEvB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,UAAU,CAAC,CAAA;YAE/B,mGAAmG;YACnG,oGAAoG;YACpG,6FAA6F;YAC7F,MAAM,OAAO,GAAI,QAAkE,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAK,OAAO,CAAC,IAAiD,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI;gBACtO,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC;gBACjC,CAAC,CAAC,EAAE,CAAA;YAEN,sHAAsH;YACtH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAwC,EAAE,OAAe,EAAQ,EAAE;gBAC7F,IAAI,OAAO;oBAAE,KAAK,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;YACjE,CAAC,CAAA;YACD,wHAAwH;YACxH,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAS,EAAE,CAAC,SAAS,CAAA;YAC1E,MAAM,mBAAmB,GAAG,MAAM,CAAA;YAClC,IAAI,eAAe,GAAG,CAAC,CAAA;YACvB,MAAM,SAAS,GAAG,CAAC,OAAwC,EAAQ,EAAE;gBACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACtB,IAAI,CAAC,OAAO,IAAI,GAAG,GAAG,eAAe,GAAG,mBAAmB;oBAAE,OAAM;gBACnE,eAAe,GAAG,GAAG,CAAA;gBACrB,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;YAClD,CAAC,CAAA;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAA0I,CAAA;gBAC1J,MAAM,YAAY,GAAiB;oBACjC,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,EAA6B;wBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;wBACpD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAA;oBAC3C,CAAC;iBACF,CAAA;gBACD,MAAM,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;gBACvC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;YACxD,CAAC;YAED,4EAA4E;YAC5E,uDAAuD;YACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CACvC,EAAE,EACF,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClB,IAAI,EAAE,CAAC,CAAC,GAAG;oBACX,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D,CAAC,CAAC,EACH,QAAQ,CACT,CAAA;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,sCAAsC,CAAC,CAAA;gBACxF,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE;oBACvB,eAAe,EAAE,MAAM,CAAC,mBAAmB,IAAI,MAAM;oBACrD,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC;oBACzB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC;oBACtH,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,CAAA,CAAC,CAAC;iBAChG,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;YAC5C,MAAM,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YACzC,MAAM,QAAQ,GAAG,OAA8B,CAAA;YAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CACtD,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CACrF,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;YAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAA;YACpD,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAA;YAC9D,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAA;YAChE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;YAE9C,MAAM,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,IAAI,EAAE,CAAA;YAE5E,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;YACjC,kEAAkE;YAClE,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;YAItC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAA;YAC1C,MAAM,QAAQ,GAAG,CAAC,GAAe,EAAmB,EAAE,CAAC,CAAC;gBACtD,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;aACxG,CAAC,CAAA;YAEF,yGAAyG;YACzG,gEAAgE;YAChE,MAAM,IAAI,GAAG,KAAK,EAAE,KAAe,EAAE,IAAiB,EAAiB,EAAE;gBACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAA;gBAClC,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAM;gBAClC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;oBAChE,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC;wBACtC,CAAC,CAAC,SAAS,CAAC;4BACV,QAAQ;4BACR,SAAS,EAAE,KAAK;4BAChB,MAAM,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;gCACnD,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gCAChE,CAAC,CAAC,IAAI;4BACR,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,IAAI;4BACJ,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;4BACvB,SAAS,EAAE,IAAI;yBAChB,CAAC;wBACF,CAAC,CAAC,IAAI,CAAA;oBACR,MAAM,GAAG,GAAG,gBAAgB,CAAC;wBAC3B,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK;qBACrH,CAAC,CAAA;oBACF,MAAM,GAAG,GAAG,KAAK,IAAmB,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAA;oBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI;wBAC9B,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;wBACxB,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;oBACxD,MAAM,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAA;oBAC1F,KAAK,WAAW,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;gBACtG,CAAC;YACH,CAAC,CAAA;YACD,oEAAoE;YACpE,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,wBAAwB,GAAG,CAAC,CAAA;YAEhC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;gBAC3B,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAA;gBAC7B,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;wBACrG,wBAAwB,GAAG,CAAC,CAAA;wBAC5B,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;wBACvB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;4BACrB,MAAM,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;4BACrD,SAAQ;wBACV,CAAC;wBAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;wBAE1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;4BAC1B,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,KAAK,CAC5E,kDAAkD,OAAO,CAAC,IAAI,QAAQ;gCACtE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gCAC1D,mEAAmE,CACpE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;4BACtB,IAAI,eAAe,EAAE,OAAO,KAAK,aAAa,EAAE,CAAC;gCAC/C,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;4BAChI,CAAC;4BACD,SAAQ;wBACV,CAAC;wBAED,MAAM,KAAK,GAAY,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;wBACzF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;wBAC9B,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;4BACzC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gCACrE,wCAAwC;gCACxC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gCACvB,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;oCAAE,OAAM;gCAC1C,KAAK,CAAC,OAAO,GAAG,YAAY,CAAA;gCAC5B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAC9B,mBAAmB,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,kEAAkE,CAClH,CAAC,CAAA;gCACF,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;4BAC3E,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gCACxB,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAA;gCAChE,KAAK,WAAW,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;4BAC/E,CAAC,CAAC,CAAA;wBACJ,CAAC,EAAE,mBAAmB,CAAC,CAAA;wBAEvB,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;wBACjC,IAAI,CAAC;4BACH,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;4BAC5E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,CAAC,aAAa,EAAE,EAAE;gCAChB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oCAChC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;wCAC3C,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAA;wCACrB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;oCAC9C,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gCACpB,CAAC;gCACD,OAAO,UAAU,CAAC,OAAO,EAAE;oCACzB,QAAQ;oCACR,KAAK,EAAE,OAAO,CAAC,EAAE;oCACjB,OAAO,EAAE,OAAO,CAAC,IAAI;oCACrB,OAAO,EAAE,OAAO,CAAC,OAAO;oCACxB,sFAAsF;oCACtF,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI;wCACzG,CAAC,CAAC,MAAM;wCACR,CAAC,CAAC,KAAK;oCACT,KAAK,EAAE,OAAO,CAAC,OAAO;oCACtB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;oCAC3B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI;wCACnE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;wCACxF,CAAC,CAAC,IAAI;oCACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCAChF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;wCAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;wCAC/F,CAAC,CAAC,EAAE,CAAC;oCACP,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;iCAChC,CAAC,CAAA;4BACJ,CAAC,EACD,SAAS,EACT,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,EAAE,CACX,CAAA;4BACD,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;wBACvE,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,uFAAuF;4BACvF,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gCAC3B,IAAI,GAAG,YAAY,aAAa;oCAAE,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;qCAC5F,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;oCAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;oCAC/D,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;gCACrH,CAAC;qCACI,CAAC;oCACJ,MAAM,SAAS,GAAG,GAAG,YAAY,iBAAiB,CAAA;oCAClD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;oCACjI,IAAI,MAAM,EAAE,OAAO,KAAK,aAAa,EAAE,CAAC;wCACtC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAA;wCAC7E,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;oCACzG,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;gCAAS,CAAC;4BACT,aAAa,CAAC,iBAAiB,CAAC,CAAA;4BAChC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;wBAC5B,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;4BAAE,OAAM;wBAEnC,wBAAwB,EAAE,CAAA;wBAC1B,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;wBACjF,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,EAC7G,kBAAkB,CACnB,CAAA;wBAED,IAAI,wBAAwB,IAAI,2BAA2B,EAAE,CAAC;4BAC5D,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,EAChF,4BAA4B,MAAM,CAAC,wBAAwB,CAAC,6BAA6B,CAC1F,CAAA;4BACD,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;4BACvB,QAAQ,CAAC,KAAK,EAAE,CAAA;4BAChB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;4BACpB,OAAM;wBACR,CAAC;wBAED,MAAM,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC,CAAA;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;YAEtE,IAAI,WAAW,GAA0C,IAAI,CAAA;YAC7D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,CAAA;YAC7E,IAAI,eAAe;gBAAE,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;YAChH,IAAI,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChF,MAAM,gBAAgB,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;oBACxD,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;oBACtC,CAAC,CAAC,MAAM,CAAA;gBACV,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC7B,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;wBAC7C,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAA;wBACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAM;wBAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;wBACtF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;4BACvB,MAAM,IAAI,CAAC;gCACT,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,CAAC,CAAC,OAAO;gCAClB,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;6BAC1G,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACZ,CAAC;oBACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACf,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;wBAC7G,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;wBACtC,KAAK,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;oBACrD,CAAC,CAAC,CAAA;gBACJ,CAAC,EAAE,gBAAgB,CAAC,CAAA;gBACpB,WAAW,CAAC,KAAK,EAAE,CAAA;YACrB,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,QAAQ;gBAEd,YAAY,CAAC,GAAW;oBACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAC7B,4CAA4C,GAAG,+BAA+B;4BAC9E,eAAe,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI,CAC7D,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACpC,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,KAAmB;oBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,yBAAyB,CAAC,CAAA;oBAClG,KAAK,CAAC,aAAa,EAAE,CAAA;oBACrB,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;oBACvB,QAAQ,CAAC,KAAK,EAAE,CAAA;oBAEhB,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACzB,aAAa,CAAC,WAAW,CAAC,CAAA;wBAC1B,WAAW,GAAG,IAAI,CAAA;oBACpB,CAAC;oBAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBAC3B,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;oBAC5B,CAAC;oBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAA;oBAEhD,8DAA8D;oBAC9D,mEAAmE;oBACnE,iEAAiE;oBACjE,0CAA0C;oBAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;oBACxC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;oBACvG,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBACrC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC,CAAC;wBAC3E,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAA;oBACF,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;oBACtE,CAAC;oBAED,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,KAAK,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;wBAC5E,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAA;wBACzG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;oBACnE,CAAC;oBAED,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBACrB,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;wBACtC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,kEAAkE,CAAC,CAAA;wBAC9G,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;4BAC7B,KAAK,CAAC,OAAO,GAAG,aAAa,CAAA;4BAC7B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAC9B,mBAAmB,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,oEAAoE,CACxH,CAAC,CAAA;wBACJ,CAAC;wBACD,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;4BAC/B,IAAI,CAAC;gCACH,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oCAC1D,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;gCACnE,CAAC;4BACH,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAA;gCACjE,KAAK,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;4BAC1E,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;oBAC/C,CAAC;oBACD,KAAK,MAAM,OAAO,IAAI,aAAa;wBAAE,OAAO,EAAE,CAAA;oBAC9C,aAAa,EAAE,CAAA;gBACjB,CAAC;aACF,CAAA;QACH,CAAC;KACF,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,IAA0D;IAE1D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqD,CAAA;IAC1E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA0D;IACrF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,wGAAwG;gBACxG,cAAc;gBACd,oEAAoE,CACrE,CAAA;QACH,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,kCAAkC,GAAG,CAAC,IAAI,CAAC,OAAO,0BAA0B;gBAC5E,iFAAiF;gBACjF,sCAAsC,CACvC,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAqE,EACrE,QAA2B;IAE3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,gCAAgC,CAAC,CAAC,GAAG,0DAA0D;gBAC/F,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI;gBACvD,gGAAgG,CACjG,CAAA;QACH,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,6EAA6E,CAAC,CAAA;QACxH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACf,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA2B;IACzD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,IAA0D;IACjF,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAsC,EACtC,OAAkD,EAClD,gBAAkD;IAElD,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACvD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAA;IACnD,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAA;AAC7C,CAAC"}
|
|
@@ -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,
|
|
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
|
-
|
|
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;
|
|
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,
|
|
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;
|
|
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"}
|
package/dist/data/db/db.d.ts
CHANGED
|
@@ -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
|
package/dist/data/db/db.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/data/db/db.js
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
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;
|
package/dist/data/db/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/data/db/db.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/data/db/pool.d.ts
CHANGED
|
@@ -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
|