@pentoshi/clai 4.11.21 → 4.11.22

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.
Files changed (205) hide show
  1. package/dist/agent/evidence/task-selection.d.ts +0 -15
  2. package/dist/agent/evidence/task-selection.js +1 -33
  3. package/dist/agent/evidence/task-selection.js.map +1 -1
  4. package/dist/agent/plan/actions/plan-clear.js.map +1 -1
  5. package/dist/agent/plan/actions/plan-create.js.map +1 -1
  6. package/dist/agent/plan/actions/task-add.js.map +1 -1
  7. package/dist/agent/plan/actions/task-move.js.map +1 -1
  8. package/dist/agent/plan/handle-plan-tool.js +5 -154
  9. package/dist/agent/plan/handle-plan-tool.js.map +1 -1
  10. package/dist/agent/runner.js +1 -13
  11. package/dist/agent/runner.js.map +1 -1
  12. package/dist/agent/session-policy.d.ts +0 -6
  13. package/dist/agent/session-policy.js +0 -2
  14. package/dist/agent/session-policy.js.map +1 -1
  15. package/dist/agent/task-evidence.d.ts +2 -2
  16. package/dist/agent/task-evidence.js +1 -1
  17. package/dist/agent/task-evidence.js.map +1 -1
  18. package/dist/agent/turn/compaction-admission.d.ts +5 -0
  19. package/dist/agent/turn/compaction-admission.js +24 -0
  20. package/dist/agent/turn/compaction-admission.js.map +1 -1
  21. package/dist/agent/turn/compaction-coordinator.d.ts +1 -0
  22. package/dist/agent/turn/compaction-coordinator.js +2 -0
  23. package/dist/agent/turn/compaction-coordinator.js.map +1 -1
  24. package/dist/agent/turn/loop/run-rounds.js +17 -24
  25. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  26. package/dist/agent/turn/loop/state.d.ts +1 -2
  27. package/dist/agent/turn/loop/state.js +1 -2
  28. package/dist/agent/turn/loop/state.js.map +1 -1
  29. package/dist/agent/turn/setup/compaction-services.d.ts +1 -0
  30. package/dist/agent/turn/setup/compaction-services.js +1 -0
  31. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  32. package/dist/agent/turn/setup/task-gate-setup.d.ts +1 -11
  33. package/dist/agent/turn/setup/task-gate-setup.js +4 -19
  34. package/dist/agent/turn/setup/task-gate-setup.js.map +1 -1
  35. package/dist/agent/turn/tool-execution/deps.d.ts +1 -5
  36. package/dist/agent/turn/tool-execution/guards.d.ts +0 -4
  37. package/dist/agent/turn/tool-execution/guards.js +3 -12
  38. package/dist/agent/turn/tool-execution/guards.js.map +1 -1
  39. package/dist/agent/turn/tool-execution/meta-tools.d.ts +0 -2
  40. package/dist/agent/turn/tool-execution/meta-tools.js +0 -17
  41. package/dist/agent/turn/tool-execution/meta-tools.js.map +1 -1
  42. package/dist/agent/turn/tool-execution/single-tool.js +0 -14
  43. package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
  44. package/dist/app/commands/catalog.js +32 -1
  45. package/dist/app/commands/catalog.js.map +1 -1
  46. package/dist/classic/panels/keys-panel.js +8 -1
  47. package/dist/classic/panels/keys-panel.js.map +1 -1
  48. package/dist/commands/providers.d.ts +17 -0
  49. package/dist/commands/providers.js +317 -28
  50. package/dist/commands/providers.js.map +1 -1
  51. package/dist/index.js +31 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/llm/agentrouter.js +1 -1
  54. package/dist/llm/anthropic.d.ts +4 -2
  55. package/dist/llm/anthropic.js +186 -178
  56. package/dist/llm/anthropic.js.map +1 -1
  57. package/dist/llm/bynara.js +1 -1
  58. package/dist/llm/capability/state.d.ts +1 -1
  59. package/dist/llm/capability/tool-dialect.js +3 -0
  60. package/dist/llm/capability/tool-dialect.js.map +1 -1
  61. package/dist/llm/capability/vision-patterns.js +3 -0
  62. package/dist/llm/capability/vision-patterns.js.map +1 -1
  63. package/dist/llm/catalog-facts.js +50 -2
  64. package/dist/llm/catalog-facts.js.map +1 -1
  65. package/dist/llm/catalog-prefetch.js +1 -1
  66. package/dist/llm/cline-auth.d.ts +34 -0
  67. package/dist/llm/cline-auth.js +248 -0
  68. package/dist/llm/cline-auth.js.map +1 -0
  69. package/dist/llm/cline.d.ts +2 -0
  70. package/dist/llm/cline.js +147 -0
  71. package/dist/llm/cline.js.map +1 -0
  72. package/dist/llm/codex-auth.d.ts +53 -0
  73. package/dist/llm/codex-auth.js +512 -0
  74. package/dist/llm/codex-auth.js.map +1 -0
  75. package/dist/llm/codex.d.ts +4 -0
  76. package/dist/llm/codex.js +239 -0
  77. package/dist/llm/codex.js.map +1 -0
  78. package/dist/llm/copilot-auth.d.ts +38 -0
  79. package/dist/llm/copilot-auth.js +258 -0
  80. package/dist/llm/copilot-auth.js.map +1 -0
  81. package/dist/llm/copilot.d.ts +4 -0
  82. package/dist/llm/copilot.js +226 -0
  83. package/dist/llm/copilot.js.map +1 -0
  84. package/dist/llm/custom-providers.js +1 -1
  85. package/dist/llm/deepseek.js +1 -1
  86. package/dist/llm/explabs.js +1 -1
  87. package/dist/llm/fireworks.js +1 -1
  88. package/dist/llm/free-default-model.js +9 -4
  89. package/dist/llm/free-default-model.js.map +1 -1
  90. package/dist/llm/free.js +1 -6
  91. package/dist/llm/free.js.map +1 -1
  92. package/dist/llm/glm.js +1 -1
  93. package/dist/llm/hetzner.js +1 -1
  94. package/dist/llm/kimi.js +1 -1
  95. package/dist/llm/lightning.js +1 -1
  96. package/dist/llm/merge-gateway.js +1 -1
  97. package/dist/llm/meta.js +1 -1
  98. package/dist/llm/minimax.js +1 -1
  99. package/dist/llm/model-families.js +1 -1
  100. package/dist/llm/model-families.js.map +1 -1
  101. package/dist/llm/model-layers/model-rules.js +6 -0
  102. package/dist/llm/model-layers/model-rules.js.map +1 -1
  103. package/dist/llm/nvidia.js +1 -1
  104. package/dist/llm/openrouter.js +1 -1
  105. package/dist/llm/orcarouter.js +1 -1
  106. package/dist/llm/provider-identity.d.ts +2 -0
  107. package/dist/llm/provider-identity.js +35 -0
  108. package/dist/llm/provider-identity.js.map +1 -1
  109. package/dist/llm/provider-info-text.js +110 -8
  110. package/dist/llm/provider-info-text.js.map +1 -1
  111. package/dist/llm/provider-profile-layers.js +101 -0
  112. package/dist/llm/provider-profile-layers.js.map +1 -1
  113. package/dist/llm/provider-profiles.js +2 -1
  114. package/dist/llm/provider-profiles.js.map +1 -1
  115. package/dist/llm/provider.d.ts +6 -4
  116. package/dist/llm/provider.js +2 -2
  117. package/dist/llm/provider.js.map +1 -1
  118. package/dist/llm/qwen-cloud.js +1 -1
  119. package/dist/llm/reasoning-capability.js +14 -0
  120. package/dist/llm/reasoning-capability.js.map +1 -1
  121. package/dist/llm/responses/item-events.js +10 -0
  122. package/dist/llm/responses/item-events.js.map +1 -1
  123. package/dist/llm/responses-config.d.ts +4 -0
  124. package/dist/llm/responses-config.js.map +1 -1
  125. package/dist/llm/responses-parse.js +23 -11
  126. package/dist/llm/responses-parse.js.map +1 -1
  127. package/dist/llm/responses-request.js +31 -8
  128. package/dist/llm/responses-request.js.map +1 -1
  129. package/dist/llm/responses-stream-events.js +21 -5
  130. package/dist/llm/responses-stream-events.js.map +1 -1
  131. package/dist/llm/routing/attempt-complete.js +1 -1
  132. package/dist/llm/routing/attempt-complete.js.map +1 -1
  133. package/dist/llm/routing/attempt-request.js +1 -1
  134. package/dist/llm/routing/attempt-request.js.map +1 -1
  135. package/dist/llm/routing/attempt-stream.js +2 -2
  136. package/dist/llm/routing/attempt-stream.js.map +1 -1
  137. package/dist/llm/routing/key-rotation.js +9 -4
  138. package/dist/llm/routing/key-rotation.js.map +1 -1
  139. package/dist/llm/routing/provider-selection.d.ts +2 -1
  140. package/dist/llm/routing/provider-selection.js +18 -4
  141. package/dist/llm/routing/provider-selection.js.map +1 -1
  142. package/dist/llm/tokenrouter.js +1 -1
  143. package/dist/llm/vercel.js +1 -1
  144. package/dist/llm/wire/chat-body.js +5 -3
  145. package/dist/llm/wire/chat-body.js.map +1 -1
  146. package/dist/llm/wire/openai-complete.d.ts +1 -0
  147. package/dist/llm/wire/openai-complete.js +9 -0
  148. package/dist/llm/wire/openai-complete.js.map +1 -1
  149. package/dist/store/config.js +3 -0
  150. package/dist/store/config.js.map +1 -1
  151. package/dist/store/keys/search-providers.d.ts +2 -0
  152. package/dist/store/keys/search-providers.js +6 -0
  153. package/dist/store/keys/search-providers.js.map +1 -1
  154. package/dist/store/keys.d.ts +6 -1
  155. package/dist/store/keys.js +46 -17
  156. package/dist/store/keys.js.map +1 -1
  157. package/dist/store/plan/mutation.d.ts +0 -1
  158. package/dist/store/plan/mutation.js +1 -22
  159. package/dist/store/plan/mutation.js.map +1 -1
  160. package/dist/store/plan.d.ts +1 -1
  161. package/dist/store/plan.js +1 -4
  162. package/dist/store/plan.js.map +1 -1
  163. package/dist/tui-v2/components/modal/keys-modal-pick.d.ts +5 -0
  164. package/dist/tui-v2/components/modal/keys-modal-pick.js +13 -0
  165. package/dist/tui-v2/components/modal/keys-modal-pick.js.map +1 -1
  166. package/dist/tui-v2/components/modal/keys-modal.js +15 -13
  167. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  168. package/dist/types.d.ts +1 -1
  169. package/dist/types.js +3 -0
  170. package/dist/types.js.map +1 -1
  171. package/dist/ui-core/commands/key-commands.d.ts +6 -3
  172. package/dist/ui-core/commands/key-commands.js +506 -15
  173. package/dist/ui-core/commands/key-commands.js.map +1 -1
  174. package/dist/ui-core/commands/keys/editors.js +10 -4
  175. package/dist/ui-core/commands/keys/editors.js.map +1 -1
  176. package/dist/ui-core/commands/picker-commands.js +86 -32
  177. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  178. package/dist/ui-core/commands/subagent-models-editor.js +12 -4
  179. package/dist/ui-core/commands/subagent-models-editor.js.map +1 -1
  180. package/dist/ui-core/controllers/overlay-controller.d.ts +4 -0
  181. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  182. package/dist/ui-core/rendering/format-keys.js +4 -2
  183. package/dist/ui-core/rendering/format-keys.js.map +1 -1
  184. package/dist/ui-core/rendering/format-usage.js +3 -1
  185. package/dist/ui-core/rendering/format-usage.js.map +1 -1
  186. package/dist/ui-core/rendering/intro-header.js +4 -1
  187. package/dist/ui-core/rendering/intro-header.js.map +1 -1
  188. package/dist/version.generated.d.ts +2 -2
  189. package/dist/version.generated.js +2 -2
  190. package/package.json +1 -1
  191. package/dist/agent/task-sync.d.ts +0 -40
  192. package/dist/agent/task-sync.js +0 -105
  193. package/dist/agent/task-sync.js.map +0 -1
  194. package/dist/agent/turn/task-batch-guard.d.ts +0 -18
  195. package/dist/agent/turn/task-batch-guard.js +0 -83
  196. package/dist/agent/turn/task-batch-guard.js.map +0 -1
  197. package/dist/agent/turn/task-gate.d.ts +0 -13
  198. package/dist/agent/turn/task-gate.js +0 -34
  199. package/dist/agent/turn/task-gate.js.map +0 -1
  200. package/dist/agent/turn/task-update-gate.d.ts +0 -13
  201. package/dist/agent/turn/task-update-gate.js +0 -40
  202. package/dist/agent/turn/task-update-gate.js.map +0 -1
  203. package/dist/store/task-transitions.d.ts +0 -12
  204. package/dist/store/task-transitions.js +0 -40
  205. package/dist/store/task-transitions.js.map +0 -1
