utilitas 1999.1.84 → 1999.1.86

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.
package/lib/alan.mjs CHANGED
@@ -49,35 +49,36 @@ const _NEED = [
49
49
  ];
50
50
 
51
51
  const [
52
- OPENAI, GEMINI, OPENAI_TRAINING, OLLAMA, GPT_4O, GPT_O3, GEMINI_25_FLASH,
53
- NOVA, DEEPSEEK_R1, MD_CODE, TEXT_EMBEDDING_3_SMALL, TEXT_EMBEDDING_3_LARGE,
54
- CLOUD_40_OPUS, AUDIO, WAV, ATTACHMENTS, CHAT, OPENAI_VOICE, MEDIUM, LOW,
52
+ OPENAI, GEMINI, OPENAI_TRAINING, OLLAMA, GEMINI_25_FLASH, NOVA,
53
+ DEEPSEEK_R1, MD_CODE, TEXT_EMBEDDING_3_SMALL, TEXT_EMBEDDING_3_LARGE,
54
+ CLOUD_41_OPUS, AUDIO, WAV, ATTACHMENTS, CHAT, OPENAI_VOICE, MEDIUM, LOW,
55
55
  HIGH, GPT_REASONING_EFFORT, THINK, THINK_STR, THINK_END, AZURE, TOOLS_STR,
56
- TOOLS_END, TOOLS, TEXT, THINKING, OK, FUNC, GPT_41, REDACTED_THINKING,
57
- GEMMA_3_27B, AZURE_OPENAI, ANTHROPIC, VERTEX_ANTHROPIC, v8k, ais,
58
- MAX_TOOL_RECURSION, LOG, name, user, system, assistant, MODEL, JSON_OBJECT,
59
- TOOL, silent, GEMINI_EMBEDDING_M, INVALID_FILE, tokenSafeRatio,
60
- GPT_QUERY_LIMIT, CONTENT_IS_REQUIRED, OPENAI_HI_RES_SIZE, k, kT, m, minute,
61
- hour, gb, trimTailing, EBD, GEMINI_20_FLASH, IMAGE, JINA, JINA_DEEPSEARCH,
62
- JINA_CLIP, VERTEX, GEMINI_25_PRO, SILICONFLOW, SF_DEEPSEEK_R1,
56
+ TOOLS_END, TOOLS, TEXT, THINKING, OK, FUNC, GPT_5, GPT_5_MINI,
57
+ REDACTED_THINKING, GEMMA_3_27B, AZURE_OPENAI, ANTHROPIC, VERTEX_ANTHROPIC,
58
+ v8k, ais, MAX_TOOL_RECURSION, LOG, name, user, system, assistant, MODEL,
59
+ JSON_OBJECT, TOOL, silent, GEMINI_EMBEDDING_M, INVALID_FILE, tokenSafeRatio,
60
+ GPT_QUERY_LIMIT, CONTENT_IS_REQUIRED, OPENAI_HI_RES_SIZE, k, kT, m,
61
+ minute, hour, gb, trimTailing, EBD, GEMINI_20_FLASH, IMAGE, JINA,
62
+ JINA_DEEPSEARCH, JINA_CLIP, VERTEX, GEMINI_25_PRO, SILICONFLOW,
63
+ SF_DEEPSEEK_R1, MAX_TIRE,
63
64
  ] = [
64
- 'OpenAI', 'Gemini', 'OPENAI_TRAINING', 'Ollama', 'gpt-4o', 'o3',
65
- 'gemini-2.5-flash', 'nova', 'deepseek-r1', '```',
66
- 'text-embedding-3-small', 'text-embedding-3-large',
67
- 'claude-opus-4@20250514', 'audio', 'wav', '[ATTACHMENTS]', 'CHAT',
68
- 'OPENAI_VOICE', 'medium', 'low', 'high', 'medium', 'think', '<think>',
69
- '</think>', 'AZURE', '<tools>', '</tools>', 'tools', 'text', 'thinking',
70
- 'OK', 'function', 'gpt-4.1', 'redacted_thinking', 'gemma3:27b',
71
- 'Azure Openai', 'Anthropic', 'Vertex Anthropic', 7680 * 4320, [], 30,
72
- { log: true }, 'Alan', 'user', 'system', 'assistant', 'model',
73
- 'json_object', 'tool', true, 'gemini-embedding-exp-03-07',
74
- 'Invalid file data.', 1.1, 100, 'Content is required.', 2048 * 2048,
75
- x => 1024 * x, x => 1000 * x, x => 1024 * 1024 * x, x => 60 * x,
76
- x => 60 * 60 * x, x => 1024 * 1024 * 1024 * x,
77
- x => x.replace(/[\.\s]*$/, ''), { embedding: true },
78
- 'gemini-2.0-flash-preview-image-generation', 'image', 'Jina',
79
- 'jina-deepsearch-v1', 'jina-clip-v2', 'Vertex', 'gemini-2.5-pro',
80
- 'SiliconFlow', 'Pro/deepseek-ai/DeepSeek-R1',
65
+ 'OpenAI', 'Gemini', 'OPENAI_TRAINING', 'Ollama', 'gemini-2.5-flash',
66
+ 'nova', 'deepseek-r1', '```', 'text-embedding-3-small',
67
+ 'text-embedding-3-large', 'claude-opus-4-1@20250805', 'audio', 'wav',
68
+ '[ATTACHMENTS]', 'CHAT', 'OPENAI_VOICE', 'medium', 'low', 'high',
69
+ 'medium', 'think', '<think>', '</think>', 'AZURE', '<tools>',
70
+ '</tools>', 'tools', 'text', 'thinking', 'OK', 'function', 'gpt-5',
71
+ 'gpt-5-mini', 'redacted_thinking', 'gemma3:27b', 'Azure Openai',
72
+ 'Anthropic', 'Vertex Anthropic', 7680 * 4320, [], 30, { log: true },
73
+ 'Alan', 'user', 'system', 'assistant', 'model', 'json_object', 'tool',
74
+ true, 'gemini-embedding-001', 'Invalid file data.', 1.1, 100,
75
+ 'Content is required.', 2048 * 2048, x => 1024 * x, x => 1000 * x,
76
+ x => 1024 * 1024 * x, x => 60 * x, x => 60 * 60 * x,
77
+ x => 1024 * 1024 * 1024 * x, x => x.replace(/[\.\s]*$/, ''),
78
+ { embedding: true }, 'gemini-2.0-flash-preview-image-generation',
79
+ 'image', 'Jina', 'jina-deepsearch-v1', 'jina-clip-v2', 'Vertex',
80
+ 'gemini-2.5-pro', 'SiliconFlow', 'Pro/deepseek-ai/DeepSeek-R1',
81
+ 768 * 768,
81
82
  ];
