@cat-factory/sdk 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.
- package/README.md +13 -0
- package/dist/diagnosis.d.ts +48 -0
- package/dist/diagnosis.d.ts.map +1 -0
- package/dist/diagnosis.js +221 -0
- package/dist/diagnosis.js.map +1 -0
- package/dist/http.d.ts +8 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +19 -2
- package/dist/http.js.map +1 -1
- package/dist/models.generated.d.ts +17 -1
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.generated.js +2 -0
- package/dist/models.generated.js.map +1 -1
- package/dist/operations.generated.d.ts +10 -4
- package/dist/operations.generated.d.ts.map +1 -1
- package/dist/operations.generated.js +15 -3
- package/dist/operations.generated.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -82,6 +82,19 @@ Classes: `CatFactoryValidationError` (400/422), `…Unauthorized` (401), `…For
|
|
|
82
82
|
`CatFactoryError`. Every API error carries `status`, `code`, `details`, `issues` and the
|
|
83
83
|
`requestId` to quote when reporting a fault.
|
|
84
84
|
|
|
85
|
+
A `CatFactoryConnectionError` states what actually failed rather than asserting the deployment was
|
|
86
|
+
unreachable, and says what this client had already seen from the origin:
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
cat-factory SDK: POST /api/v1/tasks failed: https://cat-factory.example.com reset the connection
|
|
90
|
+
before answering. This client had answered 9 calls against https://cat-factory.example.com, the
|
|
91
|
+
last 0.2s ago. (read ECONNRESET)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
A reset after nine answered calls is a deployment that restarted; a refusal with nothing answered
|
|
95
|
+
yet is an address with nothing behind it, and the two send you to completely different places. The
|
|
96
|
+
runtime's own cause chain is kept verbatim at the end of the message and on `cause`.
|
|
97
|
+
|
|
85
98
|
## Options
|
|
86
99
|
|
|
87
100
|
```ts
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a request never produced a response. `unknown` is a real member: an unrecognised chain is
|
|
3
|
+
* reported as itself rather than guessed onto a cause, because a wrong cause is what sends a
|
|
4
|
+
* reader to fix something that was never broken.
|
|
5
|
+
*/
|
|
6
|
+
export type TransportFailureCause = 'refused' | 'dns' | 'timeout' | 'aborted' | 'unreachable' | 'reset' | 'tls-untrusted' | 'tls-expired' | 'tls-hostname' | 'tls-protocol' | 'invalid-header' | 'unknown';
|
|
7
|
+
/** What this client has seen from the origin, which is what tells a restart from a bad address. */
|
|
8
|
+
export interface OriginHistory {
|
|
9
|
+
/** Requests that produced a RESPONSE, of any status: each one proves the origin answered. */
|
|
10
|
+
completedCalls: number;
|
|
11
|
+
/** When the last of them answered (epoch ms), or null when none has. */
|
|
12
|
+
lastCompletedAt: number | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Flatten a thrown value's whole cause chain, outermost first.
|
|
16
|
+
*
|
|
17
|
+
* `AggregateError.errors` is walked as well as `cause`: a host resolving to both `::1` and
|
|
18
|
+
* `127.0.0.1` fails as an aggregate of two connection attempts, and the useful code is inside it.
|
|
19
|
+
*/
|
|
20
|
+
export declare function flattenCauseChain(error: unknown): unknown[];
|
|
21
|
+
/**
|
|
22
|
+
* The cause of a whole chain, DEEPEST-FIRST, because depth is specificity order: a mid-handshake
|
|
23
|
+
* `DEPTH_ZERO_SELF_SIGNED_CERT` arrives wrapped in a socket error that is itself a recognised
|
|
24
|
+
* `reset`, so taking the first match in walk order answers with the wrapper and sends the reader
|
|
25
|
+
* looking for a proxy instead of pasting a CA bundle.
|
|
26
|
+
*
|
|
27
|
+
* The text pass runs only after EVERY link failed to produce a code: a message match is a guess
|
|
28
|
+
* where a code is a fact, and it must never outrank one.
|
|
29
|
+
*/
|
|
30
|
+
export declare function classifyTransportFailure(error: unknown): TransportFailureCause;
|
|
31
|
+
/** Render the chain as the runtime reported it, leading with the link that names the failure. */
|
|
32
|
+
export declare function renderCauseChain(error: unknown): string;
|
|
33
|
+
/**
|
|
34
|
+
* The whole message a {@link CatFactoryConnectionError} carries: what happened, what this client
|
|
35
|
+
* knows about the origin, and the exact chain the runtime reported, in that order.
|
|
36
|
+
*
|
|
37
|
+
* The chain stays LAST and stays verbatim. It is the evidence, and a reader who disagrees with the
|
|
38
|
+
* classification needs it unedited.
|
|
39
|
+
*/
|
|
40
|
+
export declare function describeTransportFailure(input: {
|
|
41
|
+
method: string;
|
|
42
|
+
path: string;
|
|
43
|
+
baseUrl: string;
|
|
44
|
+
error: unknown;
|
|
45
|
+
history: OriginHistory;
|
|
46
|
+
now: number;
|
|
47
|
+
}): string;
|
|
48
|
+
//# sourceMappingURL=diagnosis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnosis.d.ts","sourceRoot":"","sources":["../src/diagnosis.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,KAAK,GACL,SAAS,GACT,SAAS,GACT,aAAa,GACb,OAAO,GACP,eAAe,GACf,aAAa,GACb,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,SAAS,CAAA;AAEb,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,6FAA6F;IAC7F,cAAc,EAAE,MAAM,CAAA;IACtB,wEAAwE;IACxE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAmDD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAiB3D;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAU9E;AAED,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAYvD;AAiED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,MAAM,CAKT"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
// What a transport failure actually was, and what the client already knows about the origin.
|
|
2
|
+
//
|
|
3
|
+
// The problem this exists for: on Node a transport failure's own message is the contentless
|
|
4
|
+
// `fetch failed`, identical for an unreachable host, a bad cert and a DNS typo, and the SDK used
|
|
5
|
+
// to render every one of them as `failed to reach <baseUrl>`. That sentence is a verdict about
|
|
6
|
+
// REACHABILITY, and it is the one provably false reading when the deployment answered nine calls
|
|
7
|
+
// two hundred milliseconds earlier and then restarted: it sends the reader to the boot log, the
|
|
8
|
+
// database and the CORS config before the transport is ever suspected.
|
|
9
|
+
//
|
|
10
|
+
// So the SDK says which cause it was, and drops the reachability claim when the cause does not
|
|
11
|
+
// support it. The two facts needed for that are already here: the CAUSE hangs off the thrown
|
|
12
|
+
// value's chain, and the HISTORY belongs to the client instance that made the earlier calls.
|
|
13
|
+
//
|
|
14
|
+
// A PORT of the platform's own `ConnectionFailureCause` vocabulary (kernel's
|
|
15
|
+
// `connection-failure.logic.ts`, owned by `@cat-factory/contracts`), not an import of it. This SDK
|
|
16
|
+
// declares no dependencies by design, so reaching across that boundary is not available.
|
|
17
|
+
//
|
|
18
|
+
// What keeps the copy honest is `scripts/check-sdk-connection-causes.mjs`, a repo-level guard that
|
|
19
|
+
// reads the contracts picklist and all four ported lists and fails on any disagreement. It has to
|
|
20
|
+
// be a guard rather than a test in here: a test in this package cannot see the picklist, so it
|
|
21
|
+
// could only restate the list a second time and would stay green through the exact drift that
|
|
22
|
+
// matters. What each cause is MATCHED ON below is this runtime's own business, and is pinned by
|
|
23
|
+
// `test/diagnosis.test.ts`.
|
|
24
|
+
/** The codes and DOM names each cause is recognised by, deliberately the platform's own list. */
|
|
25
|
+
const CAUSE_CODES = {
|
|
26
|
+
refused: ['ECONNREFUSED'],
|
|
27
|
+
dns: ['ENOTFOUND', 'EAI_AGAIN'],
|
|
28
|
+
timeout: [
|
|
29
|
+
'TimeoutError',
|
|
30
|
+
'ETIMEDOUT',
|
|
31
|
+
'UND_ERR_CONNECT_TIMEOUT',
|
|
32
|
+
'UND_ERR_HEADERS_TIMEOUT',
|
|
33
|
+
'UND_ERR_BODY_TIMEOUT',
|
|
34
|
+
],
|
|
35
|
+
aborted: ['AbortError', 'UND_ERR_ABORTED'],
|
|
36
|
+
unreachable: ['EHOSTUNREACH', 'ENETUNREACH', 'EHOSTDOWN', 'ENETDOWN'],
|
|
37
|
+
reset: ['ECONNRESET', 'EPIPE', 'UND_ERR_SOCKET'],
|
|
38
|
+
'tls-untrusted': [
|
|
39
|
+
'DEPTH_ZERO_SELF_SIGNED_CERT',
|
|
40
|
+
'SELF_SIGNED_CERT_IN_CHAIN',
|
|
41
|
+
'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
|
42
|
+
'UNABLE_TO_GET_ISSUER_CERT',
|
|
43
|
+
'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',
|
|
44
|
+
'CERT_UNTRUSTED',
|
|
45
|
+
],
|
|
46
|
+
'tls-expired': ['CERT_HAS_EXPIRED', 'CERT_NOT_YET_VALID'],
|
|
47
|
+
'tls-hostname': ['ERR_TLS_CERT_ALTNAME_INVALID'],
|
|
48
|
+
'tls-protocol': [
|
|
49
|
+
'EPROTO',
|
|
50
|
+
'ERR_SSL_WRONG_VERSION_NUMBER',
|
|
51
|
+
'ERR_SSL_PACKET_LENGTH_TOO_LONG',
|
|
52
|
+
'ERR_SSL_UNEXPECTED_MESSAGE',
|
|
53
|
+
'ERR_TLS_HANDSHAKE_TIMEOUT',
|
|
54
|
+
],
|
|
55
|
+
'invalid-header': ['ERR_INVALID_CHAR', 'ERR_INVALID_HTTP_TOKEN', 'ERR_HTTP_INVALID_HEADER_VALUE'],
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* The one cause recognised WITHOUT a code, matched on the whole wording each runtime uses rather
|
|
59
|
+
* than a keyword: a header value carrying a control character is rejected before a socket is ever
|
|
60
|
+
* opened, as a bare `TypeError`, and a credential pasted with a line break in it is exactly the
|
|
61
|
+
* case a reader most needs named. A looser `invalid character` matches a JSON decode error, which
|
|
62
|
+
* is one of the commonest things a proxy answers with.
|
|
63
|
+
*/
|
|
64
|
+
const INVALID_HEADER_TEXT = /invalid header value|invalid header field|invalid character in header/i;
|
|
65
|
+
/** `fetch` wraps every transport error in this, and it says nothing at all. */
|
|
66
|
+
const CONTENTLESS_WRAPPER = 'fetch failed';
|
|
67
|
+
/** Bounded, because a chain a caller built can be cyclic or arbitrarily deep. */
|
|
68
|
+
const MAX_CHAIN_LINKS = 12;
|
|
69
|
+
/**
|
|
70
|
+
* Flatten a thrown value's whole cause chain, outermost first.
|
|
71
|
+
*
|
|
72
|
+
* `AggregateError.errors` is walked as well as `cause`: a host resolving to both `::1` and
|
|
73
|
+
* `127.0.0.1` fails as an aggregate of two connection attempts, and the useful code is inside it.
|
|
74
|
+
*/
|
|
75
|
+
export function flattenCauseChain(error) {
|
|
76
|
+
const links = [];
|
|
77
|
+
const seen = new Set();
|
|
78
|
+
const queue = [error];
|
|
79
|
+
while (queue.length > 0 && links.length < MAX_CHAIN_LINKS) {
|
|
80
|
+
const link = queue.shift();
|
|
81
|
+
if (link === undefined || link === null)
|
|
82
|
+
continue;
|
|
83
|
+
if (typeof link === 'object') {
|
|
84
|
+
if (seen.has(link))
|
|
85
|
+
continue;
|
|
86
|
+
seen.add(link);
|
|
87
|
+
}
|
|
88
|
+
links.push(link);
|
|
89
|
+
const aggregated = link.errors;
|
|
90
|
+
if (Array.isArray(aggregated))
|
|
91
|
+
queue.push(...aggregated);
|
|
92
|
+
queue.push(link.cause);
|
|
93
|
+
}
|
|
94
|
+
return links;
|
|
95
|
+
}
|
|
96
|
+
function errorCode(link) {
|
|
97
|
+
const code = link?.code;
|
|
98
|
+
return typeof code === 'string' && code ? code : undefined;
|
|
99
|
+
}
|
|
100
|
+
function classifyLink(link) {
|
|
101
|
+
const code = errorCode(link);
|
|
102
|
+
const name = link instanceof Error ? link.name : undefined;
|
|
103
|
+
for (const [cause, codes] of Object.entries(CAUSE_CODES)) {
|
|
104
|
+
if (codes.some((candidate) => candidate === code || candidate === name)) {
|
|
105
|
+
return cause;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The cause of a whole chain, DEEPEST-FIRST, because depth is specificity order: a mid-handshake
|
|
112
|
+
* `DEPTH_ZERO_SELF_SIGNED_CERT` arrives wrapped in a socket error that is itself a recognised
|
|
113
|
+
* `reset`, so taking the first match in walk order answers with the wrapper and sends the reader
|
|
114
|
+
* looking for a proxy instead of pasting a CA bundle.
|
|
115
|
+
*
|
|
116
|
+
* The text pass runs only after EVERY link failed to produce a code: a message match is a guess
|
|
117
|
+
* where a code is a fact, and it must never outrank one.
|
|
118
|
+
*/
|
|
119
|
+
export function classifyTransportFailure(error) {
|
|
120
|
+
const deepestFirst = flattenCauseChain(error).reverse();
|
|
121
|
+
for (const link of deepestFirst) {
|
|
122
|
+
const byCode = classifyLink(link);
|
|
123
|
+
if (byCode)
|
|
124
|
+
return byCode;
|
|
125
|
+
}
|
|
126
|
+
for (const link of deepestFirst) {
|
|
127
|
+
if (link instanceof Error && INVALID_HEADER_TEXT.test(link.message))
|
|
128
|
+
return 'invalid-header';
|
|
129
|
+
}
|
|
130
|
+
return 'unknown';
|
|
131
|
+
}
|
|
132
|
+
/** Render the chain as the runtime reported it, leading with the link that names the failure. */
|
|
133
|
+
export function renderCauseChain(error) {
|
|
134
|
+
const parts = [];
|
|
135
|
+
for (const link of flattenCauseChain(error)) {
|
|
136
|
+
const text = link instanceof Error ? link.message : String(link);
|
|
137
|
+
const trimmed = text.trim();
|
|
138
|
+
if (!trimmed || parts.includes(trimmed))
|
|
139
|
+
continue;
|
|
140
|
+
parts.push(trimmed);
|
|
141
|
+
}
|
|
142
|
+
// Drop the contentless wrapper, but only when something else survives it: an empty diagnosis is
|
|
143
|
+
// worse than an uninformative one.
|
|
144
|
+
const meaningful = parts.filter((part) => part !== CONTENTLESS_WRAPPER);
|
|
145
|
+
return (meaningful.length > 0 ? meaningful : parts).join(': ');
|
|
146
|
+
}
|
|
147
|
+
/** The host a base URL names, for a sentence about DNS or a certificate. Falls back to the URL. */
|
|
148
|
+
function hostOf(baseUrl) {
|
|
149
|
+
try {
|
|
150
|
+
return new URL(baseUrl).host || baseUrl;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
return baseUrl;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* What happened, in the caller's terms. Every sentence states only what the cause supports: a
|
|
158
|
+
* refusal names a port with nothing behind it, a reset names an origin that WAS there, and a
|
|
159
|
+
* request rejected before a socket was opened claims nothing about the origin at all.
|
|
160
|
+
*/
|
|
161
|
+
function verdictFor(cause, baseUrl) {
|
|
162
|
+
switch (cause) {
|
|
163
|
+
case 'refused':
|
|
164
|
+
return `nothing is listening at ${baseUrl}`;
|
|
165
|
+
case 'dns':
|
|
166
|
+
return `the host ${hostOf(baseUrl)} does not resolve from here`;
|
|
167
|
+
case 'timeout':
|
|
168
|
+
return `${baseUrl} did not answer before the connection timed out`;
|
|
169
|
+
case 'aborted':
|
|
170
|
+
return `the request was cancelled before an answer arrived, so nothing was learned about ${baseUrl}`;
|
|
171
|
+
case 'unreachable':
|
|
172
|
+
return `there is no network route to ${baseUrl} from here`;
|
|
173
|
+
case 'reset':
|
|
174
|
+
return `${baseUrl} reset the connection before answering`;
|
|
175
|
+
case 'tls-untrusted':
|
|
176
|
+
return `${baseUrl} presented a TLS certificate this client does not trust`;
|
|
177
|
+
case 'tls-expired':
|
|
178
|
+
return `the TLS certificate ${baseUrl} presented is outside its validity window`;
|
|
179
|
+
case 'tls-hostname':
|
|
180
|
+
return `the TLS certificate ${baseUrl} presented was not issued for ${hostOf(baseUrl)}`;
|
|
181
|
+
case 'tls-protocol':
|
|
182
|
+
return `the TLS handshake with ${baseUrl} failed, which is what a plain-HTTP port answers when it is addressed over https`;
|
|
183
|
+
case 'invalid-header':
|
|
184
|
+
return 'the request could not be built, because a header value holds a character that is not allowed in one';
|
|
185
|
+
case 'unknown':
|
|
186
|
+
return `the request to ${baseUrl} ended before any response arrived`;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/** `0.2s`, `12.5s`, `4m`: precise where a restart is being told from a long-dead origin. */
|
|
190
|
+
function renderAge(ms) {
|
|
191
|
+
const seconds = Math.max(0, ms) / 1000;
|
|
192
|
+
if (seconds < 60)
|
|
193
|
+
return `${seconds < 10 ? seconds.toFixed(1) : Math.round(seconds)}s`;
|
|
194
|
+
return `${Math.round(seconds / 60)}m`;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* What this client already knows about the origin, which is the half that separates a deployment
|
|
198
|
+
* that restarted from one that was never there. Stated in both directions: "answered nothing yet"
|
|
199
|
+
* is evidence too, and it is what points at the address rather than at the deployment.
|
|
200
|
+
*/
|
|
201
|
+
function historyFor(history, baseUrl, now) {
|
|
202
|
+
if (history.completedCalls === 0 || history.lastCompletedAt === null) {
|
|
203
|
+
return ` This client has not completed a call against ${baseUrl} yet.`;
|
|
204
|
+
}
|
|
205
|
+
const calls = history.completedCalls === 1 ? '1 call' : `${history.completedCalls} calls`;
|
|
206
|
+
return ` This client had answered ${calls} against ${baseUrl}, the last ${renderAge(now - history.lastCompletedAt)} ago.`;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* The whole message a {@link CatFactoryConnectionError} carries: what happened, what this client
|
|
210
|
+
* knows about the origin, and the exact chain the runtime reported, in that order.
|
|
211
|
+
*
|
|
212
|
+
* The chain stays LAST and stays verbatim. It is the evidence, and a reader who disagrees with the
|
|
213
|
+
* classification needs it unedited.
|
|
214
|
+
*/
|
|
215
|
+
export function describeTransportFailure(input) {
|
|
216
|
+
const cause = classifyTransportFailure(input.error);
|
|
217
|
+
const detail = renderCauseChain(input.error);
|
|
218
|
+
const evidence = detail ? ` (${detail})` : '';
|
|
219
|
+
return `cat-factory SDK: ${input.method} ${input.path} failed: ${verdictFor(cause, input.baseUrl)}.${historyFor(input.history, input.baseUrl, input.now)}${evidence}`;
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=diagnosis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnosis.js","sourceRoot":"","sources":["../src/diagnosis.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export interface RequestSpec {
|
|
|
45
45
|
options: RequestOptions;
|
|
46
46
|
}
|
|
47
47
|
/** SDK version, stamped into `User-Agent`. Kept in step with package.json by `check:sdk`. */
|
|
48
|
-
export declare const SDK_VERSION = "0.
|
|
48
|
+
export declare const SDK_VERSION = "0.47.0";
|
|
49
49
|
/**
|
|
50
50
|
* Percent-encode a path parameter.
|
|
51
51
|
*
|
|
@@ -67,6 +67,13 @@ export declare class Transport {
|
|
|
67
67
|
* supply it without rebuilding a configured client; a per-call `headers` entry still wins.
|
|
68
68
|
*/
|
|
69
69
|
personalPassword: string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* What this client has seen from the origin, kept so a transport failure can say whether the
|
|
72
|
+
* deployment was answering a moment ago. A response of ANY status counts: a 500 is still proof
|
|
73
|
+
* the origin is there, and it is the difference between "it restarted" and "that address never
|
|
74
|
+
* answered", which are the two readings a bare `failed to reach` collapses.
|
|
75
|
+
*/
|
|
76
|
+
private readonly history;
|
|
70
77
|
constructor(options: ClientOptions);
|
|
71
78
|
/** Perform a request, returning the decoded JSON body. */
|
|
72
79
|
request<T>(spec: RequestSpec): Promise<T>;
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,UAAU,CAAA;AAE5D,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IAC/B,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,6FAA6F;AAC7F,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAiCD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8D;IAEtF,YAAY,OAAO,EAAE,aAAa,EAejC;IAED,0DAA0D;IACpD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAa9C;IAED,+DAA+D;IACzD,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvD;IAED;;;;;;;OAOG;IACG,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAMlD;IAED;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CASpD;YAEa,IAAI;CAuFnB"}
|
package/dist/http.js
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
// The 38 generated operation methods do nothing but describe a request and hand it here, so any
|
|
4
4
|
// change to HOW the SDK talks to a deployment is a change to this file alone.
|
|
5
5
|
import { CatFactoryConnectionError, CatFactoryDecodeError, CatFactoryError, CatFactoryTimeoutError, toApiError, } from './errors.js';
|
|
6
|
+
import { describeTransportFailure } from './diagnosis.js';
|
|
6
7
|
import { readEventStream } from './sse.js';
|
|
7
8
|
/** SDK version, stamped into `User-Agent`. Kept in step with package.json by `check:sdk`. */
|
|
8
|
-
export const SDK_VERSION = '0.
|
|
9
|
+
export const SDK_VERSION = '0.47.0';
|
|
9
10
|
/**
|
|
10
11
|
* Percent-encode a path parameter.
|
|
11
12
|
*
|
|
@@ -60,6 +61,13 @@ export class Transport {
|
|
|
60
61
|
* supply it without rebuilding a configured client; a per-call `headers` entry still wins.
|
|
61
62
|
*/
|
|
62
63
|
personalPassword;
|
|
64
|
+
/**
|
|
65
|
+
* What this client has seen from the origin, kept so a transport failure can say whether the
|
|
66
|
+
* deployment was answering a moment ago. A response of ANY status counts: a 500 is still proof
|
|
67
|
+
* the origin is there, and it is the difference between "it restarted" and "that address never
|
|
68
|
+
* answered", which are the two readings a bare `failed to reach` collapses.
|
|
69
|
+
*/
|
|
70
|
+
history = { completedCalls: 0, lastCompletedAt: null };
|
|
63
71
|
constructor(options) {
|
|
64
72
|
if (!options.baseUrl)
|
|
65
73
|
throw new Error('cat-factory SDK: `baseUrl` is required.');
|
|
@@ -154,6 +162,8 @@ export class Transport {
|
|
|
154
162
|
body: spec.body === undefined ? undefined : JSON.stringify(spec.body),
|
|
155
163
|
signal: controller.signal,
|
|
156
164
|
});
|
|
165
|
+
this.history.completedCalls += 1;
|
|
166
|
+
this.history.lastCompletedAt = Date.now();
|
|
157
167
|
if (response.ok)
|
|
158
168
|
return response;
|
|
159
169
|
const requestId = response.headers.get('x-request-id');
|
|
@@ -189,7 +199,14 @@ export class Transport {
|
|
|
189
199
|
await sleep(backoffMs(attempt));
|
|
190
200
|
continue;
|
|
191
201
|
}
|
|
192
|
-
throw new CatFactoryConnectionError(
|
|
202
|
+
throw new CatFactoryConnectionError(describeTransportFailure({
|
|
203
|
+
method: spec.method,
|
|
204
|
+
path: spec.path,
|
|
205
|
+
baseUrl: this.baseUrl,
|
|
206
|
+
error: lastError,
|
|
207
|
+
history: this.history,
|
|
208
|
+
now: Date.now(),
|
|
209
|
+
}), { cause: lastError });
|
|
193
210
|
}
|
|
194
211
|
finally {
|
|
195
212
|
if (timer)
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,gGAAgG;AAChG,8EAA8E;AAE9E,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,UAAU,GACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAAoB,eAAe,EAAE,MAAM,UAAU,CAAA;AAkD5D,6FAA6F;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAED,gDAAgD;AAChD,SAAS,WAAW,CAAC,MAAc,EAAE,MAAqB;IACxD,wFAAwF;IACxF,yFAAyF;IACzF,qFAAqF;IACrF,+DAA+D;IAC/D,MAAM,UAAU,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAA;IAC/E,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAA;IAC7B,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAChC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAA;AAC7E,CAAC;AAED,4FAA4F;AAC5F,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAE9F,2FAA2F;AAC3F,SAAS,UAAU,CAAC,KAA0C;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAQ;QACnD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACnC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAClC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACvC,CAAC;AAED,MAAM,OAAO,SAAS;IACH,OAAO,CAAQ;IACf,MAAM,CAAQ;IACd,SAAS,CAAQ;IACjB,UAAU,CAAQ;IAClB,OAAO,CAAwB;IAC/B,OAAO,CAAyB;IACjD;;;;OAIG;IACH,gBAAgB,CAAoB;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1002,6 +1002,19 @@ export interface ListPublicEnvironmentConnectionsResponseConnection {
|
|
|
1002
1002
|
provisionType: string;
|
|
1003
1003
|
secretKeys: string[];
|
|
1004
1004
|
}
|
|
1005
|
+
export interface ListPublicEnvironmentManifestTypesResponse {
|
|
1006
|
+
manifestTypes: ListPublicEnvironmentManifestTypesResponseManifestType[];
|
|
1007
|
+
}
|
|
1008
|
+
export interface ListPublicEnvironmentManifestTypesResponseManifestType {
|
|
1009
|
+
/** Always present; `null` when the server has no value for it. */
|
|
1010
|
+
defaultManifestPath: string | null;
|
|
1011
|
+
label: string;
|
|
1012
|
+
manifestId: string;
|
|
1013
|
+
source: ListPublicEnvironmentManifestTypesResponseManifestTypeSource;
|
|
1014
|
+
}
|
|
1015
|
+
export type ListPublicEnvironmentManifestTypesResponseManifestTypeSource = 'registered' | 'workspace';
|
|
1016
|
+
/** Every `ListPublicEnvironmentManifestTypesResponseManifestTypeSource` value, for exhaustive handling and runtime validation. */
|
|
1017
|
+
export declare const LIST_PUBLIC_ENVIRONMENT_MANIFEST_TYPES_RESPONSE_MANIFEST_TYPE_SOURCE_VALUES: readonly ['registered', 'workspace'];
|
|
1005
1018
|
export interface ListPublicJobsResponse {
|
|
1006
1019
|
jobs: PublicJob[];
|
|
1007
1020
|
/** Always present; `null` when the server has no value for it. */
|
|
@@ -2296,7 +2309,7 @@ export interface PublicServiceList {
|
|
|
2296
2309
|
services: PublicService[];
|
|
2297
2310
|
}
|
|
2298
2311
|
/** Discriminated by `type`. */
|
|
2299
|
-
export type PublicServiceProvisioning = PublicServiceProvisioningVariant0 | PublicServiceProvisioningVariant1;
|
|
2312
|
+
export type PublicServiceProvisioning = PublicServiceProvisioningVariant0 | PublicServiceProvisioningVariant1 | PublicServiceProvisioningVariant2;
|
|
2300
2313
|
export interface PublicServiceProvisioningVariant0 {
|
|
2301
2314
|
manifestSource: PublicServiceProvisioningVariant0ManifestSource;
|
|
2302
2315
|
type: 'kubernetes';
|
|
@@ -2322,6 +2335,9 @@ export interface PublicServiceProvisioningVariant0ManifestSourceVariant1 {
|
|
|
2322
2335
|
type: 'separate';
|
|
2323
2336
|
}
|
|
2324
2337
|
export interface PublicServiceProvisioningVariant1 {
|
|
2338
|
+
type: 'infraless';
|
|
2339
|
+
}
|
|
2340
|
+
export interface PublicServiceProvisioningVariant2 {
|
|
2325
2341
|
/** Length 1..64. */
|
|
2326
2342
|
manifestId: string;
|
|
2327
2343
|
/** Length 0..500. */
|