modelmix 4.5.20 → 4.5.24
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/README.md +1 -0
- package/index.js +3 -0
- package/package.json +5 -9
- package/pnpm-workspace.yaml +4 -0
- package/skills/modelmix/SKILL.md +1 -1
- package/test/tokens.test.js +9 -0
package/README.md
CHANGED
|
@@ -153,6 +153,7 @@ Here's a comprehensive list of available methods:
|
|
|
153
153
|
| `sonnet46[think]()` | Anthropic | claude-sonnet-4-6 | [\$3.00 / \$15.00][2] |
|
|
154
154
|
| `haiku45[think]()` | Anthropic | claude-haiku-4-5-20251001 | [\$1.00 / \$5.00][2] |
|
|
155
155
|
| `gemini31pro()` | Google | gemini-3.1-pro-preview | [\$2.00 / \$12.00][3] |
|
|
156
|
+
| `gemini35flash()` | Google | gemini-3.5-flash | N/A |
|
|
156
157
|
| `gemini31flashLite()`| Google | gemini-3.1-flash-lite-preview | [\$0.25 / \$1.50][3] |
|
|
157
158
|
| `grok43()` | Grok | grok-4.3 | [\$1.25 / \$2.50][6] |
|
|
158
159
|
| `grok420multiAgent()`| Grok | grok-4.20-multi-agent-0309 | [\$1.25 / \$2.50][6] |
|
package/index.js
CHANGED
|
@@ -420,6 +420,9 @@ class ModelMix {
|
|
|
420
420
|
gemini3flash({ options = {}, config = {} } = {}) {
|
|
421
421
|
return this.attach('gemini-3-flash-preview', new MixGoogle({ options, config }));
|
|
422
422
|
}
|
|
423
|
+
gemini35flash({ options = {}, config = {} } = {}) {
|
|
424
|
+
return this.attach('gemini-3.5-flash', new MixGoogle({ options, config }));
|
|
425
|
+
}
|
|
423
426
|
gemini31flashLite({ options = {}, config = {} } = {}) {
|
|
424
427
|
return this.attach('gemini-3.1-flash-lite-preview', new MixGoogle({ options, config }));
|
|
425
428
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "modelmix",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.24",
|
|
4
4
|
"description": "🧬 Reliable interface with automatic fallback for AI LLMs.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -51,17 +51,13 @@
|
|
|
51
51
|
"bottleneck": "^2.19.5",
|
|
52
52
|
"file-type": "^21.3.3",
|
|
53
53
|
"lemonlog": "^1.2.0",
|
|
54
|
-
"ws": "^8.
|
|
54
|
+
"ws": "^8.20.1"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"chai": "^5.2.1",
|
|
58
|
-
"nock": "^14.0.9",
|
|
59
58
|
"mocha": "^11.7.5",
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
"overrides": {
|
|
63
|
-
"diff": ">=8.0.3",
|
|
64
|
-
"serialize-javascript": ">=7.0.3"
|
|
59
|
+
"nock": "^14.0.9",
|
|
60
|
+
"sinon": "^21.0.1"
|
|
65
61
|
},
|
|
66
62
|
"scripts": {
|
|
67
63
|
"test": "mocha test/**/*.js --timeout 10000 --require test/setup.js",
|
|
@@ -76,4 +72,4 @@
|
|
|
76
72
|
"test:tokens": "mocha test/tokens.test.js --timeout 10000 --require test/setup.js",
|
|
77
73
|
"test:offline": "mocha test/json.test.js test/fallback.test.js test/templates.test.js test/images.test.js test/bottleneck.test.js test/tokens.test.js test/history.test.js --timeout 10000 --require test/setup.js"
|
|
78
74
|
}
|
|
79
|
-
}
|
|
75
|
+
}
|
package/skills/modelmix/SKILL.md
CHANGED
|
@@ -101,7 +101,7 @@ If `sonnet46` fails, it automatically tries `gpt52`, then `gemini3flash`.
|
|
|
101
101
|
Thinking variants: append `think` — e.g. `opus46think()` `sonnet46think()` `sonnet45think()` `sonnet4think()` `opus45think()` `opus41think()` `haiku45think()`
|
|
102
102
|
|
|
103
103
|
### Google
|
|
104
|
-
`gemini3pro()` `gemini3flash()` `gemini25pro()` `gemini25flash()`
|
|
104
|
+
`gemini3pro()` `gemini3flash()` `gemini35flash()` `gemini25pro()` `gemini25flash()`
|
|
105
105
|
|
|
106
106
|
### Grok
|
|
107
107
|
`grok43()` `grok420multiAgent()` `grok420()` `grok420think()` `grok41()` `grok41think()`
|
package/test/tokens.test.js
CHANGED
|
@@ -88,6 +88,15 @@ describe('Token Usage Tracking', () => {
|
|
|
88
88
|
expect(model.models[1].provider).to.be.instanceOf(MixOpenAIResponses);
|
|
89
89
|
});
|
|
90
90
|
|
|
91
|
+
it('should register Gemini 3.5 Flash shortcut with Google provider', function () {
|
|
92
|
+
const model = ModelMix.new()
|
|
93
|
+
.gemini35flash();
|
|
94
|
+
|
|
95
|
+
expect(model.models).to.have.length(1);
|
|
96
|
+
expect(model.models[0].key).to.equal('gemini-3.5-flash');
|
|
97
|
+
expect(model.models[0].provider).to.be.instanceOf(MixGoogle);
|
|
98
|
+
});
|
|
99
|
+
|
|
91
100
|
it('should register MiMo shortcuts with native and OpenRouter providers', function () {
|
|
92
101
|
const originalMimoApiKey = process.env.MIMO_API_KEY;
|
|
93
102
|
const originalOpenRouterApiKey = process.env.OPENROUTER_API_KEY;
|