@hilbras/omnihilbras 1.77.2 → 1.79.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 (178) hide show
  1. package/dist/core/errors.d.ts.map +1 -0
  2. package/dist/core/errors.js.map +1 -0
  3. package/dist/core/modelFilters.d.ts.map +1 -0
  4. package/dist/core/modelFilters.js.map +1 -0
  5. package/dist/core/pricing.d.ts.map +1 -0
  6. package/dist/{pricing.js → core/pricing.js} +5 -1
  7. package/dist/core/pricing.js.map +1 -0
  8. package/dist/core/provider-slugs.d.ts +5 -0
  9. package/dist/core/provider-slugs.d.ts.map +1 -0
  10. package/dist/core/provider-slugs.js +50 -0
  11. package/dist/core/provider-slugs.js.map +1 -0
  12. package/dist/core/registry.d.ts.map +1 -0
  13. package/dist/core/registry.js.map +1 -0
  14. package/dist/core/secret-store.d.ts.map +1 -0
  15. package/dist/core/secret-store.js.map +1 -0
  16. package/dist/core/streaming.d.ts.map +1 -0
  17. package/dist/core/streaming.js.map +1 -0
  18. package/dist/core/tool-compress.d.ts +13 -0
  19. package/dist/core/tool-compress.d.ts.map +1 -0
  20. package/dist/core/tool-compress.js +45 -0
  21. package/dist/core/tool-compress.js.map +1 -0
  22. package/dist/core/tool-messages.d.ts +9 -0
  23. package/dist/core/tool-messages.d.ts.map +1 -0
  24. package/dist/core/tool-messages.js +28 -0
  25. package/dist/core/tool-messages.js.map +1 -0
  26. package/dist/{transport.d.ts → core/transport.d.ts} +23 -0
  27. package/dist/core/transport.d.ts.map +1 -0
  28. package/dist/{transport.js → core/transport.js} +70 -4
  29. package/dist/core/transport.js.map +1 -0
  30. package/dist/{types.d.ts → core/types.d.ts} +8 -0
  31. package/dist/core/types.d.ts.map +1 -0
  32. package/dist/core/types.js.map +1 -0
  33. package/dist/core/url.d.ts.map +1 -0
  34. package/dist/{url.js → core/url.js} +3 -1
  35. package/dist/core/url.js.map +1 -0
  36. package/dist/index.d.ts +29 -26
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +29 -26
  39. package/dist/index.js.map +1 -1
  40. package/dist/{adapters/anthropic.d.ts → providers/anthropic/index.d.ts} +3 -3
  41. package/dist/providers/anthropic/index.d.ts.map +1 -0
  42. package/dist/{adapters/anthropic.js → providers/anthropic/index.js} +6 -6
  43. package/dist/providers/anthropic/index.js.map +1 -0
  44. package/dist/{adapters/chatgpt-web.d.ts → providers/chatgpt-web/index.d.ts} +2 -2
  45. package/dist/providers/chatgpt-web/index.d.ts.map +1 -0
  46. package/dist/{adapters/chatgpt-web.js → providers/chatgpt-web/index.js} +2 -2
  47. package/dist/providers/chatgpt-web/index.js.map +1 -0
  48. package/dist/{adapters/claude-code.d.ts → providers/claude-code/index.d.ts} +3 -3
  49. package/dist/providers/claude-code/index.d.ts.map +1 -0
  50. package/dist/{adapters/claude-code.js → providers/claude-code/index.js} +20 -14
  51. package/dist/providers/claude-code/index.js.map +1 -0
  52. package/dist/{adapters/cline.d.ts → providers/cline/index.d.ts} +4 -4
  53. package/dist/providers/cline/index.d.ts.map +1 -0
  54. package/dist/{adapters/cline.js → providers/cline/index.js} +17 -9
  55. package/dist/providers/cline/index.js.map +1 -0
  56. package/dist/{adapters/clinepass.d.ts → providers/clinepass/index.d.ts} +3 -3
  57. package/dist/providers/clinepass/index.d.ts.map +1 -0
  58. package/dist/{adapters/clinepass.js → providers/clinepass/index.js} +2 -2
  59. package/dist/providers/clinepass/index.js.map +1 -0
  60. package/dist/providers/deepseek-web/deepseek-pow.d.ts.map +1 -0
  61. package/dist/providers/deepseek-web/deepseek-pow.js.map +1 -0
  62. package/dist/{adapters/deepseek-web.d.ts → providers/deepseek-web/index.d.ts} +2 -2
  63. package/dist/providers/deepseek-web/index.d.ts.map +1 -0
  64. package/dist/{adapters/deepseek-web.js → providers/deepseek-web/index.js} +2 -2
  65. package/dist/providers/deepseek-web/index.js.map +1 -0
  66. package/dist/{adapters/gemini.d.ts → providers/gemini/index.d.ts} +3 -3
  67. package/dist/providers/gemini/index.d.ts.map +1 -0
  68. package/dist/{adapters/gemini.js → providers/gemini/index.js} +5 -5
  69. package/dist/providers/gemini/index.js.map +1 -0
  70. package/dist/{adapters/kimi-code.d.ts → providers/kimi-code/index.d.ts} +3 -3
  71. package/dist/providers/kimi-code/index.d.ts.map +1 -0
  72. package/dist/{adapters/kimi-code.js → providers/kimi-code/index.js} +10 -5
  73. package/dist/providers/kimi-code/index.js.map +1 -0
  74. package/dist/{adapters/kiro.d.ts → providers/kiro/index.d.ts} +41 -5
  75. package/dist/providers/kiro/index.d.ts.map +1 -0
  76. package/dist/{adapters/kiro.js → providers/kiro/index.js} +132 -6
  77. package/dist/providers/kiro/index.js.map +1 -0
  78. package/dist/{adapters/openai.d.ts → providers/openai/index.d.ts} +2 -2
  79. package/dist/providers/openai/index.d.ts.map +1 -0
  80. package/dist/{adapters/openai.js → providers/openai/index.js} +2 -2
  81. package/dist/providers/openai/index.js.map +1 -0
  82. package/dist/{adapters/openai-compatible.d.ts → providers/openai-compatible/index.d.ts} +3 -3
  83. package/dist/{adapters/openai-compatible.d.ts.map → providers/openai-compatible/index.d.ts.map} +1 -1
  84. package/dist/{adapters/openai-compatible.js → providers/openai-compatible/index.js} +6 -5
  85. package/dist/providers/openai-compatible/index.js.map +1 -0
  86. package/dist/{adapters/opencode-console.d.ts → providers/opencode-console/index.d.ts} +16 -3
  87. package/dist/providers/opencode-console/index.d.ts.map +1 -0
  88. package/dist/{adapters/opencode-console.js → providers/opencode-console/index.js} +138 -6
  89. package/dist/providers/opencode-console/index.js.map +1 -0
  90. package/dist/{adapters/openrouter.d.ts → providers/openrouter/index.d.ts} +4 -4
  91. package/dist/providers/openrouter/index.d.ts.map +1 -0
  92. package/dist/{adapters/openrouter.js → providers/openrouter/index.js} +6 -6
  93. package/dist/providers/openrouter/index.js.map +1 -0
  94. package/dist/{adapters/qwen-web.d.ts → providers/qwen-web/index.d.ts} +3 -3
  95. package/dist/providers/qwen-web/index.d.ts.map +1 -0
  96. package/dist/{adapters/qwen-web.js → providers/qwen-web/index.js} +2 -2
  97. package/dist/providers/qwen-web/index.js.map +1 -0
  98. package/dist/{adapters/tokenharbor-web.d.ts → providers/tokenharbor-web/index.d.ts} +2 -2
  99. package/dist/providers/tokenharbor-web/index.d.ts.map +1 -0
  100. package/dist/{adapters/tokenharbor-web.js → providers/tokenharbor-web/index.js} +2 -2
  101. package/dist/providers/tokenharbor-web/index.js.map +1 -0
  102. package/dist/{adapters/zen.d.ts → providers/zen/index.d.ts} +12 -4
  103. package/dist/providers/zen/index.d.ts.map +1 -0
  104. package/dist/{adapters/zen.js → providers/zen/index.js} +73 -11
  105. package/dist/providers/zen/index.js.map +1 -0
  106. package/dist/{adapters → providers/zen}/zen-free-tier.d.ts +16 -14
  107. package/dist/providers/zen/zen-free-tier.d.ts.map +1 -0
  108. package/dist/{adapters → providers/zen}/zen-free-tier.js +17 -17
  109. package/dist/providers/zen/zen-free-tier.js.map +1 -0
  110. package/package.json +1 -1
  111. package/dist/adapters/anthropic.d.ts.map +0 -1
  112. package/dist/adapters/anthropic.js.map +0 -1
  113. package/dist/adapters/chatgpt-web.d.ts.map +0 -1
  114. package/dist/adapters/chatgpt-web.js.map +0 -1
  115. package/dist/adapters/claude-code.d.ts.map +0 -1
  116. package/dist/adapters/claude-code.js.map +0 -1
  117. package/dist/adapters/cline.d.ts.map +0 -1
  118. package/dist/adapters/cline.js.map +0 -1
  119. package/dist/adapters/clinepass.d.ts.map +0 -1
  120. package/dist/adapters/clinepass.js.map +0 -1
  121. package/dist/adapters/deepseek-pow.d.ts.map +0 -1
  122. package/dist/adapters/deepseek-pow.js.map +0 -1
  123. package/dist/adapters/deepseek-web.d.ts.map +0 -1
  124. package/dist/adapters/deepseek-web.js.map +0 -1
  125. package/dist/adapters/gemini.d.ts.map +0 -1
  126. package/dist/adapters/gemini.js.map +0 -1
  127. package/dist/adapters/kimi-code.d.ts.map +0 -1
  128. package/dist/adapters/kimi-code.js.map +0 -1
  129. package/dist/adapters/kiro.d.ts.map +0 -1
  130. package/dist/adapters/kiro.js.map +0 -1
  131. package/dist/adapters/openai-compatible.js.map +0 -1
  132. package/dist/adapters/openai.d.ts.map +0 -1
  133. package/dist/adapters/openai.js.map +0 -1
  134. package/dist/adapters/opencode-console.d.ts.map +0 -1
  135. package/dist/adapters/opencode-console.js.map +0 -1
  136. package/dist/adapters/openrouter.d.ts.map +0 -1
  137. package/dist/adapters/openrouter.js.map +0 -1
  138. package/dist/adapters/qwen-web.d.ts.map +0 -1
  139. package/dist/adapters/qwen-web.js.map +0 -1
  140. package/dist/adapters/tokenharbor-web.d.ts.map +0 -1
  141. package/dist/adapters/tokenharbor-web.js.map +0 -1
  142. package/dist/adapters/zen-free-tier.d.ts.map +0 -1
  143. package/dist/adapters/zen-free-tier.js.map +0 -1
  144. package/dist/adapters/zen.d.ts.map +0 -1
  145. package/dist/adapters/zen.js.map +0 -1
  146. package/dist/errors.d.ts.map +0 -1
  147. package/dist/errors.js.map +0 -1
  148. package/dist/modelFilters.d.ts.map +0 -1
  149. package/dist/modelFilters.js.map +0 -1
  150. package/dist/pricing.d.ts.map +0 -1
  151. package/dist/pricing.js.map +0 -1
  152. package/dist/registry.d.ts.map +0 -1
  153. package/dist/registry.js.map +0 -1
  154. package/dist/secret-store.d.ts.map +0 -1
  155. package/dist/secret-store.js.map +0 -1
  156. package/dist/streaming.d.ts.map +0 -1
  157. package/dist/streaming.js.map +0 -1
  158. package/dist/transport.d.ts.map +0 -1
  159. package/dist/transport.js.map +0 -1
  160. package/dist/types.d.ts.map +0 -1
  161. package/dist/types.js.map +0 -1
  162. package/dist/url.d.ts.map +0 -1
  163. package/dist/url.js.map +0 -1
  164. /package/dist/{errors.d.ts → core/errors.d.ts} +0 -0
  165. /package/dist/{errors.js → core/errors.js} +0 -0
  166. /package/dist/{modelFilters.d.ts → core/modelFilters.d.ts} +0 -0
  167. /package/dist/{modelFilters.js → core/modelFilters.js} +0 -0
  168. /package/dist/{pricing.d.ts → core/pricing.d.ts} +0 -0
  169. /package/dist/{registry.d.ts → core/registry.d.ts} +0 -0
  170. /package/dist/{registry.js → core/registry.js} +0 -0
  171. /package/dist/{secret-store.d.ts → core/secret-store.d.ts} +0 -0
  172. /package/dist/{secret-store.js → core/secret-store.js} +0 -0
  173. /package/dist/{streaming.d.ts → core/streaming.d.ts} +0 -0
  174. /package/dist/{streaming.js → core/streaming.js} +0 -0
  175. /package/dist/{types.js → core/types.js} +0 -0
  176. /package/dist/{url.d.ts → core/url.d.ts} +0 -0
  177. /package/dist/{adapters → providers/deepseek-web}/deepseek-pow.d.ts +0 -0
  178. /package/dist/{adapters → providers/deepseek-web}/deepseek-pow.js +0 -0
