@kindgi/adapter-model-shared 0.1.7 → 0.1.8

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.
@@ -19,7 +19,7 @@ import { samplingFor } from '@kindgi/capabilities';
19
19
  import { createAttemptCounter } from '@kindgi/capabilities/attempts';
20
20
  import { nameToolsAsSent, toolIdsBySentName } from '@kindgi/capabilities/tool-names';
21
21
  import { ModelProviderError, modelProviderError } from '../errors.js';
22
- import { withRetries } from '../retries.js';
22
+ import { isTransport, refusedConnection, withRetries } from '../retries.js';
23
23
  /** Each attempt's `beforeAttempt` result, for the code the library calls during that attempt. */
24
24
  const attemptScope = new AsyncLocalStorage();
25
25
  /**
@@ -395,67 +395,6 @@ function adapterError(error) {
395
395
  }
396
396
  return undefined;
397
397
  }
398
- /**
399
- * The codes of a failed connection, as Node (`ECONNRESET`), undici (`UND_ERR_SOCKET`) and Bun
400
- * (`ConnectionRefused`) set them on an error or its causes: the AI SDK's list, plus DNS.
401
- */
402
- const TRANSPORT_CODES = new Set([
403
- 'ECONNRESET',
404
- 'ECONNREFUSED',
405
- 'ECONNABORTED',
406
- 'ETIMEDOUT',
407
- 'EPIPE',
408
- 'ENOTFOUND',
409
- 'EAI_AGAIN',
410
- 'ENETUNREACH',
411
- 'EHOSTUNREACH',
412
- 'UND_ERR_SOCKET',
413
- 'UND_ERR_HEADERS_TIMEOUT',
414
- 'UND_ERR_BODY_TIMEOUT',
415
- 'UND_ERR_CONNECT_TIMEOUT',
416
- 'ConnectionRefused',
417
- 'ConnectionClosed',
418
- 'FailedToOpenSocket',
419
- ]);
420
- /** A failed connection: `fetch failed`, or a transport code on the error or one of its causes. */
421
- function isTransport(error) {
422
- const seen = new Set();
423
- for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
424
- seen.add(e);
425
- const code = e.code;
426
- if (typeof code === 'string' && TRANSPORT_CODES.has(code))
427
- return true;
428
- if (e instanceof TypeError && /^(fetch failed|failed to fetch)$/i.test(e.message))
429
- return true;
430
- }
431
- return false;
432
- }
433
- /**
434
- * A connection refused by policy, the same every time it's tried: a redirect the request won't
435
- * follow (its credential goes to the endpoint only), or a host refused before any connection, by
436
- * a system-style code that isn't a dropped connection's (the runtime's egress rules:
437
- * `EKINDGIEGRESS`). Its kind and words, when it's one.
438
- */
439
- function refusedConnection(error) {
440
- const seen = new Set();
441
- for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
442
- seen.add(e);
443
- if (/^unexpected redirect$/i.test(e.message)) {
444
- return {
445
- kind: 'unavailable',
446
- words: "the endpoint answered with a redirect, which isn't followed: a request's credential goes to its endpoint only. Check the endpoint.",
447
- };
448
- }
449
- const code = e.code;
450
- if (typeof code === 'string' &&
451
- /^E[A-Z0-9_]+$/.test(code) &&
452
- !code.startsWith('ERR_') &&
453
- !TRANSPORT_CODES.has(code)) {
454
- return { kind: 'network', words: e.message };
455
- }
456
- }
457
- return undefined;
458
- }
459
398
  /** An answer the library couldn't read: a malformed 200, an empty body, a shape it doesn't know. */