@@ -201,6 +201,9 @@ export const visionPatterns = {
201
201
  kimi: [/kimi/i, /moonshot/i],
202
202
  glm: [/glm-4.*v/i, /glm-5.*v/i, /vision/i, /vl$/i],
203
203
  minimax: [/minimax-m3/i, /vision/i, /vl/i],
204
+ cline: [/vision/i, /vl$/i, /glm-.*v/i, /gpt/i, /claude/i, /grok/i, /muse-spark/i],
205
+ codex: [/gpt/i, /codex/i, /o[34]/i, /vision/i],
206
+ copilot: [/gpt/i, /claude/i, /gemini/i, /vision/i, /o[34]/i],
204
207
  };
205
208
  export const preferredVisionModels = {
206
209
  free: "free-1/muse-spark-1.2-contributor-free",
@@ -1 +1 @@
1
- {"version":3,"file":"vision-patterns.js","sourceRoot":"","sources":["../../../src/llm/capability/vision-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vision-patterns.js","sourceRoot":"","sources":["../../../src/llm/capability/vision-patterns.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,10 @@ function modalitiesDeclareImage(value) {
51
51
  return undefined;
52
52
  }
53
53
  function parseVision(entry) {
54
+ const caps = asRecord(entry.capabilities);
55
+ const supports = asRecord(caps?.supports);
56
+ if (typeof supports?.vision === "boolean")
57
+ return supports.vision;
54
58
  for (const flag of [
55
59
  entry.vision,
56
60
  entry.supports_vision,
@@ -96,6 +100,18 @@ function parseEffortsFromOptions(entry) {
96
100
  for (const value of stringList(entry.supported_reasoning_efforts) ?? []) {
97
101
  collected.push(value);
98
102
  }
103
+ if (Array.isArray(entry.supported_reasoning_levels)) {
104
+ for (const level of entry.supported_reasoning_levels) {
105
+ if (typeof level === "string") {
106
+ collected.push(level);
107
+ continue;
108
+ }
109
+ const shaped = asRecord(level);
110
+ const effort = shaped?.effort;
111
+ if (typeof effort === "string" && effort.trim())
112
+ collected.push(effort.trim());
113
+ }
114
+ }
99
115
  const effortObject = asRecord(entry.reasoning_effort);
100
116
  for (const value of stringList(effortObject?.values) ?? [])
101
117
  collected.push(value);
@@ -156,6 +172,33 @@ function parseReasoning(entry) {
156
172
  }
157
173
  if (optionEfforts)
158
174
  facts.supported = true;
175
+ if (typeof entry.default_reasoning_level === "string" && entry.default_reasoning_level.trim()) {
176
+ facts.supported = true;
177
+ if (facts.defaultEffort === undefined) {
178
+ facts.defaultEffort = entry.default_reasoning_level.trim();
179
+ }
180
+ const level = entry.default_reasoning_level.trim();
181
+ if (Array.isArray(facts.supportedEfforts) && !facts.supportedEfforts.includes(level)) {
182
+ facts.supportedEfforts = [...facts.supportedEfforts, level];
183
+ }
184
+ else if (facts.supportedEfforts === undefined) {
185
+ facts.supportedEfforts = [level];
186
+ }
187
+ }
188
+ const caps = asRecord(entry.capabilities);
189
+ const supports = asRecord(caps?.supports);
190
+ if (supports) {
191
+ if (supports.adaptive_thinking === true || supports.max_thinking_budget !== undefined) {
192
+ facts.supported = true;
193
+ }
194
+ const efforts = stringList(supports.reasoning_effort);
195
+ if (efforts && efforts.length > 0) {
196
+ facts.supported = true;
197
+ if (facts.supportedEfforts === undefined) {
198
+ facts.supportedEfforts = efforts;
199
+ }
200
+ }
201
+ }
159
202
  const reasoningOptionList = entry.reasoning_options;
160
203
  const reasoningOptions = Array.isArray(reasoningOptionList)
161
204
  && reasoningOptionList.length > 0;
@@ -193,12 +236,17 @@ function parseDefaultSampling(entry) {
193
236
  }
194
237
  function parseLimits(entry) {
195
238
  const topProvider = asRecord(entry.top_provider);
196
- const nominal = positiveInteger(entry.context_length) ??
239
+ const caps = asRecord(entry.capabilities);
240
+ const capsLimits = asRecord(caps?.limits);
241
+ const nominal = positiveInteger(capsLimits?.max_context_window_tokens) ??
242
+ positiveInteger(capsLimits?.max_prompt_tokens) ??
243
+ positiveInteger(entry.context_length) ??
197
244
  positiveInteger(entry.context_window) ??
198
245
  positiveInteger(entry.max_model_len) ??
199
246
  positiveInteger(entry.inputTokenLimit);
200
247
  const served = positiveInteger(topProvider?.context_length) ?? nominal;
201
- const maxOutput = positiveInteger(topProvider?.max_completion_tokens) ??
248
+ const maxOutput = positiveInteger(capsLimits?.max_output_tokens) ??
249
+ positiveInteger(topProvider?.max_completion_tokens) ??
202
250
  positiveInteger(entry.max_completion_tokens) ??
203
251
  positiveInteger(entry.max_output_length) ??
204
252
  positiveInteger(entry.outputTokenLimit) ??
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-facts.js","sourceRoot":"","sources":["../../src/llm/catalog-facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-facts.js","sourceRoot":"","sources":["../../src/llm/catalog-facts.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { getProvider, providerAuth } from "./router.js";
2
- const CATALOG_PREFETCH_TTL_MS = 60 * 60 * 1000;
2
+ const CATALOG_PREFETCH_TTL_MS = 30 * 60 * 1000;
3
3
  const lastPrefetchAt = new Map();
4
4
  const inFlight = new Map();
5
5
  function isDue(provider, now) {
@@ -0,0 +1,34 @@
1
+ export declare const CLINE_API_BASE_URL = "https://api.cline.bot/api/v1";
2
+ export declare const CLINE_WORKOS_API_BASE_URL = "https://api.workos.com";
3
+ export declare const CLINE_WORKOS_CLIENT_ID = "client_01K3A541FN8TA3EPPHTD2325AR";
4
+ export declare const CLINE_CLIENT_VERSION = "3.0.52";
5
+ export declare const CLINE_REQUEST_HEADERS: Record<string, string>;
6
+ export interface ClineDeviceAuthStart {
7
+ deviceCode: string;
8
+ userCode: string;
9
+ verificationUrl: string;
10
+ expiresInSeconds: number;
11
+ pollIntervalSeconds: number;
12
+ }
13
+ export interface ClineOAuthTokens {
14
+ accessToken: string;
15
+ refreshToken?: string | undefined;
16
+ expiresAt?: number | undefined;
17
+ }
18
+ export declare function startClineDeviceAuth(): Promise<ClineDeviceAuthStart>;
19
+ export declare function refreshClineToken(refreshToken: string): Promise<ClineOAuthTokens>;
20
+ export declare function pollClineDeviceAuth(start: ClineDeviceAuthStart, options?: {
21
+ signal?: AbortSignal | undefined;
22
+ onPending?: ((remainingSeconds: number) => void) | undefined;
23
+ }): Promise<ClineOAuthTokens>;
24
+ export declare function isClineOAuthToken(value: string): boolean;
25
+ export declare function readClineStoredAuth(): Promise<{
26
+ accessToken: string;
27
+ refreshToken?: string | undefined;
28
+ expiresAt?: number | undefined;
29
+ } | undefined>;
30
+ export declare function maybeRefreshClineToken(currentKey: string, refreshToken?: string, onError?: ((message: string) => void) | undefined): Promise<ClineOAuthTokens | undefined>;
31
+ export declare function verifyClineToken(token: string): Promise<boolean>;
32
+ export declare function candidateClineCredentialPaths(): string[];
33
+ export declare function importExistingClineAuth(): Promise<ClineOAuthTokens | undefined>;
34
+ export declare function importExistingClineKey(): Promise<string | undefined>;
@@ -0,0 +1,248 @@
1
+ import { homedir, platform } from "node:os";
2
+ import { join } from "node:path";
3
+ import { readFile } from "node:fs/promises";
4
+ export const CLINE_API_BASE_URL = "https://api.cline.bot/api/v1";
5
+ export const CLINE_WORKOS_API_BASE_URL = "https://api.workos.com";
6
+ export const CLINE_WORKOS_CLIENT_ID = "client_01K3A541FN8TA3EPPHTD2325AR";
7
+ export const CLINE_CLIENT_VERSION = "3.0.52";
8
+ export const CLINE_REQUEST_HEADERS = {
9
+ "User-Agent": `Cline/${CLINE_CLIENT_VERSION}`,
10
+ "X-CLIENT-TYPE": "cline-desktop",
11
+ "X-Title": "Cline",
12
+ "HTTP-Referer": "https://cline.bot",
13
+ "X-IS-MULTIROOT": "false",
14
+ };
15
+ function asRecord(value) {
16
+ return value && typeof value === "object" && !Array.isArray(value)
17
+ ? value
18
+ : undefined;
19
+ }
20
+ export async function startClineDeviceAuth() {
21
+ const response = await fetch(`${CLINE_WORKOS_API_BASE_URL}/user_management/authorize/device`, {
22
+ method: "POST",
23
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
24
+ body: new URLSearchParams({ client_id: CLINE_WORKOS_CLIENT_ID }),
25
+ signal: AbortSignal.timeout(30_000),
26
+ });
27
+ const json = asRecord(await response.json().catch(() => ({})));
28
+ const deviceCode = typeof json?.device_code === "string" ? json.device_code : "";
29
+ const userCode = typeof json?.user_code === "string" ? json.user_code : "";
30
+ const verificationUri = typeof json?.verification_uri_complete === "string"
31
+ ? json.verification_uri_complete
32
+ : typeof json?.verification_uri === "string"
33
+ ? json.verification_uri
34
+ : "";
35
+ if (!response.ok || !deviceCode || !userCode || !verificationUri) {
36
+ throw new Error("Invalid WorkOS device authorization response");
37
+ }
38
+ const expiresIn = json && typeof json.expires_in === "number" ? json.expires_in : 300;
39
+ const interval = json && typeof json.interval === "number" ? json.interval : 5;
40
+ return {
41
+ deviceCode,
42
+ userCode,
43
+ verificationUrl: verificationUri,
44
+ expiresInSeconds: expiresIn,
45
+ pollIntervalSeconds: interval,
46
+ };
47
+ }
48
+ function sleep(ms) {
49
+ return new Promise((resolve) => setTimeout(resolve, ms));
50
+ }
51
+ export async function refreshClineToken(refreshToken) {
52
+ const response = await fetch(`${CLINE_WORKOS_API_BASE_URL}/user_management/authenticate`, {
53
+ method: "POST",
54
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
55
+ body: new URLSearchParams({
56
+ grant_type: "refresh_token",
57
+ refresh_token: refreshToken,
58
+ client_id: CLINE_WORKOS_CLIENT_ID,
59
+ }),
60
+ signal: AbortSignal.timeout(30_000),
61
+ });
62
+ const json = asRecord(await response.json().catch(() => ({})));
63
+ if (!response.ok || typeof json?.access_token !== "string") {
64
+ const description = typeof json?.error_description === "string"
65
+ ? json.error_description
66
+ : typeof json?.error === "string"
67
+ ? json.error
68
+ : "";
69
+ throw new Error(`Cline token refresh failed (${response.status})${description ? `: ${description}` : ""}`);
70
+ }
71
+ const expiresIn = typeof json.expires_in === "number" ? json.expires_in : 3600;
72
+ return {
73
+ accessToken: toClineAccessToken(json.access_token),
74
+ refreshToken: typeof json.refresh_token === "string" ? json.refresh_token : refreshToken,
75
+ expiresAt: Date.now() + expiresIn * 1000,
76
+ };
77
+ }
78
+ export async function pollClineDeviceAuth(start, options = {}) {
79
+ const deadline = Date.now() + start.expiresInSeconds * 1000;
80
+ let interval = Math.max(1, start.pollIntervalSeconds) * 1000;
81
+ for (;;) {
82
+ if (options.signal?.aborted) {
83
+ throw new Error("Cline authentication cancelled");
84
+ }
85
+ const remaining = Math.max(0, Math.ceil((deadline - Date.now()) / 1000));
86
+ if (remaining <= 0) {
87
+ throw new Error("Cline authentication code expired — start again");
88
+ }
89
+ options.onPending?.(remaining);
90
+ const response = await fetch(`${CLINE_WORKOS_API_BASE_URL}/user_management/authenticate`, {
91
+ method: "POST",
92
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
93
+ body: new URLSearchParams({
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") {
115
+ interval += 5_000;
116
+ await sleep(interval);
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}` : ""}`);
126
+ }
127
+ }
128
+ export function isClineOAuthToken(value) {
129
+ return value.startsWith("workos:");
130
+ }
131
+ function toClineAccessToken(value) {
132
+ return isClineOAuthToken(value) ? value : `workos:${value}`;
133
+ }
134
+ export async function readClineStoredAuth() {
135
+ for (const path of candidateClineCredentialPaths()) {
136
+ let parsed;
137
+ try {
138
+ parsed = JSON.parse(await readFile(path, "utf8"));
139
+ }
140
+ catch {
141
+ continue;
142
+ }
143
+ const auth = asRecord(asRecord(asRecord(asRecord(parsed)?.providers)?.cline)?.settings)?.auth;
144
+ const rec = asRecord(auth);
145
+ if (!rec)
146
+ continue;
147
+ const accessToken = typeof rec.accessToken === "string" ? rec.accessToken : "";
148
+ if (!accessToken)
149
+ continue;
150
+ return {
151
+ accessToken,
152
+ refreshToken: typeof rec.refreshToken === "string" ? rec.refreshToken : undefined,
153
+ expiresAt: typeof rec.expiresAt === "number" ? rec.expiresAt : undefined,
154
+ };
155
+ }
156
+ return undefined;
157
+ }
158
+ export async function maybeRefreshClineToken(currentKey, refreshToken, onError) {
159
+ if (!isClineOAuthToken(currentKey))
160
+ return undefined;
161
+ let token = refreshToken;
162
+ if (!token) {
163
+ const stored = await readClineStoredAuth();
164
+ token = stored?.refreshToken;
165
+ }
166
+ if (!token)
167
+ return undefined;
168
+ try {
169
+ return await refreshClineToken(token);
170
+ }
171
+ catch (error) {
172
+ onError?.(error instanceof Error ? error.message : "request failed");
173
+ return undefined;
174
+ }
175
+ }
176
+ export async function verifyClineToken(token) {
177
+ try {
178
+ const response = await fetch(`${CLINE_API_BASE_URL}/users/me`, {
179
+ headers: {
180
+ authorization: `Bearer ${token}`,
181
+ ...CLINE_REQUEST_HEADERS,
182
+ },
183
+ signal: AbortSignal.timeout(15_000),
184
+ });
185
+ return response.ok;
186
+ }
187
+ catch {
188
+ return false;
189
+ }
190
+ }
191
+ export function candidateClineCredentialPaths() {
192
+ const home = homedir();
193
+ const os = platform();
194
+ const paths = [join(home, ".cline", "data", "settings", "providers.json")];
195
+ if (os === "darwin") {
196
+ paths.push(join(home, "Library", "Application Support", "Cline", "providers.json"));
197
+ }
198
+ else if (os === "linux") {
199
+ paths.push(join(home, ".config", "Cline", "providers.json"));
200
+ }
201
+ else if (os === "win32") {
202
+ const appData = process.env.APPDATA ?? join(home, "AppData", "Roaming");
203
+ paths.push(join(appData, "Cline", "providers.json"));
204
+ }
205
+ return paths;
206
+ }
207
+ export async function importExistingClineAuth() {
208
+ for (const path of candidateClineCredentialPaths()) {
209
+ let parsed;
210
+ try {
211
+ parsed = JSON.parse(await readFile(path, "utf8"));
212
+ }
213
+ catch {
214
+ continue;
215
+ }
216
+ const authRec = asRecord(asRecord(asRecord(asRecord(parsed)?.providers)?.cline)?.settings)?.auth;
217
+ const auth = asRecord(authRec);
218
+ if (!auth)
219
+ continue;
220
+ let accessToken = typeof auth.accessToken === "string" ? auth.accessToken : "";
221
+ if (!accessToken)
222
+ continue;
223
+ let refreshToken = typeof auth.refreshToken === "string" ? auth.refreshToken : undefined;
224
+ let expiresAt = typeof auth.expiresAt === "number" ? auth.expiresAt : undefined;
225
+ if (expiresAt !== undefined && expiresAt < Date.now() && refreshToken) {
226
+ try {
227
+ const refreshed = await refreshClineToken(refreshToken);
228
+ accessToken = refreshed.accessToken;
229
+ refreshToken = refreshed.refreshToken;
230
+ expiresAt = refreshed.expiresAt;
231
+ }
232
+ catch {
233
+ }
234
+ }
235
+ if (!(await verifyClineToken(accessToken)))
236
+ continue;
237
+ return {
238
+ accessToken,
239
+ ...(refreshToken ? { refreshToken } : {}),
240
+ ...(expiresAt !== undefined ? { expiresAt } : {}),
241
+ };
242
+ }
243
+ return undefined;
244
+ }
245
+ export async function importExistingClineKey() {
246
+ return (await importExistingClineAuth())?.accessToken;
247
+ }
248
+ //# sourceMappingURL=cline-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline-auth.js","sourceRoot":"","sources":["../../src/llm/cline-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type LlmProvider } from "./provider.js";
2
+ export declare const clineProvider: LlmProvider;
@@ -0,0 +1,147 @@
1
+ import { defaultModels, } from "./provider.js";
2
+ import { openAiCompatibleComplete, openAiCompatibleStream, toCompletionResult, readJson, ingestModelCatalogEntries, ProviderError, } from "./http.js";
3
+ import { CLINE_API_BASE_URL, CLINE_REQUEST_HEADERS, maybeRefreshClineToken, } from "./cline-auth.js";
4
+ import { replaceProviderKey } from "../store/keys.js";
5
+ const baseUrl = CLINE_API_BASE_URL;
6
+ const headers = CLINE_REQUEST_HEADERS;
7
+ let cachedModels = null;
8
+ let lastFetchTime = 0;
9
+ const CACHE_TTL_MS = 30 * 60 * 1000;
10
+ function requireKey(auth) {
11
+ if (!auth.apiKey) {
12
+ throw new Error("Cline authentication required. Run `clai auth cline` (browser sign-in) or add a key with `clai set cline <token>`.");
13
+ }
14
+ return auth.apiKey;
15
+ }
16
+ async function withClineCredential(auth, run, onStatus) {
17
+ const key = requireKey(auth);
18
+ try {
19
+ return await run(key);
20
+ }
21
+ catch (error) {
22
+ const status = error instanceof ProviderError ? error.status : undefined;
23
+ if (status !== 401)
24
+ throw error;
25
+ onStatus?.("ℹ Cline authentication expired — refreshing token");
26
+ let refreshError = "";
27
+ const fresh = await maybeRefreshClineToken(key, auth.refreshToken, (message) => {
28
+ refreshError = message;
29
+ });
30
+ if (!fresh?.accessToken || fresh.accessToken === key) {
31
+ const detail = refreshError ? ` (${refreshError})` : "";
32
+ onStatus?.(`ℹ Cline token refresh was unavailable${detail} — trying the next provider`);
33
+ throw error;
34
+ }
35
+ await replaceClineKey(key, fresh).catch(() => undefined);
36
+ auth.apiKey = fresh.accessToken;
37
+ if (fresh.refreshToken)
38
+ auth.refreshToken = fresh.refreshToken;
39
+ if (fresh.expiresAt !== undefined)
40
+ auth.expiresAt = fresh.expiresAt;
41
+ onStatus?.("ℹ Cline token refreshed — retrying request");
42
+ return run(fresh.accessToken);
43
+ }
44
+ }
45
+ async function replaceClineKey(oldKey, fresh) {
46
+ await replaceProviderKey("cline", oldKey, fresh.accessToken, {
47
+ ...(fresh.refreshToken ? { refreshToken: fresh.refreshToken } : {}),
48
+ ...(fresh.expiresAt !== undefined ? { expiresAt: fresh.expiresAt } : {}),
49
+ });
50
+ }
51
+ export const clineProvider = {
52
+ id: "cline",
53
+ displayName: "Cline",
54
+ reasoningStyle: "openrouter",
55
+ defaultModel: defaultModels.cline,
56
+ envVar: "CLINE_API_KEY",
57
+ validateKey: (key) => key.trim().length >= 20,
58
+ async listModels(auth) {
59
+ const now = Date.now();
60
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
61
+ return cachedModels;
62
+ }
63
+ const reqHeaders = { ...headers };
64
+ if (auth.apiKey) {
65
+ reqHeaders["authorization"] = `Bearer ${auth.apiKey}`;
66
+ }
67
+ const response = await fetch(`${baseUrl}/ai/cline/recommended-models`, {
68
+ headers: reqHeaders,
69
+ });
70
+ const payload = await readJson(response);
71
+ const entries = [
72
+ ...(Array.isArray(payload.recommended) ? payload.recommended : []),
73
+ ...(Array.isArray(payload.free) ? payload.free : []),
74
+ ...(Array.isArray(payload.clinePass) ? payload.clinePass : []),
75
+ ];
76
+ const models = ingestModelCatalogEntries("cline", entries);
77
+ if (models.length > 0) {
78
+ cachedModels = models;
79
+ lastFetchTime = now;
80
+ }
81
+ return models;
82
+ },
83
+ async ping(auth) {
84
+ const key = requireKey(auth);
85
+ const response = await fetch(`${baseUrl}/users/me`, {
86
+ headers: { authorization: `Bearer ${key}`, ...headers },
87
+ });
88
+ if (!response.ok) {
89
+ throw new ProviderError(`Cline authentication failed (HTTP ${response.status}). Run \`clai auth cline\` to sign in.`, response.status);
90
+ }
91
+ },
92
+ async complete(request, auth, onStatus) {
93
+ const model = request.model ?? defaultModels.cline;
94
+ return withClineCredential(auth, async (key) => {
95
+ const payload = await openAiCompatibleComplete({
96
+ provider: "Cline",
97
+ providerId: "cline",
98
+ baseUrl,
99
+ apiKey: key,
100
+ model,
101
+ messages: request.messages,
102
+ maxTokens: request.maxTokens,
103
+ temperature: request.temperature,
104
+ headers,
105
+ signal: request.signal,
106
+ reasoning: request.thinking,
107
+ reasoningStyle: "openrouter",
108
+ tools: request.tools,
109
+ toolChoice: request.toolChoice,
110
+ parallelToolCalls: request.parallelToolCalls,
111
+ unwrapDataEnvelope: true,
112
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
113
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
114
+ });
115
+ return toCompletionResult("cline", model, payload);
116
+ }, onStatus);
117
+ },
118
+ async stream(request, auth, onToken, onStatus) {
119
+ const model = request.model ?? defaultModels.cline;
120
+ return withClineCredential(auth, async (key) => {
121
+ const payload = await openAiCompatibleStream({
122
+ provider: "Cline",
123
+ providerId: "cline",
124
+ baseUrl,
125
+ apiKey: key,
126
+ model,
127
+ messages: request.messages,
128
+ maxTokens: request.maxTokens,
129
+ temperature: request.temperature,
130
+ headers,
131
+ signal: request.signal,
132
+ onToken,
133
+ onToolCallDelta: request.onToolCallDelta,
134
+ onStreamEvent: request.onStreamEvent,
135
+ reasoning: request.thinking,
136
+ reasoningStyle: "openrouter",
137
+ tools: request.tools,
138
+ toolChoice: request.toolChoice,
139
+ parallelToolCalls: request.parallelToolCalls,
140
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
141
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
142
+ });
143
+ return toCompletionResult("cline", model, payload);
144
+ }, onStatus);
145
+ },
146
+ };
147
+ //# sourceMappingURL=cline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline.js","sourceRoot":"","sources":["../../src/llm/cline.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,GAGd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EACR,yBAAyB,EACzB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,OAAO,GAAG,kBAAkB,CAAC;AACnC,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAEtC,IAAI,YAAY,GAAoB,IAAI,CAAC;AACzC,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpC,SAAS,UAAU,CAAC,IAAkB;IACpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAkB,EAClB,GAAgC,EAChC,QAAkD;IAElD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,KAAK,CAAC;QAChC,QAAQ,EAAE,CAAC,mDAAmD,CAAC,CAAC;QAChE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,sBAAsB,CACxC,GAAG,EACH,IAAI,CAAC,YAAY,EACjB,CAAC,OAAO,EAAE,EAAE;YACV,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC,CACF,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,QAAQ,EAAE,CACR,wCAAwC,MAAM,6BAA6B,CAC5E,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;QAChC,IAAI,KAAK,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAC/D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACpE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAAc,EACd,KAAuB;IAEvB,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE;QAC3D,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,EAAE,EAAE,OAAO;IACX,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,YAAY;IAC5B,YAAY,EAAE,aAAa,CAAC,KAAK;IACjC,MAAM,EAAE,eAAe;IACvB,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE;IACrD,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,YAAY,IAAI,GAAG,GAAG,aAAa,GAAG,YAAY,EAAE,CAAC;YACvD,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,UAAU,GAA2B,EAAE,GAAG,OAAO,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,EAAE;YACrE,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAI3B,QAAQ,CAAC,CAAC;QACb,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,YAAY,GAAG,MAAM,CAAC;YACtB,aAAa,GAAG,GAAG,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAkB;QAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;YAClD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CACrB,qCAAqC,QAAQ,CAAC,MAAM,wCAAwC,EAC5F,QAAQ,CAAC,MAAM,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,IAAkB,EAClB,QAAkD;QAElD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC;QACnD,OAAO,mBAAmB,CACxB,IAAI,EACJ,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;gBAC7C,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,OAAO;gBACnB,OAAO;gBACP,MAAM,EAAE,GAAG;gBACX,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,cAAc,EAAE,YAAY;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,kBAAkB,EAAE,IAAI;gBACxB,+BAA+B,EAAE,OAAO,CAAC,iCAAiC;gBAC1E,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE,CAAC,CAAC;YACH,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CACV,OAA0B,EAC1B,IAAkB,EAClB,OAAgC,EAChC,QAAkD;QAElD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC;QACnD,OAAO,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;gBAC3C,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,OAAO;gBACnB,OAAO;gBACP,MAAM,EAAE,GAAG;gBACX,KAAK;gBACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO;gBACP,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,cAAc,EAAE,YAAY;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,+BAA+B,EAAE,OAAO,CAAC,iCAAiC;gBAC1E,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE,CAAC,CAAC;YACH,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,EACD,QAAQ,CACT,CAAC;IACF,CAAC;CACF,CAAC"}