@just-every/ensemble 0.2.263 → 0.2.265

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 (54) hide show
  1. package/README.md +19 -0
  2. package/dist/cjs/core/ensemble_embed.cjs +6 -5
  3. package/dist/cjs/core/ensemble_embed.d.ts.map +1 -1
  4. package/dist/cjs/core/ensemble_embed.js.map +1 -1
  5. package/dist/cjs/data/model_data.cjs +118 -12
  6. package/dist/cjs/data/model_data.d.ts.map +1 -1
  7. package/dist/cjs/data/model_data.js.map +1 -1
  8. package/dist/cjs/index.cjs +7 -2
  9. package/dist/cjs/index.d.ts +1 -0
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/model_providers/gemini.cjs +7 -3
  13. package/dist/cjs/model_providers/gemini.d.ts.map +1 -1
  14. package/dist/cjs/model_providers/gemini.js.map +1 -1
  15. package/dist/cjs/model_providers/model_provider.cjs +22 -1
  16. package/dist/cjs/model_providers/model_provider.d.ts.map +1 -1
  17. package/dist/cjs/model_providers/model_provider.js.map +1 -1
  18. package/dist/cjs/model_providers/openai.cjs +60 -8
  19. package/dist/cjs/model_providers/openai.d.ts.map +1 -1
  20. package/dist/cjs/model_providers/openai.js.map +1 -1
  21. package/dist/cjs/model_providers/openai_image_request.cjs +153 -0
  22. package/dist/cjs/model_providers/openai_image_request.d.ts +36 -0
  23. package/dist/cjs/model_providers/openai_image_request.d.ts.map +1 -0
  24. package/dist/cjs/model_providers/openai_image_request.js.map +1 -0
  25. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  26. package/dist/cjs/types/types.d.ts +7 -1
  27. package/dist/cjs/types/types.d.ts.map +1 -1
  28. package/dist/core/ensemble_embed.d.ts.map +1 -1
  29. package/dist/core/ensemble_embed.js +6 -5
  30. package/dist/core/ensemble_embed.js.map +1 -1
  31. package/dist/data/model_data.d.ts.map +1 -1
  32. package/dist/data/model_data.js +118 -12
  33. package/dist/data/model_data.js.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/model_providers/gemini.d.ts.map +1 -1
  39. package/dist/model_providers/gemini.js +7 -3
  40. package/dist/model_providers/gemini.js.map +1 -1
  41. package/dist/model_providers/model_provider.d.ts.map +1 -1
  42. package/dist/model_providers/model_provider.js +22 -1
  43. package/dist/model_providers/model_provider.js.map +1 -1
  44. package/dist/model_providers/openai.d.ts.map +1 -1
  45. package/dist/model_providers/openai.js +60 -8
  46. package/dist/model_providers/openai.js.map +1 -1
  47. package/dist/model_providers/openai_image_request.d.ts +36 -0
  48. package/dist/model_providers/openai_image_request.d.ts.map +1 -0
  49. package/dist/model_providers/openai_image_request.js +147 -0
  50. package/dist/model_providers/openai_image_request.js.map +1 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/dist/types/types.d.ts +7 -1
  53. package/dist/types/types.d.ts.map +1 -1
  54. package/package.json +1 -1
package/README.md CHANGED
@@ -441,6 +441,25 @@ const grounded = await ensembleImage(
441
441
  },
442
442
  }
443
443
  );
