platform-types 1.10.845 → 1.10.847

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.
@@ -316,15 +316,13 @@ exports.SOCKET_ACTIONS = [
316
316
  'loyalty',
317
317
  'orders',
318
318
  /**
319
- * BE → all store users, plus the payload's own customer, on every
320
- * presupuesto write: create, revise (a new version), a status transition
321
- * (send/approve/reject/expire), and conversion to an order. Carries the
322
- * full `Presupuesto` row, mirroring how `'orders'` carries the order —
323
- * INCLUDING `items[].cost`, since `dynamoUpdate`'s default
324
- * `'operator-and-customer'` audience is the same one `'orders'` uses and
325
- * `scrubForCustomer`/`stripBasketCost` already strip `items[].cost`
326
- * structurally (by shape, not by `action` name) before the customer's copy
327
- * goes out.
319
+ * BE → the store's OPERATOR sockets only, on every presupuesto write:
320
+ * create, revise (both rows), a status transition (send/approve/reject/
321
+ * expire), and conversion to an order. Carries the full `Presupuesto` row,
322
+ * `items[].cost` included. ⚠️ Never the row's customer: drafts, the staff
323
+ * `approval.approvedBy` and the operator's `rejection.reason` must not reach
324
+ * a storefront socket — a customer-facing quote view owes its own
325
+ * allow-listed copy.
328
326
  *
329
327
  * ⚠️ Never a fiscal frame — a `Presupuesto` is never sent to ARCA and never
330
328
  * carries an `Invoice`. See the contract's own doc comment
@@ -53,7 +53,10 @@ declare global {
53
53
  /** Recorded once `status` moves to `approved`. */
54
54
  interface PresupuestoApproval {
55
55
  approvedAt: number;
56
- /** userId of the operator who recorded it, or the customerId who self-served. */
56
+ /**
57
+ * userId of the operator who recorded it. A customer self-approval would
58
+ * record the customerId here, but no writer offers one yet.
59
+ */
57
60
  approvedBy: string;
58
61
  }
59
62
  /** Recorded once `status` moves to `rejected`. */
package/dist/return.d.ts CHANGED
@@ -375,10 +375,10 @@ declare global {
375
375
  ncStatus: ReturnCreditNoteStatus;
376
376
  /**
377
377
  * Human-readable failure detail when `ncStatus === 'rejected'`: an
378
- * operator-facing sentence, or — when ARCA itself refused the voucher —
379
- * ARCA's own rejection message as issuance relayed it, verbatim. Never a
380
- * whole ARCA payload, but that message can name the receiver's CUIT, so
381
- * treat it as operator-only and never log it unredacted.
378
+ * operator-facing sentence. An ARCA refusal stores the curated
379
+ * `NC_EMISSION_FAILED` sentence, never ARCA's own message. A row written
380
+ * before that rule may still hold ARCA's message, which can name the
381
+ * receiver's CUIT, so treat it as operator-only and never log it unredacted.
382
382
  */
383
383
  ncError?: string;
384
384
  /**
@@ -790,7 +790,8 @@ declare global {
790
790
  creditNoteId?: string;
791
791
  /**
792
792
  * Human-readable failure detail when `ncStatus === 'rejected'`. Mirrors
793
- * `Return.ncError`, ARCA's own rejection message included. Operator-only:
793
+ * `Return.ncError`; a summary written before ARCA refusals stopped
794
+ * relaying ARCA's own message may still carry it. Operator-only:
794
795
  * stripped from every customer surface, like `ncErrorCode`, `ncReview` and
795
796
  * `ncPendingSince`.
796
797
  */
package/dist/socket.js CHANGED
@@ -313,15 +313,13 @@ export const SOCKET_ACTIONS = [
313
313
  'loyalty',
314
314
  'orders',
315
315
  /**
316
- * BE → all store users, plus the payload's own customer, on every
317
- * presupuesto write: create, revise (a new version), a status transition
318
- * (send/approve/reject/expire), and conversion to an order. Carries the
319
- * full `Presupuesto` row, mirroring how `'orders'` carries the order —
320
- * INCLUDING `items[].cost`, since `dynamoUpdate`'s default
321
- * `'operator-and-customer'` audience is the same one `'orders'` uses and
322
- * `scrubForCustomer`/`stripBasketCost` already strip `items[].cost`
323
- * structurally (by shape, not by `action` name) before the customer's copy
324
- * goes out.
316
+ * BE → the store's OPERATOR sockets only, on every presupuesto write:
317
+ * create, revise (both rows), a status transition (send/approve/reject/
318
+ * expire), and conversion to an order. Carries the full `Presupuesto` row,
319
+ * `items[].cost` included. ⚠️ Never the row's customer: drafts, the staff
320
+ * `approval.approvedBy` and the operator's `rejection.reason` must not reach
321
+ * a storefront socket — a customer-facing quote view owes its own
322
+ * allow-listed copy.
325
323
  *
326
324
  * ⚠️ Never a fiscal frame — a `Presupuesto` is never sent to ARCA and never
327
325
  * carries an `Invoice`. See the contract's own doc comment
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.845",
3
+ "version": "1.10.847",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",