@hilbras/omnihilbras 1.12.0 → 1.12.1
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/dist/adapters/cline.js
CHANGED
|
@@ -35,7 +35,7 @@ export const CLINE_OAUTH = {
|
|
|
35
35
|
};
|
|
36
36
|
const defaultRefreshSkewMs = 60_000;
|
|
37
37
|
/** Reported to Cline as this client's version. */
|
|
38
|
-
const omnihilbrasVersion = '1.12.
|
|
38
|
+
const omnihilbrasVersion = '1.12.1';
|
|
39
39
|
/** Cline only accepts WorkOS JWTs with an explicit prefix. */
|
|
40
40
|
export function toClineAccessToken(token) {
|
|
41
41
|
const trimmed = token.trim();
|
|
@@ -24,8 +24,15 @@ export type QwenProbeResult = {
|
|
|
24
24
|
* ship a card that cannot answer, and refusing to try would be refusing on the strength of a
|
|
25
25
|
* measurement nobody made. So it asks, and it says what came back.
|
|
26
26
|
*/
|
|
27
|
-
export declare function probeQwenWeb(cookieHeader: string, transport: HttpTransport, signal?: AbortSignal
|
|
28
|
-
|
|
27
|
+
export declare function probeQwenWeb(cookieHeader: string, transport: HttpTransport, signal?: AbortSignal, options?: {
|
|
28
|
+
timeoutMs?: number;
|
|
29
|
+
}): Promise<QwenProbeResult>;
|
|
30
|
+
/**
|
|
31
|
+
* The provider's own refusal, read out of a **200** response.
|
|
32
|
+
*
|
|
33
|
+
* Qwen signals every refusal in the body and never in the status code, on both origins. A check
|
|
34
|
+
* that trusted the status would report a guest cookie as a working credential.
|
|
35
|
+
*/
|
|
29
36
|
/**
|
|
30
37
|
* The catalog, read from the live `GET /api/v2/models/` rather than written from memory.
|
|
31
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qwen-web.d.ts","sourceRoot":"","sources":["../../src/adapters/qwen-web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA+CrD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAM5C,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BzE;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,yDAAyD;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,oGAAoG;IACpG,UAAU,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AA4BF;;;;;;;;GAQG;AACH,wBAAsB,YAAY,
|
|
1
|
+
{"version":3,"file":"qwen-web.d.ts","sourceRoot":"","sources":["../../src/adapters/qwen-web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA+CrD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAM5C,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BzE;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,yDAAyD;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,oGAAoG;IACpG,UAAU,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AA4BF;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,eAAe,CAAC,CAyF1B;AAED;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,EAIlC,CAAC"}
|
|
@@ -114,7 +114,7 @@ function readModels(payload) {
|
|
|
114
114
|
* ship a card that cannot answer, and refusing to try would be refusing on the strength of a
|
|
115
115
|
* measurement nobody made. So it asks, and it says what came back.
|
|
116
116
|
*/
|
|
117
|
-
export async function probeQwenWeb(cookieHeader, transport, signal) {
|
|
117
|
+
export async function probeQwenWeb(cookieHeader, transport, signal, options = {}) {
|
|
118
118
|
const cookies = parseQwenCookieHeader(cookieHeader);
|
|
119
119
|
const cookie = Object.entries(cookies).map(([name, value]) => `${name}=${value}`).join('; ');
|
|
120
120
|
const headers = (extra = {}) => ({
|
|
@@ -123,9 +123,32 @@ export async function probeQwenWeb(cookieHeader, transport, signal) {
|
|
|
123
123
|
'user-agent': BROWSER_USER_AGENT,
|
|
124
124
|
...extra,
|
|
125
125
|
});
|
|
126
|
+
/**
|
|
127
|
+
* A budget for the whole probe, because the alternative is a spinner that never resolves.
|
|
128
|
+
*
|
|
129
|
+
* Not the network — the three requests together take about a second. It is that a caller
|
|
130
|
+
* waiting on a promise it cannot see into will sit there indefinitely if anything stalls, and
|
|
131
|
+
* "Ask Qwen" with no outcome is indistinguishable from a broken button. On expiry the answers
|
|
132
|
+
* gathered so far are returned rather than discarded: a slow auth origin with a fast refusal on
|
|
133
|
+
* the turn is still a useful answer, and throwing it away would be its own kind of dishonesty.
|
|
134
|
+
*/
|
|
135
|
+
const timeoutMs = options.timeoutMs ?? 20_000;
|
|
136
|
+
const controller = new AbortController();
|
|
137
|
+
const onAbort = () => controller.abort();
|
|
138
|
+
if (signal)
|
|
139
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
140
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
141
|
+
timer.unref?.();
|
|
126
142
|
const ask = async (url, init) => {
|
|
127
143
|
try {
|
|
128
|
-
const response = await transport.request({
|
|
144
|
+
const response = await transport.request({
|
|
145
|
+
method: init.method,
|
|
146
|
+
url,
|
|
147
|
+
headers: init.headers,
|
|
148
|
+
providerId: qwenWebProviderId,
|
|
149
|
+
...(init.body ? { body: init.body } : {}),
|
|
150
|
+
signal: controller.signal,
|
|
151
|
+
});
|
|
129
152
|
return { status: response.status, data: response.data, error: undefined };
|
|
130
153
|
}
|
|
131
154
|
catch (error) {
|
|
@@ -134,36 +157,54 @@ export async function probeQwenWeb(cookieHeader, transport, signal) {
|
|
|
134
157
|
return { status: 0, data: undefined, error: error instanceof Error ? error.message : String(error) };
|
|
135
158
|
}
|
|
136
159
|
};
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
?? `
|
|
164
|
-
|
|
160
|
+
try {
|
|
161
|
+
/**
|
|
162
|
+
* All three at once, and the turn last only because it needs a model id.
|
|
163
|
+
*
|
|
164
|
+
* Sequential requests cost three round trips to a host on another continent. The models
|
|
165
|
+
* catalog is the only dependency between them, and it does not need the turn's answer — so
|
|
166
|
+
* the turn is fired as soon as the catalog lands and the two never wait on each other.
|
|
167
|
+
*/
|
|
168
|
+
const authPromise = ask(`${QWEN_AUTH_ORIGIN}${AUTH_PATH}`, { method: 'GET', headers: headers() });
|
|
169
|
+
const catalogPromise = ask(`${QWEN_ORIGIN}/api/v2/models/`, { method: 'GET', headers: headers() });
|
|
170
|
+
const [auth, catalog] = await Promise.all([authPromise, catalogPromise]);
|
|
171
|
+
const models = readModels(catalog.data);
|
|
172
|
+
const turn = await ask(`${QWEN_ORIGIN}${TURN_PATH}`, {
|
|
173
|
+
method: 'POST',
|
|
174
|
+
headers: headers({ 'content-type': 'application/json' }),
|
|
175
|
+
body: JSON.stringify({ model: models[0] ?? 'qwen3.7-plus', messages: [{ role: 'user', content: 'hi' }], stream: false }),
|
|
176
|
+
});
|
|
177
|
+
// 1. The auth origin. A guest is refused here first, so this separates "no credential" from
|
|
178
|
+
// "the credential is not the problem".
|
|
179
|
+
//
|
|
180
|
+
// Read from the **body**, not the status. `auth.qwen.ai` answers a guest with **HTTP 200**
|
|
181
|
+
// and `{"success":false,"data":{"code":"Unauthorized"}}` — the status code is a lie and the
|
|
182
|
+
// transport, correctly, does not throw. Trusting the status is what made a guest cookie
|
|
183
|
+
// report as `authenticated: true`.
|
|
184
|
+
const authRefused = readRefusal(auth.data) ?? (auth.error ? auth.error : undefined);
|
|
185
|
+
const authenticated = auth.error === undefined && !authRefused;
|
|
186
|
+
const authDetail = authRefused ?? `HTTP ${auth.status}`;
|
|
187
|
+
// 2. The turn — the question that actually matters, and the one the refusal answers.
|
|
188
|
+
const ret = Array.isArray(turn.data?.ret) ? (turn.data.ret) : [];
|
|
189
|
+
const turnRefusal = readRefusal(turn.data);
|
|
190
|
+
const turnServed = turn.error === undefined && ret.length === 0 && !turnRefusal;
|
|
191
|
+
const detail = turn.error
|
|
192
|
+
?? (ret.length > 0 ? `Qwen refused the turn: ${ret.join(', ')}` : undefined)
|
|
193
|
+
?? turnRefusal
|
|
194
|
+
?? `Qwen answered HTTP ${turn.status}.`;
|
|
195
|
+
return { authenticated, turnServed, detail, authDetail, models };
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
clearTimeout(timer);
|
|
199
|
+
signal?.removeEventListener('abort', onAbort);
|
|
200
|
+
}
|
|
165
201
|
}
|
|
166
|
-
/**
|
|
202
|
+
/**
|
|
203
|
+
* The provider's own refusal, read out of a **200** response.
|
|
204
|
+
*
|
|
205
|
+
* Qwen signals every refusal in the body and never in the status code, on both origins. A check
|
|
206
|
+
* that trusted the status would report a guest cookie as a working credential.
|
|
207
|
+
*/
|
|
167
208
|
/**
|
|
168
209
|
* The catalog, read from the live `GET /api/v2/models/` rather than written from memory.
|
|
169
210
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qwen-web.js","sourceRoot":"","sources":["../../src/adapters/qwen-web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAChD,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAEnC,yFAAyF;AACzF,MAAM,mBAAmB,GAAG;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,iBAAiB,EAAE,gBAAgB;IACnC,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,GAAG,WAAW,GAAG;IAC1B,WAAW,EAAE,yCAAyC;IACtD,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,SAAS;IAC/B,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,aAAa;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C,mGAAmG;AACnG,MAAM,kBAAkB,GACtB,2GAA2G,CAAC;AAE9G,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,4CAA4C,EAAE;YACvF,UAAU,EAAE,iBAAiB;YAC7B,aAAa,EAAE,4CAA4C;SAC5D,CAAC,CAAC;IACL,CAAC;IACD,qFAAqF;IACrF,IAAI,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,iFAAiF,EAAE;YAC5H,UAAU,EAAE,iBAAiB;YAC7B,aAAa,EAAE,iFAAiF;SACjG,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,IAAI,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,6EAA6E,EAAE;YACxH,UAAU,EAAE,iBAAiB;YAC7B,aAAa,EAAE,6EAA6E;SAC7F,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAeD;;;;;GAKG;AACH,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,MAAM,GAAG,OAA8E,CAAC;IAC9F,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACpG,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB;IAClC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvD,MAAM,IAAI,GAAI,OAA8B,CAAC,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAE,IAA2B,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,IAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxI,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,GAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChG,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"qwen-web.js","sourceRoot":"","sources":["../../src/adapters/qwen-web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAChD,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAEnC,yFAAyF;AACzF,MAAM,mBAAmB,GAAG;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,iBAAiB,EAAE,gBAAgB;IACnC,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,GAAG,WAAW,GAAG;IAC1B,WAAW,EAAE,yCAAyC;IACtD,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,SAAS;IAC/B,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,aAAa;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C,mGAAmG;AACnG,MAAM,kBAAkB,GACtB,2GAA2G,CAAC;AAE9G,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,4CAA4C,EAAE;YACvF,UAAU,EAAE,iBAAiB;YAC7B,aAAa,EAAE,4CAA4C;SAC5D,CAAC,CAAC;IACL,CAAC;IACD,qFAAqF;IACrF,IAAI,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,iFAAiF,EAAE;YAC5H,UAAU,EAAE,iBAAiB;YAC7B,aAAa,EAAE,iFAAiF;SACjG,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,IAAI,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,6EAA6E,EAAE;YACxH,UAAU,EAAE,iBAAiB;YAC7B,aAAa,EAAE,6EAA6E;SAC7F,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAeD;;;;;GAKG;AACH,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,MAAM,GAAG,OAA8E,CAAC;IAC9F,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACpG,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB;IAClC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvD,MAAM,IAAI,GAAI,OAA8B,CAAC,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAE,IAA2B,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,IAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxI,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,GAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChG,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,YAAoB,EACpB,SAAwB,EACxB,MAAoB,EACpB,UAAkC,EAAE;IAEpC,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,CAAC,QAAgC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,GAAG,mBAAmB;QACtB,MAAM;QACN,YAAY,EAAE,kBAAkB;QAChC,GAAG,KAAK;KACT,CAAC,CAAC;IAEH;;;;;;;;OAQG;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACzC,IAAI,MAAM;QAAE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAEhB,MAAM,GAAG,GAAG,KAAK,EAAE,GAAW,EAAE,IAAgF,EAAE,EAAE;QAClH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAU;gBAChD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG;gBACH,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,iBAAiB;gBAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,SAA+B,EAAE,CAAC;QAClG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,oFAAoF;YACpF,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACvG,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH;;;;;;WAMG;QACH,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,gBAAgB,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,WAAW,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAEnG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,SAAS,EAAE,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YACxD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SACzH,CAAC,CAAC;QAEH,4FAA4F;QAC5F,0CAA0C;QAC1C,EAAE;QACF,8FAA8F;QAC9F,+FAA+F;QAC/F,2FAA2F;QAC3F,sCAAsC;QACtC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC;QAC/D,MAAM,UAAU,GAAG,WAAW,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QAExD,qFAAqF;QACrF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,IAA0B,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChH,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAChF,MAAM,MAAM,GACV,IAAI,CAAC,KAAK;eACP,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;eACzE,WAAW;eACX,sBAAsB,IAAI,CAAC,MAAM,GAAG,CAAC;QAE1C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACnE,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAY;IACtC,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE;IACrD,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE;IACpD,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,EAAE;CAC5D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hilbras/omnihilbras",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"description": "Typed provider SDK for the OmniHilbras gateway: normalized chat, streaming, model listing, and capability contracts for OpenAI, Anthropic, Gemini, and OpenAI-compatible providers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Hilbras",
|