@beignet/provider-db-drizzle 0.0.36 → 0.0.38

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 (48) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +130 -11
  3. package/dist/mysql/index.d.ts +27 -8
  4. package/dist/mysql/index.d.ts.map +1 -1
  5. package/dist/mysql/index.js +50 -52
  6. package/dist/mysql/index.js.map +1 -1
  7. package/dist/mysql/schema.d.ts +17 -0
  8. package/dist/mysql/schema.d.ts.map +1 -1
  9. package/dist/mysql/schema.js +1 -0
  10. package/dist/mysql/schema.js.map +1 -1
  11. package/dist/postgres/index.d.ts +31 -5
  12. package/dist/postgres/index.d.ts.map +1 -1
  13. package/dist/postgres/index.js +41 -51
  14. package/dist/postgres/index.js.map +1 -1
  15. package/dist/postgres/schema.d.ts +17 -0
  16. package/dist/postgres/schema.d.ts.map +1 -1
  17. package/dist/postgres/schema.js +1 -0
  18. package/dist/postgres/schema.js.map +1 -1
  19. package/dist/shared/idempotency-core.d.ts +2 -0
  20. package/dist/shared/idempotency-core.d.ts.map +1 -1
  21. package/dist/shared/idempotency-core.js +56 -8
  22. package/dist/shared/idempotency-core.js.map +1 -1
  23. package/dist/shared/outbox-core.d.ts.map +1 -1
  24. package/dist/shared/outbox-core.js +2 -0
  25. package/dist/shared/outbox-core.js.map +1 -1
  26. package/dist/shared/rows.d.ts +1 -0
  27. package/dist/shared/rows.d.ts.map +1 -1
  28. package/dist/shared/rows.js +13 -0
  29. package/dist/shared/rows.js.map +1 -1
  30. package/dist/sqlite/index.d.ts +20 -2
  31. package/dist/sqlite/index.d.ts.map +1 -1
  32. package/dist/sqlite/index.js +38 -50
  33. package/dist/sqlite/index.js.map +1 -1
  34. package/dist/sqlite/schema.d.ts +19 -0
  35. package/dist/sqlite/schema.d.ts.map +1 -1
  36. package/dist/sqlite/schema.js +1 -0
  37. package/dist/sqlite/schema.js.map +1 -1
  38. package/package.json +3 -2
  39. package/skills/database-provider/SKILL.md +29 -1
  40. package/src/mysql/index.ts +122 -45
  41. package/src/mysql/schema.ts +1 -0
  42. package/src/postgres/index.ts +119 -42
  43. package/src/postgres/schema.ts +1 -0
  44. package/src/shared/idempotency-core.ts +88 -7
  45. package/src/shared/outbox-core.ts +2 -0
  46. package/src/shared/rows.ts +13 -0
  47. package/src/sqlite/index.ts +103 -36
  48. package/src/sqlite/schema.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @beignet/provider-db-drizzle
2
2
 
3
+ ## 0.0.38
4
+
5
+ ### Patch Changes
6
+
7
+ - 443b9a1: Clarify post-commit delivery, listener ordering, cooperative job timeouts, stateless upload completion, and stable idempotency-key responsibilities.
8
+ - 1081ac6: Harden HTTP response handling, synchronous upload cleanup, CLI path and registry diagnostics, provider context preservation, Redis subscription observability, and provider documentation.
9
+ - d23b0b3: Continue versioned W3C trace context through outbox, event bus, BullMQ, and
10
+ Inngest boundaries without making telemetry metadata part of delivery success.
11
+ - 7e1a68e: Harden query transport, webhook timestamps, leases, idempotency, outbox drains,
12
+ production devtools authorization, and transaction-scoped database execution.
13
+
14
+ ## 0.0.37
15
+
16
+ ### Patch Changes
17
+
18
+ - a3f4573: Allow Drizzle providers to use explicitly owned injected clients, and generate apps with one shared, cleanly stopped database client plus configurable Postgres and MySQL pool limits. Provider audit now supports explicit required-env exceptions for clients configured through platform bindings or other non-env mechanisms.
19
+
3
20
  ## 0.0.36
