@4via6/relay 1.2.0 → 1.3.0

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 (58) hide show
  1. package/dist/auth.js +3 -1
  2. package/dist/auth.js.map +1 -1
  3. package/dist/bot.js +1 -0
  4. package/dist/bot.js.map +1 -1
  5. package/dist/commands/admin.js +139 -66
  6. package/dist/commands/admin.js.map +1 -1
  7. package/dist/commands/chat.js +9 -3
  8. package/dist/commands/chat.js.map +1 -1
  9. package/dist/commands/files.js +37 -47
  10. package/dist/commands/files.js.map +1 -1
  11. package/dist/commands/history.js +21 -25
  12. package/dist/commands/history.js.map +1 -1
  13. package/dist/commands/index.d.ts +3 -0
  14. package/dist/commands/index.js +60 -0
  15. package/dist/commands/index.js.map +1 -1
  16. package/dist/commands/mcp.js +2 -2
  17. package/dist/commands/mcp.js.map +1 -1
  18. package/dist/commands/media.js +90 -4
  19. package/dist/commands/media.js.map +1 -1
  20. package/dist/commands/monitor.js +8 -8
  21. package/dist/commands/monitor.js.map +1 -1
  22. package/dist/commands/session.js +16 -20
  23. package/dist/commands/session.js.map +1 -1
  24. package/dist/commands/shell.js +14 -14
  25. package/dist/commands/shell.js.map +1 -1
  26. package/dist/config/loader.js +2 -3
  27. package/dist/config/loader.js.map +1 -1
  28. package/dist/config/setup.js +5 -3
  29. package/dist/config/setup.js.map +1 -1
  30. package/dist/index.js +11 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/providers/claude.d.ts +14 -0
  33. package/dist/providers/claude.js +154 -17
  34. package/dist/providers/claude.js.map +1 -1
  35. package/dist/providers/codex.d.ts +6 -0
  36. package/dist/providers/codex.js +113 -39
  37. package/dist/providers/codex.js.map +1 -1
  38. package/dist/providers/index.js +4 -0
  39. package/dist/providers/index.js.map +1 -1
  40. package/dist/providers/opencode.js +51 -35
  41. package/dist/providers/opencode.js.map +1 -1
  42. package/dist/utils/chunker.js +2 -2
  43. package/dist/utils/chunker.js.map +1 -1
  44. package/dist/utils/errors.js +20 -3
  45. package/dist/utils/errors.js.map +1 -1
  46. package/dist/utils/logger.d.ts +1 -0
  47. package/dist/utils/logger.js +1 -0
  48. package/dist/utils/logger.js.map +1 -1
  49. package/dist/utils/store.d.ts +1 -0
  50. package/dist/utils/store.js +4 -1
  51. package/dist/utils/store.js.map +1 -1
  52. package/dist/utils/stream.js +97 -20
  53. package/dist/utils/stream.js.map +1 -1
  54. package/dist/utils/stt.js +4 -1
  55. package/dist/utils/stt.js.map +1 -1
  56. package/dist/utils/system-prompt.js +10 -9
  57. package/dist/utils/system-prompt.js.map +1 -1
  58. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,9 +1,11 @@
1
1
  import { getConfig } from "./config/index.js";
2
- import { initProvider, shutdownProvider, getProviderName } from "./providers/index.js";
2
+ import { initProvider, shutdownProvider, getProviderName, getProvider } from "./providers/index.js";
3
3
  import { createBot } from "./bot.js";
4
+ import { getBotCommands } from "./commands/index.js";
4
5
  import { initAuth } from "./auth.js";
5
6
  import { startUploadCleanup, stopUploadCleanup } from "./utils/media.js";
6
7
  import { unwatchSystemPrompt } from "./utils/system-prompt.js";
8
+ import { setDataDir } from "./utils/store.js";
7
9
  import logger from "./utils/logger.js";
