@pentoshi/clai 4.11.23 → 4.11.25
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/agent/events.d.ts +4 -1
- package/dist/agent/parser/arg-formatting.js +30 -0
- package/dist/agent/parser/arg-formatting.js.map +1 -1
- package/dist/agent/runner.d.ts +1 -0
- package/dist/agent/runner.js +3 -0
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/stream-recovery.d.ts +1 -0
- package/dist/agent/stream-recovery.js +9 -0
- package/dist/agent/stream-recovery.js.map +1 -1
- package/dist/agent/turn/compaction-admission.d.ts +2 -1
- package/dist/agent/turn/compaction-admission.js +19 -17
- package/dist/agent/turn/compaction-admission.js.map +1 -1
- package/dist/agent/turn/compaction-coordinator.d.ts +4 -4
- package/dist/agent/turn/compaction-coordinator.js +16 -10
- package/dist/agent/turn/compaction-coordinator.js.map +1 -1
- package/dist/agent/turn/event-emitter.d.ts +4 -3
- package/dist/agent/turn/event-emitter.js +10 -9
- package/dist/agent/turn/event-emitter.js.map +1 -1
- package/dist/agent/turn/loop/request-assembly.d.ts +1 -0
- package/dist/agent/turn/loop/request-assembly.js +4 -2
- package/dist/agent/turn/loop/request-assembly.js.map +1 -1
- package/dist/agent/turn/loop/round-request.js +1 -0
- package/dist/agent/turn/loop/round-request.js.map +1 -1
- package/dist/agent/turn/loop/state.d.ts +1 -0
- package/dist/agent/turn/loop/state.js +1 -1
- package/dist/agent/turn/loop/state.js.map +1 -1
- package/dist/agent/turn/loop/stream-failure.js +4 -1
- package/dist/agent/turn/loop/stream-failure.js.map +1 -1
- package/dist/agent/turn/setup/compaction-services.d.ts +4 -3
- package/dist/agent/turn/setup/compaction-services.js.map +1 -1
- package/dist/app/adapters/agent-event-adapter.js +6 -1
- package/dist/app/adapters/agent-event-adapter.js.map +1 -1
- package/dist/app/adapters/current-agent-adapter.js +3 -0
- package/dist/app/adapters/current-agent-adapter.js.map +1 -1
- package/dist/app/commands/catalog.js +31 -0
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/app/controllers/session-compact-helper.d.ts +3 -1
- package/dist/app/controllers/session-compact-helper.js +17 -2
- package/dist/app/controllers/session-compact-helper.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +3 -1
- package/dist/app/controllers/session-controller.js +32 -2
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-turn-request.d.ts +1 -0
- package/dist/app/controllers/session-turn-request.js +3 -0
- package/dist/app/controllers/session-turn-request.js.map +1 -1
- package/dist/app/events/app-event.d.ts +4 -1
- package/dist/app/events/app-event.js.map +1 -1
- package/dist/app/ports/agent-port.d.ts +1 -0
- package/dist/app/ports/transcript-item.d.ts +1 -0
- package/dist/commands/providers.d.ts +14 -0
- package/dist/commands/providers.js +223 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/llm/capabilities.js +10 -3
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/capability/state.d.ts +1 -1
- package/dist/llm/capability/tool-dialect.js +2 -0
- package/dist/llm/capability/tool-dialect.js.map +1 -1
- package/dist/llm/capability/vision-patterns.js +5 -0
- package/dist/llm/capability/vision-patterns.js.map +1 -1
- package/dist/llm/cline-auth.d.ts +12 -1
- package/dist/llm/cline-auth.js +229 -88
- package/dist/llm/cline-auth.js.map +1 -1
- package/dist/llm/cline.js +146 -48
- package/dist/llm/cline.js.map +1 -1
- package/dist/llm/codex-auth.d.ts +3 -1
- package/dist/llm/codex-auth.js +42 -8
- package/dist/llm/codex-auth.js.map +1 -1
- package/dist/llm/codex.js +17 -14
- package/dist/llm/codex.js.map +1 -1
- package/dist/llm/context-windows.js +6 -0
- package/dist/llm/context-windows.js.map +1 -1
- package/dist/llm/free.js +30 -9
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/kiro-auth.d.ts +113 -0
- package/dist/llm/kiro-auth.js +1017 -0
- package/dist/llm/kiro-auth.js.map +1 -0
- package/dist/llm/kiro.d.ts +10 -0
- package/dist/llm/kiro.js +846 -0
- package/dist/llm/kiro.js.map +1 -0
- package/dist/llm/mimo.d.ts +2 -0
- package/dist/llm/mimo.js +89 -0
- package/dist/llm/mimo.js.map +1 -0
- package/dist/llm/model-families.js +9 -0
- package/dist/llm/model-families.js.map +1 -1
- package/dist/llm/model-layers/model-rules.js +33 -0
- package/dist/llm/model-layers/model-rules.js.map +1 -1
- package/dist/llm/provider-identity.d.ts +1 -0
- package/dist/llm/provider-identity.js +15 -0
- package/dist/llm/provider-identity.js.map +1 -1
- package/dist/llm/provider-info-text.js +87 -1
- package/dist/llm/provider-info-text.js.map +1 -1
- package/dist/llm/provider-profile-layers.d.ts +1 -0
- package/dist/llm/provider-profile-layers.js +67 -1
- package/dist/llm/provider-profile-layers.js.map +1 -1
- package/dist/llm/provider-profiles.js +5 -1
- package/dist/llm/provider-profiles.js.map +1 -1
- package/dist/llm/reasoning-capability.js +2 -0
- package/dist/llm/reasoning-capability.js.map +1 -1
- package/dist/llm/responses-complete.js +7 -1
- package/dist/llm/responses-complete.js.map +1 -1
- package/dist/llm/responses-config.d.ts +1 -1
- package/dist/llm/responses-config.js.map +1 -1
- package/dist/llm/responses-http.d.ts +2 -2
- package/dist/llm/responses-http.js +2 -2
- package/dist/llm/responses-http.js.map +1 -1
- package/dist/llm/responses-stream.js +9 -3
- package/dist/llm/responses-stream.js.map +1 -1
- package/dist/llm/router.js +14 -12
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/routing/provider-selection.js +6 -0
- package/dist/llm/routing/provider-selection.js.map +1 -1
- package/dist/llm/sampling.js +6 -0
- package/dist/llm/sampling.js.map +1 -1
- package/dist/llm/wire/chat-body.js +47 -12
- package/dist/llm/wire/chat-body.js.map +1 -1
- package/dist/noninteractive/stream-blocks.js +17 -5
- package/dist/noninteractive/stream-blocks.js.map +1 -1
- package/dist/store/config.js +2 -0
- package/dist/store/config.js.map +1 -1
- package/dist/tui-v2/bootstrap/start-tui-v2.js +10 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js +4 -2
- package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/dist/ui-core/bootstrap/composition-root.js +1 -1
- package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
- package/dist/ui-core/bootstrap/session-resume.d.ts +3 -0
- package/dist/ui-core/bootstrap/session-resume.js +52 -0
- package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
- package/dist/ui-core/commands/key-commands.d.ts +9 -0
- package/dist/ui-core/commands/key-commands.js +438 -16
- package/dist/ui-core/commands/key-commands.js.map +1 -1
- package/dist/ui-core/commands/picker-commands.js +18 -0
- package/dist/ui-core/commands/picker-commands.js.map +1 -1
- package/dist/ui-core/state/hydrate/classic-transcript.js +5 -0
- package/dist/ui-core/state/hydrate/classic-transcript.js.map +1 -1
- package/dist/ui-core/state/transcript/apply-app-event.js +29 -0
- package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
- package/dist/ui-core/state/transcript-hydrate.js +165 -79
- package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
- package/dist/ui-core/state/transcript-store.js +7 -1
- package/dist/ui-core/state/transcript-store.js.map +1 -1
- package/dist/ui-core/state/transcript-types.d.ts +5 -2
- package/dist/ui-core/state/transcript-types.js +17 -3
- package/dist/ui-core/state/transcript-types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
package/dist/llm/cline-auth.js
CHANGED
|
@@ -4,19 +4,92 @@ import { readFile } from "node:fs/promises";
|
|
|
4
4
|
export const CLINE_API_BASE_URL = "https://api.cline.bot/api/v1";
|
|
5
5
|
export const CLINE_WORKOS_API_BASE_URL = "https://api.workos.com";
|
|
6
6
|
export const CLINE_WORKOS_CLIENT_ID = "client_01K3A541FN8TA3EPPHTD2325AR";
|
|
7
|
-
export const CLINE_CLIENT_VERSION = "
|
|
8
|
-
export const
|
|
7
|
+
export const CLINE_CLIENT_VERSION = process.env.CLINE_CLIENT_VERSION?.trim() || "4.1.20";
|
|
8
|
+
export const CLINE_CORE_VERSION = process.env.CLINE_CORE_VERSION?.trim() || "0.0.85";
|
|
9
|
+
const CLINE_CLIENT_TYPE = process.env.CLINE_CLIENT_TYPE?.trim() || "cline-desktop";
|
|
10
|
+
const CLINE_PLATFORM = process.env.CLINE_PLATFORM?.trim() || CLINE_CLIENT_TYPE;
|
|
11
|
+
const CLINE_PLATFORM_VERSION = process.env.CLINE_PLATFORM_VERSION?.trim() || CLINE_CLIENT_VERSION;
|
|
12
|
+
export const CLINE_AUTH_HEADERS = {
|
|
9
13
|
"User-Agent": `Cline/${CLINE_CLIENT_VERSION}`,
|
|
10
|
-
"X-CLIENT-TYPE":
|
|
14
|
+
"X-CLIENT-TYPE": CLINE_CLIENT_TYPE,
|
|
15
|
+
"X-CLIENT-VERSION": CLINE_CLIENT_VERSION,
|
|
16
|
+
"X-PLATFORM": CLINE_PLATFORM,
|
|
17
|
+
"X-PLATFORM-VERSION": CLINE_PLATFORM_VERSION,
|
|
11
18
|
"X-Title": "Cline",
|
|
12
19
|
"HTTP-Referer": "https://cline.bot",
|
|
13
20
|
"X-IS-MULTIROOT": "false",
|
|
14
21
|
};
|
|
22
|
+
export const CLINE_REQUEST_HEADERS = {
|
|
23
|
+
...CLINE_AUTH_HEADERS,
|
|
24
|
+
"X-CORE-VERSION": CLINE_CORE_VERSION,
|
|
25
|
+
};
|
|
15
26
|
function asRecord(value) {
|
|
16
27
|
return value && typeof value === "object" && !Array.isArray(value)
|
|
17
28
|
? value
|
|
18
29
|
: undefined;
|
|
19
30
|
}
|
|
31
|
+
export class ClineAuthError extends Error {
|
|
32
|
+
status;
|
|
33
|
+
errorCode;
|
|
34
|
+
requestId;
|
|
35
|
+
constructor(message, status, errorCode, requestId) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.status = status;
|
|
38
|
+
this.errorCode = errorCode;
|
|
39
|
+
this.requestId = requestId;
|
|
40
|
+
this.name = "ClineAuthError";
|
|
41
|
+
}
|
|
42
|
+
isLikelyInvalidGrant() {
|
|
43
|
+
if (/invalid_grant|invalid_token|unauthorized|revoked|expired|access_denied|policy_denied/i.test(this.errorCode ?? "")) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
return ([400, 401, 403].includes(this.status ?? 0) &&
|
|
47
|
+
/invalid|expired|revoked|unauthorized/i.test(this.message));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function readAuthPayload(response) {
|
|
51
|
+
const body = await response.text().catch(() => "");
|
|
52
|
+
try {
|
|
53
|
+
return asRecord(JSON.parse(body));
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function authFailure(response, operation, payload) {
|
|
60
|
+
const errorCode = typeof payload?.error === "string"
|
|
61
|
+
? payload.error
|
|
62
|
+
: typeof payload?.code === "string"
|
|
63
|
+
? payload.code
|
|
64
|
+
: undefined;
|
|
65
|
+
const detail = typeof payload?.error_description === "string"
|
|
66
|
+
? payload.error_description
|
|
67
|
+
: typeof payload?.message === "string"
|
|
68
|
+
? payload.message
|
|
69
|
+
: errorCode ?? (response.status === 401 ? "Unauthorized" : "request failed");
|
|
70
|
+
const requestId = response.headers.get("x-request-id") ?? undefined;
|
|
71
|
+
let message = `${operation} failed (${response.status}): ${detail}`;
|
|
72
|
+
if (errorCode === "policy_denied") {
|
|
73
|
+
message = `Cline AuthKit denied sign-in by policy (policy_denied). No token was issued: ${detail}`;
|
|
74
|
+
}
|
|
75
|
+
else if (errorCode === "access_denied") {
|
|
76
|
+
message = `Cline authentication was denied (access_denied): ${detail}`;
|
|
77
|
+
}
|
|
78
|
+
return new ClineAuthError(requestId ? `${message} [request ${requestId}]` : message, response.status, errorCode, requestId);
|
|
79
|
+
}
|
|
80
|
+
function parseExpiresAt(value) {
|
|
81
|
+
if (typeof value === "number") {
|
|
82
|
+
if (!Number.isFinite(value) || value <= 0)
|
|
83
|
+
return undefined;
|
|
84
|
+
return value > 1e11 ? value : value * 1000;
|
|
85
|
+
}
|
|
86
|
+
if (typeof value === "string") {
|
|
87
|
+
const epoch = Date.parse(value);
|
|
88
|
+
if (!Number.isNaN(epoch))
|
|
89
|
+
return epoch;
|
|
90
|
+
}
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
20
93
|
export async function startClineDeviceAuth() {
|
|
21
94
|
const response = await fetch(`${CLINE_WORKOS_API_BASE_URL}/user_management/authorize/device`, {
|
|
22
95
|
method: "POST",
|
|
@@ -32,8 +105,11 @@ export async function startClineDeviceAuth() {
|
|
|
32
105
|
: typeof json?.verification_uri === "string"
|
|
33
106
|
? json.verification_uri
|
|
34
107
|
: "";
|
|
35
|
-
if (!response.ok
|
|
36
|
-
throw
|
|
108
|
+
if (!response.ok) {
|
|
109
|
+
throw authFailure(response, "WorkOS device authorization", json);
|
|
110
|
+
}
|
|
111
|
+
if (!deviceCode || !userCode || !verificationUri) {
|
|
112
|
+
throw new ClineAuthError("WorkOS device authorization returned an incomplete response");
|
|
37
113
|
}
|
|
38
114
|
const expiresIn = json && typeof json.expires_in === "number" ? json.expires_in : 300;
|
|
39
115
|
const interval = json && typeof json.interval === "number" ? json.interval : 5;
|
|
@@ -48,88 +124,144 @@ export async function startClineDeviceAuth() {
|
|
|
48
124
|
function sleep(ms) {
|
|
49
125
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
50
126
|
}
|
|
51
|
-
export async function
|
|
52
|
-
const response = await fetch(`${
|
|
127
|
+
export async function registerWorkOSTokensWithCline(accessToken, refreshToken) {
|
|
128
|
+
const response = await fetch(`${CLINE_API_BASE_URL}/auth/register`, {
|
|
129
|
+
method: "POST",
|
|
130
|
+
headers: {
|
|
131
|
+
"Content-Type": "application/json",
|
|
132
|
+
...CLINE_AUTH_HEADERS,
|
|
133
|
+
},
|
|
134
|
+
body: JSON.stringify({ accessToken, refreshToken }),
|
|
135
|
+
signal: AbortSignal.timeout(30_000),
|
|
136
|
+
});
|
|
137
|
+
const payload = await readAuthPayload(response);
|
|
138
|
+
if (!response.ok) {
|
|
139
|
+
throw authFailure(response, "Cline token registration", payload);
|
|
140
|
+
}
|
|
141
|
+
const data = asRecord(payload?.data);
|
|
142
|
+
const registeredAccessToken = typeof data?.accessToken === "string" ? data.accessToken : "";
|
|
143
|
+
const registeredRefreshToken = typeof data?.refreshToken === "string" ? data.refreshToken : "";
|
|
144
|
+
const expiresAt = parseExpiresAt(data?.expiresAt);
|
|
145
|
+
if (!registeredAccessToken || !registeredRefreshToken || expiresAt === undefined) {
|
|
146
|
+
throw new ClineAuthError("Cline token registration returned incomplete credentials");
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
accessToken: toClineAccessToken(registeredAccessToken),
|
|
150
|
+
refreshToken: registeredRefreshToken,
|
|
151
|
+
expiresAt,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
const refreshesInFlight = new Map();
|
|
155
|
+
async function requestClineTokenRefresh(refreshToken) {
|
|
156
|
+
let response;
|
|
157
|
+
try {
|
|
158
|
+
response = await fetch(`${CLINE_API_BASE_URL}/auth/refresh`, {
|
|
159
|
+
method: "POST",
|
|
160
|
+
headers: {
|
|
161
|
+
"Content-Type": "application/json",
|
|
162
|
+
...CLINE_AUTH_HEADERS,
|
|
163
|
+
},
|
|
164
|
+
body: JSON.stringify({ refreshToken, grantType: "refresh_token" }),
|
|
165
|
+
signal: AbortSignal.timeout(30_000),
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
throw new ClineAuthError(`Cline token refresh request failed: ${error instanceof Error ? error.message : "network error"}`);
|
|
170
|
+
}
|
|
171
|
+
const payload = await readAuthPayload(response);
|
|
172
|
+
if (!response.ok) {
|
|
173
|
+
throw authFailure(response, "Cline token refresh", payload);
|
|
174
|
+
}
|
|
175
|
+
const data = asRecord(payload?.data);
|
|
176
|
+
const accessToken = typeof data?.accessToken === "string" ? data.accessToken : "";
|
|
177
|
+
const expiresAt = parseExpiresAt(data?.expiresAt);
|
|
178
|
+
if (!accessToken || expiresAt === undefined) {
|
|
179
|
+
throw new ClineAuthError("Cline token refresh returned incomplete credentials");
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
accessToken: toClineAccessToken(accessToken),
|
|
183
|
+
refreshToken: typeof data?.refreshToken === "string" ? data.refreshToken : refreshToken,
|
|
184
|
+
expiresAt,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
export function refreshClineToken(refreshToken) {
|
|
188
|
+
const inFlight = refreshesInFlight.get(refreshToken);
|
|
189
|
+
if (inFlight)
|
|
190
|
+
return inFlight;
|
|
191
|
+
const refresh = requestClineTokenRefresh(refreshToken);
|
|
192
|
+
refreshesInFlight.set(refreshToken, refresh);
|
|
193
|
+
return refresh.finally(() => {
|
|
194
|
+
if (refreshesInFlight.get(refreshToken) === refresh) {
|
|
195
|
+
refreshesInFlight.delete(refreshToken);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async function requestClineDevicePoll(start) {
|
|
200
|
+
return fetch(`${CLINE_WORKOS_API_BASE_URL}/user_management/authenticate`, {
|
|
53
201
|
method: "POST",
|
|
54
202
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
55
203
|
body: new URLSearchParams({
|
|
56
|
-
grant_type: "
|
|
57
|
-
|
|
204
|
+
grant_type: "urn:ietf:params:oauth:grant-type:device_code",
|
|
205
|
+
device_code: start.deviceCode,
|
|
58
206
|
client_id: CLINE_WORKOS_CLIENT_ID,
|
|
59
207
|
}),
|
|
60
208
|
signal: AbortSignal.timeout(30_000),
|
|
61
209
|
});
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
210
|
+
}
|
|
211
|
+
async function consumeClineDevicePoll(response) {
|
|
212
|
+
const payload = asRecord(await response.json().catch(() => ({})));
|
|
213
|
+
if (response.ok && typeof payload?.access_token === "string") {
|
|
214
|
+
const refreshToken = typeof payload.refresh_token === "string" ? payload.refresh_token : "";
|
|
215
|
+
if (!refreshToken) {
|
|
216
|
+
throw new ClineAuthError("WorkOS device authorization returned no refresh token");
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
state: "complete",
|
|
220
|
+
tokens: await registerWorkOSTokensWithCline(payload.access_token, refreshToken),
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
if (response.ok) {
|
|
224
|
+
throw new ClineAuthError("WorkOS device authorization returned incomplete credentials");
|
|
225
|
+
}
|
|
226
|
+
const error = typeof payload?.error === "string" ? payload.error : "";
|
|
227
|
+
if (error === "authorization_pending")
|
|
228
|
+
return { state: "pending" };
|
|
229
|
+
if (error === "slow_down")
|
|
230
|
+
return { state: "slow-down" };
|
|
231
|
+
if (error === "expired_token") {
|
|
232
|
+
throw new ClineAuthError("Cline authentication code expired — start again", response.status, error);
|
|
233
|
+
}
|
|
234
|
+
throw authFailure(response, "Cline authentication", payload);
|
|
77
235
|
}
|
|
78
236
|
export async function pollClineDeviceAuth(start, options = {}) {
|
|
79
237
|
const deadline = Date.now() + start.expiresInSeconds * 1000;
|
|
80
238
|
let interval = Math.max(1, start.pollIntervalSeconds) * 1000;
|
|
81
|
-
|
|
82
|
-
if (options.signal?.aborted)
|
|
239
|
+
while (Date.now() < deadline) {
|
|
240
|
+
if (options.signal?.aborted)
|
|
83
241
|
throw new Error("Cline authentication cancelled");
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
throw new Error("Cline authentication code expired — start again");
|
|
88
|
-
}
|
|
242
|
+
const remaining = Math.ceil((deadline - Date.now()) / 1000);
|
|
243
|
+
if (remaining <= 0)
|
|
244
|
+
break;
|
|
89
245
|
options.onPending?.(remaining);
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
grant_type: "urn:ietf:params:oauth:grant-type:device_code",
|
|
95
|
-
device_code: start.deviceCode,
|
|
96
|
-
client_id: CLINE_WORKOS_CLIENT_ID,
|
|
97
|
-
}),
|
|
98
|
-
signal: AbortSignal.timeout(30_000),
|
|
99
|
-
});
|
|
100
|
-
const json = asRecord(await response.json().catch(() => ({})));
|
|
101
|
-
if (response.ok && typeof json?.access_token === "string") {
|
|
102
|
-
const expiresIn = typeof json.expires_in === "number" ? json.expires_in : 3600;
|
|
103
|
-
return {
|
|
104
|
-
accessToken: toClineAccessToken(json.access_token),
|
|
105
|
-
refreshToken: typeof json.refresh_token === "string" ? json.refresh_token : undefined,
|
|
106
|
-
expiresAt: Date.now() + expiresIn * 1000,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
const error = typeof json?.error === "string" ? json.error : "";
|
|
110
|
-
if (error === "authorization_pending") {
|
|
111
|
-
await sleep(interval);
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
if (error === "slow_down") {
|
|
246
|
+
const result = await consumeClineDevicePoll(await requestClineDevicePoll(start));
|
|
247
|
+
if (result.state === "complete")
|
|
248
|
+
return result.tokens;
|
|
249
|
+
if (result.state === "slow-down")
|
|
115
250
|
interval += 5_000;
|
|
116
|
-
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
if (error === "expired_token" || error === "access_denied") {
|
|
120
|
-
throw new Error(error === "access_denied"
|
|
121
|
-
? "Cline authentication was denied"
|
|
122
|
-
: "Cline authentication code expired — start again");
|
|
123
|
-
}
|
|
124
|
-
const description = typeof json?.error_description === "string" ? json.error_description : "";
|
|
125
|
-
throw new Error(`Cline authentication failed (${response.status})${description ? `: ${description}` : ""}`);
|
|
251
|
+
await sleep(interval);
|
|
126
252
|
}
|
|
253
|
+
throw new ClineAuthError("Cline authentication code expired — start again");
|
|
127
254
|
}
|
|
128
255
|
export function isClineOAuthToken(value) {
|
|
129
|
-
return value.startsWith("workos:");
|
|
256
|
+
return value.toLowerCase().startsWith("workos:");
|
|
130
257
|
}
|
|
131
258
|
function toClineAccessToken(value) {
|
|
132
|
-
return isClineOAuthToken(value) ? value : `workos:${value}`;
|
|
259
|
+
return isClineOAuthToken(value) ? `workos:${value.slice(7)}` : `workos:${value}`;
|
|
260
|
+
}
|
|
261
|
+
function sameClineAccessToken(left, right) {
|
|
262
|
+
const normalizedLeft = left.replace(/^workos:/i, "");
|
|
263
|
+
const normalizedRight = right.replace(/^workos:/i, "");
|
|
264
|
+
return normalizedLeft === normalizedRight;
|
|
133
265
|
}
|
|
134
266
|
export async function readClineStoredAuth() {
|
|
135
267
|
for (const path of candidateClineCredentialPaths()) {
|
|
@@ -140,29 +272,33 @@ export async function readClineStoredAuth() {
|
|
|
140
272
|
catch {
|
|
141
273
|
continue;
|
|
142
274
|
}
|
|
143
|
-
const
|
|
144
|
-
const
|
|
145
|
-
|
|
275
|
+
const providers = asRecord(asRecord(parsed)?.providers);
|
|
276
|
+
const clineEntry = asRecord(providers?.cline ?? providers?.["cline-pass"]);
|
|
277
|
+
const authRec = asRecord(asRecord(clineEntry?.settings)?.auth ?? clineEntry?.auth);
|
|
278
|
+
if (!authRec)
|
|
146
279
|
continue;
|
|
147
|
-
const accessToken = typeof
|
|
280
|
+
const accessToken = typeof authRec.accessToken === "string" ? authRec.accessToken : "";
|
|
148
281
|
if (!accessToken)
|
|
149
282
|
continue;
|
|
150
283
|
return {
|
|
151
284
|
accessToken,
|
|
152
|
-
refreshToken: typeof
|
|
153
|
-
expiresAt:
|
|
285
|
+
refreshToken: typeof authRec.refreshToken === "string" ? authRec.refreshToken : undefined,
|
|
286
|
+
expiresAt: parseExpiresAt(authRec.expiresAt),
|
|
154
287
|
};
|
|
155
288
|
}
|
|
156
289
|
return undefined;
|
|
157
290
|
}
|
|
158
|
-
export async function
|
|
159
|
-
if (
|
|
291
|
+
export async function getClineRefreshToken(currentKey, refreshToken) {
|
|
292
|
+
if (refreshToken)
|
|
293
|
+
return refreshToken;
|
|
294
|
+
const stored = await readClineStoredAuth();
|
|
295
|
+
if (!stored?.refreshToken || !sameClineAccessToken(currentKey, stored.accessToken)) {
|
|
160
296
|
return undefined;
|
|
161
|
-
let token = refreshToken;
|
|
162
|
-
if (!token) {
|
|
163
|
-
const stored = await readClineStoredAuth();
|
|
164
|
-
token = stored?.refreshToken;
|
|
165
297
|
}
|
|
298
|
+
return stored.refreshToken;
|
|
299
|
+
}
|
|
300
|
+
export async function maybeRefreshClineToken(currentKey, refreshToken, onError) {
|
|
301
|
+
const token = await getClineRefreshToken(currentKey, refreshToken);
|
|
166
302
|
if (!token)
|
|
167
303
|
return undefined;
|
|
168
304
|
try {
|
|
@@ -178,7 +314,7 @@ export async function verifyClineToken(token) {
|
|
|
178
314
|
const response = await fetch(`${CLINE_API_BASE_URL}/users/me`, {
|
|
179
315
|
headers: {
|
|
180
316
|
authorization: `Bearer ${token}`,
|
|
181
|
-
...
|
|
317
|
+
...CLINE_AUTH_HEADERS,
|
|
182
318
|
},
|
|
183
319
|
signal: AbortSignal.timeout(15_000),
|
|
184
320
|
});
|
|
@@ -191,7 +327,11 @@ export async function verifyClineToken(token) {
|
|
|
191
327
|
export function candidateClineCredentialPaths() {
|
|
192
328
|
const home = homedir();
|
|
193
329
|
const os = platform();
|
|
194
|
-
const paths = [
|
|
330
|
+
const paths = [];
|
|
331
|
+
if (process.env.CLINE_DATA_DIR) {
|
|
332
|
+
paths.push(join(process.env.CLINE_DATA_DIR, "settings", "providers.json"));
|
|
333
|
+
}
|
|
334
|
+
paths.push(join(home, ".cline", "data", "settings", "providers.json"));
|
|
195
335
|
if (os === "darwin") {
|
|
196
336
|
paths.push(join(home, "Library", "Application Support", "Cline", "providers.json"));
|
|
197
337
|
}
|
|
@@ -213,15 +353,16 @@ export async function importExistingClineAuth() {
|
|
|
213
353
|
catch {
|
|
214
354
|
continue;
|
|
215
355
|
}
|
|
216
|
-
const
|
|
217
|
-
const
|
|
218
|
-
|
|
356
|
+
const providers = asRecord(asRecord(parsed)?.providers);
|
|
357
|
+
const clineEntry = asRecord(providers?.cline ?? providers?.["cline-pass"]);
|
|
358
|
+
const authRec = asRecord(asRecord(clineEntry?.settings)?.auth ?? clineEntry?.auth);
|
|
359
|
+
if (!authRec)
|
|
219
360
|
continue;
|
|
220
|
-
let accessToken = typeof
|
|
361
|
+
let accessToken = typeof authRec.accessToken === "string" ? authRec.accessToken : "";
|
|
221
362
|
if (!accessToken)
|
|
222
363
|
continue;
|
|
223
|
-
let refreshToken = typeof
|
|
224
|
-
let expiresAt =
|
|
364
|
+
let refreshToken = typeof authRec.refreshToken === "string" ? authRec.refreshToken : undefined;
|
|
365
|
+
let expiresAt = parseExpiresAt(authRec.expiresAt);
|
|
225
366
|
if (expiresAt !== undefined && expiresAt < Date.now() && refreshToken) {
|
|
226
367
|
try {
|
|
227
368
|
const refreshed = await refreshClineToken(refreshToken);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cline-auth.js","sourceRoot":"","sources":["../../src/llm/cline-auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cline-auth.js","sourceRoot":"","sources":["../../src/llm/cline-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,mCAAmC,CAAC;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;AAErF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC;AACnF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC;AAC/E,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,oBAAoB,CAAC;AAElG,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,YAAY,EAAE,SAAS,oBAAoB,EAAE;IAC7C,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAC5B,oBAAoB,EAAE,sBAAsB;IAC5C,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,mBAAmB;IACnC,gBAAgB,EAAE,OAAO;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,GAAG,kBAAkB;IACrB,gBAAgB,EAAE,kBAAkB;CACrC,CAAC;AAgBF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IAG5B;IACA;IACA;IAJX,YACE,OAAe,EACN,MAAe,EACf,SAAkB,EAClB,SAAkB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,WAAM,GAAN,MAAM,CAAS;QACf,cAAS,GAAT,SAAS,CAAS;QAClB,cAAS,GAAT,SAAS,CAAS;QAG3B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;IAED,oBAAoB;QAClB,IAAI,uFAAuF,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;YACvH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YAC1C,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3D,CAAC;IACJ,CAAC;CACF;AAED,KAAK,UAAU,eAAe,CAAC,QAAkB;IAC/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,QAAkB,EAClB,SAAiB,EACjB,OAAiC;IAEjC,MAAM,SAAS,GACb,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ;QAChC,CAAC,CAAC,OAAO,CAAC,KAAK;QACf,CAAC,CAAC,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ;YACjC,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,SAAS,CAAC;IAClB,MAAM,MAAM,GACV,OAAO,OAAO,EAAE,iBAAiB,KAAK,QAAQ;QAC5C,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ;YACpC,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;IACpE,IAAI,OAAO,GAAG,GAAG,SAAS,YAAY,QAAQ,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC;IACpE,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAClC,OAAO,GAAG,gFAAgF,MAAM,EAAE,CAAC;IACrG,CAAC;SAAM,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QACzC,OAAO,GAAG,oDAAoD,MAAM,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,cAAc,CACvB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,aAAa,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,EACzD,QAAQ,CAAC,MAAM,EACf,SAAS,EACT,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5D,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACzC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,yBAAyB,mCAAmC,EAC/D;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI,EAAE,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;QAChE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CACF,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,eAAe,GACnB,OAAO,IAAI,EAAE,yBAAyB,KAAK,QAAQ;QACjD,CAAC,CAAC,IAAI,CAAC,yBAAyB;QAChC,CAAC,CAAC,OAAO,IAAI,EAAE,gBAAgB,KAAK,QAAQ;YAC1C,CAAC,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC,EAAE,CAAC;IACX,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC,QAAQ,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,cAAc,CAAC,6DAA6D,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO;QACL,UAAU;QACV,QAAQ;QACR,eAAe,EAAE,eAAe;QAChC,gBAAgB,EAAE,SAAS;QAC3B,mBAAmB,EAAE,QAAQ;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,kBAAkB,gBAAgB,EAAE;QAClE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB;SACtB;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACnD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC,QAAQ,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,qBAAqB,GACzB,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,sBAAsB,GAC1B,OAAO,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,qBAAqB,IAAI,CAAC,sBAAsB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACjF,MAAM,IAAI,cAAc,CAAC,0DAA0D,CAAC,CAAC;IACvF,CAAC;IACD,OAAO;QACL,WAAW,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;QACtD,YAAY,EAAE,sBAAsB;QACpC,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqC,CAAC;AAEvE,KAAK,UAAU,wBAAwB,CACrC,YAAoB;IAEpB,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,kBAAkB,eAAe,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,kBAAkB;aACtB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;YAClE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CACtB,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAClG,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC,QAAQ,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,cAAc,CAAC,qDAAqD,CAAC,CAAC;IAClF,CAAC;IACD,OAAO;QACL,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;QAC5C,YAAY,EACV,OAAO,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;QAC3E,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACvD,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,OAAO,EAAE,CAAC;YACpD,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAOD,KAAK,UAAU,sBAAsB,CAAC,KAA2B;IAC/D,OAAO,KAAK,CAAC,GAAG,yBAAyB,+BAA+B,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI,EAAE,IAAI,eAAe,CAAC;YACxB,UAAU,EAAE,8CAA8C;YAC1D,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,SAAS,EAAE,sBAAsB;SAClC,CAAC;QACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,QAAkB;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,QAAQ,CAAC,EAAE,IAAI,OAAO,OAAO,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,uDAAuD,CAAC,CAAC;QACpF,CAAC;QACD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,MAAM,6BAA6B,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC;SAChF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,cAAc,CAAC,6DAA6D,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,KAAK,KAAK,uBAAuB;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnE,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACzD,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CAAC,iDAAiD,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,WAAW,CAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA2B,EAC3B,UAGI,EAAE;IAEN,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC5D,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAC7D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5D,IAAI,SAAS,IAAI,CAAC;YAAE,MAAM;QAC1B,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACtD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW;YAAE,QAAQ,IAAI,KAAK,CAAC;QACpD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,iDAAiD,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,cAAc,KAAK,eAAe,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IAGvC,KAAK,MAAM,IAAI,IAAI,6BAA6B,EAAE,EAAE,CAAC;QACnD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,IAAI,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,OAAO;YACL,WAAW;YACX,YAAY,EACV,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC7E,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;SAC7C,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,YAAqB;IAErB,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,YAAY,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,YAAqB,EACrB,OAAiD;IAEjD,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa;IAClD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,kBAAkB,WAAW,EAAE;YAC7D,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,GAAG,kBAAkB;aACtB;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,CAAC,CACxE,CAAC;IACJ,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,KAAK,MAAM,IAAI,IAAI,6BAA6B,EAAE,EAAE,CAAC;QACnD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,IAAI,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,WAAW,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,IAAI,YAAY,GACd,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,YAAY,EAAE,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACxD,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;gBACpC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;gBACtC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAAE,SAAS;QACrD,OAAO;YACL,WAAW;YACX,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,OAAO,CAAC,MAAM,uBAAuB,EAAE,CAAC,EAAE,WAAW,CAAC;AACxD,CAAC"}
|