@@ -1,5 +1,5 @@
1
- import { ProviderError } from '../errors.js';
2
- import { FetchHttpTransport } from '../transport.js';
1
+ import { ProviderError } from '../../core/errors.js';
2
+ import { FetchHttpTransport } from '../../core/transport.js';
3
3
  /**
4
4
  * Kiro.
5
5
  *
@@ -187,6 +187,8 @@ function joinVerificationUrl(startUrl, path) {
187
187
  */
188
188
  export const KIRO_SOCIAL = {
189
189
  authHost: 'https://prod.us-east-1.auth.desktop.kiro.dev',
190
+ /** Renews a Google or GitHub token. OmniRoute sends the same request to the same endpoint. */
191
+ refreshUrl: 'https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken',
190
192
  /**
191
193
  * The callback is a custom scheme, not a web URL, and it cannot be changed: Kiro's
192
194
  * identity provider only has this one redirect registered. A browser will therefore not
@@ -262,6 +264,73 @@ export async function exchangeKiroSocialCode(session, code) {
262
264
  ...(typeof data.profileArn === 'string' && data.profileArn ? { accountId: data.profileArn } : {}),
263
265
  };
264
266
  }
267
+ /**
268
+ * Kiro's device flow for Google and GitHub. No redirect is involved, so nothing has to come back to
269
+ * the gateway or the browser: the user approves a code on Kiro's page and the gateway polls for the
270
+ * result. Endpoints and the public client id are the ones OmniRoute uses (`KIRO_CONFIG` in
271
+ * `src/lib/oauth/constants/oauth.ts`), which is what makes this flow proven rather than guessed.
272
+ */
273
+ export const KIRO_SOCIAL_DEVICE = {
274
+ authorizeUrl: `${KIRO_SOCIAL.authHost}/oauth/device/authorization`,
275
+ pollUrl: `${KIRO_SOCIAL.authHost}/oauth/device/poll`,
276
+ clientId: 'kiro-cli',
277
+ };
278
+ export async function startKiroSocialDeviceSignIn(provider) {
279
+ const { status, data } = await postAuthJson(KIRO_SOCIAL_DEVICE.authorizeUrl, {
280
+ clientId: KIRO_SOCIAL_DEVICE.clientId,
281
+ loginProvider: socialIdp(provider),
282
+ });
283
+ const deviceCode = typeof data.deviceCode === 'string' ? data.deviceCode : '';
284
+ const userCode = typeof data.userCode === 'string' ? data.userCode : '';
285
+ const verificationUrl = typeof data.verificationUriComplete === 'string' ? data.verificationUriComplete : '';
286
+ if (!deviceCode || !userCode || !verificationUrl) {
287
+ const detail = typeof data.error_description === 'string' ? data.error_description : typeof data.error === 'string' ? data.error : '';
288
+ throw new ProviderError('AUTHENTICATION_FAILED', detail || `Kiro did not return a device code (HTTP ${status}).`, {
289
+ providerId: kiroProviderId,
290
+ publicMessage: detail || 'Kiro did not return a device code. Try again in a moment.',
291
+ });
292
+ }
293
+ return {
294
+ deviceCode,
295
+ userCode,
296
+ verificationUrl,
297
+ intervalSeconds: typeof data.intervalInMilliseconds === 'number' ? Math.max(1, Math.floor(data.intervalInMilliseconds / 1000)) : 5,
298
+ ...(typeof data.expiresInMilliseconds === 'number' ? { expiresIn: Math.floor(data.expiresInMilliseconds / 1000) } : {}),
299
+ };
300
+ }
301
+ /**
302
+ * One poll of Kiro's device endpoint. `authorization_pending` and `slow_down` are progress, not
303
+ * failure: the caller waits and asks again. Anything else that is not a token is a failure with Kiro's
304
+ * own code, so the reason reaches the user rather than a generic error.
305
+ */
306
+ export async function pollKiroSocialDeviceSignIn(deviceCode) {
307
+ const { status, data } = await postAuthJson(KIRO_SOCIAL_DEVICE.pollUrl, {
308
+ deviceCode,
309
+ clientId: KIRO_SOCIAL_DEVICE.clientId,
310
+ });
311
+ const progress = data.error ?? data.status;
312
+ if (progress === 'authorization_pending' || progress === 'slow_down') {
313
+ return { kind: 'pending', error: progress };
314
+ }
315
+ const accessToken = typeof data.accessToken === 'string' ? data.accessToken : '';
316
+ const refreshToken = typeof data.refreshToken === 'string' ? data.refreshToken : '';
317
+ if (!accessToken && !refreshToken) {
318
+ const code = typeof data.error === 'string' && data.error ? data.error : `HTTP ${status}`;
319
+ return { kind: 'failed', error: code };
320
+ }
321
+ const expiresIn = typeof data.expiresIn === 'number' ? data.expiresIn : undefined;
322
+ return {
323
+ kind: 'connected',
324
+ credential: {
325
+ type: 'oauth',
326
+ kiroLogin: 'social',
327
+ value: accessToken,
328
+ ...(refreshToken ? { refreshToken } : {}),
329
+ ...(expiresIn === undefined ? {} : { expiresAt: new Date(Date.now() + expiresIn * 1000).toISOString() }),
330
+ ...(typeof data.profileArn === 'string' && data.profileArn ? { accountId: data.profileArn } : {}),
331
+ },
332
+ };
333
+ }
265
334
  /** A social session is short: the code it is waiting for expires within minutes. */
266
335
  export const kiroSocialTtlMs = 10 * 60_000;
267
336
  export function kiroSocialSessionExpired(session, now = Date.now()) {
@@ -322,6 +391,36 @@ export function kiroCredentialFromApiKey(apiKey) {
322
391
  return { type: 'api-key', value: trimmed };
323
392
  }
324
393
  /** Renews the session. Kiro's refresh grant uses the same token endpoint. */
394
+ /**
395
+ * Renews a Google or GitHub session at Kiro's own refresh endpoint. It takes the refresh token alone,
396
+ * and returns the new access token with the same expiry shape as the AWS path.
397
+ */
398
+ async function refreshKiroSocialCredential(credential) {
399
+ if (credential.type !== 'oauth' || !credential.refreshToken) {
400
+ throw new ProviderError('AUTHENTICATION_FAILED', 'This Kiro session cannot be renewed. Sign in again.', {
401
+ providerId: kiroProviderId,
402
+ publicMessage: 'This Kiro session cannot be renewed. Sign in again.',
403
+ });
404
+ }
405
+ const { data } = await postAuthJson(KIRO_SOCIAL.refreshUrl, { refreshToken: credential.refreshToken });
406
+ const accessToken = typeof data.accessToken === 'string' ? data.accessToken : '';
407
+ if (!accessToken) {
408
+ const detail = typeof data.error_description === 'string' ? data.error_description : '';
409
+ throw new ProviderError('AUTHENTICATION_FAILED', detail || 'Kiro did not renew the session. Sign in again.', {
410
+ providerId: kiroProviderId,
411
+ publicMessage: detail || 'Kiro did not renew the session. Sign in again.',
412
+ });
413
+ }
414
+ const expiresIn = typeof data.expiresIn === 'number' ? data.expiresIn : undefined;
415
+ return {
416
+ type: 'oauth',
417
+ kiroLogin: 'social',
418
+ value: accessToken,
419
+ refreshToken: typeof data.refreshToken === 'string' && data.refreshToken ? data.refreshToken : credential.refreshToken,
420
+ ...(expiresIn === undefined ? {} : { expiresAt: new Date(Date.now() + expiresIn * 1000).toISOString() }),
421
+ ...(typeof data.profileArn === 'string' && data.profileArn ? { accountId: data.profileArn } : credential.accountId ? { accountId: credential.accountId } : {}),
422
+ };
423
+ }
325
424
  export async function refreshKiroCredential(credential) {
326
425
  if (credential.type !== 'oauth' || !credential.refreshToken) {
327
426
  throw new ProviderError('AUTHENTICATION_FAILED', 'This Kiro session cannot be renewed. Sign in again.', {
@@ -329,10 +428,19 @@ export async function refreshKiroCredential(credential) {
329
428
  publicMessage: 'This Kiro session cannot be renewed. Sign in again.',
330
429
  });
331
430
  }
431
+ /**
432
+ * A Google or GitHub session is marked at sign-in and renews at Kiro's own refresh endpoint, not at
433
+ * AWS, which is what OmniRoute does for the same tokens. Any other credential with no client pair is
434
+ * refused here, before anything is sent.
435
+ */
436
+ if (credential.kiroLogin === 'social')
437
+ return refreshKiroSocialCredential(credential);
332
438
  /**
333
439
  * The refresh grant is bound to the client that was registered when the sign-in started.
334
440
  * AWS answers `invalid_client` for any other pair, including the client *name*, so the
335
- * registered pair is carried on the credential and sent as issued.
441
+ * registered pair is carried on the credential and sent as issued. Without that pair there is
442
+ * nothing to send, so it is refused here, before any request, rather than sending a guess AWS
443
+ * would reject as a bad password.
336
444
  */
337
445
  const clientId = credential.oauthClientId;
338
446
  const clientSecret = credential.oauthClientSecret;
@@ -342,12 +450,30 @@ export async function refreshKiroCredential(credential) {
342
450
  publicMessage: 'This Kiro session cannot be renewed. Sign in again.',
343
451
  });
344
452
  }
345
- const { data } = await postAuthJson(`${KIRO.oidc}/token`, {
453
+ let renewal = await postAuthJson(`${KIRO.oidc}/token`, {
346
454
  grantType: 'refresh_token',
347
455
  refreshToken: credential.refreshToken,
348
456
  clientId,
349
457
  clientSecret,
350
458
  });
459
+ /**
460
+ * A refused refresh is often a stale client registration rather than a dead session: the client
461
+ * may have expired or been cleared while the refresh token is still good. OmniRoute handles this by
462
+ * registering a fresh client and retrying once, so the same does here. A token that is refused for
463
+ * its own reasons is refused again and reported as before.
464
+ */
465
+ if (!(typeof renewal.data.accessToken === 'string' && renewal.data.accessToken)) {
466
+ const fresh = await registerKiroClient().catch(() => undefined);
467
+ if (fresh) {
468
+ renewal = await postAuthJson(`${KIRO.oidc}/token`, {
469
+ grantType: 'refresh_token',
470
+ refreshToken: credential.refreshToken,
471
+ clientId: fresh.clientId,
472
+ clientSecret: fresh.clientSecret,
473
+ });
474
+ }
475
+ }
476
+ const { data } = renewal;
351
477
  const accessToken = typeof data.accessToken === 'string' ? data.accessToken : '';
352
478
  if (!accessToken) {
353
479
  const detail = typeof data.error_description === 'string' ? data.error_description : '';
@@ -580,7 +706,7 @@ function conversationIdFor(request) {
580
706
  export class KiroAdapter {
581
707
  id = kiroProviderId;
582
708
  name = 'Kiro';
583
- capabilities = { chat: true, streaming: false, models: true };
709
+ capabilities = { chat: true, streaming: true, models: true };
584
710
  transport;
585
711
  onTokensRefreshed;
586
712
  now;
@@ -722,4 +848,4 @@ export class KiroAdapter {
722
848
  return renewed;
723
849
  }
724
850
  }
725
- //# sourceMappingURL=kiro.js.map
851
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/kiro/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { OpenAICompatibleAdapter, type OpenAICompatibleAdapterOptions } from './openai-compatible.js';
1
+ import { OpenAICompatibleAdapter, type OpenAICompatibleAdapterOptions } from '../openai-compatible/index.js';
2
2
  export type OpenAIAdapterOptions = OpenAICompatibleAdapterOptions & {
3
3
  baseUrl?: string;
4
4
  organization?: string;
@@ -7,4 +7,4 @@ export type OpenAIAdapterOptions = OpenAICompatibleAdapterOptions & {
7
7
  export declare class OpenAIAdapter extends OpenAICompatibleAdapter {
8
8
  constructor(options?: OpenAIAdapterOptions);
9
9
  }
10
- //# sourceMappingURL=openai.d.ts.map
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE7G,MAAM,MAAM,oBAAoB,GAAG,8BAA8B,GAAG;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,aAAc,SAAQ,uBAAuB;gBAC5C,OAAO,GAAE,oBAAyB;CA4B/C"}
@@ -1,4 +1,4 @@
1
- import { OpenAICompatibleAdapter } from './openai-compatible.js';
1
+ import { OpenAICompatibleAdapter } from '../openai-compatible/index.js';
2
2
  export class OpenAIAdapter extends OpenAICompatibleAdapter {
3
3
  constructor(options = {}) {
4
4
  super({
@@ -29,4 +29,4 @@ export class OpenAIAdapter extends OpenAICompatibleAdapter {
29
29
  }, options);
30
30
  }
31
31
  }
32
- //# sourceMappingURL=openai.js.map
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAuC,MAAM,+BAA+B,CAAC;AAQ7G,MAAM,OAAO,aAAc,SAAQ,uBAAuB;IACxD,YAAY,UAAgC,EAAE;QAC5C,KAAK,CAAC;YACJ,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,2BAA2B;YACvD,IAAI,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;YACnD,cAAc,EAAE,uBAAuB;YACvC;;;;;;;;;;;;;eAaG;YACH,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;YAClC,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE;SACF,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { type HttpTransport } from '../transport.js';
2
- import type { ChatChunk, ChatRequest, ChatResponse, EmbeddingRequest, EmbeddingResponse, Model, ProviderAdapter, ProviderCapabilities, ProviderHealth, ProviderRequestContext } from '../types.js';
1
+ import { type HttpTransport } from '../../core/transport.js';
2
+ import type { ChatChunk, ChatRequest, ChatResponse, EmbeddingRequest, EmbeddingResponse, Model, ProviderAdapter, ProviderCapabilities, ProviderHealth, ProviderRequestContext } from '../../core/types.js';
3
3
  export type OpenAICompatibleAuth = {
4
4
  header?: string;
5
5
  prefix?: string;
@@ -97,4 +97,4 @@ export declare class OpenAICompatibleAdapter implements ProviderAdapter {
97
97
  private toChatResponse;
98
98
  }
99
99
  export {};
100
- //# sourceMappingURL=openai-compatible.d.ts.map
100
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/adapters/openai-compatible.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAe,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAgC,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAsB,cAAc,EAAE,sBAAsB,EAAwC,MAAM,aAAa,CAAC;AAExS,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,YAAY,GAAG,uBAAuB,CAAC;IACxD,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,cAAc,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAClD,CAAC,CAAC;KACJ,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAuCF,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0E;IAC/F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAkD;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;gBAE9B,MAAM,EAAE,6BAA6B,EAAE,OAAO,GAAE,8BAAmC;IA2CzF,UAAU,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAclE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,YAAY,CAAC;IAY7F;;;;;;;OAOG;IACG,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6DjG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,sBAA2B,GAAG,aAAa,CAAC,SAAS,CAAC;IA8CjG,WAAW,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBhF,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,cAAc;CA8BvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/openai-compatible/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ProviderError } from '../errors.js';
2
- import { parseSseJson, parseSseStream } from '../streaming.js';
3
- import { FetchHttpTransport } from '../transport.js';
4
- import { assertSafeProviderHeaderName, assertSafeProviderHeaderValue, normalizeProviderBaseUrl, resolveProviderUrl, sanitizeProviderHeaders } from '../url.js';
1
+ import { ProviderError } from '../../core/errors.js';
2
+ import { parseSseJson, parseSseStream } from '../../core/streaming.js';
3
+ import { FetchHttpTransport } from '../../core/transport.js';
4
+ import { assertSafeProviderHeaderName, assertSafeProviderHeaderValue, normalizeProviderBaseUrl, resolveProviderUrl, sanitizeProviderHeaders } from '../../core/url.js';
5
5
  export class OpenAICompatibleAdapter {
6
6
  id;
7
7
  name;
@@ -292,6 +292,7 @@ function toOpenAIMessage(message) {
292
292
  ...(message.name ? { name: message.name } : {}),
293
293
  ...(message.toolCallId ? { tool_call_id: message.toolCallId } : {}),
294
294
  ...(message.toolCalls?.length ? { tool_calls: message.toolCalls.map(toOpenAIToolCall) } : {}),
295
+ ...(message.role === 'assistant' && message.reasoning ? { reasoning_content: message.reasoning } : {}),
295
296
  };
296
297
  }
297
298
  function toOpenAIContent(content) {
@@ -361,4 +362,4 @@ function invalidResponse(providerId, message, providerMessage) {
361
362
  ...(providerMessage ? { publicMessage: message, details: { providerMessage } } : {}),
362
363
  });
363
364
  }
364
- //# sourceMappingURL=openai-compatible.js.map
365
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/openai-compatible/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { HttpTransport } from '../transport.js';
2
- import type { ChatChunk, ChatRequest, ChatResponse, CredentialValidation, Model, ProviderAdapter, ProviderCredential, ProviderHealth, ProviderRequestContext } from '../types.js';
1
+ import type { HttpTransport } from '../../core/transport.js';
2
+ import type { ChatChunk, ChatRequest, ChatResponse, CredentialValidation, Model, ProviderAdapter, ProviderCredential, ProviderHealth, ProviderRequestContext } from '../../core/types.js';
3
3
  /**
4
4
  * OpenCode Console is the credential that reaches OpenCode's free Zen models. An API
5
5
  * key is refused by every lane with `OpenCode's free tier can only be used from within
@@ -98,8 +98,21 @@ export declare class OpencodeConsoleAdapter implements ProviderAdapter {
98
98
  * and still proves the session is live.
99
99
  */
100
100
  validateCredential(credential: ProviderCredential | undefined): Promise<CredentialValidation>;
101
+ /**
102
+ * OpenCode's free models answer `403 FreeTierError` unless the request carries the free-tier contract:
103
+ * a streaming body, a declared tool, a session header and an `opencode/` client version. The lane
104
+ * adapters send none of those, so a `-free` model is routed through the contract instead. Paid models
105
+ * are not gated and keep their lane.
106
+ */
107
+ private isFreeModel;
101
108
  chat(request: ChatRequest, context?: ProviderRequestContext): Promise<ChatResponse>;
102
109
  streamChat(request: ChatRequest, context?: ProviderRequestContext): AsyncIterable<ChatChunk>;
110
+ /**
111
+ * One gated request for a free model: the free-tier contract applied, stream requested, the answer read
112
+ * back as chunks. The client identity and session come from the shared Zen contract helpers, so the two
113
+ * adapters cannot drift on what OpenCode accepts.
114
+ */
115
+ private streamFree;
103
116
  /**
104
117
  * The lane adapters accept a bare token and reject anything else, so an OAuth access
105
118
  * token is handed across in the shape they take. Their credential contract is left
@@ -140,4 +153,4 @@ export declare class OpencodeConsoleAdapter implements ProviderAdapter {
140
153
  private laneAdapter;
141
154
  }
142
155
  export {};
143
- //# sourceMappingURL=opencode-console.d.ts.map
156
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/opencode-console/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
- import { ProviderError } from '../errors.js';
2
- import { FetchHttpTransport } from '../transport.js';
3
- import { compactPricing, normalizeContextWindow, normalizeModalities, perMillionPrice } from '../pricing.js';
4
- import { AnthropicAdapter } from './anthropic.js';
5
- import { OpenAICompatibleAdapter } from './openai-compatible.js';
1
+ import { ProviderError } from '../../core/errors.js';
2
+ import { FetchHttpTransport } from '../../core/transport.js';
3
+ import { compactPricing, normalizeContextWindow, normalizeModalities, perMillionPrice } from '../../core/pricing.js';
4
+ import { AnthropicAdapter } from '../anthropic/index.js';
5
+ import { OpenAICompatibleAdapter } from '../openai-compatible/index.js';
6
+ import { zenConversationSeed, zenContractSatisfied, zenFreeTierHeaders, zenSessionId } from '../zen/zen-free-tier.js';
7
+ import { gatedTools } from '../zen/index.js';
8
+ import { parseSseStream } from '../../core/streaming.js';
6
9
  /**
7
10
  * OpenCode Console is the credential that reaches OpenCode's free Zen models. An API
8
11
  * key is refused by every lane with `OpenCode's free tier can only be used from within
@@ -74,6 +77,17 @@ export function describeConsoleModel(id, entry, providerId) {
74
77
  ...(pricing ? { pricing } : {}),
75
78
  };
76
79
  }
80
+ /**
81
+ * The finish reason as the SDK names it. A tool-call finish must stay `tool_calls`: collapsing it to `stop`
82
+ * tells the caller the answer is complete when the model is waiting for a tool result.
83
+ */
84
+ function normalizeFinish(reason) {
85
+ if (reason === 'length' || reason === 'tool_calls' || reason === 'content_filter')
86
+ return reason;
87
+ if (reason === 'function_call')
88
+ return 'tool_calls';
89
+ return 'stop';
90
+ }
77
91
  function orgHeaderValue(credential) {
78
92
  return credential?.type === 'oauth' ? credential.orgId : undefined;
79
93
  }
@@ -177,7 +191,37 @@ export class OpencodeConsoleAdapter {
177
191
  });
178
192
  return { status: 'valid', checkedAt: new Date().toISOString(), ...(response.data?.email ? { account: response.data.email } : {}) };
179
193
  }
194
+ /**
195
+ * OpenCode's free models answer `403 FreeTierError` unless the request carries the free-tier contract:
196
+ * a streaming body, a declared tool, a session header and an `opencode/` client version. The lane
197
+ * adapters send none of those, so a `-free` model is routed through the contract instead. Paid models
198
+ * are not gated and keep their lane.
199
+ */
200
+ isFreeModel(model) {
201
+ const id = model.includes('/') ? model.slice(model.lastIndexOf('/') + 1) : model;
202
+ return /-free$/.test(id);
203
+ }
180
204
  async chat(request, context = {}) {
205
+ if (this.isFreeModel(request.model)) {
206
+ let text = '';
207
+ let finishReason;
208
+ let responseId = '';
209
+ for await (const chunk of this.streamFree(request, context)) {
210
+ responseId = chunk.id || responseId;
211
+ if (chunk.delta?.content)
212
+ text += chunk.delta.content;
213
+ if (chunk.finishReason)
214
+ finishReason = chunk.finishReason;
215
+ }
216
+ return {
217
+ id: responseId || `opencode-${request.model}`,
218
+ providerId: this.id,
219
+ model: request.model,
220
+ createdAt: new Date().toISOString(),
221
+ message: { role: 'assistant', content: text },
222
+ finishReason: finishReason ?? 'stop',
223
+ };
224
+ }
181
225
  const { lane, orgId } = await this.laneFor(request.model, context);
182
226
  const adapter = this.laneAdapter(lane, orgId);
183
227
  if (!adapter.chat)
@@ -185,12 +229,100 @@ export class OpencodeConsoleAdapter {
185
229
  return adapter.chat(request, { ...context, credential: this.laneCredential(await this.credential(context)) });
186
230
  }
187
231
  async *streamChat(request, context = {}) {
232
+ if (this.isFreeModel(request.model)) {
233
+ yield* this.streamFree(request, context);
234
+ return;
235
+ }
188
236
  const { lane, orgId } = await this.laneFor(request.model, context);
189
237
  const adapter = this.laneAdapter(lane, orgId);
190
238
  if (!adapter.streamChat)
191
239
  throw this.laneUnsupported(lane);
192
240
  yield* adapter.streamChat(request, { ...context, credential: this.laneCredential(await this.credential(context)) });
193
241
  }
242
+ /**
243
+ * One gated request for a free model: the free-tier contract applied, stream requested, the answer read
244
+ * back as chunks. The client identity and session come from the shared Zen contract helpers, so the two
245
+ * adapters cannot drift on what OpenCode accepts.
246
+ */
247
+ async *streamFree(request, context) {
248
+ const id = request.model.includes('/') ? request.model.slice(request.model.lastIndexOf('/') + 1) : request.model;
249
+ const credential = await this.credential(context);
250
+ // The lane comes from the same config the lanes use, so a free model is posted to the URL the console
251
+ // serves it on, and the org is resolved the same way. A hardcoded public route is not one the console answers.
252
+ const lanes = await this.resolveLanes(credential, context.signal);
253
+ const lane = lanes.byModel.get(id) ?? lanes.base;
254
+ if (!lane)
255
+ throw this.laneUnsupported(id);
256
+ const seed = zenConversationSeed(request);
257
+ const headers = { ...this.headers(credential), ...zenFreeTierHeaders(zenSessionId(seed)) };
258
+ const body = {
259
+ model: id,
260
+ // A tool result carries the id of the call it answers; without it the model cannot match them (as in Kimi).
261
+ messages: request.messages.map((message) => ({
262
+ role: message.role,
263
+ content: message.content,
264
+ ...(message.toolCallId ? { tool_call_id: message.toolCallId } : {}),
265
+ })),
266
+ stream: true,
267
+ // The caller's tools with the free-tier quartet appended where missing; never removed to make room.
268
+ tools: gatedTools(request.tools),
269
+ ...(request.maxOutputTokens === undefined ? {} : { max_tokens: request.maxOutputTokens }),
270
+ ...(request.temperature === undefined ? {} : { temperature: request.temperature }),
271
+ };
272
+ if (!zenContractSatisfied(headers, body)) {
273
+ throw new ProviderError('INVALID_REQUEST', 'The free-tier request contract is not satisfied.', { providerId: this.id });
274
+ }
275
+ const events = this.transport.stream({
276
+ method: 'POST',
277
+ providerId: this.id,
278
+ url: `${lane.replace(/\/$/, '')}/chat/completions`,
279
+ headers: { ...headers, accept: 'text/event-stream' },
280
+ body: JSON.stringify(body),
281
+ ...(context.signal ? { signal: context.signal } : {}),
282
+ });
283
+ let opened = false;
284
+ for await (const event of parseSseStream(events)) {
285
+ if (event.data.trim() === '[DONE]')
286
+ return;
287
+ opened = true;
288
+ let chunk;
289
+ try {
290
+ chunk = JSON.parse(event.data);
291
+ }
292
+ catch {
293
+ continue;
294
+ }
295
+ if (chunk.error)
296
+ throw new ProviderError('PROVIDER_REQUEST_FAILED', chunk.error.message ?? 'OpenCode refused the free request.', { providerId: this.id });
297
+ const delta = chunk.choices?.[0]?.delta?.content;
298
+ if (delta)
299
+ yield { id: chunk.id ?? `opencode-${id}`, providerId: this.id, model: id, delta: { content: delta } };
300
+ const toolCalls = chunk.choices?.[0]?.delta?.tool_calls;
301
+ if (toolCalls?.length) {
302
+ yield {
303
+ id: chunk.id ?? `opencode-${id}`,
304
+ providerId: this.id,
305
+ model: id,
306
+ delta: {
307
+ toolCalls: toolCalls.map((toolCall) => ({
308
+ index: toolCall.index ?? 0,
309
+ ...(toolCall.id ? { id: toolCall.id } : {}),
310
+ ...(toolCall.type ? { type: 'function' } : {}),
311
+ ...(toolCall.function?.name || toolCall.function?.arguments ? { function: {
312
+ ...(toolCall.function.name ? { name: toolCall.function.name } : {}),
313
+ ...(toolCall.function.arguments ? { arguments: toolCall.function.arguments } : {}),
314
+ } } : {}),
315
+ })),
316
+ },
317
+ };
318
+ }
319
+ const finish = chunk.choices?.[0]?.finish_reason;
320
+ if (finish)
321
+ yield { id: chunk.id ?? `opencode-${id}`, providerId: this.id, model: id, delta: {}, finishReason: normalizeFinish(finish) };
322
+ }
323
+ if (!opened)
324
+ throw new ProviderError('PROVIDER_REQUEST_FAILED', 'OpenCode answered the free request with no stream.', { providerId: this.id });
325
+ }
194
326
  /**
195
327
  * The lane adapters accept a bare token and reject anything else, so an OAuth access
196
328
  * token is handed across in the shape they take. Their credential contract is left
@@ -366,4 +498,4 @@ export class OpencodeConsoleAdapter {
366
498
  }, { transport: this.transport });
367
499
  }
368
500
  }
369
- //# sourceMappingURL=opencode-console.js.map
501
+ //# sourceMappingURL=index.js.map