@providerkit/core 0.21.1 → 0.23.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.
Files changed (137) hide show
  1. package/README.md +7 -7
  2. package/dist/attribution.d.ts +2 -2
  3. package/dist/auth/flows.d.ts.map +1 -1
  4. package/dist/auth/flows.js +5 -5
  5. package/dist/auth/flows.js.map +1 -1
  6. package/dist/auth/index.d.ts +1 -0
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +1 -0
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/auth/oauth.d.ts +12 -0
  11. package/dist/auth/oauth.d.ts.map +1 -1
  12. package/dist/auth/oauth.js +19 -1
  13. package/dist/auth/oauth.js.map +1 -1
  14. package/dist/auth/token-source.d.ts +9 -3
  15. package/dist/auth/token-source.d.ts.map +1 -1
  16. package/dist/auth/token-source.js +24 -9
  17. package/dist/auth/token-source.js.map +1 -1
  18. package/dist/auth/with-token.d.ts +29 -0
  19. package/dist/auth/with-token.d.ts.map +1 -0
  20. package/dist/auth/with-token.js +85 -0
  21. package/dist/auth/with-token.js.map +1 -0
  22. package/dist/capability.d.ts +9 -9
  23. package/dist/capability.js +9 -9
  24. package/dist/capability.js.map +1 -1
  25. package/dist/context.d.ts +43 -5
  26. package/dist/context.d.ts.map +1 -1
  27. package/dist/context.js +123 -4
  28. package/dist/context.js.map +1 -1
  29. package/dist/errors.d.ts +26 -17
  30. package/dist/errors.d.ts.map +1 -1
  31. package/dist/errors.js +57 -18
  32. package/dist/errors.js.map +1 -1
  33. package/dist/fallback.d.ts +45 -1
  34. package/dist/fallback.d.ts.map +1 -1
  35. package/dist/fallback.js +138 -75
  36. package/dist/fallback.js.map +1 -1
  37. package/dist/image.d.ts +1 -1
  38. package/dist/image.d.ts.map +1 -1
  39. package/dist/jev.d.ts +9 -9
  40. package/dist/jev.d.ts.map +1 -1
  41. package/dist/jev.js +1 -1
  42. package/dist/key-pool.d.ts +14 -8
  43. package/dist/key-pool.d.ts.map +1 -1
  44. package/dist/key-pool.js +35 -18
  45. package/dist/key-pool.js.map +1 -1
  46. package/dist/presets.d.ts +33 -24
  47. package/dist/presets.d.ts.map +1 -1
  48. package/dist/presets.js +25 -14
  49. package/dist/presets.js.map +1 -1
  50. package/dist/providers/anthropic.d.ts +5 -5
  51. package/dist/providers/anthropic.d.ts.map +1 -1
  52. package/dist/providers/anthropic.js +89 -34
  53. package/dist/providers/anthropic.js.map +1 -1
  54. package/dist/providers/factory.d.ts +2 -2
  55. package/dist/providers/factory.d.ts.map +1 -1
  56. package/dist/providers/factory.js +2 -1
  57. package/dist/providers/factory.js.map +1 -1
  58. package/dist/providers/gemini.d.ts +8 -2
  59. package/dist/providers/gemini.d.ts.map +1 -1
  60. package/dist/providers/gemini.js +117 -41
  61. package/dist/providers/gemini.js.map +1 -1
  62. package/dist/providers/openai.d.ts +12 -9
  63. package/dist/providers/openai.d.ts.map +1 -1
  64. package/dist/providers/openai.js +72 -21
  65. package/dist/providers/openai.js.map +1 -1
  66. package/dist/providers/responses.d.ts +3 -3
  67. package/dist/providers/responses.d.ts.map +1 -1
  68. package/dist/providers/responses.js +103 -57
  69. package/dist/providers/responses.js.map +1 -1
  70. package/dist/providers/zai.d.ts +2 -2
  71. package/dist/providers/zai.js +2 -2
  72. package/dist/rate-limit.d.ts +13 -3
  73. package/dist/rate-limit.d.ts.map +1 -1
  74. package/dist/rate-limit.js +10 -4
  75. package/dist/rate-limit.js.map +1 -1
  76. package/dist/retry.d.ts +16 -5
  77. package/dist/retry.d.ts.map +1 -1
  78. package/dist/retry.js +29 -16
  79. package/dist/retry.js.map +1 -1
  80. package/dist/schema.d.ts +6 -6
  81. package/dist/schema.js +8 -8
  82. package/dist/tool-args.d.ts +23 -1
  83. package/dist/tool-args.d.ts.map +1 -1
  84. package/dist/tool-args.js +30 -2
  85. package/dist/tool-args.js.map +1 -1
  86. package/dist/tools.d.ts +3 -3
  87. package/dist/tools.js +2 -2
  88. package/dist/tools.js.map +1 -1
  89. package/dist/transport.d.ts +40 -10
  90. package/dist/transport.d.ts.map +1 -1
  91. package/dist/transport.js +82 -21
  92. package/dist/transport.js.map +1 -1
  93. package/dist/types.d.ts +37 -23
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.js +3 -11
  96. package/dist/types.js.map +1 -1
  97. package/dist/usage.d.ts +4 -4
  98. package/dist/usage.d.ts.map +1 -1
  99. package/dist/usage.js +3 -3
  100. package/dist/usage.js.map +1 -1
  101. package/dist/watchdog.d.ts +14 -12
  102. package/dist/watchdog.d.ts.map +1 -1
  103. package/dist/watchdog.js +35 -16
  104. package/dist/watchdog.js.map +1 -1
  105. package/dist/zod.d.ts +4 -4
  106. package/dist/zod.js +3 -3
  107. package/package.json +1 -1
  108. package/src/attribution.ts +2 -2
  109. package/src/auth/flows.ts +5 -4
  110. package/src/auth/index.ts +1 -0
  111. package/src/auth/oauth.ts +23 -1
  112. package/src/auth/token-source.ts +30 -11
  113. package/src/auth/with-token.ts +97 -0
  114. package/src/capability.ts +12 -12
  115. package/src/context.ts +141 -6
  116. package/src/errors.ts +63 -23
  117. package/src/fallback.ts +173 -75
  118. package/src/image.ts +1 -1
  119. package/src/jev.ts +11 -11
  120. package/src/key-pool.ts +37 -20
  121. package/src/presets.ts +38 -24
  122. package/src/providers/anthropic.ts +97 -38
  123. package/src/providers/factory.ts +4 -3
  124. package/src/providers/gemini.ts +121 -44
  125. package/src/providers/openai.ts +78 -25
  126. package/src/providers/responses.ts +113 -61
  127. package/src/providers/zai.ts +2 -2
  128. package/src/rate-limit.ts +35 -7
  129. package/src/retry.ts +46 -15
  130. package/src/schema.ts +8 -8
  131. package/src/tool-args.ts +46 -2
  132. package/src/tools.ts +4 -4
  133. package/src/transport.ts +103 -23
  134. package/src/types.ts +37 -23
  135. package/src/usage.ts +5 -5
  136. package/src/watchdog.ts +38 -19
  137. package/src/zod.ts +4 -4
