@nodii/approval 0.3.2 → 0.3.3

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/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare const LIB_NAME = "approval";
2
- export declare const VERSION = "0.3.0";
2
+ export declare const VERSION = "0.3.3";
3
3
  export { defineApprovalKinds, KindRegistry, RequesterRegistry, validateCrossOwnerKind, type DefineApprovalKindsOpts, } from "./kinds";
4
4
  export { initApproval, requireApproval, getApprovalOrNull, requireKindRegistry, requireHandlers, requesterRegistry, defineApprovalRequester, registerKinds, _resetForTests, } from "./init";
5
5
  export { bindApprovalHandlers, type BindApprovalHandlersOpts, } from "./handlers";
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // Spec: planning hub feature_doc serviceId=nodii-libs docKey=approval.
4
4
  // Polyglot ship: TS + Python + Go in parity. This is the TypeScript impl.
5
5
  export const LIB_NAME = "approval";
6
- export const VERSION = "0.3.0";
6
+ export const VERSION = "0.3.3";
7
7
  export { defineApprovalKinds, KindRegistry, RequesterRegistry, validateCrossOwnerKind, } from "./kinds";
8
8
  export { initApproval, requireApproval, getApprovalOrNull, requireKindRegistry, requireHandlers, requesterRegistry, defineApprovalRequester, registerKinds, _resetForTests, } from "./init";
9
9
  export { bindApprovalHandlers, } from "./handlers";
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3E,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,oBAAoB,CAAC;AAEhE,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAoBlD;;kFAEkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,uBAAuB,EAAE,MAAM,CAAC;IAChC,qEAAqE;IACrE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iFAAiF;IACjF,0BAA0B,EAAE,MAAM,CAAC;IACnC,6DAA6D;IAC7D,+BAA+B,CAAC,EAAE,4BAA4B,CAAC;IAC/D,wEAAwE;IACxE,8BAA8B,EAAE,MAAM,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED;;;;;;;mEAOmE;AACnE,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB1C;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEvE"}
1
+ {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3E,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,oBAAoB,CAAC;AAEhE,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAoBlD;;kFAEkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,uBAAuB,EAAE,MAAM,CAAC;IAChC,qEAAqE;IACrE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iFAAiF;IACjF,0BAA0B,EAAE,MAAM,CAAC;IACnC,6DAA6D;IAC7D,+BAA+B,CAAC,EAAE,4BAA4B,CAAC;IAC/D,wEAAwE;IACxE,8BAA8B,EAAE,MAAM,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED;;;;;;;mEAOmE;AACnE,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC1C;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEvE"}
package/dist/outbox.js CHANGED
@@ -46,10 +46,22 @@ export async function insertBeginEventOutboxRow(tx, input) {
46
46
  const id = randomUUID();
47
47
  const eventId = uuidv7();
48
48
  assertSafeOutboxTableName(input.tableName);
49
+ // `payload` is the pre-serialized JSON string of the begin-event. The
50
+ // `$7::text::jsonb` cast is load-bearing on postgres.js: without it, the
51
+ // driver infers the param's OID as `jsonb` from the column/cast and
52
+ // JSON-encodes the already-stringified value a SECOND time, so the JSONB
53
+ // column ends up holding a STRING SCALAR (jsonb_typeof = 'string') instead
54
+ // of an object — D264's `NEW.payload->>'tenant_id'` trigger then reads NULL
55
+ // and the NOT NULL tenant_id constraint trips. Pinning the bind to `text`
56
+ // first forces postgres.js to send the value verbatim and lets Postgres cast
57
+ // text->jsonb (correct on BOTH postgres.js and node-pg). The Go impl
58
+ // (go/approval/outbox.go) achieves the same with `$7::jsonb` because pgx
59
+ // binds the string as text by default; postgres.js needs the explicit
60
+ // `::text` step to defeat its jsonb-OID inference. See request 57e181f6.
49
61
  await tx.unsafe(`INSERT INTO ${input.tableName}
50
62
  (id, event_id, aggregate_kind, aggregate_id, source_entity_version,
51
63
  topic, payload)
52
- VALUES ($1, $2, $3, $4, $5, $6, $7)`, [
64
+ VALUES ($1, $2, $3, $4, $5, $6, $7::text::jsonb)`, [
53
65
  id,
54
66
  eventId,
55
67
  APPROVAL_OUTBOX_AGGREGATE_KIND,
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,oBAAoB;AACpB,EAAE;AACF,2DAA2D;AAC3D,iEAAiE;AACjE,2EAA2E;AAC3E,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,yEAAyE;AACzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;AAEhE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,mBAAmB,GACvB,qDAAqD,CAAC;AAExD,SAAS,yBAAyB,CAAC,SAAiB;IAClD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,wFAAwF,CAChI,CAAC;IACJ,CAAC;AACH,CAAC;AA2CD;;;;;;;mEAOmE;AACnE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,EAAiB,EACjB,KAAqC;IAErC,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;IACzB,yBAAyB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,MAAM,CACb,eAAe,KAAK,CAAC,SAAS;;;yCAGO,EACrC;QACE,EAAE;QACF,OAAO;QACP,8BAA8B;QAC9B,KAAK,CAAC,WAAW;QACjB,oEAAoE;QACpE,CAAC;QACD,KAAK,CAAC,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;KAC9B,CACF,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACzB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,sBAAsB,CAAC,gBAAwB;IAC7D,OAAO,GAAG,gBAAgB,wBAAwB,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,oBAAoB;AACpB,EAAE;AACF,2DAA2D;AAC3D,iEAAiE;AACjE,2EAA2E;AAC3E,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,yEAAyE;AACzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;AAEhE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,mBAAmB,GACvB,qDAAqD,CAAC;AAExD,SAAS,yBAAyB,CAAC,SAAiB;IAClD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,wFAAwF,CAChI,CAAC;IACJ,CAAC;AACH,CAAC;AA2CD;;;;;;;mEAOmE;AACnE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,EAAiB,EACjB,KAAqC;IAErC,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;IACzB,yBAAyB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,sEAAsE;IACtE,yEAAyE;IACzE,oEAAoE;IACpE,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,qEAAqE;IACrE,yEAAyE;IACzE,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,EAAE,CAAC,MAAM,CACb,eAAe,KAAK,CAAC,SAAS;;;sDAGoB,EAClD;QACE,EAAE;QACF,OAAO;QACP,8BAA8B;QAC9B,KAAK,CAAC,WAAW;QACjB,oEAAoE;QACpE,CAAC;QACD,KAAK,CAAC,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;KAC9B,CACF,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACzB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,sBAAsB,CAAC,gBAAwB;IAC7D,OAAO,GAAG,gBAAgB,wBAAwB,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodii/approval",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Approval library for the Nodii microservice stack — defineApprovalKinds + requestApproval + bindApprovalHandlers + per-tenant policies + completion-event consumer + migrate-gen. Polyglot ship: TS + Python + Go in parity. Spec: planning hub docKey=approval.",
5
5
  "license": "MIT",
6
6
  "type": "module",