@ai-matrx/records 0.46.0 → 0.47.0

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.
@@ -3421,6 +3421,18 @@ type RecordsErrorCode =
3421
3421
  * through the ORDINARY write door — which is most of them.
3422
3422
  */
3423
3423
  | "needs_approval"
3424
+ /**
3425
+ * THE CALL NEVER REACHED THE STORE. Not a refusal — a transport failure: the
3426
+ * browser lost the network, the gateway answered with an HTTP status and no
3427
+ * body, the request was cancelled. supabase-js hands these back with an EMPTY
3428
+ * `code` (a `FetchError`) or with the HTTP status in it (`"404"`, `"502"`),
3429
+ * neither of which is a SQLSTATE, and until 2026-09-22 they all landed in
3430
+ * `internal` — which is the one classification that tells a screen nothing,
3431
+ * and which made the package print a sentence about ITSELF to the person
3432
+ * (lane TAILS-6). Nothing was written, and the same call can simply be made
3433
+ * again, which is what separates it from `internal`.
3434
+ */
3435
+ | "unreachable"
3424
3436
  /** Anything the mapper could not place. It still carries the store's own words. */
3425
3437
  | "internal";
3426
3438
  /** A refusal, in the store's own words. */
@@ -3434,6 +3446,26 @@ interface RecordsError {
3434
3446
  sqlstate?: string;
3435
3447
  /** Whatever the store put in DETAIL, parsed when it was json. */
3436
3448
  detail?: unknown;
3449
+ /**
3450
+ * TRUE when this package did not recognise the class it was handed, so a
3451
+ * caller can say so instead of reading the silence as "handled".
3452
+ *
3453
+ * 🚨 IT IS A FLAG AND A SEPARATE SENTENCE, NEVER AN APPENDIX TO `hint`
3454
+ * (lane TAILS-6, 2026-09-22). `mapPgError` used to append "@ai-matrx/records
3455
+ * did not recognise SQLSTATE … from checklistTemplates" ONTO `hint`, and
3456
+ * `hint` is the field every screen treats as THE REMEDY — the sentence a
3457
+ * person is told to act on. So a dropped connection on the Checklists tab
3458
+ * showed a plumbing company "Something went wrong at our end" over a line
3459
+ * about a TypeScript package and a SQLSTATE. A note this package writes about
3460
+ * ITSELF is for whoever debugs it and belongs nowhere a person reads.
3461
+ */
3462
+ unmapped?: boolean;
3463
+ /**
3464
+ * THIS PACKAGE'S OWN NOTE, for an engineer. Never the store's words and never
3465
+ * a person's: screens render it out of sight (a `title` attribute, a
3466
+ * screen-reader line) or not at all.
3467
+ */
3468
+ diagnostic?: string;
3437
3469
  }
3438
3470
  type RecordsResult<T> = {
3439
3471
  ok: true;
@@ -3421,6 +3421,18 @@ type RecordsErrorCode =
3421
3421
  * through the ORDINARY write door — which is most of them.
3422
3422
  */
3423
3423
  | "needs_approval"
3424
+ /**
3425
+ * THE CALL NEVER REACHED THE STORE. Not a refusal — a transport failure: the
3426
+ * browser lost the network, the gateway answered with an HTTP status and no
3427
+ * body, the request was cancelled. supabase-js hands these back with an EMPTY
3428
+ * `code` (a `FetchError`) or with the HTTP status in it (`"404"`, `"502"`),
3429
+ * neither of which is a SQLSTATE, and until 2026-09-22 they all landed in
3430
+ * `internal` — which is the one classification that tells a screen nothing,
3431
+ * and which made the package print a sentence about ITSELF to the person
3432
+ * (lane TAILS-6). Nothing was written, and the same call can simply be made
3433
+ * again, which is what separates it from `internal`.
3434
+ */
3435
+ | "unreachable"
3424
3436
  /** Anything the mapper could not place. It still carries the store's own words. */
3425
3437
  | "internal";
3426
3438
  /** A refusal, in the store's own words. */
@@ -3434,6 +3446,26 @@ interface RecordsError {
3434
3446
  sqlstate?: string;
3435
3447
  /** Whatever the store put in DETAIL, parsed when it was json. */
3436
3448
  detail?: unknown;
3449
+ /**
3450
+ * TRUE when this package did not recognise the class it was handed, so a
3451
+ * caller can say so instead of reading the silence as "handled".
3452
+ *
3453
+ * 🚨 IT IS A FLAG AND A SEPARATE SENTENCE, NEVER AN APPENDIX TO `hint`
3454
+ * (lane TAILS-6, 2026-09-22). `mapPgError` used to append "@ai-matrx/records
3455
+ * did not recognise SQLSTATE … from checklistTemplates" ONTO `hint`, and
3456
+ * `hint` is the field every screen treats as THE REMEDY — the sentence a
3457
+ * person is told to act on. So a dropped connection on the Checklists tab
3458
+ * showed a plumbing company "Something went wrong at our end" over a line
3459
+ * about a TypeScript package and a SQLSTATE. A note this package writes about
3460
+ * ITSELF is for whoever debugs it and belongs nowhere a person reads.
3461
+ */
3462
+ unmapped?: boolean;
3463
+ /**
3464
+ * THIS PACKAGE'S OWN NOTE, for an engineer. Never the store's words and never
3465
+ * a person's: screens render it out of sight (a `title` attribute, a
3466
+ * screen-reader line) or not at all.
3467
+ */
3468
+ diagnostic?: string;
3437
3469
  }
3438
3470
  type RecordsResult<T> = {
3439
3471
  ok: true;