444
+
445
+ // OpenAI image edit with a hard deadline, stable idempotency, and request metadata
446
+ const edited = await ensembleImage(
447
+ 'Repair only the transparent pixels while preserving everything else.',
448
+ {
449
+ model: 'gpt-image-2',
450
+ abortSignal: conversionAbortController.signal,
451
+ },
452
+ {
453
+ source_images: [sourcePng],
454
+ mask: editableMaskPng,
455
+ quality: 'low',
456
+ timeout_ms: 40_000,
457
+ idempotency_key: conversionEffectId,
458
+ on_metadata: async metadata => {
459
+ await recordProviderRequestId(metadata.provider_request_id);
460
+ },
461
+ }
462
+ );
444
463
  ```
445
464
 
446
465
  - ElevenLabs: `eleven_multilingual_v2`, `eleven_turbo_v2_5`
@@ -29,7 +29,10 @@ async function ensembleEmbed(text, agent, options) {
29
29
  },
30
30
  });
31
31
  try {
32
- const dimensions = options?.dimensions || 1536;
32
+ const model = agent.model || 'text-embedding-3-small';
33
+ const modelInfo = (0, model_data_js_1.findModel)(model);
34
+ const dimensions = options?.dimensions ?? modelInfo?.dim ?? 1536;
35
+ const providerOptions = options?.dimensions === undefined ? options : { ...options, dimensions };
33
36
  const cacheKey = `${agent.model || agent.modelClass}:${text}:${dimensions}`;
34
37
  const cached = embeddingCache.get(cacheKey);
35
38
  if (cached) {
@@ -43,12 +46,10 @@ async function ensembleEmbed(text, agent, options) {
43
46
  }
44
47
  embeddingCache.delete(cacheKey);
45
48
  }
46
- const model = agent.model || 'text-embedding-3-small';
47
49
  const provider = (0, model_provider_js_1.getModelProvider)(model);
48
50
  if (!provider.createEmbedding) {
49
51
  throw new Error(`Provider for model ${model} does not support embeddings`);
50
52
  }
51
- const modelInfo = (0, model_data_js_1.findModel)(model);
52
53
  const inputTokenLimit = modelInfo?.features?.input_token_limit;
53
54
  const MAX_CHARS_PER_CHUNK = inputTokenLimit ? inputTokenLimit * 4 * 0.9 : Infinity;
54
55
  const needsChunking = inputTokenLimit && text.length > MAX_CHARS_PER_CHUNK;
@@ -58,7 +59,7 @@ async function ensembleEmbed(text, agent, options) {
58
59
  for (let i = 0; i < text.length; i += MAX_CHARS_PER_CHUNK) {
59
60
  chunks.push(text.slice(i, i + MAX_CHARS_PER_CHUNK));
60
61
  }
61
- const result = await provider.createEmbedding(chunks, model, agent, { ...options, dimensions });
62
+ const result = await provider.createEmbedding(chunks, model, agent, providerOptions);
62
63
  const embeddings = result;
63
64
  embedding = new Array(dimensions).fill(0);
64
65
  for (const vec of embeddings) {
@@ -68,7 +69,7 @@ async function ensembleEmbed(text, agent, options) {
68
69
  }
69
70
  }
70
71
  else {
71
- const result = await provider.createEmbedding(text, model, agent, { ...options, dimensions });
72
+ const result = await provider.createEmbedding(text, model, agent, providerOptions);
72
73
  embedding = Array.isArray(result[0]) ? result[0] : result;
73
74
  }
74
75
  if (embeddingCache.size >= EMBEDDING_CACHE_MAX) {
@@ -1 +1 @@
1
- {"version":3,"file":"ensemble_embed.d.ts","sourceRoot":"","sources":["../../../core/ensemble_embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAiEpE,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4HhH"}
1
+ {"version":3,"file":"ensemble_embed.d.ts","sourceRoot":"","sources":["../../../core/ensemble_embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAiEpE,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2HhH"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensemble_embed.js","sourceRoot":"","sources":["../../../core/ensemble_embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensemble_embed.js","sourceRoot":"","sources":["../../../core/ensemble_embed.ts"],"names":[],"mappings":"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"}
@@ -149,7 +149,7 @@ exports.MODEL_CLASSES = {
149
149
  embedding: {
150
150
  models: [
151
151
  'text-embedding-3-large',
152
- 'text-embedding-004',
152
+ 'gemini-embedding-2',
153
153
  ],
154
154
  description: 'Vector embedding models for semantic search and RAG',
155
155
  },
@@ -412,38 +412,38 @@ exports.MODEL_REGISTRY = [
412
412
  description: "OpenAI's large embedding model, good balance of performance and cost",
413
413
  },
414
414
  {
415
- id: 'gemini-embedding-exp-03-07',
416
- provider: 'google',
415
+ id: 'text-embedding-ada-002',
416
+ provider: 'openai',
417
417
  cost: {
418
- input_per_million: 0,
418
+ input_per_million: 0.1,
419
419
  output_per_million: 0,
420
420
  },
421
421
  features: {
422
422
  input_modality: ['text'],
423
423
  output_modality: ['embedding'],
424
- input_token_limit: 8191,
424
+ input_token_limit: 8192,
425
425
  },
426
426
  embedding: true,
427
- dim: 768,
427
+ dim: 1536,
428
428
  class: 'embedding',
429
- description: "Google's experimental embedding model optimized for semantic similarity",
429
+ description: "OpenAI's older, still-supported text embedding model",
430
430
  },
431
431
  {
432
- id: 'text-embedding-004',
432
+ id: 'gemini-embedding-2',
433
433
  provider: 'google',
434
434
  cost: {
435
- input_per_million: 0,
435
+ input_per_million: 0.2,
436
436
  output_per_million: 0,
437
437
  },
438
438
  features: {
439
439
  input_modality: ['text'],
440
440
  output_modality: ['embedding'],
441
- input_token_limit: 8191,
441
+ input_token_limit: 8192,
442
442
  },
443
443
  embedding: true,
444
- dim: 768,
444
+ dim: 3072,
445
445
  class: 'embedding',
446
- description: "Google's stable text embedding model (text-embedding-004)",
446
+ description: "Google's current embedding model; this text API supports its text-embedding capability",
447
447
  },
448
448
  {
449
449
  id: 'meta-llama/llama-4-maverick',
@@ -1009,6 +1009,112 @@ exports.MODEL_REGISTRY = [
1009
1009
  class: 'standard',
1010
1010
  description: 'Latest premium GPT model from OpenAI',
1011
1011
  },
1012
+ {
1013
+ id: 'gpt-5.6-sol',
1014
+ aliases: ['gpt-5.6'],
1015
+ provider: 'openai',
1016
+ cost: {
1017
+ input_per_million: {
1018
+ threshold_tokens: 272000,
1019
+ price_below_threshold_per_million: 5.0,
1020
+ price_above_threshold_per_million: 10.0,
1021
+ tier_basis: 'input_tokens',
1022
+ },
1023
+ cached_input_per_million: {
1024
+ threshold_tokens: 272000,
1025
+ price_below_threshold_per_million: 0.5,
1026
+ price_above_threshold_per_million: 1.0,
1027
+ tier_basis: 'input_tokens',
1028
+ },
1029
+ output_per_million: {
1030
+ threshold_tokens: 272000,
1031
+ price_below_threshold_per_million: 30.0,
1032
+ price_above_threshold_per_million: 45.0,
1033
+ tier_basis: 'input_tokens',
1034
+ },
1035
+ },
1036
+ features: {
1037
+ context_length: 1050000,
1038
+ max_output_tokens: 128000,
1039
+ input_modality: ['text', 'image'],
1040
+ output_modality: ['text'],
1041
+ tool_use: true,
1042
+ streaming: true,
1043
+ json_output: true,
1044
+ },
1045
+ class: 'reasoning',
1046
+ description: 'GPT-5.6 flagship model for complex reasoning, coding, and professional work (1.05M/128k).',
1047
+ },
1048
+ {
1049
+ id: 'gpt-5.6-terra',
1050
+ provider: 'openai',
1051
+ cost: {
1052
+ input_per_million: {
1053
+ threshold_tokens: 272000,
1054
+ price_below_threshold_per_million: 2.5,
1055
+ price_above_threshold_per_million: 5.0,
1056
+ tier_basis: 'input_tokens',
1057
+ },
1058
+ cached_input_per_million: {
1059
+ threshold_tokens: 272000,
1060
+ price_below_threshold_per_million: 0.25,
1061
+ price_above_threshold_per_million: 0.5,
1062
+ tier_basis: 'input_tokens',
1063
+ },
1064
+ output_per_million: {
1065
+ threshold_tokens: 272000,
1066
+ price_below_threshold_per_million: 15.0,
1067
+ price_above_threshold_per_million: 22.5,
1068
+ tier_basis: 'input_tokens',
1069
+ },
1070
+ },
1071
+ features: {
1072
+ context_length: 1050000,
1073
+ max_output_tokens: 128000,
1074
+ input_modality: ['text', 'image'],
1075
+ output_modality: ['text'],
1076
+ tool_use: true,
1077
+ streaming: true,
1078
+ json_output: true,
1079
+ },
1080
+ class: 'standard',
1081
+ description: 'GPT-5.6 model balancing intelligence and cost for production work (1.05M/128k).',
1082
+ },
1083
+ {
1084
+ id: 'gpt-5.6-luna',
1085
+ provider: 'openai',
1086
+ cost: {
1087
+ input_per_million: {
1088
+ threshold_tokens: 272000,
1089
+ price_below_threshold_per_million: 1.0,
1090
+ price_above_threshold_per_million: 2.0,
1091
+ tier_basis: 'input_tokens',
1092
+ },
1093
+ cached_input_per_million: {
1094
+ threshold_tokens: 272000,
1095
+ price_below_threshold_per_million: 0.1,
1096
+ price_above_threshold_per_million: 0.2,
1097
+ tier_basis: 'input_tokens',
1098
+ },
1099
+ output_per_million: {
1100
+ threshold_tokens: 272000,
1101
+ price_below_threshold_per_million: 6.0,
1102
+ price_above_threshold_per_million: 9.0,
1103
+ tier_basis: 'input_tokens',
1104
+ },
1105
+ },
1106
+ features: {
1107
+ context_length: 1050000,
1108
+ max_output_tokens: 128000,
1109
+ input_modality: ['text', 'image'],
1110
+ output_modality: ['text'],
1111
+ tool_use: true,
1112
+ streaming: true,
1113
+ json_output: true,
1114
+ },
1115
+ class: 'mini',
1116
+ description: 'GPT-5.6 model optimized for efficient, high-volume workloads (1.05M/128k).',
1117
+ },
1012
1118
  {
1013
1119
  id: 'gpt-5.5',
1014
1120
  aliases: ['gpt-5.5-2026-04-23'],
@@ -1 +1 @@
1
- {"version":3,"file":"model_data.d.ts","sourceRoot":"","sources":["../../../data/model_data.ts"],"names":[],"mappings":"AAYA,OAAO,EACH,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACb,MAAM,mBAAmB,CAAC;AAM3B,YAAY,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,GACb,CAAC;AAOF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0MzB,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,UAAU,EA60HtC,CAAC;AAQF,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAuBjE"}
1
+ {"version":3,"file":"model_data.d.ts","sourceRoot":"","sources":["../../../data/model_data.ts"],"names":[],"mappings":"AAYA,OAAO,EACH,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACb,MAAM,mBAAmB,CAAC;AAM3B,YAAY,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,GACb,CAAC;AAOF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0MzB,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,UAAU,EAs7HtC,CAAC;AAQF,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAuBjE"}