@just-every/ensemble 0.2.240 → 0.2.241

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 (36) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/data/model_data.cjs +9 -0
  3. package/dist/cjs/data/model_data.d.ts.map +1 -1
  4. package/dist/cjs/data/model_data.js.map +1 -1
  5. package/dist/cjs/model_providers/codex.cjs +96 -22
  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/fal.cjs +49 -0
  9. package/dist/cjs/model_providers/fal.d.ts +1 -0
  10. package/dist/cjs/model_providers/fal.d.ts.map +1 -1
  11. package/dist/cjs/model_providers/fal.js.map +1 -1
  12. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  13. package/dist/cjs/types/types.d.ts +1 -0
  14. package/dist/cjs/types/types.d.ts.map +1 -1
  15. package/dist/cjs/utils/fal_flux_outpaint_pricing.cjs +43 -0
  16. package/dist/cjs/utils/fal_flux_outpaint_pricing.d.ts +17 -0
  17. package/dist/cjs/utils/fal_flux_outpaint_pricing.d.ts.map +1 -0
  18. package/dist/cjs/utils/fal_flux_outpaint_pricing.js.map +1 -0
  19. package/dist/data/model_data.d.ts.map +1 -1
  20. package/dist/data/model_data.js +9 -0
  21. package/dist/data/model_data.js.map +1 -1
  22. package/dist/model_providers/codex.d.ts.map +1 -1
  23. package/dist/model_providers/codex.js +96 -22
  24. package/dist/model_providers/codex.js.map +1 -1
  25. package/dist/model_providers/fal.d.ts +1 -0
  26. package/dist/model_providers/fal.d.ts.map +1 -1
  27. package/dist/model_providers/fal.js +49 -0
  28. package/dist/model_providers/fal.js.map +1 -1
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/dist/types/types.d.ts +1 -0
  31. package/dist/types/types.d.ts.map +1 -1
  32. package/dist/utils/fal_flux_outpaint_pricing.d.ts +17 -0
  33. package/dist/utils/fal_flux_outpaint_pricing.d.ts.map +1 -0
  34. package/dist/utils/fal_flux_outpaint_pricing.js +38 -0
  35. package/dist/utils/fal_flux_outpaint_pricing.js.map +1 -0
  36. package/package.json +1 -1
