@link-assistant/hive-mind 1.23.11 → 1.23.12

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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @link-assistant/hive-mind
2
2
 
3
+ ## 1.23.12
4
+
5
+ ### Patch Changes
6
+
7
+ - 50a69ae: Update free models: replace minimax-m2.1-free with minimax-m2.5-free
8
+
9
+ OpenCode Zen:
10
+ - Replace `minimax-m2.1-free` with `minimax-m2.5-free` (M2.1 no longer free)
11
+ - Remove `glm-4.7-free` from recommended free models (no longer free)
12
+
13
+ Kilo Gateway:
14
+ - Add `glm-4.5-air-free` (agent-centric model)
15
+ - Add `minimax-m2.5-free` (upgraded from M2.1)
16
+ - Add `deepseek-r1-free` (advanced reasoning model)
17
+
18
+ Breaking change: Users relying on `minimax-m2.1-free` or `glm-4.7-free` should switch to the updated models. Deprecated models are kept for backward compatibility but may not work.
19
+
3
20
  ## 1.23.11
4
21
 
5
22
  ### Patch Changes
package/README.md CHANGED
@@ -477,15 +477,14 @@ Examples:
477
477
 
478
478
  Free Models (with --tool agent):
479
479
  /solve https://github.com/owner/repo/issues/123 --tool agent --model kimi-k2.5-free
480
- /solve https://github.com/owner/repo/issues/123 --tool agent --model minimax-m2.1-free
480
+ /solve https://github.com/owner/repo/issues/123 --tool agent --model minimax-m2.5-free
481
481
  /solve https://github.com/owner/repo/issues/123 --tool agent --model gpt-5-nano
482
- /solve https://github.com/owner/repo/issues/123 --tool agent --model glm-4.7-free
483
482
  /solve https://github.com/owner/repo/issues/123 --tool agent --model big-pickle
484
483
 
485
484
  Free Models via Kilo Gateway (with --tool agent):
486
485
  /solve https://github.com/owner/repo/issues/123 --tool agent --model kilo/glm-5-free
