platform-types 1.10.828 → 1.10.829

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.
@@ -141,10 +141,23 @@ declare global {
141
141
  * How the identification code reached the shopper. `shownAt` is when the
142
142
  * `201` carried it on screen (the same medium as the request); the
143
143
  * `purchase-withdrawal-received` mail is queued after the commit and
144
- * stamps `emailQueuedAt`, and the mail worker records `emailStatus`:
145
- * `sent`, or `not-sent` when the order's customer has no address to mail
146
- * or the send was refused for good (a suppressed address included), or
147
- * when an operator decided the request before the mail went out.
144
+ * stamps `emailQueuedAt`, and the mail worker records `emailStatus: 'sent'`
145
+ * once the mail went out. `emailStatus: 'not-sent'` is written when:
146
+ *
147
+ * - the mail was never queued — platform email sending was off at the
148
+ * request, or the queue write (or the `emailQueuedAt` stamp) failed. This
149
+ * stamp never replaces a verdict the worker already recorded;
150
+ * - the worker found no address on the order's customer row;
151
+ * - the sender did not deliver it — an address suppressed after a bounce, a
152
+ * demo store, or the sender refusing the message;
153
+ * - the send failed for good (a permanent rejection);
154
+ * - an operator decided the request before the mail went out.
155
+ *
156
+ * Each verdict the worker records reaches operator sockets as the record's
157
+ * frame. `emailQueuedAt` with no `emailStatus` is not proof of a mail in
158
+ * flight: some worker exits stamp nothing (a transient send failure whose
159
+ * retries run out, a batch dropped because platform email sending was
160
+ * switched off after the request).
148
161
  */
149
162
  interface PurchaseWithdrawalAcknowledgement {
150
163
  /** Unix ms. */
package/dist/rma.d.ts CHANGED
@@ -229,11 +229,17 @@ declare global {
229
229
  type ShopperReturnRequestFlow = Extract<ReturnFlow, 'warranty' | 'change-of-mind'>;
230
230
  /**
231
231
  * A shopper return request's acknowledgement — the purchase withdrawal's
232
- * shape: `shownAt` (the `201` showed the request number), `emailQueuedAt`
233
- * (the `return-request-received` mail was queued) and `emailStatus` (`sent`,
234
- * or `not-sent` when the customer has no address, the send was refused for
235
- * good, or an operator decided the request before the mail went out). The operator reads an undelivered acknowledgement off it; the
236
- * shopper's view never carries it.
232
+ * shape and rules ({@link PurchaseWithdrawalAcknowledgement}): `shownAt` (the
233
+ * `201` showed the request number), `emailQueuedAt` (the
234
+ * `return-request-received` mail was queued) and `emailStatus` — `sent`, or
235
+ * `not-sent` when the mail was never queued (platform email sending off, or
236
+ * the queue write or its stamp failing — never over a verdict the worker
237
+ * already recorded), the customer row has no address, the sender did not
238
+ * deliver it (an address suppressed after a bounce, a demo store, or a
239
+ * refused message), the send failed for good, or an operator decided the
240
+ * request before the mail went out. The operator reads an undelivered
241
+ * acknowledgement off it, on `GET /rma` and the `rma` frame each recorded
242
+ * verdict sends; the shopper's view never carries it.
237
243
  */
238
244
  type ReturnRequestAcknowledgement = PurchaseWithdrawalAcknowledgement;
239
245
  /** The change-of-mind terms snapshotted onto a request, so a later policy edit does not rewrite them. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.828",
3
+ "version": "1.10.829",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",