@jantstack/adonis-authz 2.4.0-alpha.6 → 2.4.0-alpha.8

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 (45) hide show
  1. package/README.md +24 -4
  2. package/build/commands/authz_scopes_relay.d.ts +32 -0
  3. package/build/commands/authz_scopes_relay.d.ts.map +1 -1
  4. package/build/commands/authz_scopes_relay.js +79 -0
  5. package/build/commands/authz_scopes_relay.js.map +1 -1
  6. package/build/commands/authz_scopes_requeue.d.ts +17 -0
  7. package/build/commands/authz_scopes_requeue.d.ts.map +1 -1
  8. package/build/commands/authz_scopes_requeue.js +83 -5
  9. package/build/commands/authz_scopes_requeue.js.map +1 -1
  10. package/build/index.d.ts +1 -1
  11. package/build/index.d.ts.map +1 -1
  12. package/build/index.js +1 -1
  13. package/build/index.js.map +1 -1
  14. package/build/src/drivers/database_relations_driver.d.ts +17 -0
  15. package/build/src/drivers/database_relations_driver.d.ts.map +1 -1
  16. package/build/src/drivers/database_relations_driver.js +48 -5
  17. package/build/src/drivers/database_relations_driver.js.map +1 -1
  18. package/build/src/errors.d.ts +21 -0
  19. package/build/src/errors.d.ts.map +1 -1
  20. package/build/src/errors.js +7 -0
  21. package/build/src/errors.js.map +1 -1
  22. package/build/src/manager.d.ts +47 -2
  23. package/build/src/manager.d.ts.map +1 -1
  24. package/build/src/manager.js +500 -226
  25. package/build/src/manager.js.map +1 -1
  26. package/build/src/relations/manager.d.ts +19 -3
  27. package/build/src/relations/manager.d.ts.map +1 -1
  28. package/build/src/relations/manager.js +33 -8
  29. package/build/src/relations/manager.js.map +1 -1
  30. package/build/src/scope_outbox.d.ts +33 -0
  31. package/build/src/scope_outbox.d.ts.map +1 -1
  32. package/build/src/scope_outbox.js +48 -1
  33. package/build/src/scope_outbox.js.map +1 -1
  34. package/build/src/shared/transaction_guard.d.ts +5 -2
  35. package/build/src/shared/transaction_guard.d.ts.map +1 -1
  36. package/build/src/shared/transaction_guard.js +16 -2
  37. package/build/src/shared/transaction_guard.js.map +1 -1
  38. package/build/src/testing/scope_outbox_contract.d.ts +10 -0
  39. package/build/src/testing/scope_outbox_contract.d.ts.map +1 -1
  40. package/build/src/testing/scope_outbox_contract.js +71 -1
  41. package/build/src/testing/scope_outbox_contract.js.map +1 -1
  42. package/build/src/types.d.ts +66 -1
  43. package/build/src/types.d.ts.map +1 -1
  44. package/build/src/types.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/relations/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/relations/manager.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,20 @@ export interface SqlScopeOutboxOptions {
58
58
  * 3b-3, o un `scopes.detached`/`attached` nuevo del consumidor).
59
59
  */
60
60
  maxAttempts?: number;
61
+ /**
62
+ * **Encolar sin `{ transaction }` es 500** (2.4.0-alpha.8; panel relay 2,
63
+ * cuestión 6; P13 del tester). Con `true`, `enqueue` sin la transacción
64
+ * ABIERTA del llamante es 500 `E_AUTHZ_CONFIG` ANTES del INSERT: la fila
65
+ * confirmaría sola, fuera de tu unidad de trabajo, y si tu transacción
66
+ * revierte después el relay aplica al store un cambio que en TU base no
67
+ * ocurrió — la fuga S5 por el camino de uso «correcto» (SQL dice un padre y
68
+ * el PDP otro, sin que tu base pueda enseñártelo). Default **`false`** en
69
+ * alpha.8 porque el contrato PUBLICADO (`runScopeOutboxContract`) encola sin
70
+ * transacción en `ctx()` y un default `true` pondría en rojo a todo tercero;
71
+ * **pasa a `true` en 2.5** (decisión del dueño), cuando el contrato pase la
72
+ * transacción en `ctx()`. Ponlo a `true` hoy: es la letra de la mitigación.
73
+ */
74
+ requireTransaction?: boolean;
61
75
  }
