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
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.201.0
|
|
4
|
+
|
|
5
|
+
- **Fixed: a request answered with an error left no record of why in its trace** (#768). Every error response from a route now records one `http.error` step on the request's trace. It records:
|
|
6
|
+
- the method, the route pattern, the status and the error code;
|
|
7
|
+
- for a validation failure, each issue's `source` (`body`, `query`, `params` or `response`), `path` and message. Input values are never recorded.
|
|
8
|
+
- This covers 422 validation, 401 and 403 raised in a route, 429 rate-limit classes, 413 and 415 upload refusals, file-response errors, multipart client errors and 500s. The step's `error.detail` carries the facts, with the same redaction and bounds as other captures.
|
|
9
|
+
- Refusals that come before the request's trace opens still have no trace: the auth chain's 401, route screens, the multipart header check, and Fastify's own body-limit or bad-JSON errors.
|
|
10
|
+
- **Added: `ValidationError` carries `source` and `issues`** (`{ source, path, message }[]`), from the schema's real paths.
|
|
11
|
+
|
|
12
|
+
## 0.200.0
|
|
13
|
+
|
|
14
|
+
- **Added: platform mode, so tenant data is reached by no BYPASSRLS role at runtime** (#759).
|
|
15
|
+
- Set per database `systemUrl` / `systemTestUrl` and `rls.platformRole`. `pipe.system()` and pipework's own runtime connections then run on that platform role:
|
|
16
|
+
- trace, worker and queue, scheduler, health, quota, rate limits, faults, cache, RBAC and the storage sweep;
|
|
17
|
+
- the role must not be BYPASSRLS.
|
|
18
|
+
- Only `pipework migrate` and the trace-partition and audit-chain DDL use the owner. Pass `pool.getOrCreate(cfg, 'owner', '<label>')` there.
|
|
19
|
+
- Startup refuses a platform role that is SUPERUSER, has BYPASSRLS or does not match `rls.platformRole`. Without platform mode, behaviour is unchanged, and a database with `rls` logs one warning that its system channel bypasses RLS.
|
|
20
|
+
- **Added: doors, named cross-tenant reads.** `doors: { 'admission.ledger': { table, reason } }` generates a SELECT policy on that one table, `TO <platformRole>`. It opens only while `pipework.door` is set to the door's name.
|
|
21
|
+
- `pipe.door(name, db => …)` runs one transaction with the door set. Its `db` can read the door's table and non-tenant tables, and refuses any other tenant table and any write at build time.
|
|
22
|
+
- A tenant-table statement through `pipe.system()` in platform mode is refused at build time, naming the table and `pipe.door`.
|
|
23
|
+
- `pipework check` lists the doors and the runtime role.
|
|
24
|
+
- **Pipework's own doors:** `pipework.storage_sweep` (SELECT and DELETE on `storage_file`) and `pipework.queue.<table>` (SELECT and UPDATE, for queues with a tenant column). They are generated in platform mode. App door names may not start with `pipework.`.
|
|
25
|
+
- The storage sweep refuses, removing nothing, if its door's policies are missing.
|
|
26
|
+
- **Changed in platform mode only:**
|
|
27
|
+
- Cache loaders and RBAC resolution run with the tenant set.
|
|
28
|
+
- `pipe()` / `pipeRaw()` with no bound transaction refuses when a tenant is in context; use `pipe.transaction` or the request's transaction.
|
|
29
|
+
- `pipework db setup` creates the platform role and grants it the runtime privileges.
|
|
30
|
+
- **Not covered by doors:** limiting a door to some of a table's columns.
|
|
31
|
+
|
|
3
32
|
## 0.199.0
|
|
4
33
|
|
|
5
34
|
- **Added: a process that is not a pipework surface can record faults and loop beats** (#769). Before this, `alerts.recordFault` outside a Flow did nothing unless a worker surface had registered a target. Now:
|
package/REFERENCE.md
CHANGED
|
@@ -730,6 +730,59 @@ Database accessor — returns a Drizzle DB instance scoped to the current reques
|
|
|
730
730
|
|
|
731
731
|
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.
|
|
732
732
|
|
|
733
|
+
That holds where the database has no `rls.platformRole`. Where the owner role has BYPASSRLS, every system-channel statement bypasses row-level security; at startup a database with `rls` and no platform role logs one warning saying so (not an error).
|
|
734
|
+
|
|
735
|
+
With `rls.platformRole` set (platform mode), `pipe.system()` runs on the `systemUrl` connection, as that role, outside the request transaction. The role must have no SUPERUSER or BYPASSRLS; startup refuses a `systemUrl` role that has either, or whose `current_user` is not `rls.platformRole`. The handle refuses at build time any statement built over a tenant-scoped table, naming the table and pointing at `pipe.door`. A table with no tenant (auth registry, queues, `pipework_*` tables) reads and writes as before, on the role's grants. `db.execute(sql...)` cannot be inspected; a raw statement over a tenant table returns no rows, because no policy admits the platform role without a door. Under collapsed test isolation the same guards apply on the test connection.
|
|
736
|
+
|
|
737
|
+
### `pipe.door`
|
|
738
|
+
|
|
739
|
+
`pipe.door(name, fn, options?: { database? })` — a named cross-tenant read for platform work with no requesting tenant (sweeps, integrity checks, reaper reads). It needs an active Flow and `rls.platformRole` on the door's database; outside platform mode it throws, naming the database.
|
|
740
|
+
|
|
741
|
+
Declare each door in config, by name:
|
|
742
|
+
|
|
743
|
+
```ts
|
|
744
|
+
createManifold({
|
|
745
|
+
databases: {
|
|
746
|
+
app: {
|
|
747
|
+
url: 'DATABASE_URL',
|
|
748
|
+
systemUrl: 'SYSTEM_DATABASE_URL', // connection as the platform role
|
|
749
|
+
systemTestUrl: 'SYSTEM_DATABASE_URL_TEST',
|
|
750
|
+
rls: { platformRole: 'app_platform' }, // NOSUPERUSER NOBYPASSRLS
|
|
751
|
+
},
|
|
752
|
+
},
|
|
753
|
+
doors: {
|
|
754
|
+
'admission.ledger': { table: 'walk_job_costs', reason: 'admission reads every tenant\'s spend' },
|
|
755
|
+
},
|
|
756
|
+
})
|
|
757
|
+
|
|
758
|
+
const rows = await pipe.door('admission.ledger', db => db.select().from(walkJobCosts))
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
A door name is lowercase dotted words (`/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$/`). `table` is the SQL table name; `database` defaults to the default database; `reason` is required. Config refuses, at load: a door on a database with no `rls.platformRole`; `systemUrl` without `rls.platformRole`; `rls.platformRole` without `systemUrl`.
|
|
762
|
+
|
|
763
|
+
`pipework generate` writes, for each door, `CREATE POLICY "pipework_door_<name, . as __>" ON <table> AS PERMISSIVE FOR SELECT TO <platformRole> USING (current_setting('pipework.door', true) = '<name>')`. Doors are recorded in the migration snapshot: adding one, removing one, or changing its table or the platform role makes the next `generate` emit the matching `CREATE POLICY` or `DROP POLICY IF EXISTS`, even when no table changed. A door on a table that is not tenant-scoped in any definition is refused by name at generate: such a table is not row-secured and needs no door.
|
|
764
|
+
|
|
765
|
+
`fn(db)` runs in one transaction on the system connection; the transaction first runs `set_config('pipework.door', name, true)`, so the door is open for that transaction only, and `pipe.door` resolves with `fn`'s result. `db` allows `select` from the door's table and from any table with no tenant. It refuses at build time any other tenant-scoped table (naming the table and the door) and `insert`, `update` and `delete` on the door's table. An undeclared name throws, listing the declared doors. Column limiting is out of scope: a door opens the whole table to SELECT for the transaction. `pipework check` lists the declared doors as `name -> database.table: reason`.
|
|
766
|
+
|
|
767
|
+
**pipework's own doors.** Where the default database has `rls.platformRole` and the blueprint has `storage: {}`, pipework declares the door `pipework.storage_sweep` on `storage_file` itself. It is the only door that also deletes: `pipework generate` writes two policies for it, `FOR SELECT` and `FOR DELETE`, both `TO <platformRole>` and open on the door setting. It is recorded in the snapshot like an app door. App config may not declare a name starting `pipework.`; config refuses it. `pipework check` lists it, marked `(pipework's own)`. `storage.sweep()` runs its expiry delete, its read of referenced files and its per-object re-check (with the content lock) inside that door. Before listing any object it checks `pg_policy` for both policies and throws by name, removing nothing, if either is missing, because without the door the sweep would see no file referencing any object. Run `pipework generate` and `pipework migrate` after turning platform mode on. Outside platform mode the sweep is unchanged.
|
|
768
|
+
|
|
769
|
+
`pipework db setup` creates the platform role like the runtime role (LOGIN, a generated password, NOBYPASSRLS), grants it the same table and sequence privileges and default privileges, and writes `systemUrl`/`systemTestUrl` to `.env`. The test template creates `rls.platformRole` NOLOGIN, never BYPASSRLS, before its migrations run, and grants it to the test login. Under collapsed test isolation the door runs on the test connection, each statement bracketed with `pipework.door` and the test-only system policy open, so the test connection reads the door's table across tenants; the build-time guards are the same.
|
|
770
|
+
|
|
771
|
+
#### Platform mode: the runtime role
|
|
772
|
+
|
|
773
|
+
In platform mode a running manifold opens no connection on the database's owner role (`url`). `pool.getOrCreate(config)` with no role resolves to `'system'` (the platform role, `systemUrl`) where the database sets `rls.platformRole`, and to `'owner'` otherwise; `getOrCreate(config, 'owner', label)` still gives the owner, and in platform mode logs one info line naming `label`. `pool.ownerConnectionsCreated()` counts the owner connections a pool has created; a running platform-mode manifold keeps it at 0. `pipework check` prints `runtime role: <platformRole> (owner used only for: migrate, trace-partition-maintenance)`.
|
|
774
|
+
|
|
775
|
+
What runs on the platform role: trace open, flush, close, truncate and copy-on-error; faults, loop beats and alert sources; the worker's LISTEN, claim loop, reaper and scheduler; the step-graph dead letter; the storage sweep (through `pipework.storage_sweep`); startup and `/ready` database checks (and the startup connectivity probe, which dials `systemUrl`); quota; rate-limit classes; `AuthContext.db`; `pipework alerts stale` and `unit-fault`. Their tables carry no tenant column, or the framework policies (insert for anyone; read and update for a transaction that sets `pipework.maintenance`, which these paths already do). Their grants are the platform role's, written by `pipework db setup`.
|
|
776
|
+
|
|
777
|
+
Tenant tables are read with the tenant set. Where a database is in platform mode:
|
|
778
|
+
- cache loaders (`cache.create`, `cache.createTenant`) and RBAC resolution for a route's `.permission()` run their statements in a short transaction on the platform connection that first sets `rls.sessionVar` to the tenant (the Flow's, or for `cache.createTenant` the tenant asked for; for RBAC the request's). With no tenant in the Flow a cache loader runs on the platform connection as is, and tenant tables return nothing.
|
|
779
|
+
- `pipe()`, `pipeRaw()` and a handler's database dependency with no bound transaction use the pooled platform connection. With no tenant in the Flow they run as is: a table with no tenant reads, a tenant table returns nothing. With a tenant in the Flow they throw, naming `pipe.transaction` and the request or job transaction: the tenant setting is set per transaction, and a builder runs its statement unwrapped on the connection it was made from. Inside a request, a job or `pipe.transaction` the tenant is set as always.
|
|
780
|
+
- `inTenant`, which the access-link, storage, support and credits `...For` forms use, runs on the platform connection without the system channel's build-time guard, with the tenant set for the transaction.
|
|
781
|
+
|
|
782
|
+
A queue whose `exclusion.tenantColumn` is set has a tenant-secured table that claim and reap scan across tenants. In platform mode pipework declares the framework door `pipework.queue.<table>` for it, one of pipework's own doors (like `pipework.storage_sweep`, same snapshot `ops`, same `(pipework's own)` line in `pipework check`): `FOR SELECT` and `FOR UPDATE` policies (`..._update`) to the platform role that open while `pipework.door` names it. No DELETE: a queue never deletes a row. Queue tables register when a worker surface or step graph is constructed, so the door is declared from the loaded app, not from config. The worker runs claim, reap, heartbeat, complete, fail, later and hand-back through it, each in its own transaction with the door set. `queue.door` is its name, `null` for a queue with no tenant column. A scheduled job on a tenant-column queue cannot be enqueued by the scheduler (it has no tenant to give), as before.
|
|
783
|
+
|
|
784
|
+
The owner stays for DDL: `pipework migrate` and `pipework generate` (the migrate runner opens it as `migrate`), and trace and audit partition maintenance (`createTracePartitionStartupHook`, `scheduleTracePartitionMaintenance`, `syncTracePartitions`, `installAuditChain`, `retireAuditPartition`), which take the `db` the app hands them: pass `pool.getOrCreate(config, 'owner', 'trace-partition-maintenance')`. A manifold that must not hold the owner at runtime runs partition maintenance from a process that does. The `app` role still falls back to `url` when `appUrl` is unset; set `appUrl` so the request path is not the owner either.
|
|
785
|
+
|
|
733
786
|
### `pipe.filter`
|
|
734
787
|
|
|
735
788
|
Query operators and aggregates — eq, gt, lt, and, or, count, sum, etc.
|
package/dist/REFERENCE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Pipework API Reference
|
|
2
2
|
|
|
3
3
|
> Auto-generated from source JSDoc. Do not edit manually.
|
|
4
|
-
> Generated: 2026-10-
|
|
4
|
+
> Generated: 2026-10-22
|
|
5
5
|
|
|
6
6
|
## Contents
|
|
7
7
|
|
|
@@ -816,6 +816,10 @@ Acquires a transaction-scoped advisory lock. Released at commit/rollback.
|
|
|
816
816
|
|
|
817
817
|
Runs a function in a SERIALIZABLE transaction with automatic retry on serialization failures and deadlocks.
|
|
818
818
|
|
|
819
|
+
### `pipe.withTimeouts`
|
|
820
|
+
|
|
821
|
+
Sets statement_timeout and/or lock_timeout for the current transaction in one statement, then runs fn; a statement cancelled for them rejects with StatementTimeoutError or LockTimeoutError.
|
|
822
|
+
|
|
819
823
|
### `pipe.bulkSet`
|
|
820
824
|
|
|
821
825
|
Bulk UPDATE ... FROM (VALUES ...) — updates multiple rows with per-row values in a single statement.
|
|
@@ -824,6 +828,10 @@ Bulk UPDATE ... FROM (VALUES ...) — updates multiple rows with per-row values
|
|
|
824
828
|
|
|
825
829
|
Produces a typed VALUES clause for bulk operations — the base primitive for bulkSet and bulkUpsert.
|
|
826
830
|
|
|
831
|
+
### `pipe.fn`
|
|
832
|
+
|
|
833
|
+
A set-returning SQL function as a typed source for `.from()` and joins — `pipe.fn('schema.f', { args: [field.uuid()], columns: { path: field.text() } })`. Arguments are bound and cast to their declared types.
|
|
834
|
+
|
|
827
835
|
### `pipe.field`
|
|
828
836
|
|
|
829
837
|
Field builders for domain definitions — uuid(), text(), integer(), etc.
|
|
@@ -836,6 +844,10 @@ Registers a domain definition with table, validators, and factory projections. T
|
|
|
836
844
|
|
|
837
845
|
Returns the global registry of all domain definitions.
|
|
838
846
|
|
|
847
|
+
### `pipe.external`
|
|
848
|
+
|
|
849
|
+
Declares a table or view another service owns (`pipe.external(name, fields, { schema, table? })`): typed columns and every query operator, read-only, never migrated, not tenant-scoped.
|
|
850
|
+
|
|
839
851
|
### `pipe.update`
|
|
840
852
|
|
|
841
853
|
Pipework-owned UPDATE builder — the only consumer-facing way to update pipework-managed tables (Q8).
|
|
@@ -866,12 +878,54 @@ interface WindowSpec
|
|
|
866
878
|
interface ValueColumnDef
|
|
867
879
|
```
|
|
868
880
|
|
|
881
|
+
**`JsonbElements`** — A jsonb array read as its elements' text. Produced by {@link jsonbElements}.
|
|
882
|
+
|
|
883
|
+
```typescript
|
|
884
|
+
interface JsonbElements
|
|
885
|
+
```
|
|
886
|
+
|
|
887
|
+
**`ArraySource`** — Something whose elements `arrayAny` / `arrayAll` can test.
|
|
888
|
+
|
|
889
|
+
```typescript
|
|
890
|
+
type ArraySource =
|
|
891
|
+
```
|
|
892
|
+
|
|
893
|
+
**`ElementOf`** — The element type of an {@link ArraySource}.
|
|
894
|
+
|
|
895
|
+
```typescript
|
|
896
|
+
type ElementOf<S> =
|
|
897
|
+
```
|
|
898
|
+
|
|
899
|
+
**`FunctionSpec`** — Declares a SQL function's argument and result-column shapes. See {@link fn}.
|
|
900
|
+
|
|
901
|
+
```typescript
|
|
902
|
+
interface FunctionSpec<TArgs extends readonly AnyField[], TColumns extends Record<string, AnyField>>
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
**`FunctionSourceFields`** — The selected fields of a function source: each result column as a typed SQL expression.
|
|
906
|
+
|
|
907
|
+
```typescript
|
|
908
|
+
type FunctionSourceFields<TColumns extends Record<string, AnyField>> =
|
|
909
|
+
```
|
|
910
|
+
|
|
911
|
+
**`FunctionSource`** — A function call usable in `.from()` and joins; its result columns are properties of it.
|
|
912
|
+
|
|
913
|
+
```typescript
|
|
914
|
+
type FunctionSource<TAlias extends string, TColumns extends Record<string, AnyField>> =
|
|
915
|
+
```
|
|
916
|
+
|
|
869
917
|
**`SerializableOptions`** — Retry policy for {@link serializable}: how many attempts on a serialization failure / deadlock, and the base backoff between them.
|
|
870
918
|
|
|
871
919
|
```typescript
|
|
872
920
|
interface SerializableOptions
|
|
873
921
|
```
|
|
874
922
|
|
|
923
|
+
**`TimeoutOptions`** — Which timeouts {@link withTimeouts} sets; each a positive integer number of milliseconds.
|
|
924
|
+
|
|
925
|
+
```typescript
|
|
926
|
+
interface TimeoutOptions
|
|
927
|
+
```
|
|
928
|
+
|
|
875
929
|
**`ManagedConnection`** — A standalone pooled connection: the raw postgres.js client, its drizzle handle, and a `close()` that ends the pool.
|
|
876
930
|
|
|
877
931
|
```typescript
|
|
@@ -892,6 +946,10 @@ JSONB query operators — typed helpers for PostgreSQL JSONB containment, key ch
|
|
|
892
946
|
|
|
893
947
|
The @> containment operator — tests whether a JSONB column contains the given value.
|
|
894
948
|
|
|
949
|
+
### `jsonb.merge`
|
|
950
|
+
|
|
951
|
+
Merges an object into a JSONB column in `.set()`: `coalesce(col, '{}') || value`. Top-level keys overwrite; others are kept.
|
|
952
|
+
|
|
895
953
|
### `jsonb.containedBy`
|
|
896
954
|
|
|
897
955
|
The <@ contained-by operator — tests whether a JSONB column is contained by the given value.
|
|
@@ -958,6 +1016,60 @@ type Schema<T = unknown> = z.ZodType<T>
|
|
|
958
1016
|
type Infer<T extends Schema> = z.infer<T>
|
|
959
1017
|
```
|
|
960
1018
|
|
|
1019
|
+
**`StringSchema`** — A string validator — what check.string() returns, nameable without importing zod.
|
|
1020
|
+
|
|
1021
|
+
```typescript
|
|
1022
|
+
interface StringSchema extends z.ZodString
|
|
1023
|
+
```
|
|
1024
|
+
|
|
1025
|
+
**`NumberSchema`** — A number validator — what check.number() returns.
|
|
1026
|
+
|
|
1027
|
+
```typescript
|
|
1028
|
+
interface NumberSchema extends z.ZodNumber
|
|
1029
|
+
```
|
|
1030
|
+
|
|
1031
|
+
**`BooleanSchema`** — A boolean validator — what check.boolean() returns.
|
|
1032
|
+
|
|
1033
|
+
```typescript
|
|
1034
|
+
interface BooleanSchema extends z.ZodBoolean
|
|
1035
|
+
```
|
|
1036
|
+
|
|
1037
|
+
**`EnumSchema`** — An enum validator over string literals — what check.enum([...]) returns.
|
|
1038
|
+
|
|
1039
|
+
```typescript
|
|
1040
|
+
interface EnumSchema<V extends string = string> extends z.ZodEnum<
|
|
1041
|
+
```
|
|
1042
|
+
|
|
1043
|
+
**`LiteralSchema`** — A literal validator — what check.literal(v) returns.
|
|
1044
|
+
|
|
1045
|
+
```typescript
|
|
1046
|
+
interface LiteralSchema<V extends string | number | boolean | null = string> extends z.ZodLiteral<V>
|
|
1047
|
+
```
|
|
1048
|
+
|
|
1049
|
+
**`ArraySchema`** — An array validator — what check.array(item) returns.
|
|
1050
|
+
|
|
1051
|
+
```typescript
|
|
1052
|
+
interface ArraySchema<Item extends z.core.SomeType = z.core.SomeType> extends z.ZodArray<Item>
|
|
1053
|
+
```
|
|
1054
|
+
|
|
1055
|
+
**`OptionalSchema`** — An optional validator — what check.optional(inner) returns.
|
|
1056
|
+
|
|
1057
|
+
```typescript
|
|
1058
|
+
interface OptionalSchema<Inner extends z.core.SomeType = z.core.SomeType> extends z.ZodOptional<Inner>
|
|
1059
|
+
```
|
|
1060
|
+
|
|
1061
|
+
**`NullableSchema`** — A nullable validator — what check.nullable(inner) returns.
|
|
1062
|
+
|
|
1063
|
+
```typescript
|
|
1064
|
+
interface NullableSchema<Inner extends z.core.SomeType = z.core.SomeType> extends z.ZodNullable<Inner>
|
|
1065
|
+
```
|
|
1066
|
+
|
|
1067
|
+
**`ObjectSchema`** — An object validator whose .extend, .pick, .omit and .partial results stay ObjectSchema — what check.object({...}) returns.
|
|
1068
|
+
|
|
1069
|
+
```typescript
|
|
1070
|
+
type ObjectSchema<S extends Shape = Shape> =
|
|
1071
|
+
```
|
|
1072
|
+
|
|
961
1073
|
## temporal — Bitemporal Data
|
|
962
1074
|
|
|
963
1075
|
Temporal (bitemporal) data namespace — version history with effective date ranges.
|
|
@@ -1474,7 +1586,11 @@ interface RateLimitConfig
|
|
|
1474
1586
|
interface RateLimitWindow
|
|
1475
1587
|
```
|
|
1476
1588
|
|
|
1477
|
-
**`RateLimitClass`**
|
|
1589
|
+
**`RateLimitClass`**
|
|
1590
|
+
|
|
1591
|
+
A named limit class: any of a per-user, per-tenant, per-address and total window, each counted on its own.
|
|
1592
|
+
Each key takes one window or an array of windows (distinct `windowSeconds`); a request is counted against
|
|
1593
|
+
all of a key's windows and refused if any is over.
|
|
1478
1594
|
|
|
1479
1595
|
```typescript
|
|
1480
1596
|
interface RateLimitClass
|
|
@@ -1490,8 +1606,8 @@ interface RateLimitRefusal
|
|
|
1490
1606
|
|
|
1491
1607
|
Named limit classes, checked after auth and counted in Postgres (`pipework_rate_limit_counts`, opted in
|
|
1492
1608
|
with the blueprint's `rateLimits: {}`), so every server process on the same database shares one count.
|
|
1493
|
-
|
|
1494
|
-
refused requests don't spend the tenant's budget. A route is in `signedIn` (auth required, or optional with
|
|
1609
|
+
Keys are counted perUser, perTenant, perAddress, total in turn, up to the first key with a window over its max, so one user's
|
|
1610
|
+
refused requests don't spend the tenant's budget. The 429's Retry-After is the longest wait of the windows that refused. A route is in `signedIn` (auth required, or optional with
|
|
1495
1611
|
a user), `public` (no auth, or optional without a user) or the class its fitting names with `.rateLimit(name)`.
|
|
1496
1612
|
|
|
1497
1613
|
```typescript
|
|
@@ -1643,15 +1759,20 @@ interface TraceTree
|
|
|
1643
1759
|
|
|
1644
1760
|
## data
|
|
1645
1761
|
|
|
1646
|
-
### `
|
|
1762
|
+
### `StatementTimeoutError`
|
|
1763
|
+
|
|
1764
|
+
A statement was cancelled by Postgres for running past the statement timeout a {@link withTimeouts} call set. `cause` is the driver error.
|
|
1765
|
+
|
|
1766
|
+
```typescript
|
|
1767
|
+
class StatementTimeoutError extends Error constructor(readonly statementTimeoutMs: number, cause: unknown)
|
|
1768
|
+
```
|
|
1769
|
+
|
|
1770
|
+
### `LockTimeoutError`
|
|
1647
1771
|
|
|
1648
|
-
|
|
1649
|
-
sanctioned door for contexts where `pipe()` structurally cannot resolve:
|
|
1650
|
-
`worker_threads`, detached monitors, one-off scripts. Callers own the
|
|
1651
|
-
lifecycle: always `await conn.close()`.
|
|
1772
|
+
A statement gave up waiting for a lock past the lock timeout a {@link withTimeouts} call set. `cause` is the driver error.
|
|
1652
1773
|
|
|
1653
1774
|
```typescript
|
|
1654
|
-
|
|
1775
|
+
class LockTimeoutError extends Error constructor(readonly lockTimeoutMs: number, cause: unknown)
|
|
1655
1776
|
```
|
|
1656
1777
|
|
|
1657
1778
|
## request
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ResolvedDoor } from '../../core/config/load.js';
|
|
2
|
+
/** The framework door a tenant-column queue table's claim, reap, heartbeat and complete run through. */
|
|
3
|
+
export declare function queueDoorName(table: string): string;
|
|
4
|
+
/** A queue only selects and updates its rows: it never deletes one. */
|
|
5
|
+
export declare function queueFrameworkDoor(table: string, database: string): ResolvedDoor;
|
|
6
|
+
/**
|
|
7
|
+
* The queue doors pipework declares: one per registered queue table with a
|
|
8
|
+
* tenant column, where the default database sets `rls.platformRole`. Queue
|
|
9
|
+
* tables register when a worker surface or graph is constructed, so ask after
|
|
10
|
+
* the app's modules are loaded.
|
|
11
|
+
*/
|
|
12
|
+
export declare function queueFrameworkDoors(config: {
|
|
13
|
+
defaultDatabaseName(): string;
|
|
14
|
+
database(name?: string): {
|
|
15
|
+
readonly rls?: {
|
|
16
|
+
readonly platformRole?: string;
|
|
17
|
+
} | undefined;
|
|
18
|
+
};
|
|
19
|
+
}): Record<string, ResolvedDoor>;
|
|
20
|
+
//# sourceMappingURL=queue-door.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-door.d.ts","sourceRoot":"","sources":["../../../src/async/jobs/queue-door.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAI7D,wGAAwG;AACxG,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAMhF;AAKD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,mBAAmB,IAAI,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;YAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC3F,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAa/B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { queueDefinitions } from './table.js';
|
|
2
|
+
/** The framework door a tenant-column queue table's claim, reap, heartbeat and complete run through. */
|
|
3
|
+
export function queueDoorName(table) {
|
|
4
|
+
return `pipework.queue.${table}`;
|
|
5
|
+
}
|
|
6
|
+
/** A queue only selects and updates its rows: it never deletes one. */
|
|
7
|
+
export function queueFrameworkDoor(table, database) {
|
|
8
|
+
return Object.freeze({
|
|
9
|
+
name: queueDoorName(table), table, database,
|
|
10
|
+
reason: 'the queue claims, reaps and completes jobs across tenants',
|
|
11
|
+
framework: true, ops: ['select', 'update'],
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
const hasTenant = (definition) => Object.values(definition.$fields).some(field => field._meta.tenant === true);
|
|
15
|
+
/**
|
|
16
|
+
* The queue doors pipework declares: one per registered queue table with a
|
|
17
|
+
* tenant column, where the default database sets `rls.platformRole`. Queue
|
|
18
|
+
* tables register when a worker surface or graph is constructed, so ask after
|
|
19
|
+
* the app's modules are loaded.
|
|
20
|
+
*/
|
|
21
|
+
export function queueFrameworkDoors(config) {
|
|
22
|
+
const out = {};
|
|
23
|
+
let database;
|
|
24
|
+
try {
|
|
25
|
+
database = config.defaultDatabaseName();
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
if (config.database(database).rls?.platformRole === undefined)
|
|
31
|
+
return out;
|
|
32
|
+
for (const [table, definition] of queueDefinitions()) {
|
|
33
|
+
if (hasTenant(definition))
|
|
34
|
+
out[queueDoorName(table)] = queueFrameworkDoor(table, database);
|
|
35
|
+
}
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=queue-door.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-door.js","sourceRoot":"","sources":["../../../src/async/jobs/queue-door.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,wGAAwG;AACxG,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,kBAAkB,KAAK,EAAE,CAAA;AAClC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,QAAgB;IAChE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ;QAC3C,MAAM,EAAE,2DAA2D;QACnE,SAAS,EAAE,IAAa,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAU;KAC7D,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,UAAwB,EAAW,EAAE,CACtD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAGnC;IACC,MAAM,GAAG,GAAiC,EAAE,CAAA;IAC5C,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IACzE,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACrD,IAAI,SAAS,CAAC,UAAU,CAAC;YAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -141,6 +141,11 @@ export interface QueueTotals {
|
|
|
141
141
|
export interface Queue {
|
|
142
142
|
/** The queue table as a pipe.define() definition — `pipework generate` emits its DDL. */
|
|
143
143
|
readonly definition: DefinedTable;
|
|
144
|
+
/**
|
|
145
|
+
* The framework door (`pipework.queue.<table>`) that claim, reap, heartbeat and complete need on a platform-mode
|
|
146
|
+
* database; null when the queue has no `exclusion.tenantColumn`, whose table is not row-secured by tenant.
|
|
147
|
+
*/
|
|
148
|
+
readonly door: string | null;
|
|
144
149
|
enqueue(db: DB, opts: EnqueueOptions): Promise<string>;
|
|
145
150
|
/** Claims the next eligible job (of one of `types`, when given), retrying transient conflicts until clean. The signal ends the retry loop on shutdown — claim resolves null promptly. */
|
|
146
151
|
claim(db: DB, workerId: string, signal?: AbortSignal, types?: readonly string[], release?: string | null): Promise<ClaimedJob | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/async/jobs/queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAO,MAAM,wBAAwB,CAAA;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/async/jobs/queue.ts"],"names":[],"mappings":"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"}
|
package/dist/async/jobs/queue.js
CHANGED
|
@@ -8,6 +8,7 @@ import { resolveExclusion, exclusionClaimClause } from './exclusion.js';
|
|
|
8
8
|
import { openClaim, closeClaim, parseClaims } from './claims.js';
|
|
9
9
|
import { serializeError } from './serialize-error.js';
|
|
10
10
|
import { queueDefinition, registerProgressColumn } from './table.js';
|
|
11
|
+
import { queueDoorName } from './queue-door.js';
|
|
11
12
|
import { getContext } from '../../request/context/store.js';
|
|
12
13
|
import { resolveActorId } from '../../data/write/audit/actor.js';
|
|
13
14
|
import { getBaseLogger } from '../../core/logging/index.js';
|
|
@@ -469,6 +470,7 @@ export function createQueue(config = {}) {
|
|
|
469
470
|
const sched = createScheduler({ enqueue }, tableQ);
|
|
470
471
|
return {
|
|
471
472
|
definition,
|
|
473
|
+
door: exclusion?.tenantColumn !== undefined ? queueDoorName(table) : null,
|
|
472
474
|
onDeadLetter(listener) {
|
|
473
475
|
deadLetterListeners.add(listener);
|
|
474
476
|
return () => { deadLetterListeners.delete(listener); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/async/jobs/queue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/async/jobs/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import type { DB } from '../../data/db/index.js';
|
|
2
2
|
import type { Flow } from '../../request/context/types.js';
|
|
3
|
+
import type { Manifold } from '../../core/pipework.js';
|
|
3
4
|
/**
|
|
4
|
-
* Runs `fn` in a transaction on the
|
|
5
|
+
* Runs `fn` in a transaction on the system connection with the tenant session
|
|
5
6
|
* variable set for that transaction only — the same `set_config(..., true)` the
|
|
6
7
|
* request path uses, so the tenant policies apply as they do for any tenant
|
|
7
8
|
* write. For callers with no tenant in the Flow (public routes, webhooks) that
|
|
8
9
|
* have been told which tenant to act for.
|
|
9
10
|
*/
|
|
10
11
|
export declare function inTenant<T>(flow: Flow, tenantId: string, fn: (tx: DB) => Promise<T>): Promise<T>;
|
|
12
|
+
/**
|
|
13
|
+
* For framework code that reads tenant tables from outside a bound transaction
|
|
14
|
+
* (cache loaders, RBAC resolution). Where the database is not in platform mode
|
|
15
|
+
* it hands `fn` the pooled connection, as before. In platform mode the pooled
|
|
16
|
+
* connection is the platform role, which sees no tenant row until the session
|
|
17
|
+
* variable is set, so `fn` runs in a short transaction with it set to `tenant`.
|
|
18
|
+
* With no tenant (`null`) `fn` runs on the platform connection as is, and
|
|
19
|
+
* tenant tables return nothing: fail closed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function withTenantSetting<T>(instance: Manifold, dbName: string, tenant: string | null, fn: (db: DB) => Promise<T>): Promise<T>;
|
|
11
22
|
//# sourceMappingURL=in-tenant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-tenant.d.ts","sourceRoot":"","sources":["../../../src/auth/tenant/in-tenant.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"in-tenant.d.ts","sourceRoot":"","sources":["../../../src/auth/tenant/in-tenant.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAWtD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAItG;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC,CAMZ"}
|