pipework 0.207.0 → 0.208.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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.208.0
4
+
5
+ - **Fixed: a write was audited once per `@touches` target on its entity, whatever the verb** (#788). A step declaring `X:create` and `X:update` wrote a `create` and an `update` row for each insert, and again for each update. Each row a write affects is now recorded under the step's touches whose verb is the row's verb: an insert is `create`, an update `update`, a delete `delete`, and an upsert row `create` when it was new and `update` when it existed. With no touch of that verb, the row is recorded under the step's custom-verb touches (any verb but `create`, `update`, `delete`, `read`), else under its touches other than `read` (so a step declaring only `X:update` still records an upsert's new row as `update`), else under its `read` touches. A write to an entity counts for every touch on that entity, so none of them also gets a read row at step end, and a nested step's write counts for each enclosing step that declares the same touch. **Behavior change:** a step whose touches include the write's verb no longer records the write under its other touches on that entity.
6
+
3
7
  ## 0.207.0
4
8
 
5
9
  - **Fixed: queue ops threw on a fitting's tenant-scoped handle** (#786). `enqueue`, `enqueueAndWait`, `cancel`, `retryNow`, `flowOf`, `waitFor`, `requeueDeadLetter` and `totals` now run on the handle a fitting gets from `.use('app')` or `pipe()` under a tenant, on the caller's transaction, confined to that tenant's jobs (`flow_tenant`): another tenant's job behaves as a missing one, and enqueuing for another tenant throws. The worker and schedule ops (`claim`, `heartbeat`, `complete`, `fail`, `failAttempt`, `later`, `handBack`, `reap`, `schedule`, `syncSchedules`, `fireSchedule`, `runDueSchedules`, `unschedule`, `listSchedules`, `startScheduler`) act across tenants and now refuse a scoped handle up front, naming the unscoped handle to pass. The same holds across APIs that take a `DB`: `pipe.advisoryLock`, `pipe.tryAdvisoryLock` and `pipe.withTimeouts` run on a scoped handle; `pipe.bulkSet`, webhook `send` / `registerEndpoint` / `listEndpoints` / `removeEndpoint`, idempotency `find` / `lock` / `complete` / `remove`, `mail.send` and step graphs run confined to its tenant; webhook `deliver` / `processPending`, idempotency `cleanup`, `mail.sentTo`, `sessions`, `emailLinks`, `multiOrg` and pipelines refuse it with that error instead of the generic `execute()` one. `.execute()` on a scoped handle still throws, and unscoped handles behave as before.
@@ -15,8 +15,15 @@ export declare function buildEntityIdExpr(table: DefinedTable<any>, alias: strin
15
15
  */
16
16
  export interface AuditSelectContext {
17
17
  readonly step: ActiveAuditStep;
18
- /** The step's touches that match the written table — one audit row per affected row per touch. */
18
+ /** The touches the write is recorded under — one audit row per affected row per touch. */
19
19
  readonly touches: readonly MetaTouch[];
20
+ /** Upsert only: which touches take newly inserted rows (`create`) and which take updated rows (`update`). Absent: every touch takes every row. */
21
+ readonly split?: {
22
+ readonly create: readonly MetaTouch[];
23
+ readonly update: readonly MetaTouch[];
24
+ } | undefined;
25
+ /** The touches the executor marks written once the write lands. */
26
+ readonly written: readonly MetaTouch[];
20
27
  /** `auth?.userId`, or null when the trace ran without an authenticated principal. */
21
28
  readonly actorId: string | null;
22
29
  /** `flow.tenant`, or null when the entry was not tenant-scoped. */
@@ -34,5 +41,7 @@ export interface AuditSelectContext {
34
41
  * JOIN before b ON ...`), `before` / `after` are the per-row jsonb
35
42
  * expressions to project (or `NULL::jsonb` when the half doesn't apply).
36
43
  */
37
- export declare function buildAuditInserts(ctx: AuditSelectContext, from: SQL, entityId: SQL, before: SQL, after: SQL): SQL;
44
+ export declare function buildAuditInserts(ctx: AuditSelectContext, from: SQL, entityId: SQL, before: SQL, after: SQL,
45
+ /** Optional per-touch predicate appended to that touch's SELECT as a WHERE. */
46
+ rowFilter?: (touch: MetaTouch) => SQL | null): SQL;
38
47
  //# sourceMappingURL=audit-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-select.d.ts","sourceRoot":"","sources":["../../../../src/data/write/audit/audit-select.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAE/B,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,MAAM,GACZ,GAAG,CAOL;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,kGAAkG;IAClG,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;IACtC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG,GACT,GAAG,CAyBL"}
1
+ {"version":3,"file":"audit-select.d.ts","sourceRoot":"","sources":["../../../../src/data/write/audit/audit-select.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAE/B,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,MAAM,GACZ,GAAG,CAOL;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;IACtC,kJAAkJ;IAClJ,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IAC7G,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;IACtC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG;AACV,+EAA+E;AAC/E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,GAAG,IAAI,GAC3C,GAAG,CA0BL"}
@@ -42,7 +42,9 @@ table, alias) {
42
42
  * JOIN before b ON ...`), `before` / `after` are the per-row jsonb
43
43
  * expressions to project (or `NULL::jsonb` when the half doesn't apply).
44
44
  */
45
- export function buildAuditInserts(ctx, from, entityId, before, after) {
45
+ export function buildAuditInserts(ctx, from, entityId, before, after,
46
+ /** Optional per-touch predicate appended to that touch's SELECT as a WHERE. */
47
+ rowFilter) {
46
48
  const capturedInputs = ctx.step.capturedInputs;
47
49
  const capturedJson = capturedInputs === null
48
50
  ? sql `NULL::jsonb`
@@ -63,7 +65,12 @@ export function buildAuditInserts(ctx, from, entityId, before, after) {
63
65
  ${capturedJson},
64
66
  now()
65
67
  ${from}
68
+ ${filterFor(rowFilter, t)}
66
69
  `);
67
70
  return sql.join(selects, sql ` UNION ALL `);
68
71
  }
72
+ function filterFor(rowFilter, t) {
73
+ const f = rowFilter?.(t) ?? null;
74
+ return f === null ? sql `` : sql `WHERE ${f}`;
75
+ }
69
76
  //# sourceMappingURL=audit-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-select.js","sourceRoot":"","sources":["../../../../src/data/write/audit/audit-select.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,wEAAwE;AACxE,4EAA4E;AAC5E,2EAA2E;AAC3E,uCAAuC;AACvC,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAE1E,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAIrC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAG9D;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;AAC/B,yFAAyF;AACzF,KAAwB,EACxB,KAAa;IAEb,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA,YAAY,CAAA;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7F,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC/D,CAAC;AAiBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAuB,EACvB,IAAS,EACT,QAAa,EACb,MAAW,EACX,KAAU;IAEV,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAA;IAC9C,MAAM,YAAY,GAAG,cAAc,KAAK,IAAI;QAC1C,CAAC,CAAC,GAAG,CAAA,aAAa;QAClB,CAAC,CAAC,GAAG,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAA;IAEjD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA;;;QAGlC,GAAG,CAAC,IAAI,CAAC,QAAQ;QACjB,GAAG,CAAC,IAAI,CAAC,OAAO;QAChB,GAAG,CAAC,IAAI,CAAC,MAAM;QACf,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,OAAO;QACX,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI;QACN,QAAQ;QACR,MAAM;QACN,KAAK;QACL,YAAY;;MAEd,IAAI;GACP,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAA,aAAa,CAAC,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"audit-select.js","sourceRoot":"","sources":["../../../../src/data/write/audit/audit-select.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,wEAAwE;AACxE,4EAA4E;AAC5E,2EAA2E;AAC3E,uCAAuC;AACvC,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAE1E,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAIrC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAG9D;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;AAC/B,yFAAyF;AACzF,KAAwB,EACxB,KAAa;IAEb,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA,YAAY,CAAA;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7F,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC/D,CAAC;AAqBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAuB,EACvB,IAAS,EACT,QAAa,EACb,MAAW,EACX,KAAU;AACV,+EAA+E;AAC/E,SAA4C;IAE5C,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAA;IAC9C,MAAM,YAAY,GAAG,cAAc,KAAK,IAAI;QAC1C,CAAC,CAAC,GAAG,CAAA,aAAa;QAClB,CAAC,CAAC,GAAG,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAA;IAEjD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA;;;QAGlC,GAAG,CAAC,IAAI,CAAC,QAAQ;QACjB,GAAG,CAAC,IAAI,CAAC,OAAO;QAChB,GAAG,CAAC,IAAI,CAAC,MAAM;QACf,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,OAAO;QACX,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI;QACN,QAAQ;QACR,MAAM;QACN,KAAK;QACL,YAAY;;MAEd,IAAI;MACJ,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;GAC1B,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAA,aAAa,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,SAAqD,EAAE,CAAY;IACpF,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAChC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,SAAS,CAAC,EAAE,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { MetaTouch } from '../../../trace/runtime/step-meta.js';
2
+ export type RowVerb = 'create' | 'update' | 'delete';
3
+ export declare function selectTouches(matched: readonly MetaTouch[], verb: RowVerb): MetaTouch[];
4
+ export interface WriteSelection {
5
+ /** Touches that get audit rows, in declaration order. */
6
+ readonly touches: MetaTouch[];
7
+ /** Upsert only: the touches that take rows `before` did not match / did match. */
8
+ readonly split?: {
9
+ readonly create: readonly MetaTouch[];
10
+ readonly update: readonly MetaTouch[];
11
+ } | undefined;
12
+ /** Touches to mark as written: every matched touch. */
13
+ readonly written: MetaTouch[];
14
+ }
15
+ export declare function selectForWrite(matched: readonly MetaTouch[], writeVerb: 'insert' | 'update' | 'delete' | 'upsert'): WriteSelection;
16
+ //# sourceMappingURL=verb-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verb-select.d.ts","sourceRoot":"","sources":["../../../../src/data/write/audit/verb-select.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAEpE,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAIpD,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,CAOvF;AAED,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAA;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IAC7G,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAA;CAC9B;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAalI"}
@@ -0,0 +1,35 @@
1
+ // Chooses which of a step's entity-matched touches a write is recorded under.
2
+ //
3
+ // A row's verb is `create` (insert, or an upsert row `before` did not match),
4
+ // `update`, or `delete`. Among the matched touches:
5
+ // 1. those whose verb is exactly the row's verb, if any;
6
+ // 2. else those whose verb is not create/update/delete/read (custom verbs);
7
+ // 3. else all matched touches but `read` ones, or all when only `read` ones match.
8
+ // A write marks every matched touch written, so none of them also gets a read row.
9
+ const NOT_CUSTOM = new Set(['create', 'update', 'delete', 'read']);
10
+ export function selectTouches(matched, verb) {
11
+ const exact = matched.filter(t => t.verb === verb);
12
+ if (exact.length > 0)
13
+ return exact;
14
+ const custom = matched.filter(t => !NOT_CUSTOM.has(t.verb));
15
+ if (custom.length > 0)
16
+ return custom;
17
+ const writes = matched.filter(t => t.verb !== 'read');
18
+ return writes.length > 0 ? writes : [...matched];
19
+ }
20
+ export function selectForWrite(matched, writeVerb) {
21
+ let touches;
22
+ let split;
23
+ if (writeVerb === 'upsert') {
24
+ const create = selectTouches(matched, 'create');
25
+ const update = selectTouches(matched, 'update');
26
+ touches = matched.filter(t => create.includes(t) || update.includes(t));
27
+ split = { create, update };
28
+ }
29
+ else {
30
+ touches = selectTouches(matched, writeVerb === 'insert' ? 'create' : writeVerb);
31
+ }
32
+ const written = [...matched];
33
+ return { touches, split, written };
34
+ }
35
+ //# sourceMappingURL=verb-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verb-select.js","sourceRoot":"","sources":["../../../../src/data/write/audit/verb-select.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,oDAAoD;AACpD,2DAA2D;AAC3D,8EAA8E;AAC9E,qFAAqF;AACrF,mFAAmF;AAMnF,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;AAEvF,MAAM,UAAU,aAAa,CAAC,OAA6B,EAAE,IAAa;IACxE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;IACrD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;AAClD,CAAC;AAWD,MAAM,UAAU,cAAc,CAAC,OAA6B,EAAE,SAAoD;IAChH,IAAI,OAAoB,CAAA;IACxB,IAAI,KAA8B,CAAA;IAClC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACvE,KAAK,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verb-upsert.d.ts","sourceRoot":"","sources":["../../../../src/data/write/audit/verb-upsert.ts"],"names":[],"mappings":"AAYA,OAAO,EAAwC,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGjG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,GAAG,GAAG,CA2E7F"}
1
+ {"version":3,"file":"verb-upsert.d.ts","sourceRoot":"","sources":["../../../../src/data/write/audit/verb-upsert.ts"],"names":[],"mappings":"AAYA,OAAO,EAAwC,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGjG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAI7C,KAAK,KAAK,GAAG,GAAG,CAAA;AAEhB,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,GAAG,GAAG,CAoF7F"}
@@ -66,7 +66,17 @@ export function compileUpsertAudit(db, state, ctx) {
66
66
  const after = buildTraceSafeProjection(state.table, 'upserted') ?? sql `NULL::jsonb`;
67
67
  const beforeExpr = sql `CASE WHEN ${sql.raw(`before.${pivotCol}`)} IS NULL THEN NULL::jsonb ELSE (${beforeProj}) END`;
68
68
  const fromClause = sql.raw(`FROM upserted LEFT JOIN before ON ${joinOn}`);
69
- const auditSelect = buildAuditInserts(ctx, fromClause, buildEntityIdExpr(state.table, 'upserted'), beforeExpr, after);
69
+ // A touch in only the create set takes rows `before` did not match; only the
70
+ // update set, rows it did; in both (or no split), every row.
71
+ const split = ctx.split;
72
+ const rowFilter = split === undefined ? undefined : (t) => {
73
+ const c = split.create.includes(t);
74
+ const u = split.update.includes(t);
75
+ if (c === u)
76
+ return null;
77
+ return sql.raw(`before.${pivotCol} IS ${c ? '' : 'NOT '}NULL`);
78
+ };
79
+ const auditSelect = buildAuditInserts(ctx, fromClause, buildEntityIdExpr(state.table, 'upserted'), beforeExpr, after, rowFilter);
70
80
  const finalSelect = buildFinalSelect(state, 'upserted');
71
81
  return sql `
72
82
  WITH before AS (${beforeSelect}),
@@ -1 +1 @@
1
- {"version":3,"file":"verb-upsert.js","sourceRoot":"","sources":["../../../../src/data/write/audit/verb-upsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verb-upsert.js","sourceRoot":"","sources":["../../../../src/data/write/audit/verb-upsert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../src/data/write/execute.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAY5C,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA0CtE"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../src/data/write/execute.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAa5C,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA+CtE"}
@@ -17,6 +17,7 @@ import { pipe, pipeRaw } from '../db/db.js';
17
17
  import { getContext } from '../../request/context/store.js';
18
18
  import { compileAuditWrite } from './audit/cte-compile.js';
19
19
  import { touchesForTable } from './audit/touch-match.js';
20
+ import { selectForWrite } from './audit/verb-select.js';
20
21
  import { decodeReturning } from './audit/decode-returning.js';
21
22
  import { resolveActorId } from './audit/actor.js';
22
23
  import { rowsPerStatement } from '../db/insert-split.js';
@@ -30,13 +31,18 @@ export async function executeWrite(state) {
30
31
  // the write takes the vanilla branch below.
31
32
  const matched = stepCtx === null ? [] : touchesForTable(state.table, stepCtx.touches);
32
33
  if (stepCtx !== null && matched.length > 0) {
34
+ // Each row is recorded under the touches whose verb matches it (verb-select.ts).
35
+ const selection = selectForWrite(matched, state.verb);
33
36
  const auditCtx = {
34
37
  step: stepCtx,
35
- touches: matched,
38
+ touches: selection.touches,
39
+ split: selection.split,
40
+ written: selection.written,
36
41
  actorId: resolveActorId(flow),
37
42
  tenantId: flow.tenant,
38
43
  };
39
- const chunkValueSize = computeChunkValueSize(flow, state, matched.length, rowsPerStatement(state.table));
44
+ // The union bounds the audit rows one value can produce.
45
+ const chunkValueSize = computeChunkValueSize(flow, state, selection.touches.length, rowsPerStatement(state.table));
40
46
  if (chunkValueSize !== null) {
41
47
  return executeChunkedAuditWrite(state, auditCtx, chunkValueSize);
42
48
  }
@@ -48,7 +54,7 @@ export async function executeWrite(state) {
48
54
  // its per-table filtering.
49
55
  const rawDb = pipeRaw(state.table.$options.database);
50
56
  const rows = await rawDb.execute(stmt);
51
- for (const touch of matched)
57
+ for (const touch of selection.written)
52
58
  stepCtx.markWrote(touch);
53
59
  if (state.onConflict !== undefined)
54
60
  reportSkipped(state, Array.isArray(rows) ? rows.length : 0);
@@ -157,7 +163,8 @@ async function executeChunkedAuditWrite(state, ctx, chunkValueSize) {
157
163
  else {
158
164
  await pipe.transaction(dbName, runChunks);
159
165
  }
160
- for (const touch of ctx.touches)
166
+ // An upsert marks the touches of both verb sets: which rows took which is not known here.
167
+ for (const touch of ctx.written)
161
168
  ctx.step.markWrote(touch);
162
169
  if (state.onConflict !== undefined)
163
170
  reportSkipped(state, written);
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/data/write/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/data/write/execute.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ type AnyFunction = (...args: any[]) => any;
5
5
  *
6
6
  * A function documented with `@flow_step` (and `@touches Entity:verb`) is wrapped automatically: under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`. An app built with plain `tsc` gets no wrapping: run it through `pipework serve`, or call `__flowStep` by hand.
7
7
  *
8
- * A write under a step with `@touches` is audited only under the touches whose entity is the written table, one `audit_record` per affected row per matching touch. A touch's `Entity` matches a table when the definition declares `define(name, fields, { auditEntity })` equal to `Entity` exactly; otherwise when the names agree ignoring case and underscores, with the table name optionally plural (`Version` matches `version` and `versions`; `DocumentVersion` matches `document_versions`). A write to a table no touch matches is not audited. A touch that no write of the step was audited under gets a read row (`before` and `after` null) when the step completes. A write under a step with a touch whose entity matches no defined table throws, naming the closest table names. `.returning()` returns the same rows with or without an audited step.
8
+ * A write under a step with `@touches` is audited only under the touches whose entity is the written table, one `audit_record` per affected row per selected touch. A row's verb is `create` (an insert, or an upsert row that did not exist), `update` or `delete`; it is recorded under the touches with exactly that verb, else under the touches with a custom verb (not create/update/delete), else under all the entity's touches. A write also counts as written for the step's other create/update/delete touches on the entity, and for the same touch on enclosing steps. A touch's `Entity` matches a table when the definition declares `define(name, fields, { auditEntity })` equal to `Entity` exactly; otherwise when the names agree ignoring case and underscores, with the table name optionally plural (`Version` matches `version` and `versions`; `DocumentVersion` matches `document_versions`). A write to a table no touch matches is not audited. A touch that no write of the step was audited under gets a read row (`before` and `after` null) when the step completes. A write under a step with a touch whose entity matches no defined table throws, naming the closest table names. `.returning()` returns the same rows with or without an audited step.
9
9
  */
10
10
  export declare function __flowStep<F extends AnyFunction>(meta: FlowStepMeta, impl: F): F;
11
11
  export {};
@@ -31,7 +31,7 @@ import { emitReadTouches } from '../../data/write/audit/read-touches.js';
31
31
  *
32
32
  * A function documented with `@flow_step` (and `@touches Entity:verb`) is wrapped automatically: under `pipework test` and the vitest preset, and under `pipework dev` and `pipework serve`. An app built with plain `tsc` gets no wrapping: run it through `pipework serve`, or call `__flowStep` by hand.
33
33
  *
34
- * A write under a step with `@touches` is audited only under the touches whose entity is the written table, one `audit_record` per affected row per matching touch. A touch's `Entity` matches a table when the definition declares `define(name, fields, { auditEntity })` equal to `Entity` exactly; otherwise when the names agree ignoring case and underscores, with the table name optionally plural (`Version` matches `version` and `versions`; `DocumentVersion` matches `document_versions`). A write to a table no touch matches is not audited. A touch that no write of the step was audited under gets a read row (`before` and `after` null) when the step completes. A write under a step with a touch whose entity matches no defined table throws, naming the closest table names. `.returning()` returns the same rows with or without an audited step.
34
+ * A write under a step with `@touches` is audited only under the touches whose entity is the written table, one `audit_record` per affected row per selected touch. A row's verb is `create` (an insert, or an upsert row that did not exist), `update` or `delete`; it is recorded under the touches with exactly that verb, else under the touches with a custom verb (not create/update/delete), else under all the entity's touches. A write also counts as written for the step's other create/update/delete touches on the entity, and for the same touch on enclosing steps. A touch's `Entity` matches a table when the definition declares `define(name, fields, { auditEntity })` equal to `Entity` exactly; otherwise when the names agree ignoring case and underscores, with the table name optionally plural (`Version` matches `version` and `versions`; `DocumentVersion` matches `document_versions`). A write to a table no touch matches is not audited. A touch that no write of the step was audited under gets a read row (`before` and `after` null) when the step completes. A write under a step with a touch whose entity matches no defined table throws, naming the closest table names. `.returning()` returns the same rows with or without an audited step.
35
35
  */
36
36
  export function __flowStep(meta, impl) {
37
37
  function traced(...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"step-buffer.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-buffer.d.ts","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"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"}
@@ -117,7 +117,15 @@ export class StepBuffer {
117
117
  stepId: top.stepId,
118
118
  touches: top.touches,
119
119
  capturedInputs: top.capturedInputs,
120
- markWrote: (touch) => { top.wroteTouches.add(touch); },
120
+ markWrote: (touch) => {
121
+ // A write also counts for every enclosing step that declares the same touch.
122
+ for (const step of this.active) {
123
+ for (const t of step.touches) {
124
+ if (t === touch || (t.entity === touch.entity && t.verb === touch.verb))
125
+ step.wroteTouches.add(t);
126
+ }
127
+ }
128
+ },
121
129
  };
122
130
  }
123
131
  /** Settles a begun step: stamps its outcome and timing, stages the row, unnests. */
@@ -1 +1 @@
1
- {"version":3,"file":"step-buffer.js","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-buffer.js","sourceRoot":"","sources":["../../../src/trace/runtime/step-buffer.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,yEAAyE;AACzE,mBAAmB;AACnB,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAkB,MAAM,iBAAiB,CAAA;AA2GlE,MAAM,OAAO,UAAU;IACJ,OAAO,CAAQ;IACf,QAAQ,CAAQ;IAChB,QAAQ,CAAe;IACvB,GAAG,CAAQ;IACnB,aAAa,CAAS;IACvB,GAAG,GAAG,CAAC,CAAA;IACf,uEAAuE;IAC/D,eAAe,GAAG,CAAC,CAAA;IACnB,aAAa,GAAG,CAAC,CAAA;IACR,gBAAgB,CAAQ;IACjC,aAAa,GAAkB,IAAI,CAAA;IAC3C;;;;;;;;OAQG;IACc,MAAM,GAAgB,EAAE,CAAA;IACjC,OAAO,GAAkB,EAAE,CAAA;IAC3B,mBAAmB,GAAkB,IAAI,CAAA;IACzC,mBAAmB,GAAyB,IAAI,CAAA;IAExD,YAAY,MAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAA;QACvC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAA;IACzD,CAAC;IAED,6EAA6E;IAC7E,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED,kFAAkF;IAClF,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAA;IAC1C,CAAC;IAED,uEAAuE;IACvE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACjC,CAAC;IAED;;;;OAIG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACjC,CAAC;IAED,+EAA+E;IAC/E,kBAAkB,CAAC,OAAsB;QACvC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CACH,WAAmB,EACnB,cAAyC,EACzC,UAAgC,EAAE;QAElC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAA;QACtB,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAA;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAc;YACvB,GAAG;YACH,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW;YACX,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACpC,cAAc;YACd,OAAO;YACP,YAAY,EAAE,IAAI,GAAG,EAAE;SACxB,CAAA;QACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;OAMG;IACH,WAAW;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9D,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,6EAA6E;gBAC7E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAC7B,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;4BAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBACnG,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAA;IACH,CAAC;IAED,oFAAoF;IACpF,QAAQ,CAAC,KAAgB,EAAE,MAAsB,EAAE,MAAe;QAChE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAA;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,KAAK,CAAC,MAAM;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM;YACN,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,cAAc,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK;YACrE,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;SAC5D,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAuB;QACnC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAA;QAC9E,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,MAAM,GAAG,GAAgB;YACvB,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG;YACf,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;SAChE,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,6EAA6E;IAC7E,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipework",
3
- "version": "0.207.0",
3
+ "version": "0.208.0",
4
4
  "description": "TypeScript framework for multi-tenant SaaS applications. PostgreSQL-only.",
5
5
  "type": "module",
6
6
  "license": "MIT",