@vymalo/opencode-oauth2 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -98,6 +98,7 @@ These apply to both config shapes above.
98
98
  | `redirectPort` | random | Fixed port for the local callback server (authorization-code only). |
99
99
  | `nameOverrides` | `{}` | Map of model id → friendly display name. Applied during catalog normalization. |
100
100
  | `syncIntervalMinutes` | `60` | Per-server scheduler interval. Failures preserve the last-known-good model list. |
101
+ | `responseApi` | `false` | Route inference through the OpenAI **Responses API** (`/v1/responses`) instead of Chat Completions (`/v1/chat/completions`). When `true`, the provider is registered with `npm: "@ai-sdk/openai"` (the native OpenAI provider, whose default model targets Responses since AI SDK v5) rather than `@ai-sdk/openai-compatible`. The plugin stamps an inert placeholder `apiKey` so the native provider can be constructed (the real OAuth bearer is still injected per request, so the placeholder is never sent) and wraps the provider's `fetch` to repair Responses SSE streams that omit `output_index`/`content_index` (seen with Envoy AI Gateway; otherwise OpenCode fails with `text part <id> not found`). Only enable this when your gateway implements the OpenAI Responses contract for the model you use. |
101
102
  | `jwksUri` | _(unset)_ | Reserved; not currently used at runtime. |
102
103
 
103
104
  Plus the top-level `pluginConfig.oauth2ModelSync` block accepts:
package/dist/config.d.ts CHANGED
@@ -74,6 +74,17 @@ export interface OAuthServerConfigInput {
74
74
  * issuer.
75
75
  */
76
76
  tokenExchangeAudience?: string;
77
+ /**
78
+ * Route inference through the OpenAI **Responses API** (`/v1/responses`)
79
+ * instead of Chat Completions (`/v1/chat/completions`). When `true` the
80
+ * managed provider is registered with `npm: "@ai-sdk/openai"` (whose default
81
+ * `languageModel()` targets Responses since AI SDK v5) rather than
82
+ * `@ai-sdk/openai-compatible`. Only enable it when the gateway implements the
83
+ * OpenAI Responses contract. Defaults to `false`. This flag affects provider
84
+ * registration only — it never touches the token lifecycle, so it is read at
85
+ * the config-synthesis layer and not part of the validated runtime config.
86
+ */
87
+ responseApi?: boolean;
77
88
  }
