@hilbras/omnihilbras 1.76.0 → 1.77.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.d.ts +39 -14
- package/dist/adapters/cline.d.ts.map +1 -1
- package/dist/adapters/cline.js +16 -12
- package/dist/adapters/cline.js.map +1 -1
- package/dist/adapters/clinepass.d.ts +45 -59
- package/dist/adapters/clinepass.d.ts.map +1 -1
- package/dist/adapters/clinepass.js +46 -121
- package/dist/adapters/clinepass.js.map +1 -1
- package/package.json +1 -1
package/dist/adapters/cline.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type OpenAIResponse } from './openai-compatible.js';
|
|
1
|
+
import { OpenAICompatibleAdapter, type OpenAIResponse } from './openai-compatible.js';
|
|
2
2
|
import type { HttpTransport } from '../transport.js';
|
|
3
3
|
import type { ChatChunk, ChatRequest, ChatResponse, CredentialValidation, Model, ProviderAdapter, ProviderCredential, ProviderHealth, ProviderRequestContext } from '../types.js';
|
|
4
4
|
/**
|
|
@@ -47,6 +47,16 @@ export type ClineAdapterOptions = {
|
|
|
47
47
|
/** Renew when the access token is within this window of expiry. */
|
|
48
48
|
refreshSkewMs?: number;
|
|
49
49
|
userAgent?: string;
|
|
50
|
+
/**
|
|
51
|
+
* The provider id and display name this adapter reports.
|
|
52
|
+
*
|
|
53
|
+
* Defaulted, because Cline owns the wire format and ClinePass is the same API on the same host — see
|
|
54
|
+
* `clinepass.ts`, which subclasses this adapter to change only the id, the name, and the model filter.
|
|
55
|
+
* The id is what a failure is attributed to, and the two ids are separate cards in the dashboard even
|
|
56
|
+
* though they share one stored credential, so it has to travel rather than be hardcoded here.
|
|
57
|
+
*/
|
|
58
|
+
id?: string;
|
|
59
|
+
name?: string;
|
|
50
60
|
};
|
|
51
61
|
/** Cline only accepts WorkOS JWTs with an explicit prefix. */
|
|
52
62
|
export declare function toClineAccessToken(token: string): string;
|
|
@@ -130,10 +140,10 @@ export declare function unwrapClineEnvelope(body: unknown, options?: {
|
|
|
130
140
|
label?: string;
|
|
131
141
|
}): OpenAIResponse;
|
|
132
142
|
/** A short, safe explanation of why a Cline call failed. */
|
|
133
|
-
export declare function clineFailureReason(error: unknown): string;
|
|
143
|
+
export declare function clineFailureReason(error: unknown, label?: string): string;
|
|
134
144
|
export declare class ClineAdapter implements ProviderAdapter {
|
|
135
|
-
readonly id
|
|
136
|
-
readonly name
|
|
145
|
+
readonly id: string;
|
|
146
|
+
readonly name: string;
|
|
137
147
|
readonly capabilities: {
|
|
138
148
|
readonly chat: true;
|
|
139
149
|
readonly streaming: true;
|
|
@@ -147,12 +157,14 @@ export declare class ClineAdapter implements ProviderAdapter {
|
|
|
147
157
|
* reading a message written for a token problem.
|
|
148
158
|
*/
|
|
149
159
|
isCredentialExpired(credential: ProviderCredential | undefined, now?: number): boolean | undefined;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
160
|
+
protected readonly transport: HttpTransport;
|
|
161
|
+
protected readonly delegate: OpenAICompatibleAdapter;
|
|
162
|
+
protected readonly onTokensRefreshed?: ClineAdapterOptions['onTokensRefreshed'];
|
|
163
|
+
protected readonly refreshSkewMs: number;
|
|
164
|
+
protected readonly userAgent: string;
|
|
165
|
+
protected refreshInFlight?: Promise<Exclude<ProviderCredential, {
|
|
166
|
+
type: 'none';
|
|
167
|
+
}>>;
|
|
156
168
|
constructor(options?: ClineAdapterOptions);
|
|
157
169
|
/**
|
|
158
170
|
* Confirms a token against the account endpoint, which is the one Cline
|
|
@@ -164,9 +176,22 @@ export declare class ClineAdapter implements ProviderAdapter {
|
|
|
164
176
|
chat(request: ChatRequest, context?: ProviderRequestContext): Promise<ChatResponse>;
|
|
165
177
|
streamChat(request: ChatRequest, context?: ProviderRequestContext): AsyncIterable<ChatChunk>;
|
|
166
178
|
healthCheck(context?: ProviderRequestContext): Promise<ProviderHealth>;
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
179
|
+
protected context(credential: ProviderCredential): ProviderRequestContext;
|
|
180
|
+
protected needsRefresh(credential: ProviderCredential): credential is Extract<ProviderCredential, {
|
|
181
|
+
type: 'oauth';
|
|
182
|
+
}>;
|
|
183
|
+
protected currentCredential(credential: ProviderCredential | undefined, signal?: AbortSignal): Promise<Exclude<ProviderCredential, {
|
|
184
|
+
type: 'none';
|
|
185
|
+
}>>;
|
|
186
|
+
protected refresh(credential: Extract<ProviderCredential, {
|
|
187
|
+
type: 'oauth';
|
|
188
|
+
}>, signal?: AbortSignal): Promise<{
|
|
189
|
+
accessToken: string;
|
|
190
|
+
refreshToken?: string;
|
|
191
|
+
expiresAt?: string;
|
|
192
|
+
email?: string;
|
|
193
|
+
type: "oauth";
|
|
194
|
+
value: string;
|
|
195
|
+
}>;
|
|
171
196
|
}
|
|
172
197
|
//# sourceMappingURL=cline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/cline.js
CHANGED
|
@@ -37,7 +37,7 @@ export const CLINE_OAUTH = {
|
|
|
37
37
|
};
|
|
38
38
|
const defaultRefreshSkewMs = 60_000;
|
|
39
39
|
/** Reported to Cline as this client's version. */
|
|
40
|
-
const omnihilbrasVersion = '1.
|
|
40
|
+
const omnihilbrasVersion = '1.77.1';
|
|
41
41
|
/** Cline only accepts WorkOS JWTs with an explicit prefix. */
|
|
42
42
|
export function toClineAccessToken(token) {
|
|
43
43
|
const trimmed = token.trim();
|
|
@@ -266,26 +266,26 @@ export function unwrapClineEnvelope(body, options = {}) {
|
|
|
266
266
|
return body;
|
|
267
267
|
}
|
|
268
268
|
/** A short, safe explanation of why a Cline call failed. */
|
|
269
|
-
export function clineFailureReason(error) {
|
|
269
|
+
export function clineFailureReason(error, label = 'Cline') {
|
|
270
270
|
if (error instanceof ProviderError) {
|
|
271
271
|
const details = error.details;
|
|
272
272
|
const reason = typeof details?.providerMessage === 'string' ? details.providerMessage : undefined;
|
|
273
273
|
if (error.code === 'AUTHENTICATION_FAILED') {
|
|
274
|
-
return reason ?
|
|
274
|
+
return reason ? `${label} rejected the token: ${reason}` : `${label} rejected the token. Sign in again.`;
|
|
275
275
|
}
|
|
276
276
|
if (error.code === 'CANCELLED')
|
|
277
277
|
return 'The health check was cancelled.';
|
|
278
278
|
if (error.code === 'PROVIDER_TIMEOUT')
|
|
279
|
-
return
|
|
279
|
+
return `${label} did not answer in time.`;
|
|
280
280
|
if (error.code === 'PROVIDER_UNAVAILABLE')
|
|
281
|
-
return
|
|
281
|
+
return `${label} could not be reached.`;
|
|
282
282
|
return reason ? `${error.code}: ${reason}` : `${error.code}.`;
|
|
283
283
|
}
|
|
284
|
-
return
|
|
284
|
+
return `The ${label} health check failed.`;
|
|
285
285
|
}
|
|
286
286
|
export class ClineAdapter {
|
|
287
|
-
id
|
|
288
|
-
name
|
|
287
|
+
id;
|
|
288
|
+
name;
|
|
289
289
|
capabilities = { chat: true, streaming: true, models: true };
|
|
290
290
|
/**
|
|
291
291
|
* Whether the stored access token has expired, read from the credential rather than discovered.
|
|
@@ -316,13 +316,17 @@ export class ClineAdapter {
|
|
|
316
316
|
userAgent;
|
|
317
317
|
refreshInFlight;
|
|
318
318
|
constructor(options = {}) {
|
|
319
|
+
this.id = options.id ?? 'cline';
|
|
320
|
+
this.name = options.name ?? 'Cline';
|
|
319
321
|
this.transport = options.transport ?? new FetchHttpTransport();
|
|
320
322
|
this.delegate = new OpenAICompatibleAdapter({
|
|
321
|
-
id:
|
|
322
|
-
name:
|
|
323
|
+
id: this.id,
|
|
324
|
+
name: this.name,
|
|
323
325
|
baseUrl: CLINE_OAUTH.apiBasePath,
|
|
324
326
|
auth: { header: 'Authorization', prefix: 'Bearer' },
|
|
325
|
-
|
|
327
|
+
// The envelope names whichever provider is asking, so a ClinePass refusal reports itself as
|
|
328
|
+
// ClinePass. Hardcoding `cline` here would send the operator to fix the wrong card.
|
|
329
|
+
unwrapResponse: (body) => unwrapClineEnvelope(body, { providerId: this.id, label: this.name }),
|
|
326
330
|
}, { transport: this.transport });
|
|
327
331
|
this.onTokensRefreshed = options.onTokensRefreshed;
|
|
328
332
|
this.refreshSkewMs = options.refreshSkewMs ?? defaultRefreshSkewMs;
|
|
@@ -368,7 +372,7 @@ export class ClineAdapter {
|
|
|
368
372
|
status: 'unavailable', verified: 'credential',
|
|
369
373
|
checkedAt: new Date().toISOString(),
|
|
370
374
|
latencyMs: Date.now() - startedAt,
|
|
371
|
-
message: clineFailureReason(error),
|
|
375
|
+
message: clineFailureReason(error, this.name),
|
|
372
376
|
};
|
|
373
377
|
}
|
|
374
378
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cline.js","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cline.js","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +1,64 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
1
|
+
import { ClineAdapter, type ClineAdapterOptions } from './cline.js';
|
|
2
|
+
import type { Model, ProviderRequestContext } from '../types.js';
|
|
3
3
|
/**
|
|
4
|
-
* ClinePass is Cline's paid model tier,
|
|
4
|
+
* ClinePass is Cline's paid model tier, and it is **the same account as Cline** — not a second
|
|
5
|
+
* credential, not a pasted key.
|
|
5
6
|
*
|
|
6
|
-
* ## What the vendor source
|
|
7
|
+
* ## What the vendor source says
|
|
7
8
|
*
|
|
8
|
-
* Cline's own client registers two providers, `cline` and `cline-pass`, and
|
|
9
|
-
*
|
|
10
|
-
* Same host (`https://api.cline.bot/api/v1`), same `Authorization: Bearer`, the same client headers.
|
|
11
|
-
* The only thing that distinguishes a ClinePass request is the `cline-pass/` model prefix, and
|
|
12
|
-
* whether the account is entitled to it.
|
|
9
|
+
* Cline's own client registers two providers, `cline` and `cline-pass`, and its auth registry
|
|
10
|
+
* registers the second as an **alias** of the first:
|
|
13
11
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
12
|
+
* - `sdk/packages/core/src/auth/provider-auth-registry.ts` — `createClineAuthHandler({
|
|
13
|
+
* providerId: "cline-pass", storageProviderId: "cline" })`. Both handlers `login` through
|
|
14
|
+
* `loginClineOAuth(...)` and refresh through `getValidClineCredentials(...)`, and both persist to
|
|
15
|
+
* the **one** `cline` settings entry. So `isOAuthProvider("cline-pass")` is true.
|
|
16
|
+
* - `apps/cli/src/tui/views/onboarding/model.ts` — `resolveProviderSetupRoute()` returns `"oauth"`
|
|
17
|
+
* for anything that predicate accepts, *"keyed off how the provider authenticates, so every caller
|
|
18
|
+
* routes the same way"*. Cline's own CLI therefore opens a **sign-in** for ClinePass.
|
|
19
|
+
* - `sdk/packages/llms/src/providers/vendors/cline.ts` — *"Both Cline gateway providers (`cline` and
|
|
20
|
+
* `cline-pass`) share this AI SDK provider and the same Cline API."* Same host, same
|
|
21
|
+
* `Authorization: Bearer`, same client headers.
|
|
19
22
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
23
|
+
* So this adapter **subclasses** `ClineAdapter` rather than reimplementing it. Everything about the
|
|
24
|
+
* wire format is Cline's — including the OAuth token renewal a shared connection needs — and the only
|
|
25
|
+
* things that differ are:
|
|
26
|
+
*
|
|
27
|
+
* 1. the **id and name** it reports, so a failure is attributed to the right card; and
|
|
28
|
+
* 2. the **model filter**, because Cline answers a ClinePass request with the *whole* catalog.
|
|
29
|
+
*
|
|
30
|
+
* ## Why there is no cookie path and no sign-in of its own
|
|
31
|
+
*
|
|
32
|
+
* Nothing in Cline's SDK reads a cookie; `app.cline.bot` is only ever opened in a real browser. And a
|
|
33
|
+
* separate ClinePass sign-in would mint a *second* token for one account — WorkOS rotates refresh
|
|
34
|
+
* tokens, so the two would invalidate each other. ClinePass is signed into by signing into Cline; the
|
|
35
|
+
* gateway stores that one credential and this adapter reads it through the gateway's alias.
|
|
36
|
+
*
|
|
37
|
+
* ## What health can and cannot prove
|
|
38
|
+
*
|
|
39
|
+
* Cline decides entitlement server-side, per request, from the subscription — there is no endpoint that
|
|
40
|
+
* answers "is this subscription current". A health check therefore proves the Cline token is live and
|
|
41
|
+
* **nothing about whether the ClinePass tier is unlocked**. The `cline-pass/` filter below is what keeps
|
|
42
|
+
* the *model list* honest; the health status does not.
|
|
22
43
|
*/
|
|
23
44
|
/** The model prefix that is ClinePass. Everything else on this host is the free tier. */
|
|
24
45
|
export declare const CLINE_PASS_MODEL_PREFIX = "cline-pass/";
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
userAgent?: string;
|
|
28
|
-
};
|
|
29
|
-
export declare class ClinePassAdapter implements ProviderAdapter {
|
|
30
|
-
readonly id = "clinepass";
|
|
31
|
-
readonly name = "ClinePass";
|
|
32
|
-
readonly capabilities: {
|
|
33
|
-
readonly chat: true;
|
|
34
|
-
readonly streaming: true;
|
|
35
|
-
readonly models: true;
|
|
36
|
-
};
|
|
37
|
-
private readonly transport;
|
|
38
|
-
private readonly delegate;
|
|
39
|
-
private readonly userAgent;
|
|
40
|
-
constructor(options?: ClinePassAdapterOptions);
|
|
41
|
-
/**
|
|
42
|
-
* A ClinePass key does not expire, so this is `undefined` — "cannot say" — and never `false`.
|
|
43
|
-
* The two look identical to the caller and only one of them is honest; `false` would let a revoked
|
|
44
|
-
* key look healthy for as long as the gateway ran.
|
|
45
|
-
*/
|
|
46
|
-
isCredentialExpired(): undefined;
|
|
47
|
-
/**
|
|
48
|
-
* Confirms the key against `/users/me`, which is the one Cline endpoint that checks a credential.
|
|
49
|
-
*
|
|
50
|
-
* **This proves the key is live and nothing more.** Whether it may use a given model is decided
|
|
51
|
-
* server-side per request, from the subscription, and Cline states it in the response body
|
|
52
|
-
* ("no access to clinepass subscription models yet"). There is no endpoint that answers "is this
|
|
53
|
-
* subscription current", so a green result here must not be reported as an entitlement check.
|
|
54
|
-
*/
|
|
55
|
-
validateCredential(credential: ProviderCredential | undefined, context?: ProviderRequestContext): Promise<CredentialValidation>;
|
|
46
|
+
export declare class ClinePassAdapter extends ClineAdapter {
|
|
47
|
+
constructor(options?: ClineAdapterOptions);
|
|
56
48
|
/**
|
|
57
49
|
* Lists only the ClinePass models.
|
|
58
50
|
*
|
|
59
|
-
* The endpoint returns the whole Cline catalog to a ClinePass
|
|
60
|
-
* a model this connection is not entitled to and fail on first use with a message about
|
|
51
|
+
* The endpoint returns the whole Cline catalog to a ClinePass request, so an unfiltered list would
|
|
52
|
+
* offer a model this connection is not entitled to and fail on first use with a message about
|
|
61
53
|
* subscriptions. Filtering makes the connection mean one thing before the request is ever sent.
|
|
62
54
|
*/
|
|
63
55
|
listModels(context?: ProviderRequestContext): Promise<Model[]>;
|
|
64
|
-
chat(request: ChatRequest, context?: ProviderRequestContext): Promise<ChatResponse>;
|
|
65
|
-
streamChat(request: ChatRequest, context?: ProviderRequestContext): AsyncIterable<ChatChunk>;
|
|
66
|
-
healthCheck(context?: ProviderRequestContext): Promise<ProviderHealth>;
|
|
67
|
-
private context;
|
|
68
|
-
private requireKey;
|
|
69
56
|
}
|
|
70
57
|
/**
|
|
71
|
-
*
|
|
58
|
+
* Where a ClinePass request is actually sent, re-exported so the two adapters cannot drift.
|
|
72
59
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* subscription, and those are different actions.
|
|
60
|
+
* It is Cline's host and path — there is no separate ClinePass endpoint — and naming it here is what
|
|
61
|
+
* lets a reader check that claim without opening `cline.ts`.
|
|
76
62
|
*/
|
|
77
|
-
export declare
|
|
63
|
+
export declare const CLINE_PASS_API_BASE_PATH: "https://api.cline.bot/api/v1";
|
|
78
64
|
//# sourceMappingURL=clinepass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clinepass.d.ts","sourceRoot":"","sources":["../../src/adapters/clinepass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clinepass.d.ts","sourceRoot":"","sources":["../../src/adapters/clinepass.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAErD,qBAAa,gBAAiB,SAAQ,YAAY;gBACpC,OAAO,GAAE,mBAAwB;IAI7C;;;;;;OAMG;IACY,UAAU,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAIlF;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,gCAA0B,CAAC"}
|
|
@@ -1,144 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { OpenAICompatibleAdapter } from './openai-compatible.js';
|
|
4
|
-
import { CLINE_OAUTH, clineHeaders, toClineAccessToken, unwrapClineEnvelope } from './cline.js';
|
|
1
|
+
import { CLINE_OAUTH } from './cline.js';
|
|
2
|
+
import { ClineAdapter } from './cline.js';
|
|
5
3
|
/**
|
|
6
|
-
* ClinePass is Cline's paid model tier,
|
|
4
|
+
* ClinePass is Cline's paid model tier, and it is **the same account as Cline** — not a second
|
|
5
|
+
* credential, not a pasted key.
|
|
7
6
|
*
|
|
8
|
-
* ## What the vendor source
|
|
7
|
+
* ## What the vendor source says
|
|
9
8
|
*
|
|
10
|
-
* Cline's own client registers two providers, `cline` and `cline-pass`, and
|
|
11
|
-
*
|
|
12
|
-
* Same host (`https://api.cline.bot/api/v1`), same `Authorization: Bearer`, the same client headers.
|
|
13
|
-
* The only thing that distinguishes a ClinePass request is the `cline-pass/` model prefix, and
|
|
14
|
-
* whether the account is entitled to it.
|
|
9
|
+
* Cline's own client registers two providers, `cline` and `cline-pass`, and its auth registry
|
|
10
|
+
* registers the second as an **alias** of the first:
|
|
15
11
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
12
|
+
* - `sdk/packages/core/src/auth/provider-auth-registry.ts` — `createClineAuthHandler({
|
|
13
|
+
* providerId: "cline-pass", storageProviderId: "cline" })`. Both handlers `login` through
|
|
14
|
+
* `loginClineOAuth(...)` and refresh through `getValidClineCredentials(...)`, and both persist to
|
|
15
|
+
* the **one** `cline` settings entry. So `isOAuthProvider("cline-pass")` is true.
|
|
16
|
+
* - `apps/cli/src/tui/views/onboarding/model.ts` — `resolveProviderSetupRoute()` returns `"oauth"`
|
|
17
|
+
* for anything that predicate accepts, *"keyed off how the provider authenticates, so every caller
|
|
18
|
+
* routes the same way"*. Cline's own CLI therefore opens a **sign-in** for ClinePass.
|
|
19
|
+
* - `sdk/packages/llms/src/providers/vendors/cline.ts` — *"Both Cline gateway providers (`cline` and
|
|
20
|
+
* `cline-pass`) share this AI SDK provider and the same Cline API."* Same host, same
|
|
21
|
+
* `Authorization: Bearer`, same client headers.
|
|
21
22
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
23
|
+
* So this adapter **subclasses** `ClineAdapter` rather than reimplementing it. Everything about the
|
|
24
|
+
* wire format is Cline's — including the OAuth token renewal a shared connection needs — and the only
|
|
25
|
+
* things that differ are:
|
|
26
|
+
*
|
|
27
|
+
* 1. the **id and name** it reports, so a failure is attributed to the right card; and
|
|
28
|
+
* 2. the **model filter**, because Cline answers a ClinePass request with the *whole* catalog.
|
|
29
|
+
*
|
|
30
|
+
* ## Why there is no cookie path and no sign-in of its own
|
|
31
|
+
*
|
|
32
|
+
* Nothing in Cline's SDK reads a cookie; `app.cline.bot` is only ever opened in a real browser. And a
|
|
33
|
+
* separate ClinePass sign-in would mint a *second* token for one account — WorkOS rotates refresh
|
|
34
|
+
* tokens, so the two would invalidate each other. ClinePass is signed into by signing into Cline; the
|
|
35
|
+
* gateway stores that one credential and this adapter reads it through the gateway's alias.
|
|
36
|
+
*
|
|
37
|
+
* ## What health can and cannot prove
|
|
38
|
+
*
|
|
39
|
+
* Cline decides entitlement server-side, per request, from the subscription — there is no endpoint that
|
|
40
|
+
* answers "is this subscription current". A health check therefore proves the Cline token is live and
|
|
41
|
+
* **nothing about whether the ClinePass tier is unlocked**. The `cline-pass/` filter below is what keeps
|
|
42
|
+
* the *model list* honest; the health status does not.
|
|
24
43
|
*/
|
|
25
44
|
/** The model prefix that is ClinePass. Everything else on this host is the free tier. */
|
|
26
45
|
export const CLINE_PASS_MODEL_PREFIX = 'cline-pass/';
|
|
27
|
-
export class ClinePassAdapter {
|
|
28
|
-
id = 'clinepass';
|
|
29
|
-
name = 'ClinePass';
|
|
30
|
-
capabilities = { chat: true, streaming: true, models: true };
|
|
31
|
-
transport;
|
|
32
|
-
delegate;
|
|
33
|
-
userAgent;
|
|
46
|
+
export class ClinePassAdapter extends ClineAdapter {
|
|
34
47
|
constructor(options = {}) {
|
|
35
|
-
|
|
36
|
-
this.userAgent = options.userAgent ?? 'omnihilbras';
|
|
37
|
-
this.delegate = new OpenAICompatibleAdapter({
|
|
38
|
-
id: this.id,
|
|
39
|
-
name: this.name,
|
|
40
|
-
baseUrl: CLINE_OAUTH.apiBasePath,
|
|
41
|
-
auth: { header: 'Authorization', prefix: 'Bearer' },
|
|
42
|
-
// No `Authorization` here: `clineHeaders('')` omits it, and the delegate fills the header in
|
|
43
|
-
// from the credential. Sending both would mean the static copy is the one that wins.
|
|
44
|
-
headers: clineHeaders('', {}, this.userAgent),
|
|
45
|
-
unwrapResponse: (body) => unwrapClineEnvelope(body, { providerId: this.id, label: this.name }),
|
|
46
|
-
}, { transport: this.transport });
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* A ClinePass key does not expire, so this is `undefined` — "cannot say" — and never `false`.
|
|
50
|
-
* The two look identical to the caller and only one of them is honest; `false` would let a revoked
|
|
51
|
-
* key look healthy for as long as the gateway ran.
|
|
52
|
-
*/
|
|
53
|
-
isCredentialExpired() {
|
|
54
|
-
return undefined;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Confirms the key against `/users/me`, which is the one Cline endpoint that checks a credential.
|
|
58
|
-
*
|
|
59
|
-
* **This proves the key is live and nothing more.** Whether it may use a given model is decided
|
|
60
|
-
* server-side per request, from the subscription, and Cline states it in the response body
|
|
61
|
-
* ("no access to clinepass subscription models yet"). There is no endpoint that answers "is this
|
|
62
|
-
* subscription current", so a green result here must not be reported as an entitlement check.
|
|
63
|
-
*/
|
|
64
|
-
async validateCredential(credential, context = {}) {
|
|
65
|
-
const key = this.requireKey(credential);
|
|
66
|
-
const startedAt = Date.now();
|
|
67
|
-
await this.transport.request({
|
|
68
|
-
method: 'GET',
|
|
69
|
-
providerId: this.id,
|
|
70
|
-
url: CLINE_OAUTH.accountUrl,
|
|
71
|
-
headers: clineHeaders(key, { accept: 'application/json' }, this.userAgent),
|
|
72
|
-
...(context.signal ? { signal: context.signal } : {}),
|
|
73
|
-
});
|
|
74
|
-
return { status: 'valid', checkedAt: new Date().toISOString(), latencyMs: Date.now() - startedAt };
|
|
48
|
+
super({ ...options, id: 'clinepass', name: 'ClinePass' });
|
|
75
49
|
}
|
|
76
50
|
/**
|
|
77
51
|
* Lists only the ClinePass models.
|
|
78
52
|
*
|
|
79
|
-
* The endpoint returns the whole Cline catalog to a ClinePass
|
|
80
|
-
* a model this connection is not entitled to and fail on first use with a message about
|
|
53
|
+
* The endpoint returns the whole Cline catalog to a ClinePass request, so an unfiltered list would
|
|
54
|
+
* offer a model this connection is not entitled to and fail on first use with a message about
|
|
81
55
|
* subscriptions. Filtering makes the connection mean one thing before the request is ever sent.
|
|
82
56
|
*/
|
|
83
57
|
async listModels(context = {}) {
|
|
84
|
-
const models = await
|
|
58
|
+
const models = await super.listModels(context);
|
|
85
59
|
return models.filter((model) => model.id.startsWith(CLINE_PASS_MODEL_PREFIX));
|
|
86
60
|
}
|
|
87
|
-
async chat(request, context = {}) {
|
|
88
|
-
return this.delegate.chat(request, this.context(this.requireKey(context.credential)));
|
|
89
|
-
}
|
|
90
|
-
async *streamChat(request, context = {}) {
|
|
91
|
-
yield* this.delegate.streamChat(request, this.context(this.requireKey(context.credential)));
|
|
92
|
-
}
|
|
93
|
-
async healthCheck(context = {}) {
|
|
94
|
-
const startedAt = Date.now();
|
|
95
|
-
try {
|
|
96
|
-
const result = await this.validateCredential(context.credential ?? { type: 'api-key', value: '' }, context);
|
|
97
|
-
return { status: 'healthy', verified: 'credential', checkedAt: result.checkedAt, latencyMs: result.latencyMs ?? Date.now() - startedAt };
|
|
98
|
-
}
|
|
99
|
-
catch (error) {
|
|
100
|
-
return {
|
|
101
|
-
status: 'unavailable',
|
|
102
|
-
verified: 'credential',
|
|
103
|
-
checkedAt: new Date().toISOString(),
|
|
104
|
-
latencyMs: Date.now() - startedAt,
|
|
105
|
-
message: clinePassFailureReason(error),
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
context(key) {
|
|
110
|
-
return { credential: { type: 'api-key', value: toClineAccessToken(key) } };
|
|
111
|
-
}
|
|
112
|
-
requireKey(credential) {
|
|
113
|
-
if (!credential || credential.type === 'none' || !credential.value) {
|
|
114
|
-
const message = 'A ClinePass API key is required.';
|
|
115
|
-
throw new ProviderError('AUTHENTICATION_FAILED', message, { providerId: this.id, publicMessage: message });
|
|
116
|
-
}
|
|
117
|
-
return credential.value;
|
|
118
|
-
}
|
|
119
61
|
}
|
|
120
62
|
/**
|
|
121
|
-
*
|
|
63
|
+
* Where a ClinePass request is actually sent, re-exported so the two adapters cannot drift.
|
|
122
64
|
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* subscription, and those are different actions.
|
|
65
|
+
* It is Cline's host and path — there is no separate ClinePass endpoint — and naming it here is what
|
|
66
|
+
* lets a reader check that claim without opening `cline.ts`.
|
|
126
67
|
*/
|
|
127
|
-
export
|
|
128
|
-
if (error instanceof ProviderError) {
|
|
129
|
-
const details = error.details;
|
|
130
|
-
const reason = typeof details?.providerMessage === 'string' ? details.providerMessage : undefined;
|
|
131
|
-
if (error.code === 'AUTHENTICATION_FAILED') {
|
|
132
|
-
return reason ? `ClinePass rejected the key: ${reason}` : 'ClinePass rejected the key.';
|
|
133
|
-
}
|
|
134
|
-
if (error.code === 'CANCELLED')
|
|
135
|
-
return 'The health check was cancelled.';
|
|
136
|
-
if (error.code === 'PROVIDER_TIMEOUT')
|
|
137
|
-
return 'ClinePass did not answer in time.';
|
|
138
|
-
if (error.code === 'PROVIDER_UNAVAILABLE')
|
|
139
|
-
return 'ClinePass could not be reached.';
|
|
140
|
-
return reason ? `${error.code}: ${reason}` : `${error.code}.`;
|
|
141
|
-
}
|
|
142
|
-
return 'The ClinePass health check failed.';
|
|
143
|
-
}
|
|
68
|
+
export const CLINE_PASS_API_BASE_PATH = CLINE_OAUTH.apiBasePath;
|
|
144
69
|
//# sourceMappingURL=clinepass.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clinepass.js","sourceRoot":"","sources":["../../src/adapters/clinepass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"clinepass.js","sourceRoot":"","sources":["../../src/adapters/clinepass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAC;AAGpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,yFAAyF;AACzF,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAErD,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChD,YAAY,UAA+B,EAAE;QAC3C,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACM,KAAK,CAAC,UAAU,CAAC,UAAkC,EAAE;QAC5D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAChF,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hilbras/omnihilbras",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.77.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",
|