package/README.md CHANGED
@@ -9,7 +9,7 @@ handling you only learn in production.
9
9
  bun add @providerkit/core # npm / pnpm / yarn all fine
10
10
  ```
11
11
 
12
- Zero runtime dependencies. `fetch` only — no vendor SDKs, no Node built-ins — so the same
12
+ Zero runtime dependencies. `fetch` only, with no vendor SDKs and no Node built-ins, so the same
13
13
  build runs in Node 22+, Bun, Deno, Cloudflare Workers and a Chrome MV3 service worker.
14
14
 
15
15
  ## What this is
@@ -20,12 +20,12 @@ not where the time goes. The time goes here:
20
20
  - a stream that opens, sends nothing, and never ends
21
21
  - a socket that dies four `cause` levels down, with no HTTP status to read
22
22
  - quota exhaustion arriving as `429` from one vendor, `402` from another, `403` from a
23
- third and `400` from a fourth — with "retry" being the wrong advice for all of them
23
+ third and `400` from a fourth, and "retry" is the wrong advice for all of them
24
24
  - a `429` that is really a context overflow, where waiting fixes nothing and compaction
25
25
  fixes everything
26
26
  - a plan that never included the API, which neither a new key nor a top-up will fix
27
27
  - Anthropic reporting cache tokens _outside_ the input count while OpenAI reports them
28
- _inside_ it — so the same conversation costs two different things
28
+ _inside_ it, so the same conversation costs two different things
29
29
  - `reasoning_content` that must be replayed on tool-call turns, and must _not_ be sent
30
30
  when thinking is off
31
31
  - a tool call's JSON truncated mid-argument, throwing away an answer that was right there
@@ -117,7 +117,7 @@ calls, so it remembers which models are spent.
117
117
  Go also asks each client to send its own user agent, not the runtime's default. Pass
118
118
  `headers: { "user-agent": "my-app" }`, and add it to each Go entry in `fallbacks` too.
119
119
 
120
- **Full documentation lives at [providerkit.dev](https://providerkit.dev)** — it is the single
120
+ **Full documentation lives at [providerkit.dev](https://providerkit.dev)**. It is the single
121
121
  source of truth for usage, and this README deliberately stays a front door so the two cannot
122
122
  drift.
123
123
 
@@ -140,7 +140,7 @@ cannot drift either.
140
140
  ## Origin
141
141
 
142
142
  This was extracted from five production codebases that had each independently grown the same
143
- layer — about 9,100 lines solving one ~2,000-line problem. They had three separate
143
+ layer: about 9,100 lines solving one ~2,000-line problem. They had three separate
144
144
  60-second idle watchdogs, identical down to the constant. On one day in September 2026, two
145
145
  of them shipped the same five fixes independently.
146
146
 
@@ -155,7 +155,7 @@ ever saw. That is the part worth having.
155
155
  ## In production
156
156
 
157
157
  This is not a plan, it already happened. Four of the five codebases serve production traffic
158
- through this package today, and the migrations that put it there were net-negative every time —
158
+ through this package today, and the migrations that put it there were net-negative every time:
159
159
  **−452, −1,621 and −197 lines** in the first three. The last one, `@falai/agent` v3, trades three
160
160
  vendor SDKs for this package (−5,033 more) and ships with the release that carries this section.
161
161
 
@@ -163,7 +163,7 @@ vendor SDKs for this package (−5,033 more) and ships with the release that car
163
163
 
164
164
  ```