460
399
  function isUnreadableAnswer(error) {
461
400
  return (InvalidResponseDataError.isInstance(error) ||
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai-sdk/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai-sdk/provider.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,6 @@
3
3
  * requests (today the AI SDK's provider packages) is behind `@kindgi/adapter-model-shared/ai-sdk`.
4
4
  */
5
5
  export { type FailedResponse, ModelProviderError, type ModelProviderErrorKind, kindOf, modelProviderError, } from './errors.js';
6
- export { MAX_VENDOR_WAIT_MS, backoffMs, type RetryPolicy, type RetryableFailure, vendorWaitMs, withRetries, } from './retries.js';
6
+ export { MAX_VENDOR_WAIT_MS, backoffMs, isTransport, refusedConnection, type RetryPolicy, type RetryableFailure, vendorWaitMs, withRetries, } from './retries.js';
7
7
  export { type TokenCostOptions, tokenCostUsd } from './cost.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,OAAO,EACL,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,MAAM,EACN,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,OAAO,EACL,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,MAAM,EACN,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,6 @@
5
5
  * requests (today the AI SDK's provider packages) is behind `@kindgi/adapter-model-shared/ai-sdk`.
6
6
  */
7
7
  export { ModelProviderError, kindOf, modelProviderError, } from './errors.js';
8
- export { MAX_VENDOR_WAIT_MS, backoffMs, vendorWaitMs, withRetries, } from './retries.js';
8
+ export { MAX_VENDOR_WAIT_MS, backoffMs, isTransport, refusedConnection, vendorWaitMs, withRetries, } from './retries.js';
9
9
  export { tokenCostUsd } from './cost.js';
10
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC;;;GAGG;AACH,OAAO,EAEL,kBAAkB,EAElB,MAAM,EACN,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,SAAS,EAGT,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAyB,YAAY,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC;;;GAGG;AACH,OAAO,EAEL,kBAAkB,EAElB,MAAM,EACN,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,iBAAiB,EAGjB,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAyB,YAAY,EAAE,MAAM,WAAW,CAAC"}
package/dist/retries.d.ts CHANGED
@@ -32,4 +32,16 @@ export declare const MAX_VENDOR_WAIT_MS = 60000;
32
32
  export declare function vendorWaitMs(headers: Readonly<Record<string, string | undefined>>): number | undefined;
33
33
  /** What the vendor asked for, else exponential with jitter: 1–2 s, 2–4 s, … */
34
34
  export declare function backoffMs(headers: Readonly<Record<string, string | undefined>>, attempt: number): number;
35
+ /** A failed connection: `fetch failed`, or a transport code on the error or one of its causes. */
36
+ export declare function isTransport(error: unknown): boolean;
37
+ /**
38
+ * A connection refused by policy, the same every time it's tried: a redirect the request won't
39
+ * follow (its credential goes to the endpoint only), or a host refused before any connection, by
40
+ * a system-style code that isn't a dropped connection's (the runtime's egress and body-size rules:
41
+ * `EKINDGIEGRESS`, `EKINDGIBODY`). Its kind and words, when it's one.
42
+ */
43
+ export declare function refusedConnection(error: unknown): {
44
+ readonly kind: 'unavailable' | 'network';
45
+ readonly words: string;
46
+ } | undefined;
35
47
  //# sourceMappingURL=retries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retries.d.ts","sourceRoot":"","sources":["../src/retries.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wCAAwC;AACxC,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CACjE;AAED,sGAAsG;AACtG,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IACxE,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IACzC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;CACzD;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAChF,IAAI,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,oGAAoG;AACpG,wBAAgB,YAAY,CAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACpD,MAAM,GAAG,SAAS,CAMpB;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACrD,OAAO,EAAE,MAAM,GACd,MAAM,CAIR"}
1
+ {"version":3,"file":"retries.d.ts","sourceRoot":"","sources":["../src/retries.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wCAAwC;AACxC,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CACjE;AAED,sGAAsG;AACtG,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IACxE,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IACzC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;CACzD;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAChF,IAAI,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,oGAAoG;AACpG,wBAAgB,YAAY,CAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACpD,MAAM,GAAG,SAAS,CAMpB;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACrD,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AA6CD,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASnD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAsBlF"}
package/dist/retries.js CHANGED
@@ -66,4 +66,69 @@ function sleep(ms, signal) {
66
66
  signal?.addEventListener('abort', onAbort, { once: true });
67
67
  });
68
68
  }
69
+ // ---------------------------------------------------------------------------
70
+ // Classifying a connection failure, for an adapter's `describe`. Library-free:
71
+ // it reads an error and its causes, not any one engine's error types, so every
72
+ // adapter shares one classifier (the AI SDK's and the OpenAI SDK's alike).
73
+ /**
74
+ * The codes of a failed connection, as Node (`ECONNRESET`), undici (`UND_ERR_SOCKET`) and Bun
75
+ * (`ConnectionRefused`) set them on an error or its causes: the AI SDK's list, plus DNS.
76
+ */
77
+ const TRANSPORT_CODES = new Set([
78
+ 'ECONNRESET',
79
+ 'ECONNREFUSED',
80
+ 'ECONNABORTED',
81
+ 'ETIMEDOUT',
82
+ 'EPIPE',
83
+ 'ENOTFOUND',
84
+ 'EAI_AGAIN',
85
+ 'ENETUNREACH',
86
+ 'EHOSTUNREACH',
87
+ 'UND_ERR_SOCKET',
88
+ 'UND_ERR_HEADERS_TIMEOUT',
89
+ 'UND_ERR_BODY_TIMEOUT',
90
+ 'UND_ERR_CONNECT_TIMEOUT',
91
+ 'ConnectionRefused',
92
+ 'ConnectionClosed',
93
+ 'FailedToOpenSocket',
94
+ ]);
95
+ /** A failed connection: `fetch failed`, or a transport code on the error or one of its causes. */
96
+ export function isTransport(error) {
97
+ const seen = new Set();
98
+ for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
99
+ seen.add(e);
100
+ const code = e.code;
101
+ if (typeof code === 'string' && TRANSPORT_CODES.has(code))
102
+ return true;
103
+ if (e instanceof TypeError && /^(fetch failed|failed to fetch)$/i.test(e.message))
104
+ return true;
105
+ }
106
+ return false;
107
+ }
108
+ /**
109
+ * A connection refused by policy, the same every time it's tried: a redirect the request won't
110
+ * follow (its credential goes to the endpoint only), or a host refused before any connection, by
111
+ * a system-style code that isn't a dropped connection's (the runtime's egress and body-size rules:
112
+ * `EKINDGIEGRESS`, `EKINDGIBODY`). Its kind and words, when it's one.
113
+ */
114
+ export function refusedConnection(error) {
115
+ const seen = new Set();
116
+ for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
117
+ seen.add(e);
118
+ if (/^unexpected redirect$/i.test(e.message)) {
119
+ return {
120
+ kind: 'unavailable',
121
+ words: "the endpoint answered with a redirect, which isn't followed: a request's credential goes to its endpoint only. Check the endpoint.",
122
+ };
123
+ }
124
+ const code = e.code;
125
+ if (typeof code === 'string' &&
126
+ /^E[A-Z0-9_]+$/.test(code) &&
127
+ !code.startsWith('ERR_') &&
128
+ !TRANSPORT_CODES.has(code)) {
129
+ return { kind: 'network', words: e.message };
130
+ }
131
+ }
132
+ return undefined;
133
+ }
69
134
  //# sourceMappingURL=retries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retries.js","sourceRoot":"","sources":["../src/retries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retries.js","sourceRoot":"","sources":["../src/retries.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/adapter-model-shared",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Shared plumbing for Kindgi's model adapters: retries with counted attempts, typed errors, the reasoning state across a pause, usage onto Kindgi's counters. Today's engine is the AI SDK's provider packages, behind one module.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -28,7 +28,7 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@ai-sdk/provider": "4.0.25",
31
- "@kindgi/capabilities": "0.1.7"
31
+ "@kindgi/capabilities": "0.1.8"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^22.10.5",
@@ -50,7 +50,7 @@ import { createAttemptCounter } from '@kindgi/capabilities/attempts';
50
50
  import { nameToolsAsSent, toolIdsBySentName } from '@kindgi/capabilities/tool-names';
51
51
 
52
52
  import { ModelProviderError, modelProviderError } from '../errors.js';
53
- import { type RetryableFailure, withRetries } from '../retries.js';
53
+ import { type RetryableFailure, isTransport, refusedConnection, withRetries } from '../retries.js';
54
54
 
55
55
  export interface AiSdkModelProviderOptions {
56
56
  readonly metadata: ProviderMetadata;
@@ -524,73 +524,6 @@ function adapterError(error: unknown): ModelProviderError | undefined {
524
524
  return undefined;
525
525
  }
526
526
 
527
- /**
528
- * The codes of a failed connection, as Node (`ECONNRESET`), undici (`UND_ERR_SOCKET`) and Bun
529
- * (`ConnectionRefused`) set them on an error or its causes: the AI SDK's list, plus DNS.
530
- */
531
- const TRANSPORT_CODES = new Set([
532
- 'ECONNRESET',
533
- 'ECONNREFUSED',
534
- 'ECONNABORTED',
535
- 'ETIMEDOUT',
536
- 'EPIPE',
537
- 'ENOTFOUND',
538
- 'EAI_AGAIN',
539
- 'ENETUNREACH',
540
- 'EHOSTUNREACH',
541
- 'UND_ERR_SOCKET',
542
- 'UND_ERR_HEADERS_TIMEOUT',
543
- 'UND_ERR_BODY_TIMEOUT',
544
- 'UND_ERR_CONNECT_TIMEOUT',
545
- 'ConnectionRefused',
546
- 'ConnectionClosed',
547
- 'FailedToOpenSocket',
548
- ]);
549
-
550
- /** A failed connection: `fetch failed`, or a transport code on the error or one of its causes. */
551
- function isTransport(error: unknown): boolean {
552
- const seen = new Set<unknown>();
553
- for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
554
- seen.add(e);
555
- const code = (e as { code?: unknown }).code;
556
- if (typeof code === 'string' && TRANSPORT_CODES.has(code)) return true;
557
- if (e instanceof TypeError && /^(fetch failed|failed to fetch)$/i.test(e.message)) return true;
558
- }
559
- return false;
560
- }
561
-
562
- /**
563
- * A connection refused by policy, the same every time it's tried: a redirect the request won't
564
- * follow (its credential goes to the endpoint only), or a host refused before any connection, by
565
- * a system-style code that isn't a dropped connection's (the runtime's egress rules:
566
- * `EKINDGIEGRESS`). Its kind and words, when it's one.
567
- */
568
- function refusedConnection(
569
- error: unknown,
570
- ): { readonly kind: 'unavailable' | 'network'; readonly words: string } | undefined {
571
- const seen = new Set<unknown>();
572
- for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
573
- seen.add(e);
574
- if (/^unexpected redirect$/i.test(e.message)) {
575
- return {
576
- kind: 'unavailable',
577
- words:
578
- "the endpoint answered with a redirect, which isn't followed: a request's credential goes to its endpoint only. Check the endpoint.",
579
- };
580
- }
581
- const code = (e as { code?: unknown }).code;
582
- if (
583
- typeof code === 'string' &&
584
- /^E[A-Z0-9_]+$/.test(code) &&
585
- !code.startsWith('ERR_') &&
586
- !TRANSPORT_CODES.has(code)
587
- ) {
588
- return { kind: 'network', words: e.message };
589
- }
590
- }
591
- return undefined;
592
- }
593
-
594
527
  /** An answer the library couldn't read: a malformed 200, an empty body, a shape it doesn't know. */
