@generazioneai/events 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +55 -8
  3. package/dist/consumers.service.d.ts.map +1 -1
  4. package/dist/consumers.service.js +5 -7
  5. package/dist/consumers.service.js.map +1 -1
  6. package/dist/drizzle/index.d.ts +3 -0
  7. package/dist/drizzle/index.d.ts.map +1 -0
  8. package/dist/drizzle/index.js +10 -0
  9. package/dist/drizzle/index.js.map +1 -0
  10. package/dist/drizzle/schema.d.ts +279 -0
  11. package/dist/drizzle/schema.d.ts.map +1 -0
  12. package/dist/drizzle/schema.js +37 -0
  13. package/dist/drizzle/schema.js.map +1 -0
  14. package/dist/drizzle/store.d.ts +51 -0
  15. package/dist/drizzle/store.d.ts.map +1 -0
  16. package/dist/drizzle/store.js +118 -0
  17. package/dist/drizzle/store.js.map +1 -0
  18. package/dist/events.module.d.ts.map +1 -1
  19. package/dist/events.module.js +6 -2
  20. package/dist/events.module.js.map +1 -1
  21. package/dist/final-mode.d.ts +23 -0
  22. package/dist/final-mode.d.ts.map +1 -0
  23. package/dist/final-mode.js +56 -0
  24. package/dist/final-mode.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +3 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/outbox.service.d.ts +11 -15
  30. package/dist/outbox.service.d.ts.map +1 -1
  31. package/dist/outbox.service.js +27 -32
  32. package/dist/outbox.service.js.map +1 -1
  33. package/dist/prisma-resolver.d.ts +9 -1
  34. package/dist/prisma-resolver.d.ts.map +1 -1
  35. package/dist/prisma-resolver.js +14 -1
  36. package/dist/prisma-resolver.js.map +1 -1
  37. package/dist/relay.service.d.ts.map +1 -1
  38. package/dist/relay.service.js +10 -14
  39. package/dist/relay.service.js.map +1 -1
  40. package/dist/store.d.ts +91 -0
  41. package/dist/store.d.ts.map +1 -0
  42. package/dist/store.js +78 -0
  43. package/dist/store.js.map +1 -0
  44. package/dist/types.d.ts +27 -9
  45. package/dist/types.d.ts.map +1 -1
  46. package/dist/types.js +9 -6
  47. package/dist/types.js.map +1 -1
  48. package/package.json +32 -5
  49. package/sql/002-events-outbox-inbox-snake-rientro.sql +3 -0
  50. package/sql/002-events-outbox-inbox-snake.sql +29 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 — 2026-11-10
