@vymalo/opencode-oauth2 0.6.0 → 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 +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.js.map +1 -1
- package/dist/opencode.js +63 -13
- package/dist/opencode.js.map +1 -1
- package/dist/responses-repair.d.ts +41 -0
- package/dist/responses-repair.js +147 -0
- package/dist/responses-repair.js.map +1 -0
- package/package.json +4 -1
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[];
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC9C,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAa,MAAM,CAAC;AASlD,MAAM,CAAC,MAAM,iBAAiB,GAAkB,oBAAoB,CAAC;AAyBrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,sCAAsC,CAAC;
|
|
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 =
|
|
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 =
|
|
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()] };
|
package/dist/opencode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAKlB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EAEvB,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAC1D,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAU,CAAC;AAClE,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAyBrD,SAAS,SAAS,CAAC,KAAc,EAAE,MAAc;IAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,MAAc;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,KAAK,KAAK,oBAAoB;QAC9B,KAAK,KAAK,aAAa;QACvB,KAAK,KAAK,oBAAoB;QAC9B,KAAK,KAAK,YAAY;QACtB,KAAK,KAAK,gBAAgB,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,oIAAoI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACtK,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,MAAc;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,wDAAwD,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,MAAc;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,4DAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAC9F,CAAC;AACJ,CAAC;AAmBD,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,KAAK;aACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK;aACrB,KAAK,CAAC,SAAS,CAAC;aAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgC;IAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,GAAwC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,mBAAmB,GACvB,OAAO,GAAG,CAAC,mBAAmB,KAAK,QAAQ;QAC3C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACxC,GAAG,CAAC,mBAAmB,GAAG,CAAC;QACzB,CAAC,CAAC,GAAG,CAAC,mBAAmB;QACzB,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,MAAM;QACN,QAAQ;QACR,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,yBAAyB,CAAC;QACzE,MAAM;QACN,mBAAmB;QACnB,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC;QAC7C,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC1D,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1C,2BAA2B,EAAE,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC;QACtE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAC9B,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,yBAAyB,CAAC;QACzE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,yBAAyB,CAAC;QAC7D,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,8BAA8B,CAAC;QACzD,yEAAyE;QACzE,sEAAsE;QACtE,6BAA6B;QAC7B,kBAAkB,EAAE,GAAG,CAAC,kBAAoD;QAC5E,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAsB,EACtB,MAAc;IAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,eAAe,EAAE,OAAO,CAAC;IAEzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QAED,MAAM,mBAAmB,GACvB,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;YAC7C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAC1C,KAAK,CAAC,mBAAmB,GAAG,CAAC;YAC3B,CAAC,CAAC,KAAK,CAAC,mBAAmB;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,WAAW,GAAG,wCAAwC,KAAK,SAAS,EAAE,GAAG,CAAC;QAEhF,MAAM,CAAC,IAAI,CAAC;YACV,EAAE;YACF,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,MAAM;YACN,OAAO;YACP,QAAQ;YACR,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;YAC7D,MAAM;YACN,mBAAmB;YACnB,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/C,qBAAqB,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC;YAC5D,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;YAC5C,2BAA2B,EAAE,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC;YACxE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YAChC,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;YAC7D,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC;YACjD,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,WAAW,OAAO,CAAC;YAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAoD;YAC9E,qBAAqB,EAAE,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAsB,EAAE,MAAc;IACrE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEvD,KAAK,MAAM,MAAM,IAAI,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/D,cAAc,CAAC,GAAG,GAAG,qBAAqB,CAAC;QAC3C,cAAc,CAAC,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;QAChF,cAAc,CAAC,OAAO,GAAG;YACvB,GAAG,eAAe;YAClB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,GAAG,MAAM;YACT,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;QACjE,cAAc,CAAC,GAAG,GAAG,qBAAqB,CAAC;QAC3C,cAAc,CAAC,IAAI,GAAG,YAAY,CAAC;QACnC,cAAc,CAAC,OAAO,GAAG;YACvB,GAAG,OAAO;YACV,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACnB,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,OAAO;YACP,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;YACtD,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,2BAA2B,EAAE,SAAS,CAAC,2BAA2B;YAClE,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;SACvD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkC;IAC1D,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAC5B,cAAsC,EACtC,MAAkD;IAElD,MAAM,cAAc,GAAG,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAwC,CAAC;IAC5F,MAAM,MAAM,GAAwC,EAAE,GAAG,cAAc,EAAE,CAAC;IAE1E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;YACjB,GAAG,aAAa;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,WAAW;SACxB,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,cAAsC,EACtC,UAAkB,EAClB,OAA8B,EAC9B,MAAc;IAEd,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,KAAK,EAAoD,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,CAAE,OAAgD,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IACnF,uEAAuE;IACvE,0EAA0E;IAC1E,cAAc;IACd,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;IAC1F,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;YACzD,UAAU;YACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,wEAAwE;QACxE,4DAA4D;QAC5D,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,OAAO,CAAC,aAAa,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA6B,EAAE,WAA2B;IACtF,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,CAAC,KAA0C,EAAE,KAAa,EAAE,MAAkB,EAAE,EAAE;QAC9F,IAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE/B,KAAK,MAAM,CAAC,GAAG;aACZ,GAAG,CAAC;YACH,IAAI,EAAE;gBACJ,OAAO,EAAE,mBAAmB;gBAC5B,KAAK;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,MAAM;aACd;SACF,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,mEAAmE;QACrE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,KAAK,EAAE,MAAM;YACjB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,MAAM;YAChB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,MAAM;YAChB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,MAAM;YACjB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,iBAA+C,EAAE;IAEjD,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1B,mEAAmE;QACnE,wEAAwE;QACxE,wEAAwE;QACxE,yCAAyC;QACzC,IAAI,eAAe,GAAa,iBAAiB,CAAC;QAClD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAE5F,MAAM,KAAK,GAAiB;YAC1B,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;YACpB,kBAAkB,EAAE,IAAI,GAAG,EAAU;SACtC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACvB,qEAAqE;gBACrE,yEAAyE;gBACzE,mEAAmE;gBACnE,uDAAuD;gBACvD,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC;gBAC7E,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAExD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;oBACtB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;oBAC1B,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC5B,KAAK,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;oBAC7C,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAA+B;oBAC/C,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,cAAc,EAAE,4BAA4B;oBAC5C,QAAQ,EAAE,eAAe;iBAC1B,CAAC;gBAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACpD,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;oBAEtB,KAAK,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,YAAY,EAAE;wBACtD,MAAM;wBACN,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;wBACrD,QAAQ,EAAE,cAAc,CAAC,QAAQ;qBAClC,CAAC,CAAC;oBAEH,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACjC,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC9B,CAAC;gBAED,KAAK,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEvF,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9B,iEAAiE;gBACjE,oEAAoE;gBACpE,mEAAmE;gBACnE,oEAAoE;gBACpE,iCAAiC;gBACjC,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC/C,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACnD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;oBAChD,CAAC;oBAED,kEAAkE;oBAClE,+DAA+D;oBAC/D,iEAAiE;oBACjE,mEAAmE;oBACnE,+DAA+D;oBAC/D,kEAAkE;oBAClE,0DAA0D;oBAC1D,OAAO,qBAAqB,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5E,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBACvE,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/E,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAChE,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAErF,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3D,KAAK,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,EAAE,CAAC;AAEjE,eAAe,oBAAoB,CAAC"}
|
|
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.
|
|
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
|
}
|