595
528
  function isUnreadableAnswer(error: unknown): boolean {
596
529
  return (
package/src/index.ts CHANGED
@@ -15,6 +15,8 @@ export {
15
15
  export {
16
16
  MAX_VENDOR_WAIT_MS,
17
17
  backoffMs,
18
+ isTransport,
19
+ refusedConnection,
18
20
  type RetryPolicy,
19
21
  type RetryableFailure,
20
22
  vendorWaitMs,
package/src/retries.ts CHANGED
@@ -102,3 +102,75 @@ function sleep(ms: number, signal: AbortSignal | undefined): Promise<void> {
102
102
  signal?.addEventListener('abort', onAbort, { once: true });
103
103
  });
104
104
  }
105
+
106
+ // ---------------------------------------------------------------------------
107
+ // Classifying a connection failure, for an adapter's `describe`. Library-free:
108
+ // it reads an error and its causes, not any one engine's error types, so every
109
+ // adapter shares one classifier (the AI SDK's and the OpenAI SDK's alike).
110
+
111
+ /**
112
+ * The codes of a failed connection, as Node (`ECONNRESET`), undici (`UND_ERR_SOCKET`) and Bun
113
+ * (`ConnectionRefused`) set them on an error or its causes: the AI SDK's list, plus DNS.
114
+ */
115
+ const TRANSPORT_CODES = new Set([
116
+ 'ECONNRESET',
117
+ 'ECONNREFUSED',
118
+ 'ECONNABORTED',
119
+ 'ETIMEDOUT',
120
+ 'EPIPE',
121
+ 'ENOTFOUND',
122
+ 'EAI_AGAIN',
123
+ 'ENETUNREACH',
124
+ 'EHOSTUNREACH',
125
+ 'UND_ERR_SOCKET',
126
+ 'UND_ERR_HEADERS_TIMEOUT',
127
+ 'UND_ERR_BODY_TIMEOUT',
128
+ 'UND_ERR_CONNECT_TIMEOUT',
129
+ 'ConnectionRefused',
130
+ 'ConnectionClosed',
131
+ 'FailedToOpenSocket',
132
+ ]);
133
+
134
+ /** A failed connection: `fetch failed`, or a transport code on the error or one of its causes. */
135
+ export function isTransport(error: unknown): boolean {
136
+ const seen = new Set<unknown>();
137
+ for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
138
+ seen.add(e);
139
+ const code = (e as { code?: unknown }).code;
140
+ if (typeof code === 'string' && TRANSPORT_CODES.has(code)) return true;
141
+ if (e instanceof TypeError && /^(fetch failed|failed to fetch)$/i.test(e.message)) return true;
142
+ }
143
+ return false;
144
+ }
145
+
146
+ /**
147
+ * A connection refused by policy, the same every time it's tried: a redirect the request won't
148
+ * follow (its credential goes to the endpoint only), or a host refused before any connection, by
149
+ * a system-style code that isn't a dropped connection's (the runtime's egress and body-size rules:
150
+ * `EKINDGIEGRESS`, `EKINDGIBODY`). Its kind and words, when it's one.
151
+ */
152
+ export function refusedConnection(
153
+ error: unknown,
154
+ ): { readonly kind: 'unavailable' | 'network'; readonly words: string } | undefined {
155
+ const seen = new Set<unknown>();
156
+ for (let e = error; e instanceof Error && !seen.has(e); e = e.cause) {
157
+ seen.add(e);
158
+ if (/^unexpected redirect$/i.test(e.message)) {
159
+ return {
160
+ kind: 'unavailable',
161
+ words:
162
+ "the endpoint answered with a redirect, which isn't followed: a request's credential goes to its endpoint only. Check the endpoint.",
163
+ };
164
+ }
165
+ const code = (e as { code?: unknown }).code;
166
+ if (
167
+ typeof code === 'string' &&
168
+ /^E[A-Z0-9_]+$/.test(code) &&
169
+ !code.startsWith('ERR_') &&
170
+ !TRANSPORT_CODES.has(code)
171
+ ) {
172
+ return { kind: 'network', words: e.message };
173
+ }
174
+ }
175
+ return undefined;
176
+ }