82
83
 
83
84
  const [tool, messages, text]
@@ -98,23 +99,23 @@ const getProviderIcon = provider => PROVIDER_ICONS[provider] || '🔮';
98
99
  const libOpenAi = async opts => await need('openai', { ...opts, raw: true });
99
100
  const OpenAI = async opts => new (await libOpenAi(opts)).OpenAI(opts);
100
101
  const AzureOpenAI = async opts => new (await libOpenAi(opts)).AzureOpenAI(opts);
101
- const OPENAI_S1 = { contextWindow: kT(128), maxOutputTokens: k(16) };
102
- const OPENAI_S2 = { contextWindow: kT(200), maxOutputTokens: kT(100) };
103
102
  const OPENAI_EBD = { ...EBD, maxInputTokens: k(8) - 1 };
104
103
 
105
104
  const OPENAI_RULES = {
106
- imageCostTokens: ~~(OPENAI_HI_RES_SIZE / (512 * 512) * 170 + 85),
107
- maxFileSize: m(20), maxImageSize: OPENAI_HI_RES_SIZE,
105
+ contextWindow: kT(400), maxOutputTokens: k(128),
106
+ imageCostTokens: ~~(OPENAI_HI_RES_SIZE / MAX_TIRE * 140 + 70),
107
+ maxFileSize: m(50), maxImageSize: OPENAI_HI_RES_SIZE,
108
108
  supportedMimeTypes: [MIME_PNG, MIME_JPEG, MIME_GIF, MIME_WEBP],
109
109
  supportedDocTypes: [MIME_PDF],
110
110
  supportedAudioTypes: [MIME_WAV], audio: 'gpt-4o-audio-preview',
111
- json: true, tools: true, vision: true, defaultProvider: OPENAI,
111
+ json: true, tools: true, vision: true,
112
+ reasoning: true, defaultProvider: OPENAI,
112
113
  };
113
114
 
