@remit/api-openapi-types 0.0.8 → 0.0.9
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/package.json +1 -1
- package/types.d.ts +25 -10
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -20,13 +20,18 @@ declare namespace Components {
|
|
|
20
20
|
/**
|
|
21
21
|
* The pipeline step that refused a quarantined message.
|
|
22
22
|
|
|
23
|
-
One member
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
One member, and it is behind a real narrowing rather than a promise of one:
|
|
24
|
+
the body parse has its own try block around the parse call and nothing else,
|
|
25
|
+
so an error out of it can only be the message. S3, queue and database
|
|
26
|
+
failures propagate and never become a record here — quarantining one would
|
|
27
|
+
set a message aside for an outage, tell the user it was unreadable, and
|
|
28
|
+
invite a public GitHub issue about it.
|
|
29
|
+
|
|
30
|
+
A message that arrives with no ENVELOPE is deliberately NOT a member. Nothing
|
|
31
|
+
can tell that apart from the FETCH row glitching (#408), and the IMAP client
|
|
32
|
+
is far more often the cause than the message; the sync path holds its cursor
|
|
33
|
+
and retries instead, so a transient glitch heals and a persistent one trips
|
|
34
|
+
the stalled-cursor alert.
|
|
30
35
|
*/
|
|
31
36
|
export type QuarantineFailureStage = "BodyParse";
|
|
32
37
|
/**
|
|
@@ -35,9 +40,19 @@ enum member that reached stored rows cannot be walked back.
|
|
|
35
40
|
Closed rather than free text: this is the one diagnostic that is interpolated
|
|
36
41
|
into the title of an issue filed under the user's own GitHub account, so its
|
|
37
42
|
publishability has to be a property of the type instead of a claim about the
|
|
38
|
-
writer.
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
writer.
|
|
44
|
+
|
|
45
|
+
The vocabulary is total — every quarantine write picks a member, and a defect
|
|
46
|
+
the writer cannot name is `UnreadableBody` rather than an invented code. It
|
|
47
|
+
is deliberately small: the body parser reports its refusals as free text with
|
|
48
|
+
no stable type or code, so a member exists only where the writer can identify
|
|
49
|
+
the defect without reading parser prose. `UnterminatedMultipartBoundary` and
|
|
50
|
+
`TruncatedBody` were provisional members carried by Phase 2 and are gone —
|
|
51
|
+
nothing on the narrowed sync path could produce either, and a member no
|
|
52
|
+
writer can reach is a vocabulary that lies about what the field means.
|
|
53
|
+
`MissingEnvelope` is absent for the same reason: see QuarantineFailureStage.
|
|
54
|
+
*/
|
|
55
|
+
export type QuarantineFailureCode = "UnknownCharset" | "UnreadableBody";
|
|
41
56
|
/**
|
|
42
57
|
* Lifecycle state of an account configuration
|
|
43
58
|
*/
|