487
- /solve https://github.com/owner/repo/issues/123 --tool agent --model kilo/glm-4.7-free
488
- /solve https://github.com/owner/repo/issues/123 --tool agent --model kilo/kimi-k2.5-free
486
+ /solve https://github.com/owner/repo/issues/123 --tool agent --model kilo/glm-4.5-air-free
487
+ /solve https://github.com/owner/repo/issues/123 --tool agent --model kilo/deepseek-r1-free
489
488
  ```
490
489
 
491
490
  > **📖 Free Models Guide**: See [docs/FREE_MODELS.md](./docs/FREE_MODELS.md) for comprehensive information about all free models including OpenCode Zen and Kilo Gateway providers.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@link-assistant/hive-mind",
3
- "version": "1.23.11",
3
+ "version": "1.23.12",
4
4
  "description": "AI-powered issue solver and hive mind for collaborative problem solving",
5
5
  "main": "src/hive.mjs",
6
6
  "type": "module",
package/src/agent.lib.mjs CHANGED
@@ -94,6 +94,7 @@ const getOriginalProviderName = providerId => {
94
94
  moonshot: 'Moonshot AI',
95
95
  google: 'Google',
96
96
  opencode: 'OpenCode Zen',
97
+ kilo: 'Kilo Gateway',
97
98
  grok: 'xAI',
98
99
  };
99
100
 
@@ -210,9 +211,10 @@ export const calculateAgentPricing = async (modelId, tokenUsage) => {
210
211
 
211
212
  const totalCost = inputCost + outputCost + cacheReadCost + cacheWriteCost + reasoningCost;
212
213
 
213
- // Determine if this is a free model from OpenCode Zen
214
- // Models accessed via OpenCode Zen are free, regardless of original provider pricing
215
- const isOpencodeFreeModel = providerFromModel === 'opencode' || isFreeVariant || modelName.toLowerCase().includes('free') || modelName.toLowerCase().includes('grok') || providerFromModel === 'moonshot' || providerFromModel === 'openai' || providerFromModel === 'anthropic';
214
+ // Determine if this is a free model from OpenCode Zen or Kilo Gateway
215
+ // Models accessed via OpenCode Zen or Kilo Gateway are free, regardless of original provider pricing
216
+ // Issue #1300: Added kilo provider detection for Kilo Gateway free models
217
+ const isOpencodeFreeModel = providerFromModel === 'opencode' || providerFromModel === 'kilo' || isFreeVariant || modelName.toLowerCase().includes('free') || modelName.toLowerCase().includes('grok') || providerFromModel === 'moonshot' || providerFromModel === 'openai' || providerFromModel === 'anthropic';
216
218
 
217
219
  // Use base model's provider for original provider reference if available
218
220
  const effectiveOriginalProvider = baseModelInfo?.provider || originalProvider || effectiveModelInfo?.provider || null;
@@ -282,23 +284,36 @@ export const calculateAgentPricing = async (modelId, tokenUsage) => {
282
284
  // Model mapping to translate aliases to full model IDs for Agent
283
285
  // Agent uses OpenCode Zen's JSON interface and models
284
286
  // Issue #1185: Free models use opencode/ prefix (not openai/)
287
+ // Issue #1300: Updated mappings - use opencode/ and kilo/ prefixes only,
288
+ // short names for Kilo-exclusive models map to kilo/ prefix
285
289
  export const mapModelToId = model => {
286
290
  const modelMap = {
291
+ // OpenCode Zen free models
287
292
  grok: 'opencode/grok-code',
288
293
  'grok-code': 'opencode/grok-code',
289
294
  'grok-code-fast-1': 'opencode/grok-code',
290
295
  'big-pickle': 'opencode/big-pickle',
291
296
  'gpt-5-nano': 'opencode/gpt-5-nano',
297
+ 'minimax-m2.5-free': 'opencode/minimax-m2.5-free',
298
+ 'kimi-k2.5-free': 'opencode/kimi-k2.5-free',
299
+ // Kilo Gateway free models - short names for Kilo-exclusive models (Issue #1300)
300
+ 'glm-5-free': 'kilo/glm-5-free',
301
+ 'glm-4.5-air-free': 'kilo/glm-4.5-air-free',
302
+ 'deepseek-r1-free': 'kilo/deepseek-r1-free',
303
+ 'giga-potato-free': 'kilo/giga-potato-free',
304
+ 'trinity-large-preview': 'kilo/trinity-large-preview',
305
+ // Premium models
292
306
  sonnet: 'anthropic/claude-3-5-sonnet',
293
307
  haiku: 'anthropic/claude-3-5-haiku',
294
308
  opus: 'anthropic/claude-3-opus',
295
309
  'gemini-3-pro': 'google/gemini-3-pro',
296
- // Free models mapping for issue #1250
297
- 'kimi-k2.5-free': 'moonshot/kimi-k2.5-free',
298
310
  'gpt-4o-mini': 'openai/gpt-4o-mini',
299
311
  'gpt-4o': 'openai/gpt-4o',
300
312
  'claude-3.5-haiku': 'anthropic/claude-3.5-haiku',
301
313
  'claude-3.5-sonnet': 'anthropic/claude-3.5-sonnet',
314
+ // Deprecated free models (backward compatibility)
315
+ 'glm-4.7-free': 'opencode/glm-4.7-free',
316
+ 'minimax-m2.1-free': 'opencode/minimax-m2.1-free',
302
317
  };
303
318
 
304
319
  // Return mapped model ID if it's an alias, otherwise return as-is
@@ -26,23 +26,36 @@ export const claudeModels = {
26
26
  };
27
27
 
28
28
  // Agent models (OpenCode API and Kilo Gateway via agent CLI)
29
+ // Issue #1300: Updated free models to match agent PR #191
29
30
  export const agentModels = {
30
- // OpenCode Zen free models
31
+ // OpenCode Zen free models (current)
31
32
  grok: 'opencode/grok-code',
32
33
  'grok-code': 'opencode/grok-code',
33
34
  'grok-code-fast-1': 'opencode/grok-code',
34
35
  'big-pickle': 'opencode/big-pickle',
35
36
  'gpt-5-nano': 'opencode/gpt-5-nano',
36
- 'glm-4.7-free': 'opencode/glm-4.7-free',
37
- 'minimax-m2.1-free': 'opencode/minimax-m2.1-free',
37
+ 'minimax-m2.5-free': 'opencode/minimax-m2.5-free', // New: upgraded from M2.1
38
38
  'kimi-k2.5-free': 'opencode/kimi-k2.5-free',
39
- // Kilo Gateway free models (Issue #1282)
39
+ // Kilo Gateway free models (Issue #1282, updated in #1300)
40
+ // Short names for Kilo-exclusive models (Issue #1300)
41
+ 'glm-5-free': 'kilo/glm-5-free', // Kilo-exclusive
42
+ 'glm-4.5-air-free': 'kilo/glm-4.5-air-free', // Kilo-exclusive: agent-centric model
43
+ 'deepseek-r1-free': 'kilo/deepseek-r1-free', // Kilo-exclusive: reasoning model
44
+ 'giga-potato-free': 'kilo/giga-potato-free', // Kilo-exclusive
45
+ 'trinity-large-preview': 'kilo/trinity-large-preview', // Kilo-exclusive
46
+ // Full names with kilo/ prefix
40
47
  'kilo/glm-5-free': 'kilo/glm-5-free',
41
- 'kilo/glm-4.7-free': 'kilo/glm-4.7-free',
42
- 'kilo/kimi-k2.5-free': 'kilo/kimi-k2.5-free',
43
- 'kilo/minimax-m2.1-free': 'kilo/minimax-m2.1-free',
48
+ 'kilo/glm-4.5-air-free': 'kilo/glm-4.5-air-free',
49
+ 'kilo/minimax-m2.5-free': 'kilo/minimax-m2.5-free', // Also on OpenCode Zen
50
+ 'kilo/deepseek-r1-free': 'kilo/deepseek-r1-free',
44
51
  'kilo/giga-potato-free': 'kilo/giga-potato-free',
45
52
  'kilo/trinity-large-preview': 'kilo/trinity-large-preview',
53
+ // Deprecated free models (kept for backward compatibility)
54
+ 'glm-4.7-free': 'opencode/glm-4.7-free', // Deprecated: no longer free
55
+ 'minimax-m2.1-free': 'opencode/minimax-m2.1-free', // Deprecated: replaced by m2.5
56
+ 'kilo/glm-4.7-free': 'kilo/glm-4.7-free', // Deprecated: replaced by glm-4.5-air-free
57
+ 'kilo/kimi-k2.5-free': 'kilo/kimi-k2.5-free', // Deprecated: not recommended
58
+ 'kilo/minimax-m2.1-free': 'kilo/minimax-m2.1-free', // Deprecated: replaced by m2.5
46
59
  // Premium models
47
60
  sonnet: 'anthropic/claude-3-5-sonnet',
48
61
  haiku: 'anthropic/claude-3-5-haiku',
@@ -94,23 +94,38 @@ export const CODEX_MODELS = {
94
94
  export const AGENT_MODELS = {
95
95
  // Free models (via OpenCode Zen)
96
96
  // Issue #1185: Model IDs must use opencode/ prefix for OpenCode Zen models
97
+ // Issue #1300: Updated free models - minimax-m2.5-free replaces m2.1, glm-4.7-free removed
97
98
  grok: 'opencode/grok-code',
98
99
  'grok-code': 'opencode/grok-code',
99
100
  'grok-code-fast-1': 'opencode/grok-code',
100
101
  'big-pickle': 'opencode/big-pickle',
101
102
  'gpt-5-nano': 'opencode/gpt-5-nano',
102
- 'glm-4.7-free': 'opencode/glm-4.7-free',
103
- 'minimax-m2.1-free': 'opencode/minimax-m2.1-free',
103
+ 'minimax-m2.5-free': 'opencode/minimax-m2.5-free', // Upgraded from M2.1 (Issue #1300)
104
104
  'kimi-k2.5-free': 'opencode/kimi-k2.5-free',
105
105
  // Free models (via Kilo Gateway)
106
106
  // Issue #1282: Kilo provider adds access to 500+ models including free tier
107
+ // Issue #1300: Updated Kilo free models with new offerings
107
108
  // See: https://kilo.ai/docs/advanced-usage/free-and-budget-models
108
- 'kilo/glm-5-free': 'kilo/glm-5-free', // Z.AI flagship model (free limited time)
109
- 'kilo/glm-4.7-free': 'kilo/glm-4.7-free', // Z.AI agent-centric model
110
- 'kilo/kimi-k2.5-free': 'kilo/kimi-k2.5-free', // MoonshotAI agentic model
111
- 'kilo/minimax-m2.1-free': 'kilo/minimax-m2.1-free', // MiniMax general-purpose
112
- 'kilo/giga-potato-free': 'kilo/giga-potato-free', // Evaluation model
113
- 'kilo/trinity-large-preview': 'kilo/trinity-large-preview', // Arcee AI preview
109
+ // Short names for Kilo-exclusive models (Issue #1300)
110
+ 'glm-5-free': 'kilo/glm-5-free', // Kilo-exclusive: Z.AI flagship model
111
+ 'glm-4.5-air-free': 'kilo/glm-4.5-air-free', // Kilo-exclusive: Z.AI agent-centric model
112
+ 'deepseek-r1-free': 'kilo/deepseek-r1-free', // Kilo-exclusive: DeepSeek reasoning model
113
+ 'giga-potato-free': 'kilo/giga-potato-free', // Kilo-exclusive: Evaluation model
114
+ 'trinity-large-preview': 'kilo/trinity-large-preview', // Kilo-exclusive: Arcee AI preview
115
+ // Full names with kilo/ prefix
116
+ 'kilo/glm-5-free': 'kilo/glm-5-free',
117
+ 'kilo/glm-4.5-air-free': 'kilo/glm-4.5-air-free',
118
+ 'kilo/minimax-m2.5-free': 'kilo/minimax-m2.5-free', // Also on OpenCode Zen
119
+ 'kilo/deepseek-r1-free': 'kilo/deepseek-r1-free',
120
+ 'kilo/giga-potato-free': 'kilo/giga-potato-free',
121
+ 'kilo/trinity-large-preview': 'kilo/trinity-large-preview',
122
+ // Deprecated free models (kept for backward compatibility)
123
+ // These models are no longer the recommended options but may still work
124
+ 'glm-4.7-free': 'opencode/glm-4.7-free', // Deprecated: no longer free on OpenCode Zen
125
+ 'minimax-m2.1-free': 'opencode/minimax-m2.1-free', // Deprecated: replaced by m2.5
126
+ 'kilo/glm-4.7-free': 'kilo/glm-4.7-free', // Deprecated: replaced by glm-4.5-air-free
127
+ 'kilo/kimi-k2.5-free': 'kilo/kimi-k2.5-free', // Deprecated: not recommended
128
+ 'kilo/minimax-m2.1-free': 'kilo/minimax-m2.1-free', // Deprecated: replaced by m2.5
114
129
  // Premium models (requires OpenCode Zen subscription)
115
130
  sonnet: 'anthropic/claude-3-5-sonnet',
116
131
  haiku: 'anthropic/claude-3-5-haiku',
@@ -120,9 +135,11 @@ export const AGENT_MODELS = {
120
135
  'opencode/grok-code': 'opencode/grok-code',
121
136
  'opencode/big-pickle': 'opencode/big-pickle',
122
137
  'opencode/gpt-5-nano': 'opencode/gpt-5-nano',
123
- 'opencode/glm-4.7-free': 'opencode/glm-4.7-free',
124
- 'opencode/minimax-m2.1-free': 'opencode/minimax-m2.1-free',
138
+ 'opencode/minimax-m2.5-free': 'opencode/minimax-m2.5-free', // New (Issue #1300)
125
139
  'opencode/kimi-k2.5-free': 'opencode/kimi-k2.5-free',
140
+ // Deprecated OpenCode Zen models (kept for backward compatibility)
141
+ 'opencode/glm-4.7-free': 'opencode/glm-4.7-free', // Deprecated
142
+ 'opencode/minimax-m2.1-free': 'opencode/minimax-m2.1-free', // Deprecated
126
143
  // Premium models with provider prefix
127
144
  'anthropic/claude-3-5-sonnet': 'anthropic/claude-3-5-sonnet',
128
145
  'anthropic/claude-3-5-haiku': 'anthropic/claude-3-5-haiku',
@@ -400,7 +400,7 @@ export const createYargsConfig = yargsInstance => {
400
400
  config = config
401
401
  .option('model', {
402
402
  type: 'string',
403
- description: 'Model to use (for claude: opus, sonnet, haiku, haiku-3-5, haiku-3; for opencode: grok, gpt4o; for codex: gpt5, gpt5-codex, o3; for agent: grok, grok-code, big-pickle, gpt-5-nano, glm-4.7-free, minimax-m2.1-free, kimi-k2.5-free)',
403
+ description: 'Model to use (for claude: opus, sonnet, haiku, haiku-3-5, haiku-3; for opencode: grok, gpt4o; for codex: gpt5, gpt5-codex, o3; for agent: kimi-k2.5-free, big-pickle, gpt-5-nano, minimax-m2.5-free, glm-5-free, deepseek-r1-free)',
404
404
  alias: 'm',
405
405
  default: currentParsedArgs => {
406
406
  // Dynamic default based on tool selection