sinfactura-types 1.10.511 → 1.10.512

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/account.d.ts CHANGED
@@ -114,6 +114,16 @@ declare global {
114
114
  * cash row written while today's default drawer was unavailable (no mirror was written).
115
115
  */
116
116
  cashMirrorOutcome?: number;
117
+ /**
118
+ * ms epoch at which a customer erasure (or a merge cancel) confirmed this
119
+ * movement's CAJA mirror carries no customer name: rewritten, already clean,
120
+ * not the subject's, or gone. Server-owned bookkeeping, published to NO wire:
121
+ * both projections withhold it and `DELETE /account`'s echo of the deleted
122
+ * row strips it. Its readers are that walk, which skips a row carrying it (so
123
+ * a re-issue resumes instead of restarting and a settled mirror is never
124
+ * rewritten), and the ledger name scrub, which then lets the row's name go.
125
+ */
126
+ cashMirrorSettledAt?: number;
117
127
  /**
118
128
  * @deprecated Unix ms at which `currencyValue` was effective (ADR-0013) —
119
129
  * but NO writer stamps it on ACCOUNT rows: only the parallel Cash mirror
@@ -385,6 +385,10 @@ declare global {
385
385
  *
386
386
  * ⚠️ Forward-only: nothing backfills it, and a duplicate that was never
387
387
  * merged carries nothing.
388
+ *
389
+ * It SURVIVES a Ley 25.326 erasure of this row (an id, not personal data):
390
+ * the erasure walks the survivor's rows that came from here, and a re-issue
391
+ * needs it to find them again.
388
392
  */
389
393
  mergedInto?: string;
390
394
  /**
@@ -1050,11 +1054,40 @@ declare global {
1050
1054
  */
1051
1055
  ledgerRowsScrubbed: number;
1052
1056
  /**
1053
- * `false` when the ledger could not be read to the end, so rows carrying the
1054
- * name may remain. The CUSTOMER row IS anonymised either way; a caller must
1055
- * surface this rather than implying a clean scrub.
1057
+ * `false` when the ledger could not be read to the end, or the erasure ran
1058
+ * out of time before every row was written, so rows carrying the name may
1059
+ * remain — including a movement whose CAJA mirror the scrub did not reach,
1060
+ * whose ledger name is kept as the proof the next pass needs. The
1061
+ * CUSTOMER row IS anonymised either way; a caller must surface this rather
1062
+ * than implying a clean scrub.
1056
1063
  */
1057
1064
  ledgerScrubComplete: boolean;
1065
+ /**
1066
+ * `CASH#{storeId}` drawer rows — the CAJA mirror `POST /account` writes for a
1067
+ * cash movement — whose `description` this erasure rewrote to the movement's
1068
+ * motivo alone, taking the customer's name off `GET /cash`. Only rows this
1069
+ * call CHANGED are counted. A mirror once settled is marked on its ledger row
1070
+ * and never visited again, so a re-issue counts only the mirrors earlier
1071
+ * passes did not reach, and reads `0` once every mirror is settled. The
1072
+ * amounts are not touched.
1073
+ */
1074
+ cashMirrorsScrubbed?: number;
1075
+ /**
1076
+ * `false` when a mirror may still carry the name: the subject's cash
1077
+ * movements could not be read to the end, a read or write failed, the
1078
+ * erasure ran out of time, or a row at a movement's key could not be proven
1079
+ * to be that movement's mirror and was left untouched. BOTH erasure handlers
1080
+ * write an `ERROR` row (`CUSTOMER_ANONYMIZE_CASH_MIRROR_INCOMPLETE`), deduped
1081
+ * per customer per day, naming the unproven drawer rows by `cashId`;
1082
+ * re-issuing the erasure resumes the scrub where it stopped. An unproven
1083
+ * row stays reported until it is gone or its `description` is empty or the
1084
+ * movement's motivo alone (an operator's `POST /cash` edit). For a
1085
+ * merged-away customer it also covers the mirrors of the movements the
1086
+ * merge moved to the survivor.
1087
+ * Optional only so the field is additive — every erasure from this version
1088
+ * on sets it.
1089
+ */
1090
+ cashMirrorScrubComplete?: boolean;
1058
1091
  /**
1059
1092
  * Operator notes about this customer (`CUSTOMER_NOTE#{storeId}#{customerId}`)
1060
1093
  * DELETED by this erasure. Unlike the ledger, notes are not a fiscal record:
@@ -1115,7 +1148,10 @@ declare global {
1115
1148
  * `cancellationReason`) removed, a MercadoLibre row's `buyerNickname`
1116
1149
  * removed, the `search` name dropped, `recipientAnonymizedAt` stamped. The
1117
1150
  * row itself is kept (it is a sale); the retained fiscal receptor lives on
1118
- * `INVOICE#`. Survey rows are not counted here.
1151
+ * `INVOICE#`. Survey rows are not counted here. Only rows THIS call wrote
1152
+ * are counted: a re-issue reads only the orders not stamped yet, so it
1153
+ * counts the ones an earlier pass did not reach and reads `0` once every
1154
+ * order is scrubbed.
1119
1155
  */
1120
1156
  orderRowsScrubbed: number;
1121
1157
  /**
@@ -1123,7 +1159,10 @@ declare global {
1123
1159
  * `comment` the same step blanks — could not be read or written to the end,
1124
1160
  * so a row carrying the name or the subject's free text may remain. BOTH
1125
1161
  * erasure handlers write an un-deduped `ERROR` row
1126
- * (`CUSTOMER_ANONYMIZE_ORDERS_INCOMPLETE`).
1162
+ * (`CUSTOMER_ANONYMIZE_ORDERS_INCOMPLETE`). ALWAYS `false` for a merged-away
1163
+ * customer (`mergedInto`): the merge re-pointed their orders to the survivor
1164
+ * with no provenance to find them by, so only erasing the survivor reaches
1165
+ * those orders' frozen recipient.
1127
1166
  */
1128
1167
  orderScrubComplete: boolean;
1129
1168
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sinfactura-types",
3
- "version": "1.10.511",
3
+ "version": "1.10.512",
4
4
  "description": "Shared wire and entity contracts for the SINFACTURA platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",