@@ -167,12 +167,61 @@ function createAbortError() {
167
167
  function isBrokenPipeError(error) {
168
168
  return error instanceof Error && error.code === 'EPIPE';
169
169
  }
170
+ const MAX_CODEX_EXEC_STREAM_LOG_CHARS = 20_000;
171
+ function summarizeCodexExecStream(value) {
172
+ if (value.length <= MAX_CODEX_EXEC_STREAM_LOG_CHARS) {
173
+ return {
174
+ text: value,
175
+ length: value.length,
176
+ truncated: false,
177
+ };
178
+ }
179
+ const half = Math.floor(MAX_CODEX_EXEC_STREAM_LOG_CHARS / 2);
180
+ return {
181
+ text: `${value.slice(0, half)}\n...[truncated ${value.length - MAX_CODEX_EXEC_STREAM_LOG_CHARS} chars]...\n${value.slice(-half)}`,
182
+ length: value.length,
183
+ truncated: true,
184
+ };
185
+ }
186
+ function serializeCodexExecError(error) {
187
+ if (!(error instanceof Error))
188
+ return error;
189
+ return {
190
+ name: error.name,
191
+ message: error.message,
192
+ stack: error.stack,
193
+ codex_exec: error.codex_exec,
194
+ };
195
+ }
170
196
  async function runCodexExec(options) {
171
197
  if (options.abortSignal?.aborted) {
172
198
  throw createAbortError();
173
199
  }
174
200
  let stdout = '';
175
201
  let stderr = '';
202
+ const startedMs = Date.now();
203
+ const diagnostics = {
204
+ command: 'codex',
205
+ args: [...options.commandArgs],
206
+ cwd: options.cwd,
207
+ pid: null,
208
+ started_at: new Date(startedMs).toISOString(),
209
+ closed_at: null,
210
+ duration_ms: null,
211
+ exit_code: null,
212
+ signal: null,
213
+ stdout: summarizeCodexExecStream(''),
214
+ stderr: summarizeCodexExecStream(''),
215
+ };
216
+ const refreshDiagnostics = (code = null, signal = null) => {
217
+ const closedMs = Date.now();
218
+ diagnostics.closed_at = new Date(closedMs).toISOString();
219
+ diagnostics.duration_ms = closedMs - startedMs;
220
+ diagnostics.exit_code = code;
221
+ diagnostics.signal = signal;
222
+ diagnostics.stdout = summarizeCodexExecStream(stdout);
223
+ diagnostics.stderr = summarizeCodexExecStream(stderr);
224
+ };
176
225
  await new Promise((resolve, reject) => {
177
226
  let settled = false;
178
227
  let abortError;
@@ -181,6 +230,7 @@ async function runCodexExec(options) {
181
230
  env: options.env,
182
231
  stdio: ['pipe', 'pipe', 'pipe'],
183
232
  });
233
+ diagnostics.pid = child.pid ?? null;
184
234
  const cleanup = () => {
185
235
  if (options.abortSignal) {
186
236
  options.abortSignal.removeEventListener('abort', onAbort);
@@ -192,6 +242,7 @@ async function runCodexExec(options) {
192
242
  settled = true;
193
243
  cleanup();
194
244
  if (error) {
245
+ error.codex_exec = diagnostics;
195
246
  reject(error);
196
247
  }
197
248
  else {
@@ -228,9 +279,11 @@ async function runCodexExec(options) {
228
279
  finish(error);
229
280
  });
230
281
  child.once('error', error => {
282
+ refreshDiagnostics();
231
283
  finish(error);
232
284
  });
233
285
  child.once('close', (code, signal) => {
286
+ refreshDiagnostics(code, signal);
234
287
  if (abortError) {
235
288
  finish(abortError);
236
289
  return;
@@ -251,7 +304,7 @@ async function runCodexExec(options) {
251
304
  }
252
305
  }
253
306
  });
254
- return { stdout, stderr };
307
+ return { stdout, stderr, diagnostics };
255
308
  }
256
309
  function disabledFeatureArgs(allowImageGeneration = false) {
257
310
  return CODEX_DISABLED_FEATURES.filter(feature => !(allowImageGeneration && feature === 'image_generation')).flatMap(feature => ['--disable', feature]);
@@ -306,16 +359,26 @@ async function executeCodexRequest(messages, model, agent, requestId) {
306
359
  images,
307
360
  schema: settings?.json_schema?.schema,
308
361
  }, new Date(), requestId, agent.tags);
309
- await runCodexExec({
310
- commandArgs,
311
- cwd,
312
- env: {
313
- ...process.env,
314
- CODEX_HOME: codexHome,
315
- },
316
- prompt,
317
- abortSignal: agent.abortSignal,
318
- });
362
+ let codexExecDiagnostics;
363
+ try {
364
+ codexExecDiagnostics = (await runCodexExec({
365
+ commandArgs,
366
+ cwd,
367
+ env: {
368
+ ...process.env,
369
+ CODEX_HOME: codexHome,
370
+ },
371
+ prompt,
372
+ abortSignal: agent.abortSignal,
373
+ })).diagnostics;
374
+ }
375
+ catch (error) {
376
+ log_llm_error(loggedRequestId, {
377
+ error: serializeCodexExecError(error),
378
+ codex_exec: error instanceof Error ? error.codex_exec : undefined,
379
+ });
380
+ throw error;
381
+ }
319
382
  let rawLastMessage;
320
383
  try {
321
384
  rawLastMessage = await readFile(lastMessagePath, 'utf8');
@@ -324,7 +387,7 @@ async function executeCodexRequest(messages, model, agent, requestId) {
324
387
  throw new Error(`Codex CLI did not write the expected --output-last-message file: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
325
388
  }
326
389
  const content = normalizeLastMessageContent(rawLastMessage, Boolean(schemaPath));
327
- log_llm_response(loggedRequestId, { content });
390
+ log_llm_response(loggedRequestId, { content, codex_exec: codexExecDiagnostics });
328
391
  return content;
329
392
  }
330
393
  catch (error) {
@@ -445,16 +508,26 @@ async function executeCodexImageGeneration(prompt, model, agent, opts = {}) {
445
508
  image_model: model,
446
509
  expected_image_count: expectedImageCount,
447
510
  }, new Date(), opts.request_id, agent.tags);
448
- await runCodexExec({
449
- commandArgs,
450
- cwd: outputDir,
451
- env: {
452
- ...process.env,
453
- CODEX_HOME: isolatedCodexHome,
454
- },
455
- prompt: codexPrompt,
456
- abortSignal: agent.abortSignal,
457
- });
511
+ let codexExecDiagnostics;
512
+ try {
513
+ codexExecDiagnostics = (await runCodexExec({
514
+ commandArgs,
515
+ cwd: outputDir,
516
+ env: {
517
+ ...process.env,
518
+ CODEX_HOME: isolatedCodexHome,
519
+ },
520
+ prompt: codexPrompt,
521
+ abortSignal: agent.abortSignal,
522
+ })).diagnostics;
523
+ }
524
+ catch (error) {
525
+ log_llm_error(loggedRequestId, {
526
+ error: serializeCodexExecError(error),
527
+ codex_exec: error instanceof Error ? error.codex_exec : undefined,
528
+ });
529
+ throw error;
530
+ }
458
531
  const rawLastMessage = await readFile(lastMessagePath, 'utf8');
459
532
  const responseImagePaths = await extractExistingCodexImagePaths(rawLastMessage, outputDir);
460
533
  const outputImagePaths = await newestFirst(await listCodexOutputImages(outputDir));
@@ -479,6 +552,7 @@ async function executeCodexImageGeneration(prompt, model, agent, opts = {}) {
479
552
  output_image_paths: outputImagePaths,
480
553
  codex_home_image_paths: generatedImagePaths,
481
554
  last_message: rawLastMessage.trim(),
555
+ codex_exec: codexExecDiagnostics,
482
556
  });
483
557
  costTracker.addUsage({
484
558
  model,
@@ -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":"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"}
@@ -7,6 +7,7 @@ export declare class FALProvider extends BaseModelProvider {
7
7
  private singleSourceImageUrl;
8
8
  private maskUrl;
9
9
  private buildImage2SvgBody;
10
+ private buildFlux2ProOutpaintBody;
10
11
  private sourceImageUrls;
11
12
  private buildIdeogramV3Body;
12
13
  private buildIdeogramV3EditBody;
@@ -1 +1 @@
1
- {"version":3,"file":"fal.d.ts","sourceRoot":"","sources":["../../model_providers/fal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAwDnG,qBAAa,WAAY,SAAQ,iBAAiB;;IAMvC,oBAAoB,IAAI,cAAc,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,SAAS;IA2CjB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,yBAAyB;IA2B3B,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,mBAAwB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC;CAkDvB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
1
+ {"version":3,"file":"fal.d.ts","sourceRoot":"","sources":["../../model_providers/fal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAiEnG,qBAAa,WAAY,SAAQ,iBAAiB;;IAMvC,oBAAoB,IAAI,cAAc,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,WAAW;IA2CnB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,yBAAyB;IAiCjC,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,SAAS;IA8CjB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,yBAAyB;IA2B3B,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,mBAAwB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC;CA6DvB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { BaseModelProvider } from './base_provider.js';
2
2
  import { findModel } from '../data/model_data.js';
3
3
  import { costTracker } from '../utils/cost_tracker.js';
4
+ import { calculateFalFlux2ProOutpaintCostFromImages } from '../utils/fal_flux_outpaint_pricing.js';
4
5
  import { normalizeImageDataUrl } from '../utils/image_utils.js';
5
6
  import { mapTransparentEditMaskForFalIdeogram } from '../utils/ideogram_mask.js';
6
7
  import { log_llm_error, log_llm_request, log_llm_response } from '../utils/llm_logger.js';
@@ -80,6 +81,11 @@ export class FALProvider extends BaseModelProvider {
80
81
  m === 'fal-ai-image-apps-v2-outpaint') {
81
82
  return { path: 'fal-ai/image-apps-v2/outpaint', bodyMode: 'outpaint' };
82
83
  }
84
+ if (m === 'fal-ai/flux-2-pro/outpaint' ||
85
+ m === 'fal-flux-2-pro-outpaint' ||
86
+ m === 'fal-ai-flux-2-pro-outpaint') {
87
+ return { path: 'fal-ai/flux-2-pro/outpaint', bodyMode: 'flux-2-pro-outpaint' };
88
+ }
83
89
  if (m.startsWith('recraft'))
84
90
  return { path: 'fal-ai/recraft/v3/text-to-image', bodyMode: 'top' };
85
91
  if (m.includes('runway') || m.includes('gen4'))
@@ -139,6 +145,36 @@ export class FALProvider extends BaseModelProvider {
139
145
  }
140
146
  return body;
141
147
  }
148
+ buildFlux2ProOutpaintBody(opts) {
149
+ const body = {
150
+ image_url: this.singleSourceImageUrl(opts, 'fal-ai/flux-2-pro/outpaint'),
151
+ };
152
+ if (opts.expand_left !== undefined) {
153
+ body.expand_left = opts.expand_left;
154
+ }
155
+ if (opts.expand_right !== undefined) {
156
+ body.expand_right = opts.expand_right;
157
+ }
158
+ if (opts.expand_top !== undefined) {
159
+ body.expand_top = opts.expand_top;
160
+ }
161
+ if (opts.expand_bottom !== undefined) {
162
+ body.expand_bottom = opts.expand_bottom;
163
+ }
164
+ if (opts.auto_crop !== undefined) {
165
+ body.auto_crop = opts.auto_crop;
166
+ }
167
+ if (opts.enable_safety_checker !== undefined) {
168
+ body.enable_safety_checker = opts.enable_safety_checker;
169
+ }
170
+ if (opts.output_format) {
171
+ body.output_format = opts.output_format;
172
+ }
173
+ if (opts?.response_format === 'b64_json') {
174
+ body.sync_mode = true;
175
+ }
176
+ return body;
177
+ }
142
178
  sourceImageUrls(opts) {
143
179
  const sourceImages = opts.source_images;
144
180
  if (!sourceImages)
@@ -256,6 +292,9 @@ export class FALProvider extends BaseModelProvider {
256
292
  if (bodyMode === 'outpaint') {
257
293
  return this.buildOutpaintBody(prompt, opts);
258
294
  }
295
+ if (bodyMode === 'flux-2-pro-outpaint') {
296
+ return this.buildFlux2ProOutpaintBody(opts);
297
+ }
259
298
  const size = mapImageSize(opts.size);
260
299
  const bodyInput = bodyMode === 'top' ? { prompt } : { input: { prompt } };
261
300
  if (size) {
@@ -334,6 +373,9 @@ export class FALProvider extends BaseModelProvider {
334
373
  if (!images.length)
335
374
  throw new Error('FAL: no image url in response');
336
375
  if (findModel(model)) {
376
+ const fluxOutpaintCost = bodyMode === 'flux-2-pro-outpaint'
377
+ ? calculateFalFlux2ProOutpaintCostFromImages(data?.images || data?.output?.images)
378
+ : null;
337
379
  const imageCount = bodyMode === 'outpaint' ? this.getOutpaintCostImageCount(data, images.length) : images.length;
338
380
  const renderingSpeed = bodyMode === 'ideogram-v3' || bodyMode === 'ideogram-v3-edit'
339
381
  ? mapIdeogramV3RenderingSpeed(opts.quality)
@@ -341,9 +383,16 @@ export class FALProvider extends BaseModelProvider {
341
383
  costTracker.addUsage({
342
384
  model,
343
385
  image_count: imageCount,
386
+ ...(fluxOutpaintCost ? { cost: fluxOutpaintCost.cost } : {}),
344
387
  request_id: opts?.request_id,
345
388
  metadata: {
346
389
  source: 'fal',
390
+ ...(fluxOutpaintCost
391
+ ? {
392
+ billable_megapixels: fluxOutpaintCost.billableMegapixels,
393
+ priced_images: fluxOutpaintCost.pricedImages,
394
+ }
395
+ : {}),
347
396
  ...(renderingSpeed
348
397
  ? {
349
398
  rendering_speed: renderingSpeed,
@@ -1 +1 @@
1
- {"version":3,"file":"fal.js","sourceRoot":"","sources":["../../model_providers/fal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fal.js","sourceRoot":"","sources":["../../model_providers/fal.ts"],"names":[],"mappings":"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"}