8
10
  function die(message) {
9
11
  console.error(`\n ${message}\n`);
@@ -11,6 +13,8 @@ function die(message) {
11
13
  }
12
14
  async function main() {
13
15
  const config = getConfig();
16
+ if (config.dataDir)
17
+ setDataDir(config.dataDir);
14
18
  if (!config.botToken) {
15
19
  die("Bot token is required. Run 'relay onboard' to configure.");
16
20
  }
@@ -28,9 +32,15 @@ async function main() {
28
32
  // Clean up old uploads every 30 minutes
29
33
  startUploadCleanup();
30
34
  const bot = createBot(config.botToken);
35
+ // Register commands with Telegram for autocomplete menu
36
+ await bot.api.setMyCommands(getBotCommands(getProvider().capabilities));
31
37
  const botMode = config.botMode;
32
38
  let httpServer = null;
39
+ let shuttingDown = false;
33
40
  async function gracefulShutdown(signal) {
41
+ if (shuttingDown)
42
+ return;
43
+ shuttingDown = true;
34
44
  logger.info({ signal }, "Shutting down...");
35
45
  if (httpServer) {
36
46
  httpServer.close();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,24 @@ export declare class ClaudeProvider implements Provider {
14
14
  listSessions(): Promise<SessionInfo[]>;
15
15
  getSession(id: string): Promise<Session | null>;
16
16
  deleteSession(_id: string): Promise<boolean>;
17
+ /** Real session ID returned by the SDK (UUID). */
18
+ lastSessionId: string | null;
19
+ /** Check if a string looks like a valid UUID (Claude Code session format). */
20
+ private static isUUID;
21
+ /**
22
+ * Build the prompt parameter for the SDK query function.
23
+ * If parts contain images, constructs a MessageParam with image content blocks
24
+ * via AsyncIterable<SDKUserMessage>. Otherwise returns the plain text string.
25
+ */
26
+ private buildPromptParam;
17
27
  private buildQueryOpts;
18
28
  prompt(sessionId: string, text: string, options?: PromptOptions): Promise<PromptResult>;
19
29
  promptStream(sessionId: string, text: string, options?: PromptOptions): AsyncGenerator<StreamChunk>;
20
30
  abort(sessionId: string): Promise<void>;
31
+ /**
32
+ * Enrich a SDK error with captured stderr for better diagnostics.
33
+ */
34
+ private enrichError;
21
35
  getTodos(): Promise<Todo[] | null>;
22
36
  getDiff(sessionId: string): Promise<FileDiff[] | null>;
23
37
  forkSession(sessionId: string): Promise<Session | null>;
@@ -1,10 +1,15 @@
1
1
  import { JsonStore } from "../utils/store.js";
2
2
  import { getConfig } from "../config/index.js";
3
+ import { providerLogger } from "../utils/logger.js";
4
+ import { setActiveSessionId } from "../session.js";
3
5
  // Dynamic import — only loads when PROVIDER=claude
4
6
  let queryFn;
5
7
  let listSessionsFn;
6
8
  // Per-session active query tracking (keyed by session ID)
7
9
  const activeQueries = new Map();
10
+ const VALID_PERMISSION_MODES = new Set([
11
+ "acceptEdits", "bypassPermissions", "default", "dontAsk", "plan",
12
+ ]);
8
13
  export class ClaudeProvider {
9
14
  name = "claude";
10
15
  capabilities = {
@@ -34,13 +39,19 @@ export class ClaudeProvider {
34
39
  this.cwd = config.claudeCwd || process.cwd();
35
40
  }
36
41
  async init() {
42
+ // Validate permission mode before loading the SDK
43
+ if (!VALID_PERMISSION_MODES.has(this.permissionMode)) {
44
+ throw new Error(`Invalid claudePermissionMode: "${this.permissionMode}"\n\n` +
45
+ ` Valid modes: ${[...VALID_PERMISSION_MODES].join(", ")}\n` +
46
+ ` Update your config: ~/.relay/config.json`);
47
+ }
37
48
  try {
38
- const sdk = await import("@anthropic-ai/claude-code");
49
+ const sdk = await import("@anthropic-ai/claude-agent-sdk");
39
50
  queryFn = sdk.query;
40
51
  listSessionsFn = sdk.listSessions;
41
52
  }
42
53
  catch (err) {
43
- throw new Error("Could not load the Claude Code SDK (@anthropic-ai/claude-code).\n\n" +
54
+ throw new Error("Could not load the Claude Agent SDK (@anthropic-ai/claude-agent-sdk).\n\n" +
44
55
  " This SDK is bundled with Relay and should work out of the box.\n" +
45
56
  " Try reinstalling Relay:\n\n" +
46
57
  " npm install -g @4via6/relay@latest\n\n" +
@@ -63,9 +74,10 @@ export class ClaudeProvider {
63
74
  }
64
75
  // --- Sessions ---
65
76
  async createSession(title) {
66
- // Generate a local ID. Claude will create the actual session
67
- // implicitly on the first prompt() call via the resume option.
68
- const sessionId = `claude-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
77
+ // Use a non-UUID placeholder so buildQueryOpts skips --resume.
78
+ // The real UUID session ID is captured from the first SDK result
79
+ // and stored for subsequent messages.
80
+ const sessionId = `claude-new-${Date.now()}`;
69
81
  return { id: sessionId, title: title ?? "Claude Session" };
70
82
  }
71
83
  async listSessions() {
@@ -93,26 +105,96 @@ export class ClaudeProvider {
93
105
  return true;
94
106
  }
95
107
  // --- Messaging ---
108
+ /** Real session ID returned by the SDK (UUID). */
109
+ lastSessionId = null;
110
+ /** Check if a string looks like a valid UUID (Claude Code session format). */
111
+ static isUUID(s) {
112
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(s);
113
+ }
114
+ /**
115
+ * Build the prompt parameter for the SDK query function.
116
+ * If parts contain images, constructs a MessageParam with image content blocks
117
+ * via AsyncIterable<SDKUserMessage>. Otherwise returns the plain text string.
118
+ */
119
+ buildPromptParam(sessionId, text, options) {
120
+ const fileParts = (options?.parts ?? []).filter((p) => p.type === "file");
121
+ if (fileParts.length === 0) {
122
+ return text;
123
+ }
124
+ // Build Anthropic API content blocks
125
+ const content = [];
126
+ // Add file content blocks first (model sees them before the text)
127
+ for (const part of fileParts) {
128
+ if (part.url.startsWith("data:")) {
129
+ const match = part.url.match(/^data:([^;]+);base64,(.+)$/);
130
+ if (match) {
131
+ const mediaType = match[1];
132
+ const data = match[2];
133
+ if (mediaType === "application/pdf") {
134
+ content.push({
135
+ type: "document",
136
+ source: {
137
+ type: "base64",
138
+ media_type: "application/pdf",
139
+ data,
140
+ },
141
+ });
142
+ }
143
+ else {
144
+ content.push({
145
+ type: "image",
146
+ source: {
147
+ type: "base64",
148
+ media_type: mediaType,
149
+ data,
150
+ },
151
+ });
152
+ }
153
+ }
154
+ }
155
+ }
156
+ // Add text block
157
+ if (text) {
158
+ content.push({ type: "text", text });
159
+ }
160
+ // Wrap in SDKUserMessage async iterable
161
+ const message = {
162
+ type: "user",
163
+ message: { role: "user", content },
164
+ parent_tool_use_id: null,
165
+ session_id: sessionId,
166
+ };
167
+ async function* gen() {
168
+ yield message;
169
+ }
170
+ return gen();
171
+ }
96
172
  buildQueryOpts(sessionId, options) {
173
+ const stderr = [];
97
174
  const queryOpts = {
98
175
  model: options?.model?.modelID ?? this.model,
99
176
  permissionMode: this.permissionMode,
100
177
  cwd: this.cwd,
101
- resume: sessionId,
178
+ stderr: (line) => { stderr.push(line); },
102
179
  };
180
+ // Only pass resume if we have a valid Claude session ID (UUID format)
181
+ if (ClaudeProvider.isUUID(sessionId)) {
182
+ queryOpts.resume = sessionId;
183
+ }
103
184
  if (options?.system) {
104
185
  queryOpts.systemPrompt = options.system;
105
186
  }
106
187
  if (this.mcpServers.size > 0) {
107
188
  queryOpts.mcpServers = Object.fromEntries(this.mcpServers);
108
189
  }
109
- return queryOpts;
190
+ return { opts: queryOpts, stderr };
110
191
  }
111
192
  async prompt(sessionId, text, options) {
112
193
  let resultText = "";
113
- const queryOpts = this.buildQueryOpts(sessionId, options);
194
+ const { opts: queryOpts, stderr } = this.buildQueryOpts(sessionId, options);
195
+ const promptParam = this.buildPromptParam(sessionId, text, options);
114
196
  const messages = queryFn({
115
- prompt: text,
197
+ prompt: promptParam,
116
198
  options: queryOpts,
117
199
  });
118
200
  activeQueries.set(sessionId, messages);
@@ -126,28 +208,50 @@ export class ClaudeProvider {
126
208
  }
127
209
  }
128
210
  else if (msg.type === "result") {
129
- if (msg.result)
211
+ if (msg.is_error && msg.errors?.length) {
212
+ throw new Error(msg.errors.join("\n"));
213
+ }
214
+ if (msg.session_id && ClaudeProvider.isUUID(msg.session_id)) {
215
+ this.lastSessionId = msg.session_id;
216
+ setActiveSessionId(msg.session_id);
217
+ // Re-key activeQueries so abort() can find the query by real session ID
218
+ if (msg.session_id !== sessionId) {
219
+ activeQueries.set(msg.session_id, activeQueries.get(sessionId));
220
+ activeQueries.delete(sessionId);
221
+ }
222
+ }
223
+ // Only use result text if we didn't already collect from assistant messages
224
+ if (msg.result && !resultText)
130
225
  resultText = msg.result;
131
226
  }
132
227
  }
133
228
  }
229
+ catch (err) {
230
+ throw this.enrichError(err, stderr);
231
+ }
134
232
  finally {
135
233
  activeQueries.delete(sessionId);
136
234
  }
137
235
  return { text: resultText || "(empty response)" };
138
236
  }
139
237
  async *promptStream(sessionId, text, options) {
140
- const queryOpts = this.buildQueryOpts(sessionId, options);
238
+ const { opts: queryOpts, stderr } = this.buildQueryOpts(sessionId, options);
239
+ const promptParam = this.buildPromptParam(sessionId, text, options);
141
240
  const messages = queryFn({
142
- prompt: text,
241
+ prompt: promptParam,
143
242
  options: queryOpts,
144
243
  });
145
244
  activeQueries.set(sessionId, messages);
245
+ let msgCount = 0;
246
+ let hasAssistantText = false;
146
247
  try {
147
248
  for await (const msg of messages) {
249
+ msgCount++;
250
+ providerLogger.debug({ type: msg.type, turn: msgCount }, "Claude SDK event");
148
251
  if (msg.type === "assistant" && msg.message?.content) {
149
252
  for (const block of msg.message.content) {
150
253
  if (block.type === "text") {
254
+ hasAssistantText = true;
151
255
  yield { type: "text", content: block.text };
152
256
  }
153
257
  else if (block.type === "tool_use") {
@@ -159,12 +263,34 @@ export class ClaudeProvider {
159
263
  }
160
264
  }
161
265
  else if (msg.type === "result") {
162
- if (msg.result) {
266
+ // Check for errors in the result
267
+ if (msg.is_error && msg.errors?.length) {
268
+ throw new Error(msg.errors.join("\n"));
269
+ }
270
+ // Capture real session ID for future resume
271
+ if (msg.session_id && ClaudeProvider.isUUID(msg.session_id)) {
272
+ this.lastSessionId = msg.session_id;
273
+ setActiveSessionId(msg.session_id);
274
+ // Re-key activeQueries so abort() can find the query by real session ID
275
+ if (msg.session_id !== sessionId) {
276
+ activeQueries.set(msg.session_id, activeQueries.get(sessionId));
277
+ activeQueries.delete(sessionId);
278
+ }
279
+ }
280
+ // Only yield result text if we didn't already get it from assistant messages
281
+ if (msg.result && !hasAssistantText) {
163
282
  yield { type: "text", content: msg.result };
164
283
  }
165
284
  yield { type: "done", content: "" };
166
285
  }
167
286
  }
287
+ providerLogger.debug({ msgCount }, "Stream ended");
288
+ if (msgCount === 0) {
289
+ providerLogger.warn("SDK yielded zero messages — stderr: %s", stderr.join("\n"));
290
+ }
291
+ }
292
+ catch (err) {
293
+ throw this.enrichError(err, stderr);
168
294
  }
169
295
  finally {
170
296
  activeQueries.delete(sessionId);
@@ -180,6 +306,17 @@ export class ClaudeProvider {
180
306
  activeQueries.delete(sessionId);
181
307
  }
182
308
  }
309
+ /**
310
+ * Enrich a SDK error with captured stderr for better diagnostics.
311
+ */
312
+ enrichError(err, stderrLines) {
313
+ const stderr = (stderrLines ?? []).join("\n").trim();
314
+ const base = err?.message ?? String(err);
315
+ if (stderr) {
316
+ return new Error(`${base}\n\nClaude Code stderr:\n${stderr}`);
317
+ }
318
+ return err;
319
+ }
183
320
  // --- Session features ---
184
321
  async getTodos() {
185
322
  return null;
@@ -204,7 +341,7 @@ export class ClaudeProvider {
204
341
  model: this.model,
205
342
  permissionMode: this.permissionMode,
206
343
  cwd: this.cwd,
207
- resume: sessionId,
344
+ ...(ClaudeProvider.isUUID(sessionId) && { resume: sessionId }),
208
345
  forkSession: true,
209
346
  maxTurns: 1,
210
347
  },
@@ -244,7 +381,7 @@ export class ClaudeProvider {
244
381
  model: this.model,
245
382
  permissionMode: this.permissionMode,
246
383
  cwd: this.cwd,
247
- resume: sessionId,
384
+ ...(ClaudeProvider.isUUID(sessionId) && { resume: sessionId }),
248
385
  maxTurns: 0,
249
386
  },
250
387
  });
@@ -271,7 +408,7 @@ export class ClaudeProvider {
271
408
  model: this.model,
272
409
  permissionMode: this.permissionMode,
273
410
  cwd: this.cwd,
274
- resume: sessionId,
411
+ ...(ClaudeProvider.isUUID(sessionId) && { resume: sessionId }),
275
412
  maxTurns: 1,
276
413
  },
277
414
  });
@@ -284,7 +421,7 @@ export class ClaudeProvider {
284
421
  }
285
422
  }
286
423
  else if (msg.type === "result") {
287
- if (msg.result)
424
+ if (msg.result && !resultText)
288
425
  resultText = msg.result;
289
426
  }
290
427
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,mDAAmD;AACnD,IAAI,OAAY,CAAC;AACjB,IAAI,cAAmB,CAAC;AACxB,0DAA0D;AAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAe,CAAC;AAE7C,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAiB,CAAC;IACzB,YAAY,GAAyB;QAC5C,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,IAAI;KACV,CAAC;IACM,KAAK,CAAS;IACd,cAAc,CAAS;IACvB,GAAG,CAAS;IACZ,UAAU,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,QAAQ,GAAG,IAAI,SAAS,CAAsB,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAE7E;QACE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACtD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;YACpB,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC;QACpC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,qEAAqE;gBACnE,oEAAoE;gBACpE,+BAA+B;gBAC/B,4CAA4C;gBAC5C,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClD,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACnC,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,aAAa,CAAC,KAAc;QAChC,6DAA6D;QAC7D,+DAA+D;QAC/D,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACnF,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;YACxC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACvC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE;gBACvB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE;gBACrC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,2DAA2D;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB;IAEZ,cAAc,CAAC,SAAiB,EAAE,OAAuB;QAC/D,MAAM,SAAS,GAAQ;YACrB,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,SAAiB,EACjB,IAAY,EACZ,OAAuB;QAEvB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,OAAO,CAAC;YACvB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC1B,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,MAAM;wBAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,UAAU,IAAI,kBAAkB,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,CAAC,YAAY,CACjB,SAAiB,EACjB,IAAY,EACZ,OAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,OAAO,CAAC;YACvB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC9C,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACrC,MAAM;gCACJ,IAAI,EAAE,UAAU;gCAChB,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG;6BAC3B,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC9C,CAAC;oBACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB;QAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACjC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,2BAA2B;IAE3B,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,qFAAqF,CACtF,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAAiB;QAEjB,IAAI,CAAC;YACH,IAAI,YAAgC,CAAC;YAErC,MAAM,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM,EAAE,sCAAsC;gBAC9C,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,CAAC;iBACZ;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBAC5C,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAc,EAAE,CAAC;YAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,CAAC;iBACZ;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kDAAkD;IAElD;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,WAAmB;QACjE,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC;YACvB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;4BAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;oBACtD,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,MAAM;wBAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,cAAc,CACxB,SAAS,EACT,qBAAqB,IAAI,iFAAiF,CAC3G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,oCAAoC,KAAK,uGAAuG,CACjJ,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,wCAAwC,OAAO,iKAAiK,CACjN,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACvG,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,0GAA0G,CAC3G,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,OAAe;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAC9B,SAAS,EACT,+CAA+C,OAAO,EAAE,CACzD,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,cAAc;QAClB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,GAAG;SACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO;YACL,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YAC/C,WAAW,EAAE,UAAU,EAAE,cAAc;SACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE;gBACL,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAE7C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+CAA+C,EAAE;oBACvE,OAAO,EAAE;wBACP,WAAW,EAAE,MAAM;wBACnB,mBAAmB,EAAE,YAAY;qBAClC;iBACF,CAAC,CAAC;gBAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAS,CAAC;oBACrC,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBAC/D,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;wBAC5B,QAAQ,EAAE,WAAW;wBACrB,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtC,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;wBAAE,OAAO,MAAM,CAAC;gBACvC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,YAAY;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI;YACJ,MAAM,EAAE,WAAoB;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,MAAuB;QACtD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;gBACxB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBAClC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpC,GAAG,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;gBACxB,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,OAAO;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,mDAAmD;AACnD,IAAI,OAAY,CAAC;AACjB,IAAI,cAAmB,CAAC;AACxB,0DAA0D;AAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAe,CAAC;AAE7C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;CACjE,CAAC,CAAC;AAEH,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAiB,CAAC;IACzB,YAAY,GAAyB;QAC5C,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,IAAI;KACV,CAAC;IACM,KAAK,CAAS;IACd,cAAc,CAAS;IACvB,GAAG,CAAS;IACZ,UAAU,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,QAAQ,GAAG,IAAI,SAAS,CAAsB,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAE7E;QACE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,kDAAkD;QAClD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,cAAc,OAAO;gBAC1D,kBAAkB,CAAC,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5D,4CAA4C,CAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAC3D,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;YACpB,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC;QACpC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,2EAA2E;gBACzE,oEAAoE;gBACpE,+BAA+B;gBAC/B,4CAA4C;gBAC5C,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClD,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACnC,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,aAAa,CAAC,KAAc;QAChC,+DAA+D;QAC/D,iEAAiE;QACjE,sCAAsC;QACtC,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC7C,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;YACxC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACvC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE;gBACvB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE;gBACrC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,2DAA2D;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB;IAEpB,kDAAkD;IAC3C,aAAa,GAAkB,IAAI,CAAC;IAE3C,8EAA8E;IACtE,MAAM,CAAC,MAAM,CAAC,CAAS;QAC7B,OAAO,iEAAiE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CACtB,SAAiB,EACjB,IAAY,EACZ,OAAuB;QAEvB,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAoE,EAAE,CACtE,CAAC,CAAC,IAAI,KAAK,MAAM,CACpB,CAAC;QAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qCAAqC;QACrC,MAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,kEAAkE;QAClE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC3D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;wBACpC,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE,iBAAiB;gCAC7B,IAAI;6BACL;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,OAAO;4BACb,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE,SAAS;gCACrB,IAAI;6BACL;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE;YAC3C,kBAAkB,EAAE,IAAI;YACxB,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,KAAK,SAAS,CAAC,CAAC,GAAG;YACjB,MAAM,OAAO,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAEO,cAAc,CAAC,SAAiB,EAAE,OAAuB;QAC/D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAQ;YACrB,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjD,CAAC;QACF,sEAAsE;QACtE,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,SAAiB,EACjB,IAAY,EACZ,OAAuB;QAEvB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpE,MAAM,QAAQ,GAAG,OAAO,CAAC;YACvB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC1B,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;wBACvC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzC,CAAC;oBACD,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC5D,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC;wBACpC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACnC,wEAAwE;wBACxE,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;4BACjC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC;4BACjE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;oBACD,4EAA4E;oBAC5E,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU;wBAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,UAAU,IAAI,kBAAkB,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,CAAC,YAAY,CACjB,SAAiB,EACjB,IAAY,EACZ,OAAuB;QAEvB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpE,MAAM,QAAQ,GAAG,OAAO,CAAC;YACvB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEvC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,QAAQ,EAAE,CAAC;gBACX,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBAC7E,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC1B,gBAAgB,GAAG,IAAI,CAAC;4BACxB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC9C,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACrC,MAAM;gCACJ,IAAI,EAAE,UAAU;gCAChB,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG;6BAC3B,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,iCAAiC;oBACjC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;wBACvC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzC,CAAC;oBACD,4CAA4C;oBAC5C,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC5D,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC;wBACpC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACnC,wEAAwE;wBACxE,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;4BACjC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC;4BACjE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;oBACD,6EAA6E;oBAC7E,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC9C,CAAC;oBACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,cAAc,CAAC,IAAI,CAAC,wCAAwC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB;QAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACjC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAQ,EAAE,WAAsB;QAClD,MAAM,MAAM,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,2BAA2B;IAE3B,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,qFAAqF,CACtF,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAAiB;QAEjB,IAAI,CAAC;YACH,IAAI,YAAgC,CAAC;YAErC,MAAM,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM,EAAE,sCAAsC;gBAC9C,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAC9D,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,CAAC;iBACZ;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBAC5C,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAc,EAAE,CAAC;YAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAC9D,QAAQ,EAAE,CAAC;iBACZ;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kDAAkD;IAElD;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,WAAmB;QACjE,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC;YACvB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBAC9D,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;4BAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;oBACtD,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU;wBAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,cAAc,CACxB,SAAS,EACT,qBAAqB,IAAI,iFAAiF,CAC3G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,oCAAoC,KAAK,uGAAuG,CACjJ,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,wCAAwC,OAAO,iKAAiK,CACjN,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACvG,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACtC,SAAS,EACT,0GAA0G,CAC3G,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,OAAe;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAC9B,SAAS,EACT,+CAA+C,OAAO,EAAE,CACzD,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,cAAc;QAClB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,GAAG;SACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO;YACL,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YAC/C,WAAW,EAAE,UAAU,EAAE,cAAc;SACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE;gBACL,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,EAAE,IAAI,CAAC,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAE7C,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+CAA+C,EAAE;oBACvE,OAAO,EAAE;wBACP,WAAW,EAAE,MAAM;wBACnB,mBAAmB,EAAE,YAAY;qBAClC;iBACF,CAAC,CAAC;gBAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAS,CAAC;oBACrC,MAAM,MAAM,GAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBAC/D,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE;wBAC5B,QAAQ,EAAE,WAAW;wBACrB,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtC,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;wBAAE,OAAO,MAAM,CAAC;gBACvC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,YAAY;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI;YACJ,MAAM,EAAE,WAAoB;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,MAAuB;QACtD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;gBACxB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBAClC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpC,GAAG,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;gBACxB,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,OAAO;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -11,6 +11,12 @@ export declare class CodexProvider implements Provider {
11
11
  listSessions(): Promise<SessionInfo[]>;
12
12
  getSession(id: string): Promise<Session | null>;
13
13
  deleteSession(id: string): Promise<boolean>;
14
+ /**
15
+ * Build the input parameter for the Codex SDK.
16
+ * If parts contain images, writes them to temp files and returns UserInput[]
17
+ * with local_image entries. Otherwise returns the plain text string.
18
+ */
19
+ private buildInput;
14
20
  private getOrResumeThread;
15
21
  prompt(sessionId: string, text: string, options?: PromptOptions): Promise<PromptResult>;
16
22
  promptStream(sessionId: string, text: string, options?: PromptOptions): AsyncGenerator<StreamChunk>;