@just-every/ensemble 0.2.224 → 0.2.226

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 (31) hide show
  1. package/dist/cjs/data/model_data.cjs +42 -9
  2. package/dist/cjs/data/model_data.d.ts.map +1 -1
  3. package/dist/cjs/data/model_data.js.map +1 -1
  4. package/dist/cjs/model_providers/codex.cjs +167 -27
  5. package/dist/cjs/model_providers/codex.d.ts +2 -1
  6. package/dist/cjs/model_providers/codex.d.ts.map +1 -1
  7. package/dist/cjs/model_providers/codex.js.map +1 -1
  8. package/dist/cjs/model_providers/codex_assets.cjs +219 -0
  9. package/dist/cjs/model_providers/codex_assets.d.ts +19 -0
  10. package/dist/cjs/model_providers/codex_assets.d.ts.map +1 -0
  11. package/dist/cjs/model_providers/codex_assets.js.map +1 -0
  12. package/dist/cjs/model_providers/grok.cjs +5 -0
  13. package/dist/cjs/model_providers/grok.d.ts.map +1 -1
  14. package/dist/cjs/model_providers/grok.js.map +1 -1
  15. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  16. package/dist/data/model_data.d.ts.map +1 -1
  17. package/dist/data/model_data.js +42 -9
  18. package/dist/data/model_data.js.map +1 -1
  19. package/dist/model_providers/codex.d.ts +2 -1
  20. package/dist/model_providers/codex.d.ts.map +1 -1
  21. package/dist/model_providers/codex.js +167 -27
  22. package/dist/model_providers/codex.js.map +1 -1
  23. package/dist/model_providers/codex_assets.d.ts +19 -0
  24. package/dist/model_providers/codex_assets.d.ts.map +1 -0
  25. package/dist/model_providers/codex_assets.js +209 -0
  26. package/dist/model_providers/codex_assets.js.map +1 -0
  27. package/dist/model_providers/grok.d.ts.map +1 -1
  28. package/dist/model_providers/grok.js +5 -0
  29. package/dist/model_providers/grok.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +1 -1
@@ -3,8 +3,23 @@ import { mkdtemp, readFile, rm, writeFile } from 'fs/promises';
3
3
  import { tmpdir, homedir } from 'os';
4
4
  import path from 'path';
5
5
  import { BaseModelProvider } from './base_provider.js';
6
+ import { costTracker } from '../utils/cost_tracker.js';
6
7
  import { log_llm_error, log_llm_request, log_llm_response } from '../utils/llm_logger.js';
8
+ import { CodexImageAttachmentWriter, listCodexGeneratedImages, newestFirst, readGeneratedCodexImages, } from './codex_assets.js';
7
9
  const CODEX_MODEL_PREFIX = 'codex-';
10
+ const CODEX_GPT_IMAGE_MODEL = 'codex-gpt-image-2';
11
+ const CODEX_IMAGE_GENERATION_OUTPUT_SCHEMA = {
12
+ type: 'object',
13
+ properties: {
14
+ images: {
15
+ type: 'array',
16
+ items: { type: 'string' },
17
+ minItems: 1,
18
+ },
19
+ },
20
+ required: ['images'],
21
+ additionalProperties: false,
22
+ };
8
23
  const CODEX_DISABLED_FEATURES = [
9
24
  'plugins',
10
25
  'apps',
@@ -81,52 +96,45 @@ function resolveCodexHome(settings) {
81
96
  }
82
97
  return path.join(homedir(), '.codex_zemaj');
83
98
  }