78
89
  export interface OAuth2ModelSyncConfigInput {
79
90
  servers: OAuthServerConfigInput[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/opencode.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { DEFAULT_LOG_LEVEL } from "./config.js";
2
2
  import { createJsonConsoleLogger, LOG_LEVEL_PRIORITY } from "./logging.js";
3
3
  import { OAuth2ModelSyncPlugin } from "./plugin.js";
4
+ import { createResponsesRepairFetch } from "./responses-repair.js";
4
5
  /**
5
6
  * Map OpenCode's host-level `config.logLevel` (uppercase `"DEBUG" | "INFO" |
6
7
  * "WARN" | "ERROR"`) to this plugin's internal `LogLevel`. Unknown / missing
@@ -26,8 +27,60 @@ export function fromOpenCodeLogLevel(value) {
26
27
  }
27
28
  }
28
29
  const OPENAI_COMPATIBLE_NPM = "@ai-sdk/openai-compatible";
30
+ // The native OpenAI provider. Since AI SDK v5 its default `languageModel()`
31
+ // targets the Responses API (`/v1/responses`), where `@ai-sdk/openai-compatible`
32
+ // only ever speaks Chat Completions (`/v1/chat/completions`). Opting a provider
33
+ // into `responseApi: true` swaps the emitted `npm` to this package so OpenCode
34
+ // routes inference through the gateway's Responses endpoint instead.
35
+ const OPENAI_RESPONSES_NPM = "@ai-sdk/openai";
36
+ // Unlike `@ai-sdk/openai-compatible`, the native provider throws
37
+ // "OpenAI API key is missing" at request construction when no `apiKey` is set.
38
+ // We inject the real bearer per-request via `chat.headers` (which overwrites
39
+ // Authorization before anything leaves the process), so this inert placeholder
40
+ // only exists to satisfy that construction-time guard — it is never sent.
41
+ const RESPONSES_API_PLACEHOLDER_KEY = "oauth2-managed-bearer";
29
42
  const OAUTH_OPTIONS_KEYS = ["oauth2", "oauth2ModelSync"];
30
43
  const PLUGIN_SERVICE_NAME = "opencode-oauth2-plugin";
44
+ function resolveProviderNpm(responseApi) {
45
+ return responseApi ? OPENAI_RESPONSES_NPM : OPENAI_COMPATIBLE_NPM;
46
+ }
47
+ /**
48
+ * When a provider opts into the Responses API, ensure its options carry an
49
+ * `apiKey` so the native `@ai-sdk/openai` provider can be constructed. A
50
+ * user-supplied key is left untouched; otherwise we stamp an inert placeholder
51
+ * (the real bearer is injected per-request by `chat.headers`). A no-op for
52
+ * Chat-Completions providers, which need no key.
53
+ */
54
+ function applyResponsesApiOptions(options, responseApi, providerId, logger) {
55
+ if (!responseApi) {
56
+ // If the same provider id appears in both config shapes and an earlier pass
57
+ // stamped our placeholder for Responses mode, but Responses ultimately loses
58
+ // (this shape omits the flag), don't leave the fake key on the resulting
59
+ // Chat-Completions provider. Only ever scrub our own placeholder.
60
+ if (asString(options.apiKey) === RESPONSES_API_PLACEHOLDER_KEY) {
61
+ const cleaned = { ...options };
62
+ delete cleaned.apiKey;
63
+ return cleaned;
64
+ }
65
+ return options;
66
+ }
67
+ logger.debug("oauth2_provider_response_api_enabled", { providerId });
68
+ const next = { ...options };
69
+ // The native @ai-sdk/openai provider throws at construction without an
70
+ // apiKey; stamp an inert placeholder only when the user hasn't set one. The
71
+ // real bearer is injected per-request by chat.headers, so it is never sent.
72
+ if (!asString(next.apiKey)) {
73
+ next.apiKey = RESPONSES_API_PLACEHOLDER_KEY;
74
+ }
75
+ // Repair the gateway's Responses SSE: some gateways (e.g. Envoy AI Gateway)
76
+ // omit `output_index` / `content_index`, which AI-SDK/OpenCode need to
77
+ // assemble message parts (absent → "text part <id> not found"). We compose
78
+ // with any pre-existing fetch so a later fetch-wrapping plugin (e.g.
79
+ // @vymalo/opencode-ratelimit) still wraps ours rather than clobbering it.
80
+ const delegate = typeof next.fetch === "function" ? next.fetch : undefined;
81
+ next.fetch = createResponsesRepairFetch(delegate);
82
+ return next;
83
+ }
31
84
  function asBoolean(value, source) {
32
85
  if (value === undefined || value === null) {
33
86
  return undefined;
@@ -152,7 +205,8 @@ function parseOAuthExtension(provider) {
152
205
  // layer just passes the raw value through so error messages reference
153
206
  // the canonical config path.
154
207
  subjectTokenSource: raw.subjectTokenSource,
155
- tokenExchangeAudience: asString(raw.tokenExchangeAudience)
208
+ tokenExchangeAudience: asString(raw.tokenExchangeAudience),
209
+ responseApi: asBoolean(raw.responseApi, "provider.options.oauth2.responseApi")
156
210
  };
157
211
  }
158
212
  function parsePluginConfigServers(config, logger) {
@@ -204,7 +258,8 @@ function parsePluginConfigServers(config, logger) {
204
258
  authFlow: asAuthFlow(entry.authFlow, sourceLabel),
205
259
  pkce: asBoolean(entry.pkce, `${sourceLabel}.pkce`),
206
260
  subjectTokenSource: entry.subjectTokenSource,
207
- tokenExchangeAudience: asString(entry.tokenExchangeAudience)
261
+ tokenExchangeAudience: asString(entry.tokenExchangeAudience),
262
+ responseApi: asBoolean(entry.responseApi, `${sourceLabel}.responseApi`)
208
263
  });
209
264
  }
210
265
  return parsed;
@@ -215,12 +270,9 @@ function collectManagedProviders(config, logger) {
215
270
  for (const server of parsePluginConfigServers(config, logger)) {
216
271
  const providerConfig = (providers[server.id] ??= {});
217
272
  const providerOptions = asRecord(providerConfig.options) ?? {};
218
- providerConfig.npm = OPENAI_COMPATIBLE_NPM;
273
+ providerConfig.npm = resolveProviderNpm(server.responseApi);
219
274
  providerConfig.name = asString(providerConfig.name) ?? server.name ?? server.id;
220
- providerConfig.options = {
221
- ...providerOptions,
222
- baseURL: server.baseURL
223
- };
275
+ providerConfig.options = applyResponsesApiOptions({ ...providerOptions, baseURL: server.baseURL }, server.responseApi, server.id, logger);
224
276
  byId.set(server.id, {
225
277
  ...server,
226
278
  name: providerConfig.name ?? server.name ?? server.id
@@ -238,12 +290,9 @@ function collectManagedProviders(config, logger) {
238
290
  continue;
239
291
  }
240
292
  const providerName = asString(providerConfig.name) ?? providerId;
241
- providerConfig.npm = OPENAI_COMPATIBLE_NPM;
293
+ providerConfig.npm = resolveProviderNpm(extension.responseApi);
242
294
  providerConfig.name = providerName;
243
- providerConfig.options = {
244
- ...options,
245
- baseURL
246
- };
295
+ providerConfig.options = applyResponsesApiOptions({ ...options, baseURL }, extension.responseApi, providerId, logger);
247
296
  byId.set(providerId, {
248
297
  id: providerId,
249
298
  name: providerName,
@@ -262,7 +311,8 @@ function collectManagedProviders(config, logger) {
262
311
  authFlow: extension.authFlow,
263
312
  pkce: extension.pkce,
264
313
  subjectTokenSource: extension.subjectTokenSource,
265
- tokenExchangeAudience: extension.tokenExchangeAudience
314
+ tokenExchangeAudience: extension.tokenExchangeAudience,
315
+ responseApi: extension.responseApi
266
316
  });
267
317
  }
268
318
  return { servers: [...byId.values()] };
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Repair non-conformant OpenAI **Responses API** SSE streams.
3
+ *
4
+ * Some gateways (observed: Envoy AI Gateway fronting a local model server) emit
5
+ * Responses streaming events **without** the `output_index` / `content_index`
6
+ * fields that the canonical OpenAI Responses API always includes. The AI SDK's
7
+ * `@ai-sdk/openai` responses parser (and, downstream, OpenCode) key each
8
+ * message part by those indices, so when they are absent the text part is never
9
+ * associated with its deltas and the host fails with
10
+ * `text part <msg_id> not found` — even though the request, auth, routing, and
11
+ * the gateway's final (non-streamed) object are all fine.
12
+ *
13
+ * This module injects the missing indices on the fly:
14
+ * - `output_index` is assigned per item in the order their
15
+ * `response.output_item.added` events arrive (reasoning → 0, message → 1, …).
16
+ * - `content_index` is set to `0` on the single content / text / reasoning part
17
+ * of each item (these gateways only ever emit one).
18
+ *
19
+ * Existing index fields are never overwritten, so the transform is a safe no-op
20
+ * against a conformant gateway. Only the oauth2 plugin's `responseApi` path
21
+ * installs it (as a wrapping `options.fetch`), and only for requests to the
22
+ * `/responses` route with a `text/event-stream` body.
23
+ */
24
+ /**
25
+ * Pure text form — repair a complete SSE document. Exposed for testing; the
26
+ * runtime path uses {@link makeResponsesRepairStream}.
27
+ */
28
+ export declare function repairResponsesSseText(input: string): string;
29
+ /**
30
+ * Streaming form — a `TransformStream` that repairs SSE byte chunks, buffering
31
+ * across chunk boundaries so a split mid-event is handled correctly.
32
+ */
33
+ export declare function makeResponsesRepairStream(): TransformStream<Uint8Array, Uint8Array>;
34
+ /**
35
+ * Wrap a `fetch` so Responses-API SSE responses are run through the index
36
+ * repair before the AI SDK parses them. Non-`/responses` requests and
37
+ * non-streaming responses pass through unchanged. Composes with a `delegate`
38
+ * (a pre-existing `options.fetch`) so stacking with other fetch-wrapping
39
+ * plugins works regardless of order.
40
+ */
41
+ export declare function createResponsesRepairFetch(delegate?: typeof fetch): typeof fetch;
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Repair non-conformant OpenAI **Responses API** SSE streams.
3
+ *
4
+ * Some gateways (observed: Envoy AI Gateway fronting a local model server) emit
5
+ * Responses streaming events **without** the `output_index` / `content_index`
6
+ * fields that the canonical OpenAI Responses API always includes. The AI SDK's
7
+ * `@ai-sdk/openai` responses parser (and, downstream, OpenCode) key each
8
+ * message part by those indices, so when they are absent the text part is never
9
+ * associated with its deltas and the host fails with
10
+ * `text part <msg_id> not found` — even though the request, auth, routing, and
11
+ * the gateway's final (non-streamed) object are all fine.
12
+ *
13
+ * This module injects the missing indices on the fly:
14
+ * - `output_index` is assigned per item in the order their
15
+ * `response.output_item.added` events arrive (reasoning → 0, message → 1, …).
16
+ * - `content_index` is set to `0` on the single content / text / reasoning part
17
+ * of each item (these gateways only ever emit one).
18
+ *
19
+ * Existing index fields are never overwritten, so the transform is a safe no-op
20
+ * against a conformant gateway. Only the oauth2 plugin's `responseApi` path
21
+ * installs it (as a wrapping `options.fetch`), and only for requests to the
22
+ * `/responses` route with a `text/event-stream` body.
23
+ */
24
+ const CONTENT_EVENT = /content_part|output_text|reasoning_text/;
25
+ // One SSE frame: an optional `event:` line then a `data:` line carrying JSON.
26
+ // Tolerant of CRLF (`\r\n`) as well as LF line endings — both are valid SSE.
27
+ const BLOCK_RE = /^(?:event:\s*(\S+)[^\S\r\n]*[\r\n]+)?data:\s*(\{[\s\S]*\})\s*$/;
28
+ // Frame boundary is a blank line: `\n\n` or `\r\n\r\n`.
29
+ const FRAME_BOUNDARY = /\r\n\r\n|\n\n/;
30
+ /**
31
+ * Stateful per-stream renderer. Tracks the `item_id → output_index` mapping
32
+ * across blocks (the map must persist for the whole stream, so each stream gets
33
+ * its own injector instance).
34
+ */
35
+ function createIndexInjector() {
36
+ const outputIndex = new Map();
37
+ let nextIndex = 0;
38
+ return (block) => {
39
+ const match = block.match(BLOCK_RE);
40
+ if (!match) {
41
+ // Comments, `data: [DONE]`, keep-alives — pass through untouched.
42
+ return block;
43
+ }
44
+ let event;
45
+ try {
46
+ event = JSON.parse(match[2]);
47
+ }
48
+ catch {
49
+ return block;
50
+ }
51
+ const type = typeof event.type === "string" ? event.type : "";
52
+ const item = event.item;
53
+ const itemId = (item && typeof item.id === "string" ? item.id : undefined) ??
54
+ (typeof event.item_id === "string" ? event.item_id : undefined);
55
+ if (type === "response.output_item.added" && itemId && !outputIndex.has(itemId)) {
56
+ outputIndex.set(itemId, nextIndex++);
57
+ }
58
+ if (itemId && outputIndex.has(itemId) && event.output_index === undefined) {
59
+ event.output_index = outputIndex.get(itemId);
60
+ }
61
+ if (CONTENT_EVENT.test(type) && event.content_index === undefined) {
62
+ event.content_index = 0;
63
+ }
64
+ const eventLine = match[1] ? `event: ${match[1]}\n` : "";
65
+ return `${eventLine}data: ${JSON.stringify(event)}\n\n`;
66
+ };
67
+ }
68
+ /**
69
+ * Pure text form — repair a complete SSE document. Exposed for testing; the
70
+ * runtime path uses {@link makeResponsesRepairStream}.
71
+ */
72
+ export function repairResponsesSseText(input) {
73
+ const render = createIndexInjector();
74
+ // Split after each blank-line boundary (LF or CRLF), keeping it attached to
75
+ // its frame.
76
+ return input
77
+ .split(/(?<=\r\n\r\n|\n\n)/)
78
+ .map(render)
79
+ .join("");
80
+ }
81
+ /**
82
+ * Streaming form — a `TransformStream` that repairs SSE byte chunks, buffering
83
+ * across chunk boundaries so a split mid-event is handled correctly.
84
+ */
85
+ export function makeResponsesRepairStream() {
86
+ const render = createIndexInjector();
87
+ const decoder = new TextDecoder();
88
+ const encoder = new TextEncoder();
89
+ let buffer = "";
90
+ return new TransformStream({
91
+ transform(chunk, controller) {
92
+ buffer += decoder.decode(chunk, { stream: true });
93
+ let out = "";
94
+ let match;
95
+ while ((match = FRAME_BOUNDARY.exec(buffer)) !== null) {
96
+ const end = match.index + match[0].length;
97
+ out += render(buffer.slice(0, end));
98
+ buffer = buffer.slice(end);
99
+ }
100
+ if (out) {
101
+ controller.enqueue(encoder.encode(out));
102
+ }
103
+ },
104
+ flush(controller) {
105
+ buffer += decoder.decode();
106
+ if (buffer) {
107
+ controller.enqueue(encoder.encode(render(buffer)));
108
+ }
109
+ }
110
+ });
111
+ }
112
+ function urlOf(input) {
113
+ if (typeof input === "string") {
114
+ return input;
115
+ }
116
+ if (input instanceof URL) {
117
+ return input.href;
118
+ }
119
+ return input.url;
120
+ }
121
+ /**
122
+ * Wrap a `fetch` so Responses-API SSE responses are run through the index
123
+ * repair before the AI SDK parses them. Non-`/responses` requests and
124
+ * non-streaming responses pass through unchanged. Composes with a `delegate`
125
+ * (a pre-existing `options.fetch`) so stacking with other fetch-wrapping
126
+ * plugins works regardless of order.
127
+ */
128
+ export function createResponsesRepairFetch(delegate) {
129
+ const base = delegate ?? globalThis.fetch;
130
+ const repaired = async (input, init) => {
131
+ const response = await base(input, init);
132
+ // HTTP media types are case-insensitive, so normalize before matching.
133
+ const contentType = (response.headers.get("content-type") ?? "").toLowerCase();
134
+ if (!response.body ||
135
+ !urlOf(input).includes("/responses") ||
136
+ !contentType.includes("text/event-stream")) {
137
+ return response;
138
+ }
139
+ return new Response(response.body.pipeThrough(makeResponsesRepairStream()), {
140
+ status: response.status,
141
+ statusText: response.statusText,
142
+ headers: response.headers
143
+ });
144
+ };
145
+ return repaired;
146
+ }
147
+ //# sourceMappingURL=responses-repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses-repair.js","sourceRoot":"","sources":["../src/responses-repair.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vymalo/opencode-oauth2",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "OpenCode plugin for OAuth2/OIDC-secured, OpenAI-compatible model providers with periodic model sync.",
5
5
  "license": "MIT",
6
6
  "author": "vymalo contributors",
@@ -50,6 +50,8 @@
50
50
  "@opencode-ai/plugin": "1.15.10"
51
51
  },
52
52
  "devDependencies": {
53
+ "@ai-sdk/openai": "^2.0.106",
54
+ "ai": "^5.0.199",
53
55
  "vite": "^8.0.14",
54
56
  "vitest": "^4.1.7"
55
57
  },
@@ -58,6 +60,7 @@
58
60
  "lint": "biome lint .",
59
61
  "typecheck": "tsc -p tsconfig.json --noEmit",
60
62
  "test": "vitest run",
63
+ "test:integration": "vitest run --config vitest.integration.config.ts",
61
64
  "format": "biome format --write .",
62
65
  "format:check": "biome format ."
63
66
  }