4
+
5
+ **Incompatibile nel comportamento** («via gli interruttori», decisione del 2026-11-10). Via di fuga D-E: solo in sviluppo locale e nei test (`isLocalDevEnv`: niente `KUBERNETES_SERVICE_HOST` e `SKILLERA_ENV` `dev`/`local`, oppure `SKILLERA_ENV` assente e `NODE_ENV` `development`/`test`) i valori di prima contano ancora; altrove un valore diverso dal finale si ignora con un avviso (`[via-interruttori] …`, una volta), mai un errore all'avvio. **Non pubblicata**: si pubblica a mano quando i servizi la adottano.
6
+
7
+ - `EVENTS_MODE` → `on` (outbox, relay e consumer sempre attivi; la connessione parte in background, NATS giù non ferma l'avvio).
8
+ - `EVENTS_SIGNATURE` → `enforce`. Firma chi passa `signer`, verifica chi passa `verifier`: senza, una riga all'avvio (eventi senza
9
+ `Gen-Sig` / accettati senza verifica). Prima `enforce` senza signer e verifier faceva fallire l'avvio.
10
+ - `resolveOptions` non lancia più su un valore sconosciuto (vale il finale, con un avviso).
11
+ - Peer `@generazioneai/authz` `^0.7.0 || ^0.8.0`.
12
+
13
+ ## 0.2.0 — 2026-11-08
14
+
15
+ Lo store Drizzle (WP-EV1 dell'integrazione di CheckFlow; spec «CheckFlow nella piattaforma» D35, §20). **Nessuna modifica per chi usa Prisma**: stesse query, stessi
16
+ nomi, stesse firme (le prove di 0.1.1 passano senza toccarle).
17
+
18
+ - `OutboxStore` (`src/store.ts`): tutto quello che la libreria chiede al database (inserimento, presa delle righe con `FOR UPDATE SKIP LOCKED`, esito, inbox, statistiche,
19
+ pulizia, transazione) dietro un'interfaccia; `PrismaOutboxStore` è lo store di serie, con le query di prima spostate qui dal relay, dal consumer e da `OutboxService`.
20
+ - `EventsModule.forRoot({ store })`: la persistenza al posto di Prisma; `prisma` diventa facoltativo. Con tutti e due vince `store`. `EventHandler<T, Tx = PrismaTx>`.
21
+ - **`@generazioneai/events/drizzle`** (nuovo export, `drizzle-orm >= 0.36` come peer opzionale: il principale non lo importa): `createDrizzleOutboxStore({ db, columns? })`,
22
+ `outboxEvents` e `inboxProcessed` (schema pgTable da ri-esportare perché drizzle-kit generi la migrazione). Provato con `postgres-js` e `node-postgres` (JSON come testo,
23
+ righe come array o `{ rows }`), nella transazione del chiamante (`EVENTS_OUTSIDE_TX` fuori), con savepoint annidati e SKIP LOCKED.
24
+ - `sql/002-events-outbox-inbox-snake.sql` (+ rientro): le stesse tabelle in snake_case con `timestamptz`, per lo store Drizzle (`columns: 'snake'`, di serie); `columns: 'camel'` usa 001.
25
+ - `EventsService` ammette `checkflow` (pubblica su `audit.checkflow[.…]`, consuma `evt.id.*`; senza stream proprio: `createStream: false`, eccezione E6).
26
+ - `package.json` ha ora `exports` (principale, `./drizzle`, `./sql/*`, `./prisma/*`, `./package.json`) e `typesVersions` per `drizzle`: chi leggeva i file con `require.resolve('@generazioneai/events/sql/…')`
27
+ continua a poterlo fare; gli altri percorsi interni (`dist/…`) non sono più importabili.
28
+ - L'errore `EVENTS_OUTSIDE_TX` dice se il `tx` passato non ha la forma dello store configurato (un `tx` di Prisma con lo store Drizzle o il contrario).
29
+
3
30
  ## 0.1.1 — 2026-10-31
4
31
 
5
32
  - Le metriche `events_*` passano anche all'API di OpenTelemetry (contatori e gauge osservabili, no-op senza SDK; `@opentelemetry/api` ~1.9.0
package/README.md CHANGED
@@ -8,7 +8,7 @@ e dead letter. Consegna «almeno una volta», effetto «una volta sola». I **co
8
8
  npm i @generazioneai/events
9
9
  ```
10
10
 
11
- Peer: `@nestjs/common`, `@nestjs/core`, `reflect-metadata`. Client NATS: `@nats-io/transport-node` + `@nats-io/jetstream`, su una connessione
11
+ Peer: `@nestjs/common`, `@nestjs/core`, `reflect-metadata`; `drizzle-orm` (opzionale) solo per `@generazioneai/events/drizzle`. Client NATS: `@nats-io/transport-node` + `@nats-io/jetstream`, su una connessione
12
12
  **propria** (diversa da quella del trasporto Nest).
13
13
 
14
14
  ## Nel servizio
@@ -19,8 +19,8 @@ Peer: `@nestjs/common`, `@nestjs/core`, `reflect-metadata`. Client NATS: `@nats-
19
19
 
20
20
  ```ts
21
21
  EventsModule.forRoot({
22
- service: 'id', // id | hr | train | ops | notify | ai | sign | bill | audit
23
- prisma: PrismaService, // la classe (risolta da Nest) o l'istanza
22
+ service: 'id', // id | hr | train | ops | notify | ai | sign | bill | audit | checkflow
23
+ prisma: PrismaService, // la classe (risolta da Nest) o l'istanza (con Drizzle: `store`, sotto)
24
24
  // facoltativi:
25
25
  signer: (p) => signEventToken(ctx, { eventId: p.eventId, subject: p.subject }), // authz 0.7
26
26
  verifier: (token, p) => verifyEventToken(token, { eventId: p.eventId, subject: p.subject, mode: p.mode }),
@@ -44,7 +44,7 @@ await this.prisma.$transaction(async (tx) => {
44
44
 
45
45
  Fuori da una transazione lancia `EVENTS_OUTSIDE_TX`. Il riconoscimento è fatto dal database, non dalla forma del client (in Prisma 7 anche il `tx` ha `$transaction`):
46
46
  la prima `enqueue` su un `tx` esegue `SAVEPOINT` (esiste solo dentro un blocco di transazione, altrimenti Postgres risponde 25P01) e `RELEASE`; il `tx` verificato
47
- non si riprova. Con `EVENTS_MODE=off` non lancia mai, non scrive nulla e restituisce `null`.
47
+ non si riprova. Con `EVENTS_MODE=off` (solo sviluppo locale e test, dalla 0.3) non lancia mai, non scrive nulla e restituisce `null`.
48
48
 
49
49
  4. Consuma:
50
50
 
@@ -60,6 +60,50 @@ La libreria apre la transazione, inserisce `(consumer, eventId)` in `inbox_proce
60
60
  col `tx`, fa COMMIT e poi `ack`. Il gestore deve restare dentro il `tx` per gli effetti sul database; gli effetti fuori dal database
61
61
  (chiamate NATS, email) devono essere idempotenti.
62
62
 
63
+ ## Con Drizzle (`@generazioneai/events/drizzle`, dalla 0.2.0)
64
+
65
+ Tutto quello che la libreria chiede al database sta dietro `OutboxStore` (`src/store.ts`): Prisma è lo store di serie (`PrismaOutboxStore`, invariato),
66
+ Drizzle è `createDrizzleOutboxStore({ db })`. Outbox, relay, consumer, firma, metriche e riprove sono gli stessi; cambia solo chi parla con Postgres.
67
+
68
+ 1. Le tabelle: ri-esporta lo schema da quello del servizio e lascia a drizzle-kit la migrazione (`drizzle-kit generate`):
69
+
70
+ ```ts
71
+ // schema/events.ts
72
+ export { outboxEvents, inboxProcessed } from '@generazioneai/events/drizzle';
73
+ ```
74
+
75
+ Oppure copia `sql/002-events-outbox-inbox-snake.sql` (+ `-rientro`), equivalente SQL (colonne `aggregate_type`, `published_at`, …; `timestamptz`).
76
+ Per riusare le colonne in camelCase di `001` (e di Prisma): `createDrizzleOutboxStore({ db, columns: 'camel' })`. Sono tabelle **senza azienda**: il relay legge le
77
+ righe di tutte, quindi con una RLS sui `tenant_id` vanno nell'elenco delle eccezioni.
78
+ 2. Il modulo:
79
+
80
+ ```ts
81
+ EventsModule.forRoot({
82
+ service: 'checkflow',
83
+ store: createDrizzleOutboxStore({ db }), // db = il client di drizzle (postgres-js, node-postgres, PGlite); niente `prisma`
84
+ createStream: false, // CheckFlow non ha uno stream suo (eccezione E6): pubblica su `audit.checkflow.*` e consuma `evt.id.*`
85
+ })
86
+ ```
87
+
88
+ 3. Pubblica con il `tx` di Drizzle, nella stessa transazione del dato; fuori da una transazione lancia `EVENTS_OUTSIDE_TX` (stessa prova col `SAVEPOINT`):
89
+
90
+ ```ts
91
+ await db.transaction(async (tx) => {
92
+ await tx.update(invoices)…;
93
+ await outbox.enqueue(tx, { subject: 'audit.checkflow.login', aggregate: { type: 'Session', id, version: 1 }, juridicalId, data: { … } });
94
+ });
95
+ ```
96
+
97
+ 4. Il gestore di `@OnEvent` riceve il `tx` di Drizzle (la transazione della libreria, la stessa dell'inbox): `async on(evt: EventEnvelope<X>, tx: DrizzleExecutor)`.
98
+
99
+ Cose da sapere:
100
+ - **Driver**: JSON e UUID viaggiano come testo con il cast sul server, perché con `postgres-js` un oggetto passato a una colonna `jsonb` si serializza due volte; le righe si leggono
101
+ sia come array (`postgres-js`) sia come `{ rows }` (`node-postgres`). Provati tutti e due in CI.
102
+ - `db` può essere un oggetto con `transaction()` ed `execute()`: un servizio con la RLS ci mette un wrapper che apre la transazione nello scope giusto.
103
+ Il relay e i consumer aprono `db.transaction(...)` **senza** azienda.
104
+ - Drizzle non ha il timeout di transazione di Prisma: `relayBatchSize` (100 di serie) e i 10 s di ogni pubblicazione sono il solo limite di quanto il relay tiene aperta la transazione.
105
+ - Lo store è scelto una volta in `forRoot`; con `store` e `prisma` insieme vince `store`.
106
+
63
107
  ## Contratto
64
108
 
65
109
  - **Busta** `EventEnvelope<T> = { v: 1, id (UUID v7), subject, aggregateType, aggregateId, aggregateVersion, occurredAt, juridicalId?, data: T }`.
@@ -76,8 +120,10 @@ col `tx`, fa COMMIT e poi `ack`. Il gestore deve restare dentro il `tx` per gli
76
120
  `Gen-Original-Subject` e il **corpo originale**, poi `term`. Per i pod morti a metà ascolta l'avviso `$JS.EVENT.ADVISORY.CONSUMER.MAX_DELIVERIES.<stream>.>`
77
121
  (un solo ricevente per servizio, gruppo di coda) e copia il messaggio per numero di sequenza; il `Nats-Msg-Id` della copia è
78
122
  `dlq-<stream>-<consumer>-<seq>`, quindi i due percorsi non duplicano.
79
- - **Firma** (`EVENTS_SIGNATURE`): off = niente; shadow = firma, verifica e conta gli errori senza rifiutare; enforce = rifiuta (dead letter) le firme assenti o errate
80
- e richiede `signer` e `verifier` (altrimenti l'avvio fallisce). La libreria non importa authz: `signer` e `verifier` si iniettano (con authz 0.7: `signEventToken`
123
+ - **Modalità (0.3, decisione del 2026-11-10)**: `EVENTS_MODE` vale sempre `on` e `EVENTS_SIGNATURE` sempre `enforce`. Solo in **sviluppo locale e nei test** (`SKILLERA_ENV` `dev`/`local`, oppure `NODE_ENV` `development`/`test`, mai dentro un cluster) contano ancora i valori di prima; altrove un valore diverso si ignora con un avviso al primo uso, mai un errore all'avvio.
124
+ - **Firma** (`EVENTS_SIGNATURE`, di fatto `enforce`): rifiuta (dead letter) le firme assenti o errate. Firma chi ha il `signer`, verifica chi ha il
125
+ `verifier`: senza uno dei due una riga nel log all'avvio (gli eventi partono senza `Gen-Sig`, o si accettano senza verifica), mai un errore.
126
+ In sviluppo: off = niente; shadow = firma, verifica e conta gli errori senza rifiutare. La libreria non importa authz: `signer` e `verifier` si iniettano (con authz 0.7: `signEventToken`
81
127
  / `verifyEventToken`).
82
128
  - **Connessione**: `EVENTS_NATS_URL` (ripiego `NATS_URL`); `NATS_NKEY_SEED` → autenticazione nkey; `connection: {…}` per altre opzioni di `connect`.
83
129
  Con NATS giù l'app parte lo stesso e l'outbox accumula.
@@ -98,8 +144,9 @@ col `tx`, fa COMMIT e poi `ack`. Il gestore deve restare dentro il `tx` per gli
98
144
 
99
145
  ## Test
100
146
 
101
- `npm test -w @generazioneai/events` (prima `npm run test:prepare -w @generazioneai/events`, genera il client Prisma 7 vero delle prove): le prove unitarie girano sempre; quelle di integrazione vogliono `EVENTS_TEST_NATS_URL` (un `nats-server` con JetStream) e
102
- `EVENTS_TEST_DATABASE_URL` (Postgres), altrimenti sono saltate (con `EVENTS_REQUIRE_INTEGRATION=1` mancano e il test fallisce). In locale:
147
+ `npm test -w @generazioneai/events` (prima `npm run test:prepare -w @generazioneai/events`, genera il client Prisma 7 vero delle prove): le prove unitarie girano sempre; quelle che vogliono
148
+ solo Postgres (`drizzle.spec.ts`, `store-prisma.spec.ts`: lo store sotto Prisma e sotto Drizzle, con `postgres-js` e `node-postgres`) vogliono `EVENTS_TEST_DATABASE_URL`; quelle di integrazione
149
+ (`integration.spec.ts`, `prisma.spec.ts`, `drizzle-flow.spec.ts`: il flusso intero con JetStream) vogliono anche `EVENTS_TEST_NATS_URL` (un `nats-server` con JetStream), altrimenti sono saltate (con `EVENTS_REQUIRE_INTEGRATION=1` mancano e il test fallisce). In locale:
103
150
 
104
151
  ```bash
105
152
  docker run -d --rm --name evt-nats -p 14222:4222 nats:2.12 -js
@@ -1 +1 @@
1
- {"version":3,"file":"consumers.service.d.ts","sourceRoot":"","sources":["../src/consumers.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAA2C,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAiB,YAAY,EAAY,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAK5F,UAAU,UAAW,SAAQ,eAAe;IAC1C,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sIAAsI;AACtI,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,WAAyC,CAAC;AAEtF,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,4GAA4G;AAC5G,qBACa,eAAe;IAUA,OAAO,CAAC,QAAQ,CAAC,IAAI;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAd1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiC;IACrD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;gBAGd,IAAI,EAAE,qBAAqB,EACnD,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,eAAe;IAG3C,mEAAmE;IACnE,QAAQ,IAAI,UAAU,EAAE;IA8BxB,IAAI,QAAQ,IAAI,SAAS,UAAU,EAAE,CAEpC;IAED,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAStD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAYb,YAAY;IAa1B,OAAO,CAAC,cAAc;YAcR,cAAc;YAkBd,IAAI;IASlB,wFAAwF;IAClF,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDpD,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,KAAK;YAkBC,MAAM;YAmBN,KAAK;YAgBL,eAAe;YASf,UAAU;CAUzB"}
1
+ {"version":3,"file":"consumers.service.d.ts","sourceRoot":"","sources":["../src/consumers.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAA2C,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAiB,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAKlF,UAAU,UAAW,SAAQ,eAAe;IAC1C,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sIAAsI;AACtI,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,WAAyC,CAAC;AAEtF,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,4GAA4G;AAC5G,qBACa,eAAe;IAUA,OAAO,CAAC,QAAQ,CAAC,IAAI;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAd1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiC;IACrD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;gBAGd,IAAI,EAAE,qBAAqB,EACnD,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,eAAe;IAG3C,mEAAmE;IACnE,QAAQ,IAAI,UAAU,EAAE;IA8BxB,IAAI,QAAQ,IAAI,SAAS,UAAU,EAAE,CAEpC;IAED,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAStD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAYb,YAAY;IAa1B,OAAO,CAAC,cAAc;YAcR,cAAc;YAkBd,IAAI;IASlB,wFAAwF;IAClF,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDpD,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,KAAK;YAkBC,MAAM;YAiBN,KAAK;YAgBL,eAAe;YASf,UAAU;CAUzB"}
@@ -203,9 +203,9 @@ let EventsConsumers = class EventsConsumers {
203
203
  const evt = this.parse(m);
204
204
  await this.verify(m, evt);
205
205
  let duplicate = false;
206
- await this.prisma.get().$transaction(async (tx) => {
207
- const n = await tx.$executeRawUnsafe(`INSERT INTO inbox_processed ("consumer","eventId") VALUES ($1,$2::uuid) ON CONFLICT DO NOTHING`, r.consumer, evt.id);
208
- if (n === 0) {
206
+ const store = this.prisma.store();
207
+ await store.transaction(async (tx) => {
208
+ if (!(await store.claimInbox(tx, r.consumer, evt.id))) {
209
209
  duplicate = true;
210
210
  return;
211
211
  }
@@ -275,11 +275,9 @@ let EventsConsumers = class EventsConsumers {
275
275
  if (mode === 'off')
276
276
  return;
277
277
  const token = m.headers?.get('Gen-Sig') || undefined;
278
- if (!this.opts.verifier) {
279
- if (mode === 'enforce')
280
- throw Object.assign(new Error('firma richiesta ma nessun verifier configurato'), { name: 'EventsSignatureError' });
278
+ // 0.3: senza verifier (parametro del servizio) non si verifica: l'avviso è all'avvio (EventsModule), mai un rifiuto qui.
279
+ if (!this.opts.verifier)
281
280
  return;
282
- }
283
281
  try {
284
282
  await this.opts.verifier(token, { eventId: evt.id, subject: evt.subject, mode });
285
283
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consumers.service.js","sourceRoot":"","sources":["../src/consumers.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumers.service.js","sourceRoot":"","sources":["../src/consumers.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { DrizzleOutboxStore, createDrizzleOutboxStore, type DrizzleDbLike, type DrizzleExecutor, type DrizzleOutboxStoreOptions } from './store';
2
+ export { outboxEvents, inboxProcessed } from './schema';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/drizzle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACjJ,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inboxProcessed = exports.outboxEvents = exports.createDrizzleOutboxStore = exports.DrizzleOutboxStore = void 0;
4
+ var store_1 = require("./store");
5
+ Object.defineProperty(exports, "DrizzleOutboxStore", { enumerable: true, get: function () { return store_1.DrizzleOutboxStore; } });
6
+ Object.defineProperty(exports, "createDrizzleOutboxStore", { enumerable: true, get: function () { return store_1.createDrizzleOutboxStore; } });
7
+ var schema_1 = require("./schema");
8
+ Object.defineProperty(exports, "outboxEvents", { enumerable: true, get: function () { return schema_1.outboxEvents; } });
9
+ Object.defineProperty(exports, "inboxProcessed", { enumerable: true, get: function () { return schema_1.inboxProcessed; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/drizzle/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiJ;AAAxI,2GAAA,kBAAkB,OAAA;AAAE,iHAAA,wBAAwB,OAAA;AACrD,mCAAwD;AAA/C,sGAAA,YAAY,OAAA;AAAE,wGAAA,cAAc,OAAA"}
@@ -0,0 +1,279 @@
1
+ /**
2
+ * Le tabelle dell'outbox e dell'inbox in stile Drizzle (colonne in snake_case, `timestamptz`). Si ri-esportano dallo schema del
3
+ * servizio perché `drizzle-kit generate` produca la migrazione:
4
+ *
5
+ * export { outboxEvents, inboxProcessed } from '@generazioneai/events/drizzle';
6
+ *
7
+ * Sono tabelle **senza azienda** (il relay legge le righe di tutte): se lo schema ha una guardia sui `tenant_id` (RLS), vanno nell'elenco
8
+ * delle eccezioni. Equivalente SQL: `sql/002-events-outbox-inbox-snake.sql`. I nomi sono quelli che usa lo store: non cambiarli.
9
+ */
10
+ export declare const outboxEvents: import("drizzle-orm/pg-core").PgTableWithColumns<{
11
+ name: "outbox_events";
12
+ schema: undefined;
13
+ columns: {
14
+ id: import("drizzle-orm/pg-core").PgColumn<{
15
+ name: "id";
16
+ tableName: "outbox_events";
17
+ dataType: "string";
18
+ columnType: "PgUUID";
19
+ data: string;
20
+ driverParam: string;
21
+ notNull: true;
22
+ hasDefault: false;
23
+ isPrimaryKey: true;
24
+ isAutoincrement: false;
25
+ hasRuntimeDefault: false;
26
+ enumValues: undefined;
27
+ baseColumn: never;
28
+ identity: undefined;
29
+ generated: undefined;
30
+ }, {}, {}>;
31
+ subject: import("drizzle-orm/pg-core").PgColumn<{
32
+ name: "subject";
33
+ tableName: "outbox_events";
34
+ dataType: "string";
35
+ columnType: "PgText";
36
+ data: string;
37
+ driverParam: string;
38
+ notNull: true;
39
+ hasDefault: false;
40
+ isPrimaryKey: false;
41
+ isAutoincrement: false;
42
+ hasRuntimeDefault: false;
43
+ enumValues: [string, ...string[]];
44
+ baseColumn: never;
45
+ identity: undefined;
46
+ generated: undefined;
47
+ }, {}, {}>;
48
+ aggregateType: import("drizzle-orm/pg-core").PgColumn<{
49
+ name: "aggregate_type";
50
+ tableName: "outbox_events";
51
+ dataType: "string";
52
+ columnType: "PgText";
53
+ data: string;
54
+ driverParam: string;
55
+ notNull: true;
56
+ hasDefault: false;
57
+ isPrimaryKey: false;
58
+ isAutoincrement: false;
59
+ hasRuntimeDefault: false;
60
+ enumValues: [string, ...string[]];
61
+ baseColumn: never;
62
+ identity: undefined;
63
+ generated: undefined;
64
+ }, {}, {}>;
65
+ aggregateId: import("drizzle-orm/pg-core").PgColumn<{
66
+ name: "aggregate_id";
67
+ tableName: "outbox_events";
68
+ dataType: "string";
69
+ columnType: "PgText";
70
+ data: string;
71
+ driverParam: string;
72
+ notNull: true;
73
+ hasDefault: false;
74
+ isPrimaryKey: false;
75
+ isAutoincrement: false;
76
+ hasRuntimeDefault: false;
77
+ enumValues: [string, ...string[]];
78
+ baseColumn: never;
79
+ identity: undefined;
80
+ generated: undefined;
81
+ }, {}, {}>;
82
+ aggregateVersion: import("drizzle-orm/pg-core").PgColumn<{
83
+ name: "aggregate_version";
84
+ tableName: "outbox_events";
85
+ dataType: "number";
86
+ columnType: "PgInteger";
87
+ data: number;
88
+ driverParam: string | number;
89
+ notNull: true;
90
+ hasDefault: false;
91
+ isPrimaryKey: false;
92
+ isAutoincrement: false;
93
+ hasRuntimeDefault: false;
94
+ enumValues: undefined;
95
+ baseColumn: never;
96
+ identity: undefined;
97
+ generated: undefined;
98
+ }, {}, {}>;
99
+ juridicalId: import("drizzle-orm/pg-core").PgColumn<{
100
+ name: "juridical_id";
101
+ tableName: "outbox_events";
102
+ dataType: "string";
103
+ columnType: "PgText";
104
+ data: string;
105
+ driverParam: string;
106
+ notNull: false;
107
+ hasDefault: false;
108
+ isPrimaryKey: false;
109
+ isAutoincrement: false;
110
+ hasRuntimeDefault: false;
111
+ enumValues: [string, ...string[]];
112
+ baseColumn: never;
113
+ identity: undefined;
114
+ generated: undefined;
115
+ }, {}, {}>;
116
+ payload: import("drizzle-orm/pg-core").PgColumn<{
117
+ name: "payload";
118
+ tableName: "outbox_events";
119
+ dataType: "json";
120
+ columnType: "PgJsonb";
121
+ data: unknown;
122
+ driverParam: unknown;
123
+ notNull: true;
124
+ hasDefault: false;
125
+ isPrimaryKey: false;
126
+ isAutoincrement: false;
127
+ hasRuntimeDefault: false;
128
+ enumValues: undefined;
129
+ baseColumn: never;
130
+ identity: undefined;
131
+ generated: undefined;
132
+ }, {}, {}>;
133
+ headers: import("drizzle-orm/pg-core").PgColumn<{
134
+ name: "headers";
135
+ tableName: "outbox_events";
136
+ dataType: "json";
137
+ columnType: "PgJsonb";
138
+ data: unknown;
139
+ driverParam: unknown;
140
+ notNull: false;
141
+ hasDefault: false;
142
+ isPrimaryKey: false;
143
+ isAutoincrement: false;
144
+ hasRuntimeDefault: false;
145
+ enumValues: undefined;
146
+ baseColumn: never;
147
+ identity: undefined;
148
+ generated: undefined;
149
+ }, {}, {}>;
150
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
151
+ name: "created_at";
152
+ tableName: "outbox_events";
153
+ dataType: "date";
154
+ columnType: "PgTimestamp";
155
+ data: Date;
156
+ driverParam: string;
157
+ notNull: true;
158
+ hasDefault: true;
159
+ isPrimaryKey: false;
160
+ isAutoincrement: false;
161
+ hasRuntimeDefault: false;
162
+ enumValues: undefined;
163
+ baseColumn: never;
164
+ identity: undefined;
165
+ generated: undefined;
166
+ }, {}, {}>;
167
+ publishedAt: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "published_at";
169
+ tableName: "outbox_events";
170
+ dataType: "date";
171
+ columnType: "PgTimestamp";
172
+ data: Date;
173
+ driverParam: string;
174
+ notNull: false;
175
+ hasDefault: false;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: undefined;
180
+ baseColumn: never;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }, {}, {}>;
184
+ attempts: import("drizzle-orm/pg-core").PgColumn<{
185
+ name: "attempts";
186
+ tableName: "outbox_events";
187
+ dataType: "number";
188
+ columnType: "PgInteger";
189
+ data: number;
190
+ driverParam: string | number;
191
+ notNull: true;
192
+ hasDefault: true;
193
+ isPrimaryKey: false;
194
+ isAutoincrement: false;
195
+ hasRuntimeDefault: false;
196
+ enumValues: undefined;
197
+ baseColumn: never;
198
+ identity: undefined;
199
+ generated: undefined;
200
+ }, {}, {}>;
201
+ lastError: import("drizzle-orm/pg-core").PgColumn<{
202
+ name: "last_error";
203
+ tableName: "outbox_events";
204
+ dataType: "string";
205
+ columnType: "PgText";
206
+ data: string;
207
+ driverParam: string;
208
+ notNull: false;
209
+ hasDefault: false;
210
+ isPrimaryKey: false;
211
+ isAutoincrement: false;
212
+ hasRuntimeDefault: false;
213
+ enumValues: [string, ...string[]];
214
+ baseColumn: never;
215
+ identity: undefined;
216
+ generated: undefined;
217
+ }, {}, {}>;
218
+ };
219
+ dialect: "pg";
220
+ }>;
221
+ export declare const inboxProcessed: import("drizzle-orm/pg-core").PgTableWithColumns<{
222
+ name: "inbox_processed";
223
+ schema: undefined;
224
+ columns: {
225
+ consumer: import("drizzle-orm/pg-core").PgColumn<{
226
+ name: "consumer";
227
+ tableName: "inbox_processed";
228
+ dataType: "string";
229
+ columnType: "PgText";
230
+ data: string;
231
+ driverParam: string;
232
+ notNull: true;
233
+ hasDefault: false;
234
+ isPrimaryKey: false;
235
+ isAutoincrement: false;
236
+ hasRuntimeDefault: false;
237
+ enumValues: [string, ...string[]];
238
+ baseColumn: never;
239
+ identity: undefined;
240
+ generated: undefined;
241
+ }, {}, {}>;
242
+ eventId: import("drizzle-orm/pg-core").PgColumn<{
243
+ name: "event_id";
244
+ tableName: "inbox_processed";
245
+ dataType: "string";
246
+ columnType: "PgUUID";
247
+ data: string;
248
+ driverParam: string;
249
+ notNull: true;
250
+ hasDefault: false;
251
+ isPrimaryKey: false;
252
+ isAutoincrement: false;
253
+ hasRuntimeDefault: false;
254
+ enumValues: undefined;
255
+ baseColumn: never;
256
+ identity: undefined;
257
+ generated: undefined;
258
+ }, {}, {}>;
259
+ processedAt: import("drizzle-orm/pg-core").PgColumn<{
260
+ name: "processed_at";
261
+ tableName: "inbox_processed";
262
+ dataType: "date";
263
+ columnType: "PgTimestamp";
264
+ data: Date;
265
+ driverParam: string;
266
+ notNull: true;
267
+ hasDefault: true;
268
+ isPrimaryKey: false;
269
+ isAutoincrement: false;
270
+ hasRuntimeDefault: false;
271
+ enumValues: undefined;
272
+ baseColumn: never;
273
+ identity: undefined;
274
+ generated: undefined;
275
+ }, {}, {}>;
276
+ };
277
+ dialect: "pg";
278
+ }>;
279
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inboxProcessed = exports.outboxEvents = void 0;
4
+ const pg_core_1 = require("drizzle-orm/pg-core");
5
+ /**
6
+ * Le tabelle dell'outbox e dell'inbox in stile Drizzle (colonne in snake_case, `timestamptz`). Si ri-esportano dallo schema del
7
+ * servizio perché `drizzle-kit generate` produca la migrazione:
8
+ *
9
+ * export { outboxEvents, inboxProcessed } from '@generazioneai/events/drizzle';
10
+ *
11
+ * Sono tabelle **senza azienda** (il relay legge le righe di tutte): se lo schema ha una guardia sui `tenant_id` (RLS), vanno nell'elenco
12
+ * delle eccezioni. Equivalente SQL: `sql/002-events-outbox-inbox-snake.sql`. I nomi sono quelli che usa lo store: non cambiarli.
13
+ */
14
+ exports.outboxEvents = (0, pg_core_1.pgTable)('outbox_events', {
15
+ /** UUID v7: ordinato nel tempo, è anche `Nats-Msg-Id`. */
16
+ id: (0, pg_core_1.uuid)('id').primaryKey(),
17
+ subject: (0, pg_core_1.text)('subject').notNull(),
18
+ aggregateType: (0, pg_core_1.text)('aggregate_type').notNull(),
19
+ aggregateId: (0, pg_core_1.text)('aggregate_id').notNull(),
20
+ aggregateVersion: (0, pg_core_1.integer)('aggregate_version').notNull(),
21
+ /** L'azienda, anche in `Gen-Tenant`. */
22
+ juridicalId: (0, pg_core_1.text)('juridical_id'),
23
+ /** `data` della busta: solo id e stati. */
24
+ payload: (0, pg_core_1.jsonb)('payload').notNull(),
25
+ /** `{ occurredAt, traceparent? }` */
26
+ headers: (0, pg_core_1.jsonb)('headers'),
27
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true, precision: 3 }).notNull().defaultNow(),
28
+ publishedAt: (0, pg_core_1.timestamp)('published_at', { withTimezone: true, precision: 3 }),
29
+ attempts: (0, pg_core_1.integer)('attempts').notNull().default(0),
30
+ lastError: (0, pg_core_1.text)('last_error'),
31
+ }, (t) => [(0, pg_core_1.index)('outbox_events_published_at_id_idx').on(t.publishedAt, t.id)]);
32
+ exports.inboxProcessed = (0, pg_core_1.pgTable)('inbox_processed', {
33
+ consumer: (0, pg_core_1.text)('consumer').notNull(),
34
+ eventId: (0, pg_core_1.uuid)('event_id').notNull(),
35
+ processedAt: (0, pg_core_1.timestamp)('processed_at', { withTimezone: true, precision: 3 }).notNull().defaultNow(),
36
+ }, (t) => [(0, pg_core_1.primaryKey)({ columns: [t.consumer, t.eventId] }), (0, pg_core_1.index)('inbox_processed_processed_at_idx').on(t.processedAt)]);
37
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/drizzle/schema.ts"],"names":[],"mappings":";;;AAAA,iDAAwG;AAExG;;;;;;;;GAQG;AACU,QAAA,YAAY,GAAG,IAAA,iBAAO,EACjC,eAAe,EACf;IACE,0DAA0D;IAC1D,EAAE,EAAE,IAAA,cAAI,EAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,OAAO,EAAE,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IAClC,aAAa,EAAE,IAAA,cAAI,EAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE;IAC/C,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC3C,gBAAgB,EAAE,IAAA,iBAAO,EAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE;IACxD,wCAAwC;IACxC,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC;IACjC,2CAA2C;IAC3C,OAAO,EAAE,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IACnC,qCAAqC;IACrC,OAAO,EAAE,IAAA,eAAK,EAAC,SAAS,CAAC;IACzB,SAAS,EAAE,IAAA,mBAAS,EAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IAC/F,WAAW,EAAE,IAAA,mBAAS,EAAC,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC5E,QAAQ,EAAE,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,SAAS,EAAE,IAAA,cAAI,EAAC,YAAY,CAAC;CAC9B,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAC5E,CAAC;AAEW,QAAA,cAAc,GAAG,IAAA,iBAAO,EACnC,iBAAiB,EACjB;IACE,QAAQ,EAAE,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACpC,OAAO,EAAE,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,WAAW,EAAE,IAAA,mBAAS,EAAC,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CACpG,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAU,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAA,eAAK,EAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CACvH,CAAC"}