62
76
  /** Lo que se necesita del `db` de Lucid; inyectable para probar sin servidor. */
63
77
  interface DatabaseLike {
@@ -81,6 +95,25 @@ interface DatabaseLike {
81
95
  * caracteres siguen compartiendo el `legacy` — la colisión solo se cierra
82
96
  * del todo al retirarlo. Exportado para que el caso lo fije sin MySQL.
83
97
  */
98
+ /**
99
+ * **Retirada del lock viejo, atada a la versión (cierre alpha.6).** `acquire()` toma
100
+ * el nombre `legacy` SOLO mientras `SCOPE_OUTBOX_TAKES_LEGACY_LOCK` sea `true`, y
101
+ * `tests/scope_outbox.spec.ts` exige que ese flag valga exactamente
102
+ * «`package.json` ≤ `SCOPE_OUTBOX_LEGACY_LOCK_UNTIL`»: en cuanto alguien suba la
103
+ * versión por encima de la última que necesita la transición, la suite se pone en
104
+ * ROJO hasta que el flag pase a `false` (y el caso MySQL de R6 se ajuste). Nadie
105
+ * tiene que acordarse: el propio bump lo exige. Por qué no se retira en la misma
106
+ * versión que estrena el nombre nuevo: durante un despliegue rodante los procesos
107
+ * de alpha.4 sostienen el viejo y los nuevos el nuevo, y ninguno ve al otro —
108
+ * dos escritores justo entonces.
109
+ */
110
+ export declare const SCOPE_OUTBOX_LEGACY_LOCK_UNTIL = "2.4.0-alpha.6";
111
+ /**
112
+ * `false` desde `2.4.0-alpha.7`: la transición terminó (decisión del dueño 2026-09-10: sin
113
+ * consumidores en MySQL desplegando desde alpha.4, la transición no protegía a nadie). Subir
114
+ * desde ≤ alpha.4 en MySQL exige parada completa del relay, no despliegue rodante.
115
+ */
116
+ export declare const SCOPE_OUTBOX_TAKES_LEGACY_LOCK = false;
84
117
  export declare function scopeOutboxLockNames(connection: string | undefined, table: string): {
85
118
  legacy: string;
86
119
  current: string;
@@ -1 +1 @@
1
- {"version":3,"file":"scope_outbox.d.ts","sourceRoot":"","sources":["../../src/scope_outbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,OAAO,KAAK,EAEV,WAAW,EAOZ,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,GAAG,CAAC,EAAE,KAAK,CAAA;IACX;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAgBD,iFAAiF;AACjF,UAAU,YAAY;IACpB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;IACxB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAC1B;AAiCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMvH;AAsFD,wBAAgB,cAAc,CAC5B,OAAO,GAAE,qBAA0B,EACnC,QAAQ,GAAE,YAA4C,GACrD,WAAW,CAmVb"}
1
+ {"version":3,"file":"scope_outbox.d.ts","sourceRoot":"","sources":["../../src/scope_outbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,OAAO,KAAK,EAEV,WAAW,EAOZ,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,GAAG,CAAC,EAAE,KAAK,CAAA;IACX;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAgBD,iFAAiF;AACjF,UAAU,YAAY;IACpB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;IACxB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAC1B;AAiCD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,kBAAkB,CAAA;AAC7D;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAAQ,CAAA;AAEnD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMvH;AAoGD,wBAAgB,cAAc,CAC5B,OAAO,GAAE,qBAA0B,EACnC,QAAQ,GAAE,YAA4C,GACrD,WAAW,CAqWb"}
@@ -95,6 +95,25 @@ const MYSQL_LOCK_NAME_MAX = 64;
95
95
  * caracteres siguen compartiendo el `legacy` — la colisión solo se cierra
96
96
  * del todo al retirarlo. Exportado para que el caso lo fije sin MySQL.
97
97
  */
98
+ /**
99
+ * **Retirada del lock viejo, atada a la versión (cierre alpha.6).** `acquire()` toma
100
+ * el nombre `legacy` SOLO mientras `SCOPE_OUTBOX_TAKES_LEGACY_LOCK` sea `true`, y
101
+ * `tests/scope_outbox.spec.ts` exige que ese flag valga exactamente
102
+ * «`package.json` ≤ `SCOPE_OUTBOX_LEGACY_LOCK_UNTIL`»: en cuanto alguien suba la
103
+ * versión por encima de la última que necesita la transición, la suite se pone en
104
+ * ROJO hasta que el flag pase a `false` (y el caso MySQL de R6 se ajuste). Nadie
105
+ * tiene que acordarse: el propio bump lo exige. Por qué no se retira en la misma
106
+ * versión que estrena el nombre nuevo: durante un despliegue rodante los procesos
107
+ * de alpha.4 sostienen el viejo y los nuevos el nuevo, y ninguno ve al otro —
108
+ * dos escritores justo entonces.
109
+ */
110
+ export const SCOPE_OUTBOX_LEGACY_LOCK_UNTIL = '2.4.0-alpha.6';
111
+ /**
112
+ * `false` desde `2.4.0-alpha.7`: la transición terminó (decisión del dueño 2026-09-10: sin
113
+ * consumidores en MySQL desplegando desde alpha.4, la transición no protegía a nadie). Subir
114
+ * desde ≤ alpha.4 en MySQL exige parada completa del relay, no despliegue rodante.
115
+ */
116
+ export const SCOPE_OUTBOX_TAKES_LEGACY_LOCK = false;
98
117
  export function scopeOutboxLockNames(connection, table) {
99
118
  const full = `authz_scope_outbox:${connection ?? 'default'}:${table}`;
100
119
  return {
@@ -132,6 +151,17 @@ function lockClientOf(database, connection) {
132
151
  }
133
152
  return null;
134
153
  }
154
+ /**
155
+ * El sello `created_at` como `Date`, venga como venga del dialecto (medido:
156
+ * `Date` en PostgreSQL y MySQL, milisegundos como `number` en SQLite). Parsear
157
+ * un valor NO es leer el reloj (`tests/clock.spec.ts`). Ilegible ⇒ ausente.
158
+ */
159
+ function stampOf(value) {
160
+ if (value === null || value === undefined)
161
+ return undefined;
162
+ const date = value instanceof Date ? value : new Date(value);
163
+ return Number.isNaN(date.getTime()) ? undefined : date;
164
+ }
135
165
  /** Una fila de la cola, tal como la ve el puerto. */
136
166
  function rowToPending(row) {
137
167
  const child = scopeOf(String(row.child_type), row.child_uuid);
@@ -141,12 +171,15 @@ function rowToPending(row) {
141
171
  const actor = row.actor_type === null || row.actor_type === undefined
142
172
  ? undefined
143
173
  : { type: String(row.actor_type), uuid: String(row.actor_uuid) };
174
+ const createdAt = stampOf(row.created_at);
144
175
  return {
145
176
  id: row.id,
146
177
  change,
147
178
  attempts: Number(row.attempts ?? 0),
148
179
  actor,
149
180
  ...(row.last_error === null || row.last_error === undefined ? {} : { lastError: String(row.last_error) }),
181
+ // La EDAD de la cola (2.4.0-alpha.8): el sello de quien encoló, tal cual.
182
+ ...(createdAt === undefined ? {} : { createdAt }),
150
183
  };
151
184
  }
152
185
  /**
@@ -188,6 +221,11 @@ export function sqlScopeOutbox(options = {}, database = db) {
188
221
  if (!(Number.isInteger(maxAttempts) && maxAttempts >= 1)) {
189
222
  throw new AuthorizationConfigError(`sqlScopeOutbox: maxAttempts debe ser un entero >= 1 (llegó ${String(options.maxAttempts)})`);
190
223
  }
224
+ const requireTransaction = options.requireTransaction === undefined ? false : options.requireTransaction;
225
+ if (typeof requireTransaction !== 'boolean') {
226
+ throw new AuthorizationConfigError(`sqlScopeOutbox: requireTransaction debe ser un booleano (llegó ${String(options.requireTransaction)}); ` +
227
+ 'true = encolar sin { transaction } es 500 antes del INSERT (default false en 2.4; true en 2.5).');
228
+ }
191
229
  /**
192
230
  * La conexión de ESTA cola: la declarada, o la primaria del `db` de Lucid
193
231
  * (un doble sin `primaryConnectionName` deja `undefined`: entonces se exige
@@ -203,6 +241,15 @@ export function sqlScopeOutbox(options = {}, database = db) {
203
241
  */
204
242
  const clientOf = (context) => {
205
243
  const trx = assertCallerTransaction('sqlScopeOutbox.enqueue', context?.transaction, { connection: ownConnection });
244
+ if (trx === undefined && requireTransaction) {
245
+ // La fuga S5, nombrada (2.4.0-alpha.8): sin tu transacción la fila
246
+ // confirma sola y un rollback tuyo no se la lleva.
247
+ throw new AuthorizationConfigError('sqlScopeOutbox.enqueue: no llegó { transaction } y esta outbox tiene requireTransaction: true. Encolar fuera ' +
248
+ 'de tu unidad de trabajo es la fuga que la outbox existe para cerrar: la fila confirmaría sola, y si tu ' +
249
+ 'transacción hace rollback después el cambio se queda en la cola y el relay lo aplica al store — tu base ' +
250
+ 'diría un padre y el PDP otro. Pasa el `trx` de db.transaction() en scopes.attached/moved/detached ' +
251
+ '({ transaction: trx }). No se ha escrito nada.');
252
+ }
206
253
  return trx ?? on(database);
207
254
  };
208
255
  const query = (operation, run) => guardSql('sqlScopeOutbox', operation, timeoutMs, run);
@@ -369,7 +416,7 @@ export function sqlScopeOutbox(options = {}, database = db) {
369
416
  await trx.rollback();
370
417
  }
371
418
  };
372
- if (!(await take(names.current)) || !(await take(names.legacy))) {
419
+ if (!(await take(names.current)) || (SCOPE_OUTBOX_TAKES_LEGACY_LOCK && !(await take(names.legacy)))) {
373
420
  await releaseAll();
374
421
  return null;
375
422
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope_outbox.js","sourceRoot":"","sources":["../../src/scope_outbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope_outbox.js","sourceRoot":"","sources":["../../src/scope_outbox.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,12 @@
18
18
  * 2. tiene que ser una TRANSACCIÓN ABIERTA (`isTransaction === true`): el
19
19
  * `db` de Lucid y un `QueryClient` (`db.connection()`) no lo son;
20
20
  * 3. tiene que pertenecer a la conexión de quien escribe (`connectionName`),
21
- * cuando se conoce cuál es.
21
+ * cuando se conoce cuál es;
22
+ * 4. tiene que seguir ABIERTA (`isCompleted !== true`, 2.4.0-alpha.8): una
23
+ * trx ya confirmada o revertida conserva `isTransaction === true` y hasta
24
+ * alpha.7 pasaba, para reventar dentro de knex como 503.
22
25
  *
23
- * Cualquiera de las tres ⇒ 500 `E_AUTHZ_CONFIG` nombrando la operación y las
26
+ * Cualquiera de las cuatro ⇒ 500 `E_AUTHZ_CONFIG` nombrando la operación y las
24
27
  * dos conexiones. Es un error de cableado del consumidor, no del backend ni de
25
28
  * la petición; y va ANTES de tocar la base (cero sentencias por la
26
29
  * transacción ajena).
@@ -1 +1 @@
1
- {"version":3,"file":"transaction_guard.d.ts","sourceRoot":"","sources":["../../../src/shared/transaction_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,uGAAuG;AACvG,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;IACxB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,sBAAsB,GAC5B,iBAAiB,GAAG,SAAS,CAgC/B"}
1
+ {"version":3,"file":"transaction_guard.d.ts","sourceRoot":"","sources":["../../../src/shared/transaction_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,uGAAuG;AACvG,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;IACxB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,sBAAsB,GAC5B,iBAAiB,GAAG,SAAS,CA6C/B"}
@@ -18,9 +18,12 @@
18
18
  * 2. tiene que ser una TRANSACCIÓN ABIERTA (`isTransaction === true`): el
19
19
  * `db` de Lucid y un `QueryClient` (`db.connection()`) no lo son;
20
20
  * 3. tiene que pertenecer a la conexión de quien escribe (`connectionName`),
21
- * cuando se conoce cuál es.
21
+ * cuando se conoce cuál es;
22
+ * 4. tiene que seguir ABIERTA (`isCompleted !== true`, 2.4.0-alpha.8): una
23
+ * trx ya confirmada o revertida conserva `isTransaction === true` y hasta
24
+ * alpha.7 pasaba, para reventar dentro de knex como 503.
22
25
  *
23
- * Cualquiera de las tres ⇒ 500 `E_AUTHZ_CONFIG` nombrando la operación y las
26
+ * Cualquiera de las cuatro ⇒ 500 `E_AUTHZ_CONFIG` nombrando la operación y las
24
27
  * dos conexiones. Es un error de cableado del consumidor, no del backend ni de
25
28
  * la petición; y va ANTES de tocar la base (cero sentencias por la
26
29
  * transacción ajena).
@@ -50,6 +53,17 @@ export function assertCallerTransaction(operation, transaction, owner) {
50
53
  `${typeof trx.connectionName === 'string' ? `, conexión '${trx.connectionName}'` : ''}): ` +
51
54
  'un cliente de consulta confirma cada sentencia por su cuenta. Pasa el `trx` de db.transaction().');
52
55
  }
56
+ // (4) Una transacción YA CERRADA (2.4.0-alpha.8; panel relay 2, cuestión
57
+ // 7.2): Lucid deja `isTransaction === true` tras el commit/rollback y
58
+ // publica `isCompleted` (medido). Sin esto la sentencia reventaba dentro de
59
+ // knex y salía como 503 «el backend no respondió», que es mentira: es el
60
+ // cableado del consumidor (un `trx` reutilizado tras `await trx.commit()`).
61
+ if (trx.isCompleted === true) {
62
+ throw new AuthorizationConfigError(`${operation}: 'transaction' ya está CERRADA (confirmada o revertida: isCompleted === true` +
63
+ `${typeof trx.connectionName === 'string' ? `, conexión '${trx.connectionName}'` : ''}): no se puede inscribir ` +
64
+ 'una escritura en una transacción que ya terminó. Pasa el `trx` de db.transaction() ANTES de confirmarlo o revertirlo. ' +
65
+ 'No se ha ejecutado ninguna sentencia.');
66
+ }
53
67
  if (owner.connection !== undefined && trx.connectionName !== owner.connection) {
54
68
  throw new AuthorizationConfigError(`${operation}: la transacción es de la conexión '${String(trx.connectionName)}' y la escritura va por la ` +
55
69
  `conexión '${owner.connection}': no puede inscribirse en ella («los dos o ninguno» sería falso). ` +
@@ -1 +1 @@
1
- {"version":3,"file":"transaction_guard.js","sourceRoot":"","sources":["../../../src/shared/transaction_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAoBvD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,WAAoB,EACpB,KAA6B;IAE7B,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACvE,MAAM,GAAG,GAAQ,WAAW,CAAA;IAC5B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACtE,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,8EAA8E;YACxF,oFAAoF,CACvF,CAAA;IACH,CAAC;IACD,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC1F,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,4FAA4F;YACtG,6GAA6G,CAChH,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,gFAAgF;YAC1F,GAAG,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK;YAC1F,kGAAkG,CACrG,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9E,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,uCAAuC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,6BAA6B;YACxG,aAAa,KAAK,CAAC,UAAU,qEAAqE;YAClG,0CAA0C,KAAK,CAAC,UAAU,gDAAgD,CAC7G,CAAA;IACH,CAAC;IACD,OAAO,GAAwB,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"transaction_guard.js","sourceRoot":"","sources":["../../../src/shared/transaction_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAoBvD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,WAAoB,EACpB,KAA6B;IAE7B,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACvE,MAAM,GAAG,GAAQ,WAAW,CAAA;IAC5B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACtE,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,8EAA8E;YACxF,oFAAoF,CACvF,CAAA;IACH,CAAC;IACD,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC1F,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,4FAA4F;YACtG,6GAA6G,CAChH,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,gFAAgF;YAC1F,GAAG,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK;YAC1F,kGAAkG,CACrG,CAAA;IACH,CAAC;IACD,yEAAyE;IACzE,sEAAsE;IACtE,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,+EAA+E;YACzF,GAAG,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,2BAA2B;YAChH,wHAAwH;YACxH,uCAAuC,CAC1C,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9E,MAAM,IAAI,wBAAwB,CAChC,GAAG,SAAS,uCAAuC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,6BAA6B;YACxG,aAAa,KAAK,CAAC,UAAU,qEAAqE;YAClG,0CAA0C,KAAK,CAAC,UAAU,gDAAgD,CAC7G,CAAA;IACH,CAAC;IACD,OAAO,GAAwB,CAAA;AACjC,CAAC"}
@@ -27,6 +27,14 @@ export interface ScopeOutboxCapabilities {
27
27
  earlierPending: boolean;
28
28
  /** `requeue(ids)` Y `laterApplied(id, scopes, limit)` existen (alpha.5 · R2b). Exige `dead: true`. `false` ⇒ `requeueScopeChanges` es 500. */
29
29
  requeue: boolean;
30
+ /**
31
+ * Las entradas llevan `createdAt` (2.4.0-alpha.8): el sello de cuándo se
32
+ * encolaron, como `Date`, en `pending()`; con él el relay publica la EDAD de
33
+ * la cabeza global de la cola (`report.queue`). `false` ⇒ el campo está
34
+ * AUSENTE y el reporte dice `null` (jamás `0` ni «ahora»), y la pasada sigue
35
+ * en verde.
36
+ */
37
+ createdAt: boolean;
30
38
  }
31
39
  export declare const SCOPE_OUTBOX_CAPABILITY_KEYS: ReadonlyArray<keyof ScopeOutboxCapabilities>;
32
40
  export interface ScopeOutboxContractHarness {
@@ -59,6 +67,8 @@ export interface MakeScopeOutboxOptions {
59
67
  capabilities: ScopeOutboxCapabilities;
60
68
  /** Solo con `dead: true` (default 5). */
61
69
  maxAttempts?: number;
70
+ /** Solo con `createdAt: true`: el reloj con el que se sella cada entrada (default: la hora del sistema). */
71
+ now?: () => Date;
62
72
  }
63
73
  /**
64
74
  * Una outbox EN MEMORIA que implementa el puerto entero y expone SOLO lo que
@@ -1 +1 @@
1
- {"version":3,"file":"scope_outbox_contract.d.ts","sourceRoot":"","sources":["../../../src/testing/scope_outbox_contract.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAA0B,WAAW,EAA6D,MAAM,aAAa,CAAA;AACjI,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAC7B,sHAAsH;IACtH,MAAM,EAAE,OAAO,CAAA;IACf,mIAAmI;IACnI,SAAS,EAAE,OAAO,CAAA;IAClB,oHAAoH;IACpH,IAAI,EAAE,OAAO,CAAA;IACb,8HAA8H;IAC9H,OAAO,EAAE,OAAO,CAAA;IAChB,8HAA8H;IAC9H,cAAc,EAAE,OAAO,CAAA;IACvB,8IAA8I;IAC9I,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,MAAM,uBAAuB,CAQrF,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,uBAAuB,CAAA;IACrC,2FAA2F;IAC3F,UAAU,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAChD,wCAAwC;IACxC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,uGAAuG;IACvG,YAAY,CAAC,EAAE,+BAA+B,CAAA;CAC/C;AAED,qDAAqD;AACrD,MAAM,WAAW,+BAA+B;IAC9C,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAA;CAChG;AAID,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,uBAAuB,CAAA;IACrC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAUD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW,CA4F5E;AAID,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,0BAA0B;gBAgCzD,MAAM;aAAW,GAAG,CAAC,MAAM,uBAAuB,CAAC;EA3BnE;AAmBD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,EACnC,GAAG,EAAE;IAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;CAAE,GACtE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,uBAAuB,CAAC,CAAA;CAAE,CAwfrE"}
1
+ {"version":3,"file":"scope_outbox_contract.d.ts","sourceRoot":"","sources":["../../../src/testing/scope_outbox_contract.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAA0B,WAAW,EAA6D,MAAM,aAAa,CAAA;AACjI,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAC7B,sHAAsH;IACtH,MAAM,EAAE,OAAO,CAAA;IACf,mIAAmI;IACnI,SAAS,EAAE,OAAO,CAAA;IAClB,oHAAoH;IACpH,IAAI,EAAE,OAAO,CAAA;IACb,8HAA8H;IAC9H,OAAO,EAAE,OAAO,CAAA;IAChB,8HAA8H;IAC9H,cAAc,EAAE,OAAO,CAAA;IACvB,8IAA8I;IAC9I,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,MAAM,uBAAuB,CASrF,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,uBAAuB,CAAA;IACrC,2FAA2F;IAC3F,UAAU,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAChD,wCAAwC;IACxC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,uGAAuG;IACvG,YAAY,CAAC,EAAE,+BAA+B,CAAA;CAC/C;AAED,qDAAqD;AACrD,MAAM,WAAW,+BAA+B;IAC9C,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAA;CAChG;AAID,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,uBAAuB,CAAA;IACrC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4GAA4G;IAC5G,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAUD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW,CA+F5E;AAID,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,0BAA0B;gBAgCzD,MAAM;aAAW,GAAG,CAAC,MAAM,uBAAuB,CAAC;EA3BnE;AAmBD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,EACnC,GAAG,EAAE;IAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;CAAE,GACtE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,uBAAuB,CAAC,CAAA;CAAE,CAmkBrE"}
@@ -32,6 +32,7 @@ export const SCOPE_OUTBOX_CAPABILITY_KEYS = [
32
32
  'acquire',
33
33
  'earlierPending',
34
34
  'requeue',
35
+ 'createdAt',
35
36
  ];
36
37
  function keyOf(scope) {
37
38
  return scope.type === 'app' ? 'app' : `${scope.type}|${scope.uuid}`;
@@ -53,6 +54,7 @@ export function makeScopeOutbox(options) {
53
54
  throw new Error('makeScopeOutbox: el doble en memoria no escribe por ninguna transacción; declara transactionalEnqueue: false');
54
55
  }
55
56
  const max = options.maxAttempts ?? 5;
57
+ const now = options.now ?? (() => new Date());
56
58
  const rows = [];
57
59
  const view = (index) => {
58
60
  const row = rows[index];
@@ -62,6 +64,8 @@ export function makeScopeOutbox(options) {
62
64
  attempts: row.attempts,
63
65
  ...(row.actor ? { actor: row.actor } : {}),
64
66
  ...(row.lastError === undefined ? {} : { lastError: row.lastError }),
67
+ // `createdAt` solo si se declara: la cara `false` juzga la AUSENCIA.
68
+ ...(caps.createdAt ? { createdAt: row.createdAt } : {}),
65
69
  };
66
70
  };
67
71
  const parked = (index) => caps.dead && rows[index].attempts >= max;
@@ -69,7 +73,7 @@ export function makeScopeOutbox(options) {
69
73
  const indexOf = (id) => Number(id) - 1;
70
74
  const outbox = {
71
75
  async enqueue(change, context) {
72
- rows.push({ change, actor: context?.actor, attempts: 0, applied: false });
76
+ rows.push({ change, actor: context?.actor, attempts: 0, applied: false, createdAt: now() });
73
77
  return { id: rows.length };
74
78
  },
75
79
  async pending(limit, after, filter) {
@@ -347,6 +351,35 @@ export function registerScopeOutboxContract(harness, api) {
347
351
  assert.equal(keyOf(head.change.child), keyOf(org), 'la fallida sigue la primera en la COLA, con su intento');
348
352
  assert.isAtLeast(head.attempts ?? 0, 1);
349
353
  });
354
+ test('O-07b · la raíz `app` NO es clave de orden: dos `attached` bajo `app` no se contaminan (el primero falla, el segundo se aplica); bajo el MISMO padre no raíz, sí (2.4.0-alpha.8)', async ({ assert, }) => {
355
+ // La raíz no se mueve, no se purga y nunca es hijo: dos aristas bajo
356
+ // ella conmutan, así que un fallo en una no dice nada de la otra. Hasta
357
+ // alpha.8 `[hijo, padre]` incluía `app` y toda alta de tenant esperaba a
358
+ // la anterior (medido en un consumidor: el registro serializado).
359
+ const { manager, driver, calls, tree } = managerOver(state.outbox);
360
+ const orgA = orgScope();
361
+ const orgB = orgScope();
362
+ const unitA = unitScope();
363
+ const unitB = unitScope();
364
+ await tree.attach(orgA, APP_SCOPE);
365
+ await tree.attach(orgB, APP_SCOPE);
366
+ await tree.attach(unitA, orgB);
367
+ await tree.attach(unitB, orgB);
368
+ await manager.scopes.attached(orgA, APP_SCOPE);
369
+ await manager.scopes.attached(orgB, APP_SCOPE);
370
+ await manager.scopes.attached(unitA, orgB);
371
+ await manager.scopes.attached(unitB, orgB);
372
+ driver.onScopeAttached = async (c, p) => {
373
+ if (keyOf(c) === keyOf(orgA) || keyOf(c) === keyOf(unitA))
374
+ throw new Error('el store no lo acepta');
375
+ calls.push(`attached ${keyOf(c)} → ${keyOf(p)}`);
376
+ };
377
+ const report = await manager.relayScopeChanges();
378
+ assert.deepEqual(report.failures.map((f) => keyOf(f.change.child)), [keyOf(orgA), keyOf(unitA)]);
379
+ assert.deepEqual(report.applied.map((a) => keyOf(a.change.child)), [keyOf(orgB)], 'bajo la raíz, el fallo de orgA no aplaza a orgB');
380
+ assert.deepEqual(report.deferred.map((d) => keyOf(d.change.child)), [keyOf(unitB)], 'bajo un padre NO raíz (orgB), el fallo de unitA sí aplaza a unitB: comparten la clave del padre');
381
+ assert.deepEqual(calls, [`attached ${keyOf(orgB)} → app`]);
382
+ });
350
383
  test('O-08 · `pending()` no ESCONDE nada: lo encolado por dos «tenants» sale entero, en orden de id — el orden del relay se apoya en esto (auditor alpha.5 · 🟡 3)', async ({ assert, }) => {
351
384
  const outbox = state.outbox;
352
385
  const tenantA = orgScope();
@@ -601,6 +634,43 @@ export function registerScopeOutboxContract(harness, api) {
601
634
  assert.match(error.message, /dead|requeue|laterApplied/);
602
635
  }),
603
636
  });
637
+ caseFor('createdAt', {
638
+ whenTrue: () => test('createdAt:true · cada entrada de `pending()` lleva `createdAt` (Date, no decreciente en orden de encolado, el instante del encolado); el relay publica la EDAD de la cabeza global (`queue.oldestPendingAt` = ese sello, `pendingAgeMs` ≥ 0), también bajo `only` (2.4.0-alpha.8)', async ({ assert, }) => {
639
+ const outbox = state.outbox;
640
+ const before = Date.now();
641
+ const unit = unitScope();
642
+ const other = unitScope();
643
+ await outbox.enqueue({ op: 'detached', child: unit }, ctx());
644
+ await outbox.enqueue({ op: 'detached', child: other }, ctx());
645
+ const after = Date.now();
646
+ const [first, second] = await outbox.pending(10);
647
+ assert.instanceOf(first.createdAt, Date, 'el sello de la primera');
648
+ assert.instanceOf(second.createdAt, Date, 'el sello de la segunda');
649
+ // Tolerancia de 2 s: un motor puede guardar el sello a segundos (MySQL TIMESTAMP(0) redondea).
650
+ assert.isAtLeast(first.createdAt.getTime(), before - 2_000, 'no antes del encolado');
651
+ assert.isAtMost(first.createdAt.getTime(), after + 2_000, 'no después');
652
+ assert.isAtLeast(second.createdAt.getTime(), first.createdAt.getTime(), 'no decreciente');
653
+ const { manager } = managerOver(outbox);
654
+ const dry = await manager.relayScopeChanges({ dryRun: true, only: [second.id] });
655
+ assert.equal(dry.queue.oldestPendingAt?.getTime(), first.createdAt.getTime(), 'la cabeza GLOBAL, no la pedida');
656
+ assert.isNumber(dry.queue.pendingAgeMs);
657
+ assert.isAtLeast(dry.queue.pendingAgeMs, 0, 'nunca negativa');
658
+ const pass = await manager.relayScopeChanges({ limit: 1 });
659
+ assert.equal(pass.queue.oldestPendingAt?.getTime(), second.createdAt.getTime(), 'tras aplicar la primera, la cabeza es la segunda');
660
+ }),
661
+ whenFalse: () => test('createdAt:false · las entradas NO llevan `createdAt` y el relay dice `queue: { oldestPendingAt: null, pendingAgeMs: null }` (jamás 0 ni «ahora»), con la pasada en verde', async ({ assert, }) => {
662
+ const outbox = state.outbox;
663
+ await outbox.enqueue({ op: 'detached', child: unitScope() }, ctx());
664
+ await outbox.enqueue({ op: 'detached', child: unitScope() }, ctx());
665
+ const [first] = await outbox.pending(10);
666
+ assert.isUndefined(first.createdAt, 'ausente, no `null` ni una fecha inventada');
667
+ const { manager, calls } = managerOver(outbox);
668
+ const pass = await manager.relayScopeChanges({ limit: 1 });
669
+ assert.lengthOf(calls, 1);
670
+ assert.isTrue(pass.remaining, 'queda una pendiente… sin fecha');
671
+ assert.deepEqual(pass.queue, { oldestPendingAt: null, pendingAgeMs: null });
672
+ }),
673
+ });
604
674
  });
605
675
  return { registered, covered };
606
676
  }