165
165
  core/ the npm package `@providerkit/core`
166
- site/ providerkit.dev — Astro + Starlight, also open source
166
+ site/ providerkit.dev (Astro + Starlight), also open source
167
167
  brand/ the mark, the OG card, and the generator for both
168
168
  ```
169
169
 
@@ -1,7 +1,7 @@
1
1
  export interface Attribution {
2
- /** Site URL, sent as `HTTP-Referer` — e.g. "https://your.app". */
2
+ /** Site URL, sent as `HTTP-Referer` (e.g. "https://your.app"). */
3
3
  siteUrl?: string;
4
- /** App name, sent as `X-Title` — e.g. "Your App". */
4
+ /** App name, sent as `X-Title` (e.g. "Your App"). */
5
5
  siteName?: string;
6
6
  }
7
7
  /** Attribution headers not already covered by an explicit `headers` entry. */
@@ -1 +1 @@
1
- {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/auth/flows.ts"],"names":[],"mappings":"AAMA,OAAO,EAaL,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAGpB,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3F;6CACyC;IACzC,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,UAAU,GACpB,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,gBAAgB,GAAG,MAAM,GAAG,YAAY,CAAC;AAE9E,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAyBvE;AAwDD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB5E;AA+DD;;qDAEqD;AACrD,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5E;AAuED,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,6CAA6C,CAAC;AAEnF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9F"}
1
+ {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/auth/flows.ts"],"names":[],"mappings":"AAMA,OAAO,EAcL,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAGpB,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3F;6CACyC;IACzC,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,UAAU,GACpB,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,gBAAgB,GAAG,MAAM,GAAG,YAAY,CAAC;AAE9E,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAyBvE;AAwDD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB5E;AA+DD;;qDAEqD;AACrD,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5E;AAuED,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,6CAA6C,CAAC;AAEnF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9F"}
@@ -4,7 +4,7 @@
4
4
  // ponytail: public client ids and fixed redirect ports. The ceiling is that a
5
5
  // vendor can rotate a client id, add client attestation or refuse a port, and
6
6
  // that vendor's sign-in breaks. Its entry below is then the only thing to fix.
7
- import { accountFromToken, asRecord, authError, generatePKCE, jwtClaims, num, postToken, randomState, REFRESH_SKEW_MS, str, toCredential, webUrl, } from "./oauth.js";
7
+ import { accountFromToken, asRecord, authError, authFetch, generatePKCE, jwtClaims, num, postToken, randomState, REFRESH_SKEW_MS, str, toCredential, webUrl, } from "./oauth.js";
8
8
  import { pollDeviceToken, requestDeviceCode } from "./device.js";
9
9
  export function createAuthFlow(id, host) {
10
10
  switch (id) {
@@ -208,7 +208,7 @@ export function copilotHeaders(appName, turn) {
208
208
  };
209
209
  }
210
210
  async function mintCopilotToken(host, githubToken) {
211
- const res = await (host.fetchImpl ?? fetch)(COPILOT_TOKEN_URL, {
211
+ const res = await authFetch(host, COPILOT_TOKEN_URL, {
212
212
  headers: {
213
213
  Accept: "application/json",
214
214
  Authorization: `Bearer ${githubToken}`,
@@ -251,7 +251,7 @@ async function refreshCopilot(host, credential) {
251
251
  * lookup did, so any failure means no name. */
252
252
  async function githubLogin(host, githubToken) {
253
253
  try {
254
- const res = await (host.fetchImpl ?? fetch)(GITHUB_USER_URL, {
254
+ const res = await authFetch(host, GITHUB_USER_URL, {
255
255
  headers: { Accept: "application/json", Authorization: `Bearer ${githubToken}` },
256
256
  });
257
257
  return res.ok ? str(asRecord(await res.json()).login) : undefined;
@@ -289,7 +289,7 @@ const META_KEY_URL = "https://api.meta.ai/muse-code/key";
289
289
  /** Meta doesn't say how long a key lasts. */
290
290
  const META_KEY_LIFETIME_MS = 24 * 60 * 60 * 1000;
291
291
  async function mintMetaKey(host, identityToken) {
292
- const res = await (host.fetchImpl ?? fetch)(META_KEY_URL, {
292
+ const res = await authFetch(host, META_KEY_URL, {
293
293
  method: "POST",
294
294
  headers: {
295
295
  Accept: "application/json",
@@ -363,7 +363,7 @@ function openrouterFlow(host) {
363
363
  redirectUri: OPENROUTER.redirectUri,
364
364
  signal,
365
365
  });
366
- const res = await (host.fetchImpl ?? fetch)(OPENROUTER.keysUrl, {
366
+ const res = await authFetch(host, OPENROUTER.keysUrl, {
367
367
  method: "POST",
368
368
  headers: { "Content-Type": "application/json", Accept: "application/json" },
369
369
  body: JSON.stringify({ code, code_verifier: verifier, code_challenge_method: "S256" }),
@@ -1 +1 @@
1
- {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/auth/flows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/auth/flows.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export * from "./oauth.ts";
2
2
  export * from "./device.ts";
3
3
  export * from "./flows.ts";
4
4
  export * from "./token-source.ts";
5
+ export * from "./with-token.ts";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -5,4 +5,5 @@ export * from "./oauth.js";
5
5
  export * from "./device.js";
6
6
  export * from "./flows.js";
7
7
  export * from "./token-source.js";
8
+ export * from "./with-token.js";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -21,6 +21,8 @@ export interface AuthHost {
21
21
  }): Promise<string>;
22
22
  /** Replaces `fetch`, for tests. */
23
23
  fetchImpl?: typeof fetch;
24
+ /** How long one request to a sign-in server may take, in ms. Default 30 s. */
25
+ timeoutMs?: number;
24
26
  }
25
27
  /** The stored result of a sign-in. */
26
28
  export interface Credential {
@@ -52,6 +54,16 @@ export declare function authError(code: AuthErrorCode, message: string, opts?: {
52
54
  }): ProviderError;
53
55
  /** Refresh this long before the server's own expiry. */
54
56
  export declare const REFRESH_SKEW_MS: number;
57
+ /**
58
+ * `fetch` with a deadline, for every request in `auth/`.
59
+ *
60
+ * A sign-in server that accepts the connection and never answers would hold
61
+ * the one shared refresh forever, and every call waiting on it with it. No
62
+ * clock above this one cuts it: the watchdog only starts once the model request
63
+ * is sent. The timeout rejects with a `TimeoutError`, which is not a refusal,
64
+ * so `tokenSource` keeps the stored credential.
65
+ */
66
+ export declare function authFetch(host: AuthHost, url: string, init?: RequestInit): Promise<Response>;
55
67
  export declare const str: (value: unknown) => string | undefined;
56
68
  export declare const num: (value: unknown) => number | undefined;
57
69
  export declare const asRecord: (value: unknown) => Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,24 @@ export function authError(code, message, opts = {}) {
19
19
  }
20
20
  /** Refresh this long before the server's own expiry. */
21
21
  export const REFRESH_SKEW_MS = 5 * 60 * 1000;
22
+ /** The deadline cc-proxy puts on its own token requests. */
23
+ const AUTH_TIMEOUT_MS = 30_000;
24
+ /**
25
+ * `fetch` with a deadline, for every request in `auth/`.
26
+ *
27
+ * A sign-in server that accepts the connection and never answers would hold
28
+ * the one shared refresh forever, and every call waiting on it with it. No
29
+ * clock above this one cuts it: the watchdog only starts once the model request
30
+ * is sent. The timeout rejects with a `TimeoutError`, which is not a refusal,
31
+ * so `tokenSource` keeps the stored credential.
32
+ */
33
+ export function authFetch(host, url, init = {}) {
34
+ const deadline = AbortSignal.timeout(host.timeoutMs ?? AUTH_TIMEOUT_MS);
35
+ return (host.fetchImpl ?? fetch)(url, {
36
+ ...init,
37
+ signal: init.signal ? AbortSignal.any([init.signal, deadline]) : deadline,
38
+ });
39
+ }
22
40
  export const str = (value) => typeof value === "string" && value.length > 0 ? value : undefined;
23
41
  export const num = (value) => typeof value === "number" && Number.isFinite(value) ? value : undefined;
24
42
  export const asRecord = (value) => typeof value === "object" && value !== null ? Object.fromEntries(Object.entries(value)) : {};
@@ -49,7 +67,7 @@ function toBase64Url(bytes) {
49
67
  */
50
68
  export async function postToken(host, url, params, opts) {
51
69
  const json = opts.encode === "json";
52
- const res = await (host.fetchImpl ?? fetch)(url, {
70
+ const res = await authFetch(host, url, {
53
71
  method: "POST",
54
72
  headers: {
55
73
  "Content-Type": json ? "application/json" : "application/x-www-form-urlencoded",
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA+C3D,8EAA8E;AAC9E,MAAM,OAAO,WAAY,SAAQ,KAAK;IACf;IAArB,YAAqB,MAAqB;QACxC,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAAe;QAExC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAUD,MAAM,UAAU,SAAS,CACvB,IAAmB,EACnB,OAAe,EACf,OAA2C,EAAE;IAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,qFAAqF;IACrF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClF,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,4DAA4D;AAC5D,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,GAAW,EAAE,OAAoB,EAAE;IAC3E,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,CAAC;IACxE,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE;QACpC,GAAG,IAAI;QACP,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;KAC1E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAc,EAAsB,EAAE,CACxD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAEpE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAc,EAAsB,EAAE,CACxD,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAE1E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAA2B,EAAE,CAClE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAE/F,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACpC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAc,EACd,GAAW,EACX,MAA8B,EAC9B,IAA2D;IAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mCAAmC;YAC/E,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;KAC7E,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAExC,IAAI,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,eAAe,EAAE,2CAA2C,MAAM,EAAE,EAAE;QACpF,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B;IAChD,OAAO,CACL,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS;QACpC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS;QACrC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,CACnC,CAAC;AACJ,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,WAAW,CAAC,MAA+B;IACzD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;kEACkE;AAClE,MAAM,UAAU,YAAY,CAAC,IAA6B,EAAE,eAAwB;IAClF,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3C,6EAA6E;IAC7E,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,SAAS,CACb,kBAAkB,EAClB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,GAAG,eAAe,EAAE,CAAC;AACnG,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,gBAAgB,CAC9B,KAAyB,EACzB,GAAG,MAAgB;IAEnB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;+EAC+E;AAC/E,MAAM,UAAU,MAAM,CACpB,KAAyB,EACzB,SAAS,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE/B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -10,11 +10,17 @@ export interface TokenSourceOptions<C extends Credential = Credential> {
10
10
  }
11
11
  export interface TokenSource<C extends Credential = Credential> {
12
12
  /** A credential whose `accessToken` is good now. Throws a `ProviderError`
13
- * coded `refresh_dead` when the user must sign in again. */
14
- getToken(): Promise<C>;
13
+ * coded `refresh_dead` when the user must sign in again.
14
+ *
15
+ * Pass `rejected`, the access token a server just answered 401 to, to renew
16
+ * it even though it has not expired. A server can refuse a token early: it
17
+ * was revoked, or another client rotated it. */
18
+ getToken(opts?: {
19
+ rejected?: string;
20
+ }): Promise<C>;
15
21
  }
16
22
  /**
17
- * Refresh when the stored credential has expired, and only then.
23
+ * Refresh when the stored credential has expired or was rejected, and only then.
18
24
  *
19
25
  * - Concurrent calls share one refresh and the result is saved before use.
20
26
  * - When the server rejects the refresh, the stored credential is reloaded. If
@@ -1 +1 @@
1
- {"version":3,"file":"token-source.d.ts","sourceRoot":"","sources":["../../src/auth/token-source.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IACnE;iFAC6E;IAC7E,IAAI,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/B,4EAA4E;IAC5E,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,gFAAgF;IAChF,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC5D;iEAC6D;IAC7D,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CA6BhG"}
1
+ {"version":3,"file":"token-source.d.ts","sourceRoot":"","sources":["../../src/auth/token-source.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IACnE;iFAC6E;IAC7E,IAAI,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/B,4EAA4E;IAC5E,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,gFAAgF;IAChF,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC5D;;;;;qDAKiD;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAuChG"}
@@ -4,7 +4,7 @@
4
4
  import { isTransportFailure, ProviderError } from "../errors.js";
5
5
  import { authError } from "./oauth.js";
6
6
  /**
7
- * Refresh when the stored credential has expired, and only then.
7
+ * Refresh when the stored credential has expired or was rejected, and only then.
8
8
  *
9
9
  * - Concurrent calls share one refresh and the result is saved before use.
10
10
  * - When the server rejects the refresh, the stored credential is reloaded. If
@@ -18,7 +18,21 @@ import { authError } from "./oauth.js";
18
18
  */
19
19
  export function tokenSource(options) {
20
20
  let inFlight;
21
- async function refreshStored(stale) {
21
+ async function loadSignedIn() {
22
+ const credential = await options.load();
23
+ if (!credential)
24
+ throw authError("refresh_dead", "Not signed in. Sign in first.");
25
+ return credential;
26
+ }
27
+ async function refreshStored(rejected) {
28
+ // Read again inside the single flight. A caller whose read raced a refresh
29
+ // that had just saved would otherwise start a second one with the refresh
30
+ // token the first already spent. Five calls refused on one token is the
31
+ // normal case for that race, and a server that rotates refresh tokens may
32
+ // take a reused one as stolen and end the whole sign-in.
33
+ const stale = await loadSignedIn();
34
+ if (isUsable(stale, rejected))
35
+ return stale;
22
36
  try {
23
37
  const fresh = await options.refresh(stale);
24
38
  await options.save(fresh);
@@ -34,20 +48,21 @@ export function tokenSource(options) {
34
48
  }
35
49
  }
36
50
  return {
37
- async getToken() {
38
- const credential = await options.load();
39
- if (!credential) {
40
- throw authError("refresh_dead", "Not signed in. Sign in first.");
41
- }
42
- if (Date.now() < credential.expiresAt)
51
+ async getToken({ rejected } = {}) {
52
+ const credential = await loadSignedIn();
53
+ if (isUsable(credential, rejected))
43
54
  return credential;
44
- inFlight ??= refreshStored(credential).finally(() => {
55
+ inFlight ??= refreshStored(rejected).finally(() => {
45
56
  inFlight = undefined;
46
57
  });
47
58
  return inFlight;
48
59
  },
49
60
  };
50
61
  }
62
+ /** Unexpired, and not the token a server just refused. */
63
+ function isUsable(credential, rejected) {
64
+ return Date.now() < credential.expiresAt && credential.accessToken !== rejected;
65
+ }
51
66
  /** A refresh the server turned down for good, as opposed to one that never
52
67
  * reached it or came back unreadable. */
53
68
  function isRejected(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"token-source.js","sourceRoot":"","sources":["../../src/auth/token-source.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6EAA6E;AAC7E,uDAAuD;AACvD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AAkBxD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAuB,OAA8B;IAC9E,IAAI,QAAgC,CAAC;IAErC,KAAK,UAAU,aAAa,CAAC,KAAQ;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS;gBAAE,OAAO,MAAM,CAAC;YACrF,MAAM,SAAS,CAAC,cAAc,EAAE,0DAA0D,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,SAAS,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,SAAS;gBAAE,OAAO,UAAU,CAAC;YACzD,QAAQ,KAAK,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClD,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;0CAC0C;AAC1C,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACjF,OAAO,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,MAAkB,EAAE,KAAiB;IACpD,OAAO,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"token-source.js","sourceRoot":"","sources":["../../src/auth/token-source.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6EAA6E;AAC7E,uDAAuD;AACvD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AAsBxD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAuB,OAA8B;IAC9E,IAAI,QAAgC,CAAC;IAErC,KAAK,UAAU,YAAY;QACzB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU;YAAE,MAAM,SAAS,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;QAClF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,QAA4B;QACvD,2EAA2E;QAC3E,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,yDAAyD;QACzD,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS;gBAAE,OAAO,MAAM,CAAC;YACrF,MAAM,SAAS,CAAC,cAAc,EAAE,0DAA0D,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC9B,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;gBAAE,OAAO,UAAU,CAAC;YACtD,QAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChD,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,SAAS,QAAQ,CAAC,UAAsB,EAAE,QAA4B;IACpE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,WAAW,KAAK,QAAQ,CAAC;AAClF,CAAC;AAED;0CAC0C;AAC1C,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACjF,OAAO,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,MAAkB,EAAE,KAAiB;IACpD,OAAO,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { PresetProviderConfig } from "../providers/factory.ts";
2
+ import type { Provider } from "../types.ts";
3
+ import type { Credential } from "./oauth.ts";
4
+ import type { TokenSource } from "./token-source.ts";
5
+ /** The credential half of `PresetProviderConfig`, so `build` can spread it in. */
6
+ export type TokenAuth = Pick<PresetProviderConfig, "apiKey" | "baseUrl" | "headers">;
7
+ /**
8
+ * Give any provider the signed-in user's token, read fresh on every call.
9
+ *
10
+ * ```ts
11
+ * const provider = withToken(token, (auth) => createPresetProvider("github-copilot", auth));
12
+ * ```
13
+ *
14
+ * `build` runs once per attempt and must do no I/O, like `withKeyPool`'s
15
+ * factory. It gets the access token as `apiKey`, the credential's own host as
16
+ * `baseUrl` (Copilot gives each plan its own) and its `ChatGPT-Account-Id`
17
+ * header, which the Codex backend refuses the request without. To add headers
18
+ * of your own, merge them with `auth.headers` rather than replacing them.
19
+ *
20
+ * A 401 before any output renews the token and replays the call once: a token
21
+ * can be refused before its expiry, and without this the caller sees an auth
22
+ * failure that a fallback pool benches for an hour. A second 401 is a real one
23
+ * and surfaces. A 401 after output never replays (invariant 1).
24
+ *
25
+ * Only 401 counts. A 400 or 403 on a model call is a bad request or a plan
26
+ * that lacks the model, and a new token fixes neither.
27
+ */
28
+ export declare function withToken<C extends Credential>(source: TokenSource<C>, build: (auth: TokenAuth) => Provider): Provider;
29
+ //# sourceMappingURL=with-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-token.d.ts","sourceRoot":"","sources":["../../src/auth/with-token.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAC5C,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,QAAQ,GACnC,QAAQ,CA4BV"}
@@ -0,0 +1,85 @@
1
+ // A provider that signs every call with the stored sign-in, and renews the token
2
+ // once when a server refuses it before it expired. The sibling of
3
+ // `withKeyPool`: that one rotates between keys, this one renews the one token.
4
+ //
5
+ // Type-only imports from the sign-in side, so core's root can export this
6
+ // without pulling the flows in.
7
+ import { ProviderError } from "../errors.js";
8
+ /**
9
+ * Give any provider the signed-in user's token, read fresh on every call.
10
+ *
11
+ * ```ts
12
+ * const provider = withToken(token, (auth) => createPresetProvider("github-copilot", auth));
13
+ * ```
14
+ *
15
+ * `build` runs once per attempt and must do no I/O, like `withKeyPool`'s
16
+ * factory. It gets the access token as `apiKey`, the credential's own host as
17
+ * `baseUrl` (Copilot gives each plan its own) and its `ChatGPT-Account-Id`
18
+ * header, which the Codex backend refuses the request without. To add headers
19
+ * of your own, merge them with `auth.headers` rather than replacing them.
20
+ *
21
+ * A 401 before any output renews the token and replays the call once: a token
22
+ * can be refused before its expiry, and without this the caller sees an auth
23
+ * failure that a fallback pool benches for an hour. A second 401 is a real one
24
+ * and surfaces. A 401 after output never replays (invariant 1).
25
+ *
26
+ * Only 401 counts. A 400 or 403 on a model call is a bad request or a plan
27
+ * that lacks the model, and a new token fixes neither.
28
+ */
29
+ export function withToken(source, build) {
30
+ // Building does no I/O, so a throwaway instance reads `id` and `model`
31
+ // without a token.
32
+ const identity = build({ apiKey: "" });
33
+ return {
34
+ id: identity.id,
35
+ model: identity.model,
36
+ async *createStream(messages, tools, opts = {}) {
37
+ const credential = await unlessAborted(source.getToken(), opts.signal);
38
+ let emitted = false;
39
+ try {
40
+ for await (const chunk of build(authOf(credential)).createStream(messages, tools, opts)) {
41
+ emitted = true;
42
+ yield chunk;
43
+ }
44
+ return;
45
+ }
46
+ catch (error) {
47
+ if (emitted || !(error instanceof ProviderError) || error.status !== 401)
48
+ throw error;
49
+ }
50
+ const renewed = await unlessAborted(source.getToken({ rejected: credential.accessToken }), opts.signal);
51
+ yield* build(authOf(renewed)).createStream(messages, tools, opts);
52
+ },
53
+ };
54
+ }
55
+ function authOf(credential) {
56
+ return {
57
+ apiKey: credential.accessToken,
58
+ ...(credential.baseUrl ? { baseUrl: credential.baseUrl } : {}),
59
+ ...(credential.chatgptAccountId
60
+ ? { headers: { "ChatGPT-Account-Id": credential.chatgptAccountId } }
61
+ : {}),
62
+ };
63
+ }
64
+ /**
65
+ * Wait for the token, or reject with the caller's abort, whichever is first.
66
+ *
67
+ * The refresh itself is never aborted. It is shared by every caller, and once
68
+ * its POST is out the server may already have rotated the refresh token, so
69
+ * abandoning it before the save loses the only copy of the new one. And
70
+ * without the race an unanswered refresh would outlive the watchdog, which
71
+ * aborts the signal but never races a read.
72
+ */
73
+ function unlessAborted(pending, signal) {
74
+ if (!signal)
75
+ return pending;
76
+ return new Promise((resolve, reject) => {
77
+ const onAbort = () => reject(signal.reason);
78
+ if (signal.aborted)
79
+ onAbort();
80
+ else
81
+ signal.addEventListener("abort", onAbort, { once: true });
82
+ pending.then(resolve, reject).finally(() => signal.removeEventListener("abort", onAbort));
83
+ });
84
+ }
85
+ //# sourceMappingURL=with-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-token.js","sourceRoot":"","sources":["../../src/auth/with-token.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kEAAkE;AAClE,+EAA+E;AAC/E,EAAE;AACF,0EAA0E;AAC1E,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,SAAS,CACvB,MAAsB,EACtB,KAAoC;IAEpC,uEAAuE;IACvE,mBAAmB;IACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK,EAAE,QAAQ,CAAC,KAAK;QAErB,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE;YAC5C,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACxF,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;oBAAE,MAAM,KAAK,CAAC;YACxF,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,EACrD,IAAI,CAAC,MAAM,CACZ,CAAC;YACF,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,UAAsB;IACpC,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,WAAW;QAC9B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,CAAC,gBAAgB;YAC7B,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAI,OAAmB,EAAE,MAA+B;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;;YACzB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,7 +2,7 @@ import type { JsonWithTools, Provider } from "./types.ts";
2
2
  export interface JsonWithToolsProbe {
3
3
  /**
4
4
  * The shape to configure, or `null` when neither called the tool on every
5
- * sample — that model cannot be trusted with tools and a schema together,
5
+ * sample. That model cannot be trusted with tools and a schema together,
6
6
  * whichever way the schema rides, and the honest fix is a different model.
7
7
  */
8
8
  use: JsonWithTools | null;
@@ -13,8 +13,8 @@ export interface JsonWithToolsProbe {
13
13
  }
14
14
  export interface ProbeOptions {
15
15
  /**
16
- * Samples per shape. Above one because the interesting failures are partial —
17
- * `gemini-3.8-flash` called its tool 3/10 — and a single sample reports a
16
+ * Samples per shape. Above one because the interesting failures are partial:
17
+ * `gemini-3.8-flash` called its tool 3/10. A single sample reports a
18
18
  * coin flip as a capability. A shape passes only when EVERY sample calls.
19
19
  */
20
20
  samples?: number;
@@ -24,12 +24,12 @@ export interface ProbeOptions {
24
24
  }
25
25
  /**
26
26
  * Ask a model, on the wire, which {@link JsonWithTools} shape it actually
27
- * serves — then configure the provider with `probe.use`.
27
+ * serves. Then configure the provider with `probe.use`.
28
28
  *
29
29
  * Both shapes are always tried, because a result you can read beats a result
30
30
  * you have to trust: `calls` is the table to log, and "0/3 and 3/3" is what
31
31
  * makes a later regression obvious. It costs `samples × 2` short calls, made
32
- * one after another, once, at whatever moment the app decides to ask — boot is
32
+ * one after another, once, at whatever moment the app decides to ask. Boot is
33
33
  * the usual one.
34
34
  *
35
35
  * Probe each provider on its own, never a fallback chain: the shape is a fact
@@ -46,8 +46,8 @@ export interface ProbeOptions {
46
46
  * report "this model cannot call tools", which is a much worse thing to
47
47
  * believe than "the call failed".
48
48
  *
49
- * What it catches is the structural failure — the model that CANNOT emit the
50
- * call, every time, on the easiest question there is. A model that is merely
49
+ * It catches a structural failure: a model that cannot emit the call, every
50
+ * time, on the easiest question there is. A model that is merely
51
51
  * unreliable will pass: `gemini-3.8-flash` answers this probe 3/3 and a real
52
52
  * sales turn 3/10. That is the right line to draw. A harder probe would start
53
53
  * failing good models for being terse, and "sometimes forgets its tools" is a
@@ -96,8 +96,8 @@ export interface ResolveModelOptions {
96
96
  * - `deepseek/deepseek-v4.1-flash` matches `deepseek-v4.1-flash`
97
97
  * - `accounts/fireworks/models/glm-5p3-flash` matches `glm-5.3-flash`
98
98
  *
99
- * Never throws — if the catalog cannot be retrieved or the model is unknown,
100
- * returns `undefined` so capability lookups never break caller execution.
99
+ * Never throws. If the catalog cannot be retrieved or the model is unknown,
100
+ * it returns `undefined` so capability lookups never break caller execution.
101
101
  */
102
102
  export declare function resolveModelCapabilities(modelId: string, options?: ResolveModelOptions): Promise<ModelCapabilities | undefined>;
103
103
  //# sourceMappingURL=capability.d.ts.map