84
- function requireTextContent(content, context) {
85
- if (typeof content === 'string') {
86
- return content;
87
- }
88
- const textParts = [];
89
- for (const part of content) {
90
- if (part.type !== 'input_text') {
91
- throw new Error(`Codex provider v1 only supports text content; ${context} contains ${part.type}.`);
92
- }
93
- textParts.push(part.text);
94
- }
95
- return textParts.join('\n');
96
- }
97
- function serializeMessageForCodex(message) {
99
+ async function serializeMessageForCodex(message, imageWriter) {
98
100
  if (message.type === 'message') {
99
- const content = requireTextContent(message.content, `${message.role} message`);
101
+ const { text: content, images } = await imageWriter.collectContent(message.content, `${message.role} message`);
100
102
  if (message.role === 'system' || message.role === 'developer') {
101
- return { instruction: content };
103
+ return { instruction: content, images };
102
104
  }
103
- return { prompt: `${message.role.toUpperCase()}:\n${content}` };
105
+ return { prompt: `${message.role.toUpperCase()}:\n${content}`, images };
104
106
  }
105
107
  if (message.type === 'thinking') {
108
+ const { text: content, images } = await imageWriter.collectContent(message.content, 'thinking message');
106
109
  return {
107
- prompt: `ASSISTANT THINKING SUMMARY:\n${requireTextContent(message.content, 'thinking message')}`,
110
+ prompt: `ASSISTANT THINKING SUMMARY:\n${content}`,
111
+ images,
108
112
  };
109
113
  }
110
114
  if (message.type === 'function_call') {
111
115
  return {
112
116
  prompt: `ASSISTANT TOOL CALL ${message.name}:\n${message.arguments}`,
117
+ images: [],
113
118
  };
114
119
  }
115
120
  if (message.type === 'function_call_output') {
116
121
  return {
117
122
  prompt: `TOOL OUTPUT ${message.name ?? message.call_id}:\n${message.output}`,
123
+ images: [],
118
124
  };
119
125
  }
120
- return { prompt: JSON.stringify(message) };
126
+ return { prompt: JSON.stringify(message), images: [] };
121
127
  }
122
- function buildCodexInput(messages, agent) {
128
+ async function buildCodexInput(messages, agent, imageWriter) {
123
129
  const instructions = [];
124
130
  const prompt = [];
131
+ const images = [];
125
132
  if (agent.instructions?.trim()) {
126
133
  instructions.push(agent.instructions.trim());
127
134
  }
128
135
  for (const message of messages) {
129
- const serialized = serializeMessageForCodex(message);
136
+ const serialized = await serializeMessageForCodex(message, imageWriter);
137
+ images.push(...serialized.images);
130
138
  if (serialized.instruction?.trim()) {
131
139
  instructions.push(serialized.instruction.trim());
132
140
  }
@@ -137,6 +145,7 @@ function buildCodexInput(messages, agent) {
137
145
  return {
138
146
  instructions: instructions.join('\n\n'),
139
147
  prompt: prompt.length > 0 ? prompt.join('\n\n') : 'Please proceed.',
148
+ images,
140
149
  };
141
150
  }
142
151
  function normalizeLastMessageContent(rawContent, structured) {
@@ -166,6 +175,9 @@ function createAbortError() {
166
175
  error.code = 'ABORT_ERR';
167
176
  return error;
168
177
  }
178
+ function isBrokenPipeError(error) {
179
+ return error instanceof Error && error.code === 'EPIPE';
180
+ }
169
181
  async function runCodexExec(options) {
170
182
  if (options.abortSignal?.aborted) {
171
183
  throw createAbortError();
@@ -208,6 +220,24 @@ async function runCodexExec(options) {
208
220
  child.stderr?.on('data', chunk => {
209
221
  stderr += Buffer.isBuffer(chunk) ? chunk.toString('utf8') : String(chunk);
210
222
  });
223
+ child.stdout?.once('error', error => {
224
+ if (isBrokenPipeError(error)) {
225
+ return;
226
+ }
227
+ finish(error);
228
+ });
229
+ child.stderr?.once('error', error => {
230
+ if (isBrokenPipeError(error)) {
231
+ return;
232
+ }
233
+ finish(error);
234
+ });
235
+ child.stdin?.once('error', error => {
236
+ if (isBrokenPipeError(error)) {
237
+ return;
238
+ }
239
+ finish(error);
240
+ });
211
241
  child.once('error', error => {
212
242
  finish(error);
213
243
  });
@@ -223,10 +253,20 @@ async function runCodexExec(options) {
223
253
  }
224
254
  finish();
225
255
  });
226
- child.stdin?.end(options.prompt);
256
+ try {
257
+ child.stdin?.end(options.prompt);
258
+ }
259
+ catch (error) {
260
+ if (!isBrokenPipeError(error)) {
261
+ finish(error instanceof Error ? error : new Error(String(error)));
262
+ }
263
+ }
227
264
  });
228
265
  return { stdout, stderr };
229
266
  }
267
+ function disabledFeatureArgs(allowImageGeneration = false) {
268
+ return CODEX_DISABLED_FEATURES.filter(feature => !(allowImageGeneration && feature === 'image_generation')).flatMap(feature => ['--disable', feature]);
269
+ }
230
270
  async function executeCodexRequest(messages, model, agent, requestId) {
231
271
  if (agent.tools?.length || agent.getTools || agent.processToolCall || agent.params || agent.processParams) {
232
272
  throw new Error('Codex provider v1 does not support tool requests.');
@@ -235,13 +275,17 @@ async function executeCodexRequest(messages, model, agent, requestId) {
235
275
  const { model: codexModel, effort } = resolveCodexModel(model, settings);
236
276
  const codexHome = resolveCodexHome(settings);
237
277
  const cwd = agent.cwd || process.cwd();
238
- const { instructions, prompt } = buildCodexInput(messages, agent);
239
278
  const tempDir = await mkdtemp(path.join(tmpdir(), 'ensemble-codex-'));
279
+ const imageWriter = new CodexImageAttachmentWriter(tempDir, cwd);
280
+ const { instructions, prompt, images } = await buildCodexInput(messages, agent, imageWriter);
281
+ const hasInstructions = instructions.trim().length > 0;
240
282
  const instructionsPath = path.join(tempDir, 'instructions.md');
241
283
  const lastMessagePath = path.join(tempDir, 'last-message.json');
242
284
  const schemaPath = settings?.json_schema?.schema ? path.join(tempDir, 'schema.json') : undefined;
243
285
  try {
244
- await writeFile(instructionsPath, instructions, 'utf8');
286
+ if (hasInstructions) {
287
+ await writeFile(instructionsPath, instructions, 'utf8');
288
+ }
245
289
  if (schemaPath) {
246
290
  await writeFile(schemaPath, JSON.stringify(settings.json_schema.schema, null, 2), 'utf8');
247
291
  }
@@ -250,14 +294,14 @@ async function executeCodexRequest(messages, model, agent, requestId) {
250
294
  '--ephemeral',
251
295
  '--ignore-user-config',
252
296
  '--ignore-rules',
253
- ...CODEX_DISABLED_FEATURES.flatMap(feature => ['--disable', feature]),
297
+ ...disabledFeatureArgs(),
254
298
  '-m',
255
299
  codexModel,
256
300
  '-c',
257
301
  `model_reasoning_effort=${JSON.stringify(effort)}`,
258
- '-c',
259
- `model_instructions_file=${JSON.stringify(instructionsPath)}`,
302
+ ...(hasInstructions ? ['-c', `model_instructions_file=${JSON.stringify(instructionsPath)}`] : []),
260
303
  ...(schemaPath ? ['--output-schema', schemaPath] : []),
304
+ ...(images.length > 0 ? ['--image', images.join(',')] : []),
261
305
  '--output-last-message',
262
306
  lastMessagePath,
263
307
  '--cd',
@@ -269,6 +313,7 @@ async function executeCodexRequest(messages, model, agent, requestId) {
269
313
  args: commandArgs,
270
314
  cwd,
271
315
  prompt,
316
+ images,
272
317
  schema: settings?.json_schema?.schema,
273
318
  }, new Date(), requestId, agent.tags);
274
319
  await runCodexExec({
@@ -300,6 +345,98 @@ async function executeCodexRequest(messages, model, agent, requestId) {
300
345
  await rm(tempDir, { recursive: true, force: true });
301
346
  }
302
347
  }
348
+ function buildCodexImagePrompt(prompt, opts = {}) {
349
+ const count = opts.n && opts.n > 0 ? Math.floor(opts.n) : 1;
350
+ const details = [
351
+ '$imagegen',
352
+ `Generate ${count} image${count === 1 ? '' : 's'} for this request.`,
353
+ opts.source_images ? 'Use the attached image input(s) as reference material for the generation or edit.' : undefined,
354
+ opts.size ? `Requested size or aspect ratio: ${opts.size}.` : undefined,
355
+ opts.quality ? `Requested quality: ${opts.quality}.` : undefined,
356
+ opts.background ? `Requested background: ${opts.background}.` : undefined,
357
+ opts.input_fidelity ? `Requested input fidelity: ${opts.input_fidelity}.` : undefined,
358
+ 'Return only JSON matching the supplied schema. The images array must contain generated image file paths, data URLs, or HTTPS URLs.',
359
+ '',
360
+ prompt,
361
+ ].filter(Boolean);
362
+ return details.join('\n');
363
+ }
364
+ async function executeCodexImageGeneration(prompt, model, agent, opts = {}) {
365
+ if (model !== CODEX_GPT_IMAGE_MODEL) {
366
+ throw new Error(`Codex image generation only supports ${CODEX_GPT_IMAGE_MODEL}.`);
367
+ }
368
+ if (opts.mask) {
369
+ throw new Error('Codex image generation does not support mask inputs through Ensemble.');
370
+ }
371
+ const settings = agent.modelSettings;
372
+ const codexHome = resolveCodexHome(settings);
373
+ const cwd = agent.cwd || process.cwd();
374
+ const tempDir = await mkdtemp(path.join(tmpdir(), 'ensemble-codex-image-'));
375
+ const imageWriter = new CodexImageAttachmentWriter(tempDir, cwd);
376
+ const lastMessagePath = path.join(tempDir, 'last-message.json');
377
+ const schemaPath = path.join(tempDir, 'image-output-schema.json');
378
+ try {
379
+ const images = await imageWriter.materializeSourceImages(opts.source_images);
380
+ await writeFile(schemaPath, JSON.stringify(CODEX_IMAGE_GENERATION_OUTPUT_SCHEMA, null, 2), 'utf8');
381
+ const beforeGeneratedImages = new Set(await listCodexGeneratedImages(codexHome));
382
+ const commandArgs = [
383
+ 'exec',
384
+ '--ephemeral',
385
+ '--ignore-user-config',
386
+ '--ignore-rules',
387
+ ...disabledFeatureArgs(true),
388
+ '--output-schema',
389
+ schemaPath,
390
+ ...(images.length > 0 ? ['--image', images.join(',')] : []),
391
+ '--output-last-message',
392
+ lastMessagePath,
393
+ '--cd',
394
+ cwd,
395
+ '-',
396
+ ];
397
+ const codexPrompt = buildCodexImagePrompt(prompt, opts);
398
+ const loggedRequestId = log_llm_request(agent.agent_id || 'default', 'codex', model, {
399
+ command: 'codex',
400
+ args: commandArgs,
401
+ cwd,
402
+ prompt: codexPrompt,
403
+ images,
404
+ schema: CODEX_IMAGE_GENERATION_OUTPUT_SCHEMA,
405
+ }, new Date(), opts.request_id, agent.tags);
406
+ await runCodexExec({
407
+ commandArgs,
408
+ cwd,
409
+ env: {
410
+ ...process.env,
411
+ CODEX_HOME: codexHome,
412
+ },
413
+ prompt: codexPrompt,
414
+ abortSignal: agent.abortSignal,
415
+ });
416
+ const rawLastMessage = await readFile(lastMessagePath, 'utf8');
417
+ const afterGeneratedImages = await listCodexGeneratedImages(codexHome);
418
+ const newGeneratedImages = await newestFirst(afterGeneratedImages.filter(filePath => !beforeGeneratedImages.has(filePath)));
419
+ const generatedImages = await readGeneratedCodexImages(rawLastMessage, cwd, newGeneratedImages);
420
+ log_llm_response(loggedRequestId, { image_count: generatedImages.length, images: generatedImages });
421
+ costTracker.addUsage({
422
+ model,
423
+ image_count: generatedImages.length,
424
+ request_id: opts.request_id,
425
+ metadata: {
426
+ source: 'codex',
427
+ billing: 'codex_usage',
428
+ },
429
+ });
430
+ return generatedImages;
431
+ }
432
+ catch (error) {
433
+ log_llm_error(opts.request_id, error);
434
+ throw error;
435
+ }
436
+ finally {
437
+ await rm(tempDir, { recursive: true, force: true });
438
+ }
439
+ }
303
440
  export class CodexProvider extends BaseModelProvider {
304
441
  constructor() {
305
442
  super('codex');
@@ -329,6 +466,9 @@ export class CodexProvider extends BaseModelProvider {
329
466
  };
330
467
  }
331
468
  }
469
+ async createImage(prompt, model, agent, opts = {}) {
470
+ return executeCodexImageGeneration(prompt, model, agent, opts);
471
+ }
332
472
  }
333
473
  export const codexProvider = new CodexProvider();
334
474
  //# sourceMappingURL=codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../model_providers/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../model_providers/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AASvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EACH,0BAA0B,EAC1B,wBAAwB,EACxB,WAAW,EACX,wBAAwB,GAC3B,MAAM,mBAAmB,CAAC;AAK3B,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AACpC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,oCAAoC,GAAG;IACzC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,MAAM,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,QAAQ,EAAE,CAAC;SACd;KACJ;IACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpB,oBAAoB,EAAE,KAAK;CAC9B,CAAC;AACF,MAAM,uBAAuB,GAAG;IAC5B,SAAS;IACT,MAAM;IACN,aAAa;IACb,UAAU;IACV,aAAa;IACb,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,aAAa;IACb,cAAc;IACd,wBAAwB;IACxB,OAAO;IACP,aAAa;CACP,CAAC;AAEX,MAAM,yBAAyB,GAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAErH,SAAS,mBAAmB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,kCAAkC,CAAC,MAAc;IACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAiC;IAC/D,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,KAAa,EACb,QAAwB;IAExB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,qDAAqD,kBAAkB,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,MAAwC,CAAC;IAE7C,KAAK,MAAM,SAAS,IAAI,yBAAyB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM;QACV,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,GAAG,kCAAkC,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACH,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,MAAM,IAAI,QAAQ;KAC7B,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAwB;IAC9C,MAAM,cAAc,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IACvD,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,wBAAwB,CACnC,OAA0B,EAC1B,WAAuC;IAEvC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC;QAC/G,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACxG,OAAO;YACH,MAAM,EAAE,gCAAgC,OAAO,EAAE;YACjD,MAAM;SACT,CAAC;IACN,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,OAAO;YACH,MAAM,EAAE,uBAAuB,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,SAAS,EAAE;YACpE,MAAM,EAAE,EAAE;SACb,CAAC;IACN,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC1C,OAAO;YACH,MAAM,EAAE,eAAe,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE;YAC5E,MAAM,EAAE,EAAE;SACb,CAAC;IACN,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,QAAuB,EACvB,KAAsB,EACtB,WAAuC;IAEvC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,OAAO;QACH,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB;QACnE,MAAM;KACT,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,UAAkB,EAAE,UAAmB;IACxE,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpG,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB;IACrB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAA8B,CAAC;IACnF,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;IACzB,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACrC,OAAO,KAAK,YAAY,KAAK,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC;AACvF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAM3B;IACG,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,gBAAgB,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,UAA6B,CAAC;QAElC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;YAC9C,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;YAC7B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,UAAU,GAAG,gBAAgB,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAChC,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAChC,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC/B,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACjC,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnB,OAAO;YACX,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;gBACtG,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,OAAO,GAAG,CAAC,CAAC,CAAC;gBACvD,OAAO;YACX,CAAC;YACD,MAAM,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,oBAAoB,GAAG,KAAK;IACrD,OAAO,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAC/G,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CACpC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,mBAAmB,CAC9B,QAAuB,EACvB,KAAa,EACb,KAAsB,EACtB,SAAkB;IAElB,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxG,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7F,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,IAAI,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,gBAAgB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAS,CAAC,WAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,WAAW,GAAG;YAChB,MAAM;YACN,aAAa;YACb,sBAAsB;YACtB,gBAAgB;YAChB,GAAG,mBAAmB,EAAE;YACxB,IAAI;YACJ,UAAU;YACV,IAAI;YACJ,0BAA0B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAClD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,uBAAuB;YACvB,eAAe;YACf,MAAM;YACN,GAAG;YACH,GAAG;SACN,CAAC;QAEF,MAAM,eAAe,GAAG,eAAe,CACnC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAC3B,OAAO,EACP,UAAU,EACV;YACI,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,WAAW;YACjB,GAAG;YACH,MAAM;YACN,MAAM;YACN,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM;SACxC,EACD,IAAI,IAAI,EAAE,EACV,SAAS,EACT,KAAK,CAAC,IAAI,CACb,CAAC;QAEF,MAAM,YAAY,CAAC;YACf,WAAW;YACX,GAAG;YACH,GAAG,EAAE;gBACD,GAAG,OAAO,CAAC,GAAG;gBACd,UAAU,EAAE,SAAS;aACxB;YACD,MAAM;YACN,WAAW,EAAE,KAAK,CAAC,WAAW;SACjC,CAAC,CAAC;QAEH,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,cAAc,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACX,oEACI,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACzD,EAAE,EACF,EAAE,KAAK,EAAE,KAAK,EAAE,CACnB,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACjF,gBAAgB,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChC,MAAM,KAAK,CAAC;IAChB,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc,EAAE,OAA4B,EAAE;IACzE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG;QACZ,WAAW;QACX,YAAY,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,oBAAoB;QACpE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,mFAAmF,CAAC,CAAC,CAAC,SAAS;QACpH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS;QACvE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS;QAChE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,SAAS;QACzE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,SAAS;QACrF,oIAAoI;QACpI,EAAE;QACF,MAAM;KACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,2BAA2B,CACtC,MAAc,EACd,KAAa,EACb,KAAsB,EACtB,OAA4B,EAAE;IAE9B,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,wCAAwC,qBAAqB,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC;IACrC,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,IAAI,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAElE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7E,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,oCAAoC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAEnG,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG;YAChB,MAAM;YACN,aAAa;YACb,sBAAsB;YACtB,gBAAgB;YAChB,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAC5B,iBAAiB;YACjB,UAAU;YACV,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,uBAAuB;YACvB,eAAe;YACf,MAAM;YACN,GAAG;YACH,GAAG;SACN,CAAC;QACF,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,eAAe,CACnC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAC3B,OAAO,EACP,KAAK,EACL;YACI,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,WAAW;YACjB,GAAG;YACH,MAAM,EAAE,WAAW;YACnB,MAAM;YACN,MAAM,EAAE,oCAAoC;SAC/C,EACD,IAAI,IAAI,EAAE,EACV,IAAI,CAAC,UAAU,EACf,KAAK,CAAC,IAAI,CACb,CAAC;QAEF,MAAM,YAAY,CAAC;YACf,WAAW;YACX,GAAG;YACH,GAAG,EAAE;gBACD,GAAG,OAAO,CAAC,GAAG;gBACd,UAAU,EAAE,SAAS;aACxB;YACD,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,KAAK,CAAC,WAAW;SACjC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5H,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,cAAc,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAChG,gBAAgB,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QACpG,WAAW,CAAC,QAAQ,CAAC;YACjB,KAAK;YACL,WAAW,EAAE,eAAe,CAAC,MAAM;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE;gBACN,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,aAAa;aACzB;SACJ,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC;IAChB,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;AACL,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAChD;QACI,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,CAAC,oBAAoB,CACvB,QAAuB,EACvB,KAAa,EACb,KAAsB,EACtB,SAAkB;QAElB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC7E,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM;oBACF,IAAI,EAAE,eAAe;oBACrB,OAAO;oBACP,UAAU,EAAE,SAAS;iBACxB,CAAC;YACN,CAAC;YACD,MAAM;gBACF,IAAI,EAAE,kBAAkB;gBACxB,OAAO;gBACP,UAAU,EAAE,SAAS;aACxB,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM;gBACF,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,WAAW,EAAE,KAAK;aACrB,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACb,MAAc,EACd,KAAa,EACb,KAAsB,EACtB,OAA4B,EAAE;QAE9B,OAAO,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ImageGenerationOpts, ResponseContent } from '../types/types.js';
2
+ export declare class CodexImageAttachmentWriter {
3
+ private readonly tempDir;
4
+ private readonly cwd;
5
+ private index;
6
+ constructor(tempDir: string, cwd: string);
7
+ collectContent(content: ResponseContent, context: string): Promise<{
8
+ text: string;
9
+ images: string[];
10
+ }>;
11
+ materializeSourceImages(sourceImages: ImageGenerationOpts['source_images']): Promise<string[]>;
12
+ private materializeImageDataPart;
13
+ private materializeImageString;
14
+ private writeImageBuffer;
15
+ }
16
+ export declare function listCodexGeneratedImages(codexHome: string): Promise<string[]>;
17
+ export declare function readGeneratedCodexImages(rawContent: string, cwd: string, newGeneratedImagePaths?: string[]): Promise<string[]>;
18
+ export declare function newestFirst(paths: string[]): Promise<string[]>;
19
+ //# sourceMappingURL=codex_assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex_assets.d.ts","sourceRoot":"","sources":["../../model_providers/codex_assets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAA4B,MAAM,mBAAmB,CAAC;AAkCxG,qBAAa,0BAA0B;IAI/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJxB,OAAO,CAAC,KAAK,CAAK;gBAGG,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM;IAG1B,cAAc,CAChB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAoCxC,uBAAuB,CAAC,YAAY,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAmBtF,wBAAwB;YAqBxB,sBAAsB;YA2BtB,gBAAgB;CAKjC;AAED,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BnF;AAED,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,sBAAsB,GAAE,MAAM,EAAO,GACtC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB;AA8BD,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpE"}
@@ -0,0 +1,209 @@
1
+ import { access, readdir, readFile, stat, writeFile } from 'fs/promises';
2
+ import path from 'path';
3
+ import { isValidBase64 } from '../utils/image_validation.js';
4
+ const DATA_URL_PATTERN = /^data:([^;]+);base64,(.+)$/i;
5
+ function isHttpUrl(value) {
6
+ return value.startsWith('http://') || value.startsWith('https://');
7
+ }
8
+ function mimeExtension(mimeType) {
9
+ if (mimeType === 'image/jpeg' || mimeType === 'image/jpg')
10
+ return 'jpg';
11
+ if (mimeType === 'image/webp')
12
+ return 'webp';
13
+ if (mimeType === 'image/gif')
14
+ return 'gif';
15
+ return 'png';
16
+ }
17
+ function mimeFromPath(filePath) {
18
+ const ext = path.extname(filePath).toLowerCase();
19
+ if (ext === '.jpg' || ext === '.jpeg')
20
+ return 'image/jpeg';
21
+ if (ext === '.webp')
22
+ return 'image/webp';
23
+ if (ext === '.gif')
24
+ return 'image/gif';
25
+ return 'image/png';
26
+ }
27
+ async function existingLocalPath(value, cwd) {
28
+ const resolved = path.isAbsolute(value) ? value : path.resolve(cwd, value);
29
+ try {
30
+ await access(resolved);
31
+ return resolved;
32
+ }
33
+ catch {
34
+ return undefined;
35
+ }
36
+ }
37
+ export class CodexImageAttachmentWriter {
38
+ tempDir;
39
+ cwd;
40
+ index = 0;
41
+ constructor(tempDir, cwd) {
42
+ this.tempDir = tempDir;
43
+ this.cwd = cwd;
44
+ }
45
+ async collectContent(content, context) {
46
+ if (typeof content === 'string') {
47
+ return { text: content, images: [] };
48
+ }
49
+ const textParts = [];
50
+ const images = [];
51
+ for (const part of content) {
52
+ if (part.type === 'input_text') {
53
+ textParts.push(part.text);
54
+ continue;
55
+ }
56
+ if (part.type === 'input_image') {
57
+ if (part.file_id) {
58
+ throw new Error(`Codex provider does not support file_id image inputs; ${context} contains file_id.`);
59
+ }
60
+ if (!part.image_url) {
61
+ throw new Error(`Codex provider image input is missing image_url; ${context}.`);
62
+ }
63
+ images.push(await this.materializeImageString(part.image_url));
64
+ continue;
65
+ }
66
+ if (part.type === 'image') {
67
+ images.push(await this.materializeImageDataPart(part));
68
+ continue;
69
+ }
70
+ throw new Error(`Codex provider only supports text and image content; ${context} contains ${part.type}.`);
71
+ }
72
+ return { text: textParts.join('\n'), images };
73
+ }
74
+ async materializeSourceImages(sourceImages) {
75
+ if (!sourceImages) {
76
+ return [];
77
+ }
78
+ const images = Array.isArray(sourceImages) ? sourceImages : [sourceImages];
79
+ const paths = [];
80
+ for (const image of images) {
81
+ if (typeof image === 'string') {
82
+ paths.push(await this.materializeImageString(image));
83
+ }
84
+ else {
85
+ paths.push(await this.materializeImageString(image.data));
86
+ }
87
+ }
88
+ return paths;
89
+ }
90
+ async materializeImageDataPart(part) {
91
+ if (part.file_id) {
92
+ throw new Error('Codex provider does not support file_id image inputs.');
93
+ }
94
+ if (part.url) {
95
+ return this.materializeImageString(part.url, part.mime_type);
96
+ }
97
+ if (part.data === undefined) {
98
+ throw new Error('Codex provider image content requires data or url.');
99
+ }
100
+ if (typeof part.data === 'string') {
101
+ return this.materializeImageString(part.data, part.mime_type);
102
+ }
103
+ const buffer = part.data instanceof Uint8Array
104
+ ? Buffer.from(part.data)
105
+ : Buffer.from(new Uint8Array(part.data));
106
+ return this.writeImageBuffer(buffer, part.mime_type || 'image/png');
107
+ }
108
+ async materializeImageString(value, mimeType) {
109
+ const dataUrlMatch = DATA_URL_PATTERN.exec(value);
110
+ if (dataUrlMatch) {
111
+ return this.writeImageBuffer(Buffer.from(dataUrlMatch[2], 'base64'), dataUrlMatch[1]);
112
+ }
113
+ if (isHttpUrl(value)) {
114
+ const response = await fetch(value);
115
+ if (!response.ok) {
116
+ throw new Error(`Codex provider failed to fetch image ${value}: ${response.status} ${response.statusText}`);
117
+ }
118
+ const responseMime = response.headers.get('content-type') || mimeType || 'image/png';
119
+ return this.writeImageBuffer(Buffer.from(await response.arrayBuffer()), responseMime);
120
+ }
121
+ const localPath = await existingLocalPath(value, this.cwd);
122
+ if (localPath) {
123
+ return localPath;
124
+ }
125
+ if (isValidBase64(value)) {
126
+ return this.writeImageBuffer(Buffer.from(value, 'base64'), mimeType || 'image/png');
127
+ }
128
+ throw new Error('Codex provider image input must be a local file path, URL, data URL, or base64 image data.');
129
+ }
130
+ async writeImageBuffer(buffer, mimeType) {
131
+ const filePath = path.join(this.tempDir, `image-${this.index++}.${mimeExtension(mimeType)}`);
132
+ await writeFile(filePath, buffer);
133
+ return filePath;
134
+ }
135
+ }
136
+ export async function listCodexGeneratedImages(codexHome) {
137
+ const root = path.join(codexHome, 'generated_images');
138
+ const images = [];
139
+ async function walk(dir) {
140
+ let entries;
141
+ try {
142
+ entries = await readdir(dir, { withFileTypes: true });
143
+ }
144
+ catch (error) {
145
+ if (error.code === 'ENOENT') {
146
+ return;
147
+ }
148
+ throw error;
149
+ }
150
+ for (const entry of entries) {
151
+ const entryPath = path.join(dir, entry.name);
152
+ if (entry.isDirectory()) {
153
+ await walk(entryPath);
154
+ }
155
+ else if (entry.isFile() && /\.(png|jpe?g|webp|gif)$/i.test(entry.name)) {
156
+ images.push(entryPath);
157
+ }
158
+ }
159
+ }
160
+ await walk(root);
161
+ return images;
162
+ }
163
+ export async function readGeneratedCodexImages(rawContent, cwd, newGeneratedImagePaths = []) {
164
+ const parsed = JSON.parse(rawContent.trim());
165
+ if (!parsed || typeof parsed !== 'object' || !Array.isArray(parsed.images)) {
166
+ throw new Error('Codex image generation response must be JSON with an images array.');
167
+ }
168
+ const images = [];
169
+ const unusedGeneratedImages = [...newGeneratedImagePaths];
170
+ for (const image of parsed.images) {
171
+ if (typeof image !== 'string' || !image.trim()) {
172
+ throw new Error('Codex image generation response images must be non-empty strings.');
173
+ }
174
+ images.push(await normalizeGeneratedImageReference(image.trim(), cwd, unusedGeneratedImages));
175
+ }
176
+ if (images.length === 0) {
177
+ throw new Error('Codex image generation response did not include any images.');
178
+ }
179
+ return images;
180
+ }
181
+ async function normalizeGeneratedImageReference(reference, cwd, unusedGeneratedImages) {
182
+ if (reference.startsWith('data:image/') || isHttpUrl(reference)) {
183
+ return reference;
184
+ }
185
+ const filePath = path.isAbsolute(reference) ? reference : path.resolve(cwd, reference);
186
+ try {
187
+ const data = await readFile(filePath);
188
+ return `data:${mimeFromPath(filePath)};base64,${data.toString('base64')}`;
189
+ }
190
+ catch (error) {
191
+ if (error.code !== 'ENOENT') {
192
+ throw error;
193
+ }
194
+ }
195
+ const generatedPath = unusedGeneratedImages.shift();
196
+ if (!generatedPath) {
197
+ throw new Error(`Codex image generation returned an unreadable image path: ${reference}`);
198
+ }
199
+ const data = await readFile(generatedPath);
200
+ return `data:${mimeFromPath(generatedPath)};base64,${data.toString('base64')}`;
201
+ }
202
+ export async function newestFirst(paths) {
203
+ const rows = await Promise.all(paths.map(async (filePath) => ({
204
+ filePath,
205
+ mtimeMs: (await stat(filePath)).mtimeMs,
206
+ })));
207
+ return rows.sort((a, b) => b.mtimeMs - a.mtimeMs).map(row => row.filePath);
208
+ }
209
+ //# sourceMappingURL=codex_assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex_assets.js","sourceRoot":"","sources":["../../model_providers/codex_assets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grok.d.ts","sourceRoot":"","sources":["../../model_providers/grok.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,QAAQ,CAAC;AA0H5B,qBAAa,YAAa,SAAQ,UAAU;;IAKxC,iBAAiB,CACb,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC,GAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC;IAgBxD,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,mBAAwB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC;CAqGvB;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
1
+ {"version":3,"file":"grok.d.ts","sourceRoot":"","sources":["../../model_providers/grok.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,QAAQ,CAAC;AA0H5B,qBAAa,YAAa,SAAQ,UAAU;;IAKxC,iBAAiB,CACb,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC,GAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC;IAuBxD,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,mBAAwB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC;CAqGvB;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -103,6 +103,11 @@ export class GrokProvider extends OpenAIChat {
103
103
  };
104
104
  }
105
105
  }
106
+ const reasoningEffort = requestParams.reasoning?.effort;
107
+ if (requestParams.model === 'grok-4.3' && reasoningEffort) {
108
+ requestParams.reasoning_effort = reasoningEffort;
109
+ delete requestParams.reasoning;
110
+ }
106
111
  return super.prepareParameters(requestParams);
107
112
  }
108
113
  async createImage(prompt, model, agent, opts = {}) {