4
21
 
5
22
  ## 0.0.35
package/README.md CHANGED
@@ -181,14 +181,14 @@ export type AppPorts = {
181
181
  ```ts
182
182
  // server/index.ts
183
183
  import { createNextServer, createNextServerLoader } from "@beignet/next";
184
- import { appPorts } from "@/infra/app-ports";
184
+ import { initialPorts } from "@/infra/port-wiring";
185
185
  import { routes } from "@/server/routes";
186
186
 
187
187
  export const getServer = createNextServerLoader(async () => {
188
188
  const { providers } = await import("./providers");
189
189
 
190
190
  return createNextServer({
191
- ports: appPorts,
191
+ ports: initialPorts,
192
192
  providers,
193
193
  context: ({ ports }) => ({ ports }),
194
194
  routes,
@@ -365,6 +365,75 @@ if (!health.ok) {
365
365
  `checkHealth()` runs a cheap `select 1` through the underlying client or pool.
366
366
  It does not run migrations, create tables, or mutate schema.
367
367
 
368
+ ## Client ownership and scaling
369
+
370
+ Env-backed providers create one database client per installed server instance
371
+ and close it when that server stops. Cache the server loader at module scope so
372
+ warm requests reuse that client; do not create a server or pool in each route.
373
+
374
+ Apps that need to share a client with Better Auth or other infrastructure can
375
+ inject it directly. Keep a shared client app/process-owned because retryable
376
+ server initialization may clean up providers while Better Auth retains the
377
+ module-scoped client:
378
+
379
+ ```ts
380
+ // infra/db/client.ts
381
+ import pg from "pg";
382
+
383
+ export const databaseClient = new pg.Pool({
384
+ connectionString: process.env.POSTGRES_DB_URL,
385
+ max: Number(process.env.POSTGRES_DB_POOL_MAX ?? 5),
386
+ });
387
+
388
+ let closePromise: Promise<void> | undefined;
389
+
390
+ export function closeDatabaseClient(): Promise<void> {
391
+ closePromise ??= Promise.resolve().then(() => databaseClient.end());
392
+ return closePromise;
393
+ }
394
+ ```
395
+
396
+ ```ts
397
+ // server/providers.ts
398
+ const databaseProvider = createDrizzlePostgresProvider({
399
+ schema,
400
+ client: databaseClient,
401
+ });
402
+ ```
403
+
404
+ Injected clients are caller-owned by default. Use `closeOnStop: true` only for
405
+ a client owned exclusively by that server. Apps sharing a client should wrap
406
+ the successfully created server's public `stop()` to stop providers first and
407
+ then call the idempotent `closeDatabaseClient()`. This keeps failed-boot retries
408
+ from reusing a closed client while allowing workers and one-off commands to
409
+ exit cleanly. Serverless process termination reclaims clients when the host
410
+ does not call `stop()`.
411
+
412
+ Provider audit assumes the standard URL env variable. Apps whose injected
413
+ client genuinely uses another configuration source can add that variable to
414
+ `providerAudit.ignoreRequiredEnv` in `beignet.config.ts`; this changes static
415
+ audit only, not runtime validation.
416
+
417
+ Size a pool from the total deployment budget, not one process in isolation:
418
+
419
+ ```txt
420
+ per-process pool max <=
421
+ (database connection limit - operational reserve)
422
+ / maximum concurrent processes sharing the database
423
+ ```
424
+
425
+ Count web instances, workers, previews, tasks, migrations, and other services.
426
+ Serverless deployments should use a small per-instance pool and a
427
+ provider-managed pooled endpoint when available. Worker concurrency and pool
428
+ size are separate controls: a small pool limits concurrent database work even
429
+ when the queue claims many jobs, while a large pool multiplied across replicas
430
+ can exhaust the database.
431
+
432
+ Local `file:` SQLite is a single-host writable database. Use hosted libSQL or a
433
+ server database when multiple hosts need concurrent access. Reset, migration,
434
+ and test commands may create separate transient clients, but must close them
435
+ before exiting.
436
+
368
437
  ## Devtools
369
438
 
370
439
  When `@beignet/devtools` is registered before this provider, Drizzle query
@@ -388,8 +457,9 @@ Env-backed providers throw during startup when their required database URL is
388
457
  missing or the driver cannot create the connection/client. Runtime query errors
389
458
  come from Drizzle and the selected driver. Unit of Work rolls back the database
390
459
  transaction when the callback throws; if post-commit event publishing fails, the
391
- database transaction has already committed, so use the outbox for durable
392
- follow-up work.
460
+ database transaction has already committed even though the Unit of Work
461
+ rejects. Callers must not interpret that rejection as rollback or blindly retry
462
+ non-idempotent work. Use the outbox for durable follow-up work.
393
463
 
394
464
  SQLite permits one writer at a time. The SQLite adapter therefore queues
395
465
  Beignet-owned Unit of Work, root outbox-claim, and root idempotency-reservation
@@ -403,6 +473,10 @@ contention. The MySQL adapter retries only Beignet-owned outbox-claim and
403
473
  idempotency-reservation transactions, up to eight attempts with exponential
404
474
  backoff, proportional jitter, and a 250 ms per-delay cap. It does not retry
405
475
  app-owned Unit of Work callbacks.
476
+ Idempotency and outbox ports created from the transaction client supplied to a
477
+ MySQL Unit of Work execute directly in that transaction; they do not open a
478
+ nested savepoint or run the internal deadlock retry loop inside an already
479
+ failed outer transaction.
406
480
 
407
481
  ## Local and tests
408
482
 
@@ -553,7 +627,9 @@ uow: createDrizzleSqliteUnitOfWork({
553
627
  return {
554
628
  ...createRepositories(tx),
555
629
  audit,
556
- events: createOutboxEventRecorder(outbox),
630
+ events: createOutboxEventRecorder(outbox, {
631
+ tracing: ports.tracing,
632
+ }),
557
633
  idempotency,
558
634
  outbox,
559
635
  };
@@ -645,8 +721,11 @@ port creation if your app uses a different table name. Expired records are
645
721
  removed during reservation, failed in-progress reservations are released, and
646
722
  completed matching records replay their stored result.
647
723
 
648
- `complete(...)` and `fail(...)` must match an in-progress reservation with the
649
- provided fingerprint. When the database reports that no row matched, the port
724
+ Unfinished reservations use a 300-second TTL by default, independently from
725
+ the completed replay `ttlSec`. `complete(...)` and `fail(...)` must match an
726
+ in-progress reservation with both the provided fingerprint and the opaque
727
+ reservation token returned by `reserve(...)`. When the database reports that
728
+ no row matched, the port
650
729
  throws `DrizzleSqliteIdempotencyMutationError` instead of silently doing
651
730
  nothing, so workflow bugs such as double completion, a missing reservation, or
652
731
  a mismatched fingerprint surface immediately. The error exposes `action`,
@@ -671,6 +750,7 @@ The adapter preserves Beignet's durable workflow semantics in SQL:
671
750
  - `attempts` increments when a worker claims a message.
672
751
  - `max_attempts` stores the maximum total attempts for the message.
673
752
  - `available_at` stores retry timing and backoff decisions.
753
+ - `trace_context_json` stores Beignet's optional versioned trace carrier.
674
754
  - `locked_until` and `claim_token` provide a lease so workers can compete.
675
755
  - `deadLettered` is the terminal state for messages that should no longer be
676
756
  retried automatically.
@@ -678,6 +758,20 @@ The adapter preserves Beignet's durable workflow semantics in SQL:
678
758
  `drainOutbox(...)` owns retry classification and backoff computation. The
679
759
  Drizzle SQLite adapter stores the resulting state and enforces claim ownership.
680
760
 
761
+ Existing outbox tables need one nullable column before deploying this version:
762
+
763
+ ```sql
764
+ -- SQLite and Postgres
765
+ ALTER TABLE outbox_messages ADD COLUMN trace_context_json text;
766
+
767
+ -- MySQL
768
+ ALTER TABLE outbox_messages ADD COLUMN trace_context_json longtext;
769
+ ```
770
+
771
+ Fresh tables created by the exported setup statements already include it.
772
+ Rows written before the migration have no carrier and start a new trace when
773
+ delivered.
774
+
681
775
  ## Configuration
682
776
 
683
777
  The provider reads configuration from environment variables with the `SQLITE_` prefix:
@@ -769,9 +863,13 @@ export const providers = [drizzlePostgresProvider];
769
863
  - `options.portName` (optional): Port name, defaults to `"db"`
770
864
  - `options.pool` (optional): node-postgres pool options
771
865
  (`Omit<PoolConfig, "connectionString">`) such as `max` or `ssl`
866
+ - `options.client` (optional): app-supplied node-postgres `Pool`; when set,
867
+ provider config and `options.pool` are not used
868
+ - `options.closeOnStop` (optional, injected clients only): close the supplied
869
+ pool on provider stop; defaults to `false`
772
870
 
773
871
  The provider is named `"drizzle-postgres"` and installs a `DbPort` with the
774
- typed Drizzle database under `db` (a `NodePgDatabase<TSchema>`) and the
872
+ typed Drizzle database under `drizzle` (a `NodePgDatabase<TSchema>`) and the
775
873
  node-postgres `Pool` under `pool` as the escape hatch.
776
874
 
777
875
  Type repository factories with `DrizzlePostgresDatabase<TSchema>` so they
@@ -853,7 +951,9 @@ createTransactionPorts: (tx) => {
853
951
  return {
854
952
  ...createRepositories(tx),
855
953
  audit,
856
- events: createOutboxEventRecorder(outbox),
954
+ events: createOutboxEventRecorder(outbox, {
955
+ tracing: ports.tracing,
956
+ }),
857
957
  idempotency,
858
958
  outbox,
859
959
  };
@@ -933,11 +1033,15 @@ export const providers = [drizzleMysqlProvider];
933
1033
  - `options.portName` (optional): Port name, defaults to `"db"`
934
1034
  - `options.pool` (optional): `mysql2` pool options (`Omit<PoolOptions, "uri">`)
935
1035
  such as `connectionLimit` or TLS settings
1036
+ - `options.client` (optional): app-supplied `mysql2` pool; when set, provider
1037
+ config and `options.pool` are not used
1038
+ - `options.closeOnStop` (optional, injected clients only): close the supplied
1039
+ pool on provider stop; defaults to `false`
936
1040
  - `options.mode` (optional): Drizzle relational-query mode, `"default"` or
937
1041
  `"planetscale"`; use `"planetscale"` when connecting to PlanetScale
938
1042
 
939
1043
  The provider is named `"drizzle-mysql"` and installs a `DbPort` with the typed
940
- Drizzle database under `db` and the `mysql2` pool under `pool` as the escape
1044
+ Drizzle database under `drizzle` and the `mysql2` pool under `pool` as the escape
941
1045
  hatch.
942
1046
 
943
1047
  Type repository factories with `DrizzleMysqlDatabase<TSchema>`;
@@ -1059,8 +1163,19 @@ export const analyticsDbProvider = createProvider({
1059
1163
  const drizzleDb = drizzle(client, { schema: analyticsSchema });
1060
1164
  const analyticsDb: DbPort<typeof analyticsSchema> = {
1061
1165
  drizzle: drizzleDb,
1062
- db: drizzleDb,
1063
1166
  client,
1167
+ async checkHealth() {
1168
+ try {
1169
+ await client.execute("select 1");
1170
+ return { ok: true, metadata: { adapter: "sqlite" } };
1171
+ } catch (error) {
1172
+ return {
1173
+ ok: false,
1174
+ message: error instanceof Error ? error.message : String(error),
1175
+ metadata: { adapter: "sqlite" },
1176
+ };
1177
+ }
1178
+ },
1064
1179
  };
1065
1180
 
1066
1181
  return {
@@ -1180,6 +1295,10 @@ Factory function to create a Drizzle SQLite provider.
1180
1295
  **Parameters:**
1181
1296
  - `options.schema` (required): Your Drizzle schema object
1182
1297
  - `options.portName` (optional): Port name, defaults to `"db"`
1298
+ - `options.client` (optional): app-supplied libSQL client; when set, provider
1299
+ configuration is not required
1300
+ - `options.closeOnStop` (optional, injected clients only): close the supplied
1301
+ client on provider stop; defaults to `false`
1183
1302
 
1184
1303
  **Returns:** A provider that can be registered with `createServer`, `createNextServer`, or another Beignet server adapter.
1185
1304
 
@@ -31,7 +31,8 @@ import type { OutboxAdminPort, OutboxPort } from "@beignet/core/outbox";
31
31
  import { type AuditLogPort, type BufferedDomainEventRecorder, type EventBusPort, type UnitOfWorkPort } from "@beignet/core/ports";
32
32
  import { type AnyProviderConfigSchema, type ServiceProvider } from "@beignet/core/providers";
33
33
  import { type ExtractTablesWithRelations } from "drizzle-orm";
34
- import type { MySqlDatabase, MySqlQueryResultHKT, MySqlTransaction, MySqlTransactionConfig, PreparedQueryHKTBase } from "drizzle-orm/mysql-core";
34
+ import type { MySqlDatabase, MySqlQueryResultHKT, MySqlTransactionConfig, PreparedQueryHKTBase } from "drizzle-orm/mysql-core";
35
+ import { MySqlTransaction } from "drizzle-orm/mysql-core";
35
36
  import { type MySql2Database } from "drizzle-orm/mysql2";
36
37
  import type { Pool, PoolOptions } from "mysql2/promise";
37
38
  import { type DrizzleAuditLogCoreOptions } from "../shared/audit-core.js";
@@ -243,12 +244,14 @@ export interface MysqlConfig {
243
244
  * Drizzle MySQL lifecycle provider with typed schema and port name.
244
245
  */
245
246
  export type DrizzleMysqlProvider<TSchema extends Record<string, unknown>, PortName extends string = "db"> = ServiceProvider<unknown, AnyProviderConfigSchema<MysqlConfig>, Record<PortName, DbPort<TSchema>>>;
247
+ /** Drizzle MySQL provider backed by an app-supplied pool. */
248
+ export type InjectedDrizzleMysqlProvider<TSchema extends Record<string, unknown>, PortName extends string = "db"> = ServiceProvider<unknown, AnyProviderConfigSchema<void>, Record<PortName, DbPort<TSchema>>>;
246
249
  /**
247
250
  * Options for creating a Drizzle MySQL provider.
248
251
  *
249
252
  * @template TSchema - The Drizzle schema type
250
253
  */
251
- export interface DrizzleMysqlProviderOptions<TSchema extends Record<string, unknown>, PortName extends string = "db"> {
254
+ interface DrizzleMysqlProviderBaseOptions<TSchema extends Record<string, unknown>, PortName extends string = "db"> {
252
255
  /**
253
256
  * The Drizzle schema object (e.g. `import * as schema from '@/db/schema'`).
254
257
  * This schema is used to create a typed Drizzle database instance.
@@ -261,17 +264,24 @@ export interface DrizzleMysqlProviderOptions<TSchema extends Record<string, unkn
261
264
  * with its own env prefix instead.
262
265
  */
263
266
  portName?: PortName;
264
- /**
265
- * Optional mysql2 pool options merged into the pool created from
266
- * `MYSQL_DB_URL` (e.g. `connectionLimit`, `timezone`, TLS settings).
267
- */
268
- pool?: Omit<PoolOptions, "uri">;
269
267
  /**
270
268
  * Drizzle relational-query mode. Use "planetscale" when connecting to
271
269
  * PlanetScale; defaults to "default".
272
270
  */
273
271
  mode?: "default" | "planetscale";
274
272
  }
273
+ export type DrizzleMysqlProviderOptions<TSchema extends Record<string, unknown>, PortName extends string = "db"> = DrizzleMysqlProviderBaseOptions<TSchema, PortName> & ({
274
+ /** Pool options for the provider-created `MYSQL_DB_URL` pool. */
275
+ pool?: Omit<PoolOptions, "uri">;
276
+ client?: never;
277
+ closeOnStop?: never;
278
+ } | {
279
+ /** App-supplied mysql2 pool, caller-owned by default. */
280
+ client: Pool;
281
+ pool?: never;
282
+ /** Close the injected pool when the provider stops. @default false */
283
+ closeOnStop?: boolean;
284
+ });
275
285
  /**
276
286
  * Create a Drizzle MySQL provider factory.
277
287
  *
@@ -293,5 +303,14 @@ export interface DrizzleMysqlProviderOptions<TSchema extends Record<string, unkn
293
303
  * export const drizzleMysqlProvider = createDrizzleMysqlProvider({ schema });
294
304
  * ```
295
305
  */
296
- export declare function createDrizzleMysqlProvider<TSchema extends Record<string, unknown>, PortName extends string = "db">(options: DrizzleMysqlProviderOptions<TSchema, PortName>): DrizzleMysqlProvider<TSchema, PortName>;
306
+ export declare function createDrizzleMysqlProvider<TSchema extends Record<string, unknown>, PortName extends string = "db">(options: DrizzleMysqlProviderBaseOptions<TSchema, PortName> & {
307
+ client: Pool;
308
+ pool?: never;
309
+ closeOnStop?: boolean;
310
+ }): InjectedDrizzleMysqlProvider<TSchema, PortName>;
311
+ export declare function createDrizzleMysqlProvider<TSchema extends Record<string, unknown>, PortName extends string = "db">(options: DrizzleMysqlProviderBaseOptions<TSchema, PortName> & {
312
+ pool?: Omit<PoolOptions, "uri">;
313
+ client?: never;
314
+ closeOnStop?: never;
315
+ }): DrizzleMysqlProvider<TSchema, PortName>;
297
316
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mysql/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mysql/index.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@
29
29
  import { createDomainEventRecorder, } from "@beignet/core/ports";
30
30
  import { createProvider, createProviderInstrumentation, } from "@beignet/core/providers";
31
31
  import { sql } from "drizzle-orm";
32
+ import { MySqlTransaction } from "drizzle-orm/mysql-core";
32
33
  import { drizzle } from "drizzle-orm/mysql2";
33
34
  import * as mysql from "mysql2/promise";
34
35
  import { z } from "zod";
@@ -59,6 +60,7 @@ export function createDrizzleMysqlUnitOfWork(options) {
59
60
  async transaction(work) {
60
61
  const events = createDomainEventRecorder();
61
62
  const result = await options.db.transaction(async (tx) => {
63
+ markMysqlTransactionClient(tx);
62
64
  const txPorts = options.createTransactionPorts(tx, events);
63
65
  return work(txPorts);
64
66
  }, options.transactionConfig);
@@ -118,6 +120,11 @@ function isMysqlDeadlockError(error) {
118
120
  }
119
121
  const MYSQL_DEADLOCK_RETRY_BASE_MS = 10;
120
122
  const MYSQL_DEADLOCK_RETRY_MAX_MS = 250;
123
+ const mysqlTransactionClients = new WeakSet();
124
+ function markMysqlTransactionClient(client) {
125
+ mysqlTransactionClients.add(client);
126
+ return client;
127
+ }
121
128
  function mysqlDeadlockRetryDelayMs(attempt) {
122
129
  const exponentialDelay = Math.min(MYSQL_DEADLOCK_RETRY_MAX_MS, MYSQL_DEADLOCK_RETRY_BASE_MS * 2 ** (attempt - 1));
123
130
  const jitterWindow = Math.max(1, Math.floor(exponentialDelay / 4));
@@ -138,7 +145,8 @@ async function runMysqlInternalTransaction(transaction) {
138
145
  }
139
146
  }
140
147
  }
141
- function createMysqlExecutor(db, table) {
148
+ function createMysqlExecutor(db, table, transactionScoped = db instanceof MySqlTransaction ||
149
+ mysqlTransactionClients.has(db)) {
142
150
  return {
143
151
  table,
144
152
  // MySQL 8.0+ row-locking clause so concurrent claimers skip locked rows.
@@ -183,11 +191,13 @@ function createMysqlExecutor(db, table) {
183
191
  }
184
192
  },
185
193
  withTransaction(fn) {
194
+ if (transactionScoped)
195
+ return undefined;
186
196
  if ("transaction" in db && typeof db.transaction === "function") {
187
197
  // Outbox claims and idempotency reservations are small Beignet-owned
188
198
  // transactions with no app callbacks. Retrying a deadlock victim is
189
199
  // therefore safe and lets contenders classify against the winner.
190
- return runMysqlInternalTransaction(() => db.transaction((tx) => fn(createMysqlExecutor(tx, table))));
200
+ return runMysqlInternalTransaction(() => db.transaction((tx) => fn(createMysqlExecutor(markMysqlTransactionClient(tx), table, true))));
191
201
  }
192
202
  return undefined;
193
203
  },
@@ -274,6 +284,7 @@ export function createDrizzleMysqlOutboxSetupStatements(options = {}) {
274
284
  kind varchar(32) NOT NULL,
275
285
  name varchar(255) NOT NULL,
276
286
  payload_json longtext NOT NULL,
287
+ trace_context_json longtext,
277
288
  status varchar(32) NOT NULL,
278
289
  attempts int NOT NULL DEFAULT 0,
279
290
  max_attempts int NOT NULL DEFAULT 3,
@@ -396,29 +407,44 @@ const MysqlConfigSchema = z.object({
396
407
  message: 'DB_URL must start with "mysql://" (e.g., "mysql://user:password@localhost:3306/app")',
397
408
  }),
398
409
  });
399
- /**
400
- * Create a Drizzle MySQL provider factory.
401
- *
402
- * This factory creates a service provider that:
403
- * - Uses a mysql2/promise connection pool
404
- * - Uses Drizzle ORM via drizzle-orm/mysql2
405
- * - Exposes a typed DbPort<TSchema> on ports
406
- * - Uses MYSQL_-prefixed env vars for connection config
407
- *
408
- * @template TSchema - The Drizzle schema type (inferred from the schema parameter)
409
- * @param options - Configuration options including the schema
410
- * @returns A service provider that can be used with createNextServer
411
- *
412
- * @example
413
- * ```ts
414
- * import * as schema from "@/db/schema";
415
- * import { createDrizzleMysqlProvider } from "@beignet/provider-db-drizzle/mysql";
416
- *
417
- * export const drizzleMysqlProvider = createDrizzleMysqlProvider({ schema });
418
- * ```
419
- */
420
410
  export function createDrizzleMysqlProvider(options) {
421
411
  const { schema, portName = "db", mode = "default" } = options;
412
+ const setupPool = (ports, pool, closeOnStop) => {
413
+ const instrumentation = createProviderInstrumentation(ports, {
414
+ providerName: "drizzle-mysql",
415
+ watcher: "db",
416
+ });
417
+ const logger = createDbQueryLogger(instrumentation, portName);
418
+ const db = logger
419
+ ? drizzle(pool, { schema, logger, mode })
420
+ : drizzle(pool, { schema, mode });
421
+ const dbPort = {
422
+ drizzle: db,
423
+ pool,
424
+ checkHealth: () => checkMysqlHealth(pool),
425
+ };
426
+ return {
427
+ ports: { [portName]: dbPort },
428
+ async stop() {
429
+ if (!closeOnStop)
430
+ return;
431
+ try {
432
+ await pool.end();
433
+ }
434
+ catch (error) {
435
+ console.error("[drizzleMysqlProvider] Error closing database connection:", error);
436
+ }
437
+ },
438
+ };
439
+ };
440
+ if (options.client) {
441
+ return createProvider({
442
+ name: "drizzle-mysql",
443
+ setup({ ports }) {
444
+ return setupPool(ports, options.client, options.closeOnStop ?? false);
445
+ },
446
+ });
447
+ }
422
448
  return createProvider({
423
449
  name: "drizzle-mysql",
424
450
  config: {
@@ -434,35 +460,7 @@ export function createDrizzleMysqlProvider(options) {
434
460
  uri: config.DB_URL,
435
461
  ...options.pool,
436
462
  });
437
- const instrumentation = createProviderInstrumentation(ports, {
438
- providerName: "drizzle-mysql",
439
- watcher: "db",
440
- });
441
- const logger = createDbQueryLogger(instrumentation, portName);
442
- // 2. Create typed Drizzle instance (mode is required when a schema is
443
- // provided to drizzle-orm/mysql2)
444
- const db = logger
445
- ? drizzle(pool, { schema, logger, mode })
446
- : drizzle(pool, { schema, mode });
447
- // 3. Build a typed DbPort
448
- const dbPort = {
449
- drizzle: db,
450
- pool,
451
- checkHealth: () => checkMysqlHealth(pool),
452
- };
453
- return {
454
- ports: { [portName]: dbPort },
455
- async stop() {
456
- // Gracefully close the database connection pool
457
- try {
458
- await dbPort.pool.end();
459
- }
460
- catch (error) {
461
- // Log error but don't throw - we're shutting down anyway
462
- console.error("[drizzleMysqlProvider] Error closing database connection:", error);
463
- }
464
- },
465
- };
463
+ return setupPool(ports, pool, true);
466
464
  },
467
465
  });
468
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mysql/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mysql/index.ts"],"names":[],"mappings":"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"}
@@ -400,6 +400,23 @@ export declare const outboxMessages: import("drizzle-orm/mysql-core").MySqlTable
400
400
  identity: undefined;
401
401
  generated: undefined;
402
402
  }, {}, {}>;
403
+ traceContextJson: import("drizzle-orm/mysql-core").MySqlColumn<{
404
+ name: "trace_context_json";
405
+ tableName: "outbox_messages";
406
+ dataType: "string";
407
+ columnType: "MySqlText";
408
+ data: string;
409
+ driverParam: string;
410
+ notNull: false;
411
+ hasDefault: false;
412
+ isPrimaryKey: false;
413
+ isAutoincrement: false;
414
+ hasRuntimeDefault: false;
415
+ enumValues: [string, ...string[]];
416
+ baseColumn: never;
417
+ identity: undefined;
418
+ generated: undefined;
419
+ }, {}, {}>;
403
420
  status: import("drizzle-orm/mysql-core").MySqlColumn<{
404
421
  name: "status";
405
422
  tableName: "outbox_messages";
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/mysql/schema.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCpB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B1B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB9B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/mysql/schema.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCpB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B1B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB9B,CAAC"}
@@ -32,6 +32,7 @@ export const outboxMessages = mysqlTable("outbox_messages", {
32
32
  kind: varchar("kind", { length: 32 }).notNull(),
33
33
  name: varchar("name", { length: 255 }).notNull(),
34
34
  payloadJson: longtext("payload_json").notNull(),
35
+ traceContextJson: longtext("trace_context_json"),
35
36
  status: varchar("status", { length: 32 }).notNull(),
36
37
  attempts: int("attempts").notNull().default(0),
37
38
  maxAttempts: int("max_attempts").notNull().default(3),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/mysql/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/mysql/schema.ts"],"names":[],"mappings":"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"}