114
115
  const GEMINI_RULES = {
115
116
  contextWindow: m(1), json: true,
116
117
  audioCostTokens: 1000 * 1000 * 1, // 8.4 hours => 1 million tokens
117
- imageCostTokens: ~~(v8k / (768 * 768) * 258), maxAudioLength: hour(8.4),
118
+ imageCostTokens: ~~(v8k / MAX_TIRE * 258), maxAudioLength: hour(8.4),
118
119
  maxAudioPerPrompt: 1, maxFileSize: m(20), maxImagePerPrompt: 3000,
119
120
  maxImageSize: Infinity, maxUrlSize: gb(2), maxVideoLength: minute(45),
120
121
  maxVideoPerPrompt: 10, vision: true, supportedMimeTypes: [
@@ -133,9 +134,8 @@ const DEEPSEEK_R1_RULES = {
133
134
  // https://platform.openai.com/docs/models
134
135
  // https://cloud.google.com/vertex-ai/docs/generative-ai/learn/models
135
136
  const MODELS = {
136
- [GPT_4O]: { ...OPENAI_RULES, ...OPENAI_S1, defaultProvider: null },
137
- [GPT_41]: { ...OPENAI_RULES, ...OPENAI_S1, fast: true, finetune: true },
138
- [GPT_O3]: { ...OPENAI_RULES, ...OPENAI_S2, reasoning: true },
137
+ [GPT_5]: { ...OPENAI_RULES, },
138
+ [GPT_5_MINI]: { ...OPENAI_RULES, fast: true },
139
139
  [GEMINI_20_FLASH]: {
140
140
  ...GEMINI_RULES, maxOutputTokens: k(8),
141
141
  fast: true, image: true, tools: false,
@@ -170,7 +170,7 @@ const MODELS = {
170
170
  [JINA_CLIP]: {
171
171
  maxInputTokens: k(8), maxImageSize: 512 * 512, dimension: k(1),
172
172
  },
173
- [CLOUD_40_OPUS]: {
173
+ [CLOUD_41_OPUS]: {
174
174
  contextWindow: kT(200), maxOutputTokens: kT(32),
175
175
  documentCostTokens: 3000 * 10, maxDocumentFile: m(32),
176
176
  maxDocumentPages: 100, imageCostTokens: ~~(v8k / 750),
@@ -201,16 +201,15 @@ for (const n in MODELS) {
201
201
 
202
202
  // Default models for each provider
203
203
  const DEFAULT_MODELS = {
204
- [OPENAI]: GPT_41,
205
- [AZURE_OPENAI]: GPT_4O,
204
+ [OPENAI]: GPT_5,
206
205
  [SILICONFLOW]: SF_DEEPSEEK_R1,
207
- [GEMINI]: GEMINI_25_FLASH,
208
- [ANTHROPIC]: CLOUD_40_OPUS,
209
- [VERTEX_ANTHROPIC]: CLOUD_40_OPUS,
206
+ [GEMINI]: GEMINI_25_PRO,
207
+ [ANTHROPIC]: CLOUD_41_OPUS,
208
+ [VERTEX_ANTHROPIC]: CLOUD_41_OPUS,
210
209
  [JINA]: JINA_DEEPSEARCH,
211
210
  [OLLAMA]: GEMMA_3_27B,
212
211
  [OPENAI_VOICE]: NOVA,
213
- [OPENAI_TRAINING]: GPT_41, // https://platform.openai.com/docs/guides/fine-tuning
212
+ [OPENAI_TRAINING]: null, // https://platform.openai.com/docs/guides/fine-tuning
214
213
  };
215
214
 
216
215
  const DEFAULT_EMBEDDING = {
@@ -1568,7 +1567,7 @@ export {
1568
1567
  _NEED,
1569
1568
  _NO_RENDER,
1570
1569
  ATTACHMENTS,
1571
- CLOUD_40_OPUS,
1570
+ CLOUD_41_OPUS,
1572
1571
  CODE_INTERPRETER,
1573
1572
  DEEPSEEK_R1,
1574
1573
  DEFAULT_MODELS,
@@ -1576,9 +1575,7 @@ export {
1576
1575
  FUNCTION,
1577
1576
  GEMINI_20_FLASH,
1578
1577
  GEMINI_25_FLASH,
1579
- GPT_41,
1580
- GPT_4O,
1581
- GPT_O3,
1578
+ GPT_5,
1582
1579
  INSTRUCTIONS,
1583
1580
  MODELS,
1584
1581
  OPENAI_VOICE,
package/lib/manifest.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  const manifest = {
2
2
  "name": "utilitas",
3
3
  "description": "Just another common utility for JavaScript.",
4
- "version": "1999.1.84",
4
+ "version": "1999.1.86",
5
5
  "private": false,
6
6
  "homepage": "https://github.com/Leask/utilitas",
7
7
  "main": "index.mjs",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "utilitas",
3
3
  "description": "Just another common utility for JavaScript.",
4
- "version": "1999.1.84",
4
+ "version": "1999.1.86",
5
5
  "private": false,
6
6
  "homepage": "https://github.com/Leask/utilitas",
7
7
  "main": "index.mjs",