tachibot-mcp 2.21.1 → 2.22.0

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 (55) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +23 -16
  3. package/dist/src/config/model-constants.js +37 -19
  4. package/dist/src/config/model-defaults.js +1 -1
  5. package/dist/src/config/timeout-config.js +12 -2
  6. package/dist/src/config.js +1 -1
  7. package/dist/src/mcp-client.js +2 -2
  8. package/dist/src/memory/index.js +1 -1
  9. package/dist/src/memory/memory-config.js +10 -10
  10. package/dist/src/memory/memory-interface.js +1 -1
  11. package/dist/src/memory/memory-manager.js +4 -4
  12. package/dist/src/memory/providers/dokoro-provider.js +385 -0
  13. package/dist/src/memory/providers/hybrid-provider.js +3 -3
  14. package/dist/src/modes/challenger.js +1 -1
  15. package/dist/src/optimization/cost-monitor.js +1 -0
  16. package/dist/src/orchestrators/collaborative/registries/ModelProviderRegistry.js +1 -1
  17. package/dist/src/profiles/balanced.js +6 -0
  18. package/dist/src/profiles/code_focus.js +6 -0
  19. package/dist/src/profiles/full.js +7 -1
  20. package/dist/src/profiles/heavy_coding.js +6 -0
  21. package/dist/src/profiles/minimal.js +6 -0
  22. package/dist/src/profiles/research_power.js +6 -0
  23. package/dist/src/sequential-thinking.js +2 -2
  24. package/dist/src/server.js +115 -15
  25. package/dist/src/tools/grok-enhanced.js +7 -7
  26. package/dist/src/tools/grok-tools.js +19 -13
  27. package/dist/src/tools/jury-tool.js +69 -7
  28. package/dist/src/tools/local-tools.js +133 -0
  29. package/dist/src/tools/ollama-tools.js +74 -0
  30. package/dist/src/tools/openrouter-tools.js +278 -25
  31. package/dist/src/tools/planner-tools.js +61 -65
  32. package/dist/src/tools/unified-ai-provider.js +3 -0
  33. package/dist/src/utils/ansi-styles.js +16 -0
  34. package/dist/src/utils/api-keys.js +8 -0
  35. package/dist/src/utils/ink-markdown-renderer.js +1 -1
  36. package/dist/src/utils/ink-table.js +1 -1
  37. package/dist/src/utils/memory-provider.js +10 -10
  38. package/dist/src/utils/openrouter-gateway.js +3 -0
  39. package/dist/src/workflows/model-router.js +11 -2
  40. package/docs/superpowers/plans/2026-06-04-orchestration-gateway-local-agents.md +318 -0
  41. package/docs/superpowers/plans/2026-06-07-tachibot-mcp-tool-standardization.md +240 -0
  42. package/docs/superpowers/plans/2026-06-10-roster-expansion.md +987 -0
  43. package/package.json +1 -1
  44. package/profiles/balanced.json +7 -1
  45. package/profiles/code_focus.json +7 -1
  46. package/profiles/full.json +7 -1
  47. package/profiles/heavy_coding.json +7 -1
  48. package/profiles/minimal.json +6 -0
  49. package/profiles/research_power.json +7 -1
  50. package/skills/algo/SKILL.md +16 -6
  51. package/skills/judge/SKILL.md +3 -0
  52. package/skills/lens/SKILL.md +120 -0
  53. package/skills/reflect/SKILL.md +91 -0
  54. package/skills/tot/SKILL.md +116 -0
  55. package/tools.config.json +12 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,63 @@ All notable changes to TachiBot MCP will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.22.0] - 2026-06-10
9
+
10
+ ### Added
11
+ - **Four new reasoning providers** via OpenRouter: **DeepSeek V4 Pro** (`deepseek_reason`, `deepseek_algo` — open-weight frontier math/CP, top AIME/CodeElo), **Zhipu GLM-5.1** (`glm_reason` — SWE-Bench Pro leader, agentic tool-use), **StepFun Step 3.7 Flash** (`stepfun_reason` — efficient reasoning at flash-tier cost), **Baidu ERNIE 4.5 VL** (`ernie_reason` — broad knowledge, human-preference strength). Each with quota fallbacks and 600s reasoning timeouts.
12
+ - **Local model provider** (`local_query`): any OpenAI-compatible server — Ollama, LM Studio, llama.cpp, vLLM. Ollama gets the native `/api/chat` endpoint so `num_ctx` is honored; failures raise a typed `LocalLLMError`. Configure via `LOCAL_LLM_BASE_URL` / `LOCAL_LLM_MODEL` / `LOCAL_LLM_NUM_CTX`.
13
+ - **Jury roster expansion**: new jurors `deepseek`, `glm`, `stepfun`, `ernie`, `hermes`, `local` (13 total). New lab-diverse default panel: `grok, deepseek, kimi, openai`. Offline jurors are dropped (not error-leaked) when the local server is down.
14
+ - **Three new Claude Code skills**: `/lens` (long-context analysis over Kimi's 256K window), `/reflect` (grounded reflexion loop against external evidence), `/tot` (Tree-of-Thought with jury-based branch pruning). 12 skills total.
15
+ - `deepseek_algo` is now the lead model in `/algo` (strongest algorithmic review).
16
+
17
+ ### Changed
18
+ - Profile counts: minimal 12, code_focus 34, research_power 35, balanced 45, heavy_coding 50, full 57.
19
+ - Merged the `local-models-ollama` release line (v2.21.3–v2.21.5): Gemini 3.5 Flash search tier, Grok 4.3 default, Kimi K2.6 repoints.
20
+
21
+ ## [2.21.5] - 2026-06-04
22
+
23
+ ### Fixed
24
+ - **Kimi tools were calling a retired model.** All Kimi call sites hardcoded `moonshotai/kimi-k2.5`, which OpenRouter no longer serves — every `kimi_*` request failed with a JSON/timeout error (surfaced as "Kimi down"). The model config (`KIMI_MODELS.K2_6`) was already correct but unused by the tools. Repointed all 5 call sites — `kimi_thinking`, `kimi_code`, `kimi_decompose`, `kimi_long_context` (`openrouter-tools.ts`) and the Kimi juror (`jury-tool.ts`) — to `moonshotai/kimi-k2.6`.
25
+ - Fixed the `MODEL_FALLBACKS` entry for `KIMI_K2_6`, which pointed at the retired `KIMI_K2_5`; it now falls back to `KIMI_K2_THINKING` (`moonshotai/kimi-k2-thinking`, still live).
26
+
27
+ ### Notes
28
+ - The `KIMI_K2_5` enum value is retained for back-compat but is marked do-not-call; `moonshotai/kimi-k2.5` is no longer a valid OpenRouter model ID.
29
+
30
+ ## [2.21.4] - 2026-06-01
31
+
32
+ ### Changed
33
+ - **Grok bumped `grok-4.20` → `grok-4.3`** (xAI's Apr 30 2026 flagship). All Grok roles (`grok_reason`, `grok_code`, `grok_debug`, `grok_brainstorm`, `grok_search`, `grok_architect`) now resolve to `grok-4.3`: 1M context, lowest hallucination rate, and **cheaper** ($1.25/$2.50 vs 4.20's $2/$6). Pricing entry dropped `0.004` → `0.001875`.
34
+ - `grok-4.3` is a single model ID with **configurable reasoning effort** (replacing 4.20's reasoning/non-reasoning/multi-agent split). `callGrok` now (a) treats `grok-4.3` as a long-timeout flagship (180s) and (b) forwards `reasoning.effort` for `grok-4.3` as well as multi-agent — so `grok_architect` keeps its `high`-effort behaviour.
35
+ - Repointed `CURRENT_MODELS.grok`, `MODELS.GROK`, workflow `model-router` routing, `ModelProviderRegistry` alias, and `config.ts` available-models list to `grok-4.3`.
36
+
37
+ ### Added
38
+ - `GROK_MODELS._4_3` / `GROK_MODELS._BUILD` constants (+ `GrokModel.GROK_4_3`, `GROK_4_3_LATEST`, `GROK_BUILD`). `grok-build-0.1` (May 29 2026 coding specialist, 256k ctx) added as a constant for future wiring.
39
+ - Display name, pricing, OpenRouter-gateway mapping (`x-ai/grok-4.3`), cost-monitor entry, and ANSI terminal labels (all 4 style maps) for `grok-4.3`.
40
+
41
+ ### Notes
42
+ - Legacy `GROK_4_20_*` enum keys are retained (now resolving to `grok-4.3`) for back-compat; grok-4.20 itself was **not** retired by xAI and remains a valid fallback.
43
+
44
+ ## [2.21.3] - 2026-05-29
45
+
46
+ ### Added
47
+ - **Gemini 3.5 Flash** (`gemini-3.5-flash`) — went GA at Google I/O on 2026-05-19. Now the Flash/search tier: `gemini_query` (`flash`), `gemini_search` grounding, and `tool-mapper` `flash` routing all resolve to it via `GEMINI_MODELS.FLASH`. Agentic/coding focus, 1M context, $1.50/$9 per M tokens. SWE-bench Verified 78.8%, Terminal-bench 76.2%.
48
+ - Display name + pricing for `gemini-3.5-flash`; ANSI terminal labels in all 4 style maps.
49
+
50
+ ### Changed
51
+ - `GEMINI_MODELS.FLASH` alias bumped `gemini-3-flash-preview` → `gemini-3.5-flash`. The legacy `GEMINI_3_FLASH` constant is retained for `model-router.ts` cost tiers.
52
+
53
+ ### Notes
54
+ - **Reasoning default unchanged** — `gemini.default` stays `gemini-3.1-pro-preview`. Gemini 3.5 **Pro** is not yet released (announced at I/O, expected June 2026, no API model ID). Swap the default to 3.5 Pro once it ships.
55
+ - No OpenAI change: GPT-5.5 (Apr 23) remains the latest flagship; no GPT-5.6 exists.
56
+
57
+ ## [2.21.2] - 2026-05-04
58
+
59
+ ### Fixed
60
+ - Test suite: dropped stray `vitest` import in `strip-markdown` test (project uses Jest).
61
+
62
+ ### Docs
63
+ - Backfilled CHANGELOG entries for v2.20.0 and v2.21.0.
64
+
8
65
  ## [2.21.1] - 2026-04-26
9
66
 
10
67
  ### Changed
package/README.md CHANGED
@@ -5,17 +5,17 @@
5
5
  ### Multi-Model AI Orchestration Platform
6
6
 
7
7
  [![Version](https://img.shields.io/badge/version-2.15.2-blue.svg)](https://www.npmjs.com/package/tachibot-mcp)
8
- [![Tools](https://img.shields.io/badge/tools-51_active-brightgreen.svg)](#-tool-ecosystem-51-tools)
8
+ [![Tools](https://img.shields.io/badge/tools-57_active-brightgreen.svg)](#-tool-ecosystem-57-tools)
9
9
  [![License](https://img.shields.io/badge/license-AGPL--3.0-green.svg)](LICENSE)
10
10
  [![Node](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org)
11
11
  [![MCP](https://img.shields.io/badge/MCP-Compatible-purple.svg)](https://modelcontextprotocol.io)
12
12
 
13
- **51 AI tools. 7 providers. One protocol.**
13
+ **57 AI tools. 12 providers. One protocol.**
14
14
 
15
15
  Orchestrate Perplexity, Grok, GPT-5, Gemini, Qwen, Kimi K2.5, and MiniMax M2.5
16
16
  from Claude Code, Claude Desktop, Cursor, or any MCP client.
17
17
 
18
- [Get Started](#-quick-start) · [View Tools](#-tool-ecosystem-51-tools) · [Documentation](https://tachibot.com/docs)
18
+ [Get Started](#-quick-start) · [View Tools](#-tool-ecosystem-57-tools) · [Documentation](https://tachibot.com/docs)
19
19
 
20
20
  <br>
21
21
 
@@ -70,7 +70,7 @@ Techniques are embedded directly in tool system prompts for automatic applicatio
70
70
 
71
71
  ## Skills (Claude Code)
72
72
 
73
- TachiBot ships with 9 slash commands for Claude Code. These orchestrate the tools into powerful workflows:
73
+ TachiBot ships with 12 slash commands for Claude Code. These orchestrate the tools into powerful workflows:
74
74
 
75
75
  | Skill | What it does | Example |
76
76
  |-------|-------------|---------|
@@ -81,7 +81,10 @@ TachiBot ships with 9 slash commands for Claude Code. These orchestrate the tool
81
81
  | `/breakdown` | Strategic decomposition with pre-mortem | `/breakdown refactor payment module` |
82
82
  | `/decompose` | Split into sub-problems, deep-dive each one | `/decompose implement collaborative editor` |
83
83
  | `/prompt` | Recommend the right thinking technique (31 available) | `/prompt why do users churn` |
84
- | `/algo` | Algorithm analysis with 3 specialized models | `/algo optimize LRU cache O(1)` |
84
+ | `/algo` | Algorithm analysis with 4 specialized models (DeepSeek lead) | `/algo optimize LRU cache O(1)` |
85
+ | `/lens` | Long-context analysis over Kimi's 256K window | `/lens find inconsistencies in this spec` |
86
+ | `/reflect` | Grounded reflexion loop — critique vs external evidence | `/reflect harden this auth middleware` |
87
+ | `/tot` | Tree-of-Thought: branch → jury-prune → synthesize | `/tot design a rate limiter` |
85
88
  | `/tachi` | Help - see available skills, tools, key status | `/tachi` |
86
89
 
87
90
  Skills automatically adapt to your configured API keys. Even with just 1-2 providers, all skills work.
@@ -93,7 +96,8 @@ Skills automatically adapt to your configured API keys. Even with just 1-2 provi
93
96
  ## Key Features
94
97
 
95
98
  ### Multi-Model Intelligence
96
- - **51 AI Tools** across 7 providers &mdash; Perplexity, Grok, GPT-5, Gemini, Qwen, Kimi, MiniMax
99
+ - **57 AI Tools** across 12 providers &mdash; Perplexity, Grok, GPT-5, Gemini, Qwen, Kimi, MiniMax, DeepSeek, GLM (Zhipu), StepFun, ERNIE (Baidu), plus free local models (Ollama / LM Studio / llama.cpp / vLLM)
100
+ - **Gemini 3.5 Flash** (`gemini-3.5-flash`, GA May 19 2026) &mdash; Flash/search tier; reasoning default stays `gemini-3.1-pro-preview`
97
101
  - **Multi-Model Council** &mdash; planner_maker synthesizes plans from 5+ models into bite-sized TDD steps
98
102
  - **Smart Routing** &mdash; Automatic model selection for optimal results
99
103
  - **OpenRouter Gateway** &mdash; Optional single API key for all providers
@@ -108,11 +112,11 @@ Skills automatically adapt to your configured API keys. Even with just 1-2 provi
108
112
  | Profile | Tools | Best For |
109
113
  |---------|-------|----------|
110
114
  | **Minimal** | 12 | Quick tasks, low token budget |
111
- | **Research Power** | 31 | Deep investigation, multi-source |
112
- | **Code Focus** | 29 | Software development, SWE tasks |
113
- | **Balanced** | 39 | General-purpose, mixed workflows |
114
- | **Heavy Coding** (default) | 45 | Max code tools + agentic workflows |
115
- | **Full** | 51 | Everything enabled |
115
+ | **Research Power** | 35 | Deep investigation, multi-source |
116
+ | **Code Focus** | 34 | Software development, SWE tasks |
117
+ | **Balanced** | 45 | General-purpose, mixed workflows |
118
+ | **Heavy Coding** (default) | 50 | Max code tools + agentic workflows |
119
+ | **Full** | 57 | Everything enabled |
116
120
 
117
121
  ### Developer Experience
118
122
  - **Claude Code** &mdash; First-class support
@@ -174,16 +178,16 @@ See [Installation Guide](docs/INSTALLATION_BOTH.md) for detailed instructions.
174
178
 
175
179
  ---
176
180
 
177
- ## Tool Ecosystem (51 Tools)
181
+ ## Tool Ecosystem (57 Tools)
178
182
 
179
183
  ### Research & Search (6)
180
184
  `perplexity_ask` &#183; `perplexity_research` &#183; `perplexity_reason` &#183; `grok_search` &#183; `openai_search` &#183; `gemini_search`
181
185
 
182
- ### Reasoning & Planning (9)
183
- `grok_reason` &#183; `openai_reason` &#183; `qwen_reason` &#183; `qwq_reason` &#183; `kimi_thinking` &#183; `kimi_decompose` &#183; `planner_maker` &#183; `planner_runner` &#183; `list_plans`
186
+ ### Reasoning & Planning (13)
187
+ `grok_reason` &#183; `openai_reason` &#183; `qwen_reason` &#183; `qwq_reason` &#183; `kimi_thinking` &#183; `kimi_decompose` &#183; `deepseek_reason` &#183; `glm_reason` &#183; `stepfun_reason` &#183; `ernie_reason` &#183; `planner_maker` &#183; `planner_runner` &#183; `list_plans`
184
188
 
185
- ### Code Intelligence (8)
186
- `kimi_code` &#183; `grok_code` &#183; `grok_debug` &#183; `qwen_coder` &#183; `qwen_algo` &#183; `qwen_competitive` &#183; `minimax_code` &#183; `minimax_agent`
189
+ ### Code Intelligence (9)
190
+ `kimi_code` &#183; `grok_code` &#183; `grok_debug` &#183; `qwen_coder` &#183; `qwen_algo` &#183; `qwen_competitive` &#183; `deepseek_algo` &#183; `minimax_code` &#183; `minimax_agent`
187
191
 
188
192
  ### Analysis & Judgment (11)
189
193
  `gemini_analyze_text` &#183; `gemini_analyze_code` &#183; `gemini_judge` &#183; `jury` &#183; `gemini_brainstorm` &#183; `openai_brainstorm` &#183; `openai_code_review` &#183; `openai_explain` &#183; `grok_brainstorm` &#183; `grok_architect` &#183; `kimi_long_context`
@@ -197,6 +201,9 @@ See [Installation Guide](docs/INSTALLATION_BOTH.md) for detailed instructions.
197
201
  ### Prompt Engineering (3)
198
202
  `list_prompt_techniques` &#183; `preview_prompt_technique` &#183; `execute_prompt_technique`
199
203
 
204
+ ### Local Models (1)
205
+ `local_query` &mdash; any OpenAI-compatible local server (Ollama / LM Studio / llama.cpp / vLLM). Zero-cost, offline, private; also available as `hermes`/`local` jury jurors.
206
+
200
207
  ### Advanced Modes (bonus)
201
208
  - **Challenger** &mdash; Critical analysis with multi-model fact-checking
202
209
  - **Verifier** &mdash; Multi-model consensus verification
@@ -42,15 +42,19 @@ export const OPENAI_REASONING = {
42
42
  // =============================================================================
43
43
  // GEMINI MODELS (Google)
44
44
  // =============================================================================
45
+ // Gemini 3.5 Flash went GA May 19, 2026 (Google I/O) — agentic/coding, 1M ctx, $1.50/$9.
46
+ // It is the new FLASH/search tier. Gemini 3.5 Pro is NOT out yet (June 2026), so the
47
+ // reasoning DEFAULT stays on gemini-3.1-pro-preview until 3.5 Pro ships.
45
48
  export const GEMINI_MODELS = {
46
- // Gemini 3.1 Pro - default (3.0 Pro retires Mar 9, 2026)
47
- GEMINI_3_PRO: "gemini-3.1-pro-preview", // Migrated: 3.0 retires Mar 9
49
+ // Gemini 3.1 Pro - reasoning default (3.0 Pro retired Mar 9, 2026)
50
+ GEMINI_3_PRO: "gemini-3.1-pro-preview", // Default: top reasoning model available
48
51
  GEMINI_3_1_PRO: "gemini-3.1-pro-preview", // Enhanced reasoning, 1M context
49
- GEMINI_3_FLASH: "gemini-3-flash-preview", // Fast frontier model
52
+ GEMINI_3_5_FLASH: "gemini-3.5-flash", // GA May 19, 2026 - agentic/coding, 1M ctx
53
+ GEMINI_3_FLASH: "gemini-3-flash-preview", // Legacy fast frontier (kept for model-router)
50
54
  GEMINI_3_1_FLASH_LITE: "gemini-3.1-flash-lite", // Mar 3, 2026 - fastest/cheapest in 3.1 series
51
55
  // Aliases
52
56
  PRO: "gemini-3.1-pro-preview",
53
- FLASH: "gemini-3-flash-preview",
57
+ FLASH: "gemini-3.5-flash", // Bumped: 3-flash-preview -> 3.5-flash (May 2026)
54
58
  FLASH_LITE: "gemini-3.1-flash-lite",
55
59
  };
56
60
  // Perplexity Models
@@ -59,12 +63,18 @@ export const PERPLEXITY_MODELS = {
59
63
  SONAR_PRO: "sonar-pro", // Advanced search
60
64
  SONAR_REASONING: "sonar-reasoning-pro", // Reasoning model (expensive - avoid)
61
65
  };
62
- // Grok Models (xAI) - Updated 2026-04-10 with Grok 4.20 (Mar 2026)
66
+ // Grok Models (xAI) - Updated 2026-06-01 with Grok 4.3 (Apr 30, 2026 flagship)
63
67
  export const GROK_MODELS = {
64
- // Grok 4.20 models (Mar 10, 2026) - FLAGSHIP
65
- _4_20_REASONING: "grok-4.20-0309-reasoning", // Flagship: 2M context, $2/$6, low hallucination
66
- _4_20_NON_REASONING: "grok-4.20-0309-non-reasoning", // Standard: 2M context, $2/$6
67
- _4_20_MULTI_AGENT: "grok-4.20-multi-agent-0309", // Multi-agent: 4-16 agents via reasoning.effort, $2/$6
68
+ // Grok 4.3 (Apr 30, 2026) - CURRENT FLAGSHIP
69
+ // Single model ID with configurable reasoning effort (replaces 4.20's reasoning/non-reasoning/multi-agent split).
70
+ // 1M context, $1.25/$2.50 (cheaper than 4.20), xAI's recommended model, lowest hallucination rate.
71
+ _4_3: "grok-4.3", // Flagship: 1M ctx, $1.25/$2.50, reasoning.effort low|high
72
+ _4_3_LATEST: "grok-4.3-latest", // Rolling alias for newest 4.3 snapshot
73
+ _BUILD: "grok-build-0.1", // Coding specialist (May 29, 2026): 256k ctx, fast agentic coding
74
+ // Grok 4.20 models (Mar 10, 2026) - LEGACY (still valid; kept as fallback). Now resolve to 4.3 via deprecated keys.
75
+ _4_20_REASONING: "grok-4.3", // [deprecated key] → grok-4.3 (was grok-4.20-0309-reasoning)
76
+ _4_20_NON_REASONING: "grok-4.3", // [deprecated key] → grok-4.3 (was grok-4.20-0309-non-reasoning)
77
+ _4_20_MULTI_AGENT: "grok-4.3", // [deprecated key] → grok-4.3 (architect uses high reasoning.effort)
68
78
  // Grok 4.1 fast models (Nov 2025) - BEST VALUE (10x cheaper)
69
79
  _4_1_FAST_REASONING: "grok-4-1-fast-reasoning", // Fast reasoning: 2M context, $0.20/$0.50
70
80
  _4_1_FAST_NON_REASONING: "grok-4-1-fast-non-reasoning", // Tool-calling optimized: 2M context, $0.20/$0.50
@@ -160,12 +170,12 @@ export const CURRENT_MODELS = {
160
170
  premium: OPENAI_MODELS.PRO, // Expert mode (gpt-5.5-pro - higher compute)
161
171
  },
162
172
  grok: {
163
- reason: GROK_MODELS._4_20_REASONING, // grok-4.20-0309-reasoning (flagship, low hallucination)
164
- code: GROK_MODELS._4_20_NON_REASONING, // grok-4.20 non-reasoning (flagship quality, tool-calling)
165
- debug: GROK_MODELS._4_20_NON_REASONING, // grok-4.20 non-reasoning (low hallucination for debugging)
166
- brainstorm: GROK_MODELS._4_20_NON_REASONING, // grok-4.20-0309-non-reasoning (2M context)
167
- search: GROK_MODELS._4_20_REASONING, // grok-4.20 LOW HALLUCINATION - critical for search
168
- architect: GROK_MODELS._4_20_MULTI_AGENT, // grok-4.20-multi-agent-0309 (4-16 agent swarm)
173
+ reason: GROK_MODELS._4_3, // grok-4.3 (flagship, low hallucination, high reasoning effort)
174
+ code: GROK_MODELS._4_3, // grok-4.3 (flagship quality, tool-calling)
175
+ debug: GROK_MODELS._4_3, // grok-4.3 (low hallucination for debugging)
176
+ brainstorm: GROK_MODELS._4_3, // grok-4.3 (1M context)
177
+ search: GROK_MODELS._4_3, // grok-4.3 LOW HALLUCINATION - critical for search
178
+ architect: GROK_MODELS._4_3, // grok-4.3 with high reasoning.effort (agentic swarm behaviour)
169
179
  },
170
180
  gemini: {
171
181
  default: GEMINI_MODELS.GEMINI_3_PRO,
@@ -337,9 +347,13 @@ export const MODEL_DISPLAY_NAMES = {
337
347
  "gpt-5.4-pro": "gpt-5.4-pro",
338
348
  // Gemini
339
349
  "gemini-3.1-pro-preview": "gemini-3.1-pro",
350
+ "gemini-3.5-flash": "gemini-3.5-flash",
340
351
  "gemini-3-flash-preview": "gemini-3-flash",
341
352
  "gemini-3.1-flash-lite": "gemini-3.1-flash-lite",
342
353
  // Grok (xAI)
354
+ "grok-4.3": "grok-4.3",
355
+ "grok-4.3-latest": "grok-4.3",
356
+ "grok-build-0.1": "grok-build",
343
357
  "grok-4.20-0309-reasoning": "grok-4.20",
344
358
  "grok-4.20-0309-non-reasoning": "grok-4.20-fast",
345
359
  "grok-4.20-multi-agent-0309": "grok-4.20-multi",
@@ -385,12 +399,16 @@ export const MODEL_PRICING = {
385
399
  "gpt-5.4-pro": 0.105, // ($30 + $180) / 2 / 1000 (Mar 2026)
386
400
  // Gemini
387
401
  "gemini-3.1-pro-preview": 0.007, // ($2 + $12) / 2 / 1000
388
- "gemini-3-flash-preview": 0.00175, // ($0.50 + $3) / 2 / 1000
402
+ "gemini-3.5-flash": 0.00525, // ($1.50 + $9) / 2 / 1000 (GA May 19, 2026)
403
+ "gemini-3-flash-preview": 0.00175, // ($0.50 + $3) / 2 / 1000 (legacy)
389
404
  "gemini-3.1-flash-lite": 0.001, // Cheapest/fastest in 3.1 series (Mar 2026)
390
405
  // Grok
391
- "grok-4.20-0309-reasoning": 0.004, // ($2 + $6) / 2 / 1000
392
- "grok-4.20-0309-non-reasoning": 0.004, // ($2 + $6) / 2 / 1000
393
- "grok-4.20-multi-agent-0309": 0.004, // ($2 + $6) / 2 / 1000
406
+ "grok-4.3": 0.001875, // ($1.25 + $2.50) / 2 / 1000 (Apr 30, 2026 - cheaper than 4.20)
407
+ "grok-4.3-latest": 0.001875,
408
+ "grok-build-0.1": 0.001875, // Coding specialist (estimate, same tier)
409
+ "grok-4.20-0309-reasoning": 0.004, // ($2 + $6) / 2 / 1000 (legacy)
410
+ "grok-4.20-0309-non-reasoning": 0.004, // ($2 + $6) / 2 / 1000 (legacy)
411
+ "grok-4.20-multi-agent-0309": 0.004, // ($2 + $6) / 2 / 1000 (legacy)
394
412
  "grok-4-1-fast-reasoning": 0.00035,
395
413
  "grok-4-1-fast-non-reasoning": 0.00035,
396
414
  "grok-4-fast-reasoning": 0.00035,
@@ -21,7 +21,7 @@ const MODELS = {
21
21
  OPENAI: OPENAI_MODELS.THINKING, // gpt-5.5 (default - most capable, agentic)
22
22
  OPENAI_REASON: OPENAI_MODELS.THINKING, // gpt-5.5 (deep reasoning)
23
23
  // xAI Grok
24
- GROK: GROK_MODELS._4_20_REASONING, // grok-4.20-0309-reasoning
24
+ GROK: GROK_MODELS._4_3, // grok-4.3 (Apr 2026 flagship, 1M ctx, $1.25/$2.50)
25
25
  // Perplexity
26
26
  PERPLEXITY: PERPLEXITY_MODELS.SONAR, // sonar (cheapest)
27
27
  PERPLEXITY_REASON: PERPLEXITY_MODELS.SONAR_REASONING, // sonar-reasoning-pro ($2/$8 per M)
@@ -33,12 +33,22 @@ export function getTimeoutConfig() {
33
33
  }
34
34
  /**
35
35
  * Get OpenRouter timeout based on model ID.
36
- * Thinking/reasoning models get extended timeout (600s default).
36
+ * Thinking/reasoning/swarm models get extended timeout (600s default).
37
37
  * Standard models get 180s default.
38
+ *
39
+ * NOTE: All Kimi K2 variants (incl. 'moonshotai/kimi-k2.6') run the Agent Swarm
40
+ * and need the extended timeout — but their model IDs don't contain 'thinking',
41
+ * so we match 'kimi' explicitly. Same applies to DeepSeek V4 and Zhipu GLM, whose
42
+ * reasoning passes are slow but whose IDs lack the 'thinking'/'reasoning' marker.
43
+ * This keeps primary and fallback consistent and lets these tools inherit 600s
44
+ * instead of the 180s default. Single source of truth — no per-call timeouts.
38
45
  */
39
46
  export function getOpenRouterModelTimeout(modelId) {
40
47
  const config = getTimeoutConfig();
41
- if (modelId.includes('thinking') || modelId.includes('reasoning')) {
48
+ const id = modelId.toLowerCase();
49
+ if (id.includes('thinking') || id.includes('reasoning') ||
50
+ id.includes('kimi') || id.includes('deepseek') || id.includes('glm') ||
51
+ id.includes('stepfun') || id.includes('ernie')) {
42
52
  return config.openrouterThinking;
43
53
  }
44
54
  return config.openrouter;
@@ -128,7 +128,7 @@ export function getAvailableModels(config) {
128
128
  models.push('sonar-pro', 'sonar-reasoning-pro', 'sonar-deep-research');
129
129
  }
130
130
  if (config.apiKeys.grok) {
131
- models.push('grok-3', 'grok-4.20-0309-reasoning', 'grok-4.20-multi-agent-0309');
131
+ models.push('grok-4.3', 'grok-4.3-latest', 'grok-build-0.1');
132
132
  }
133
133
  if (config.apiKeys.openrouter) {
134
134
  models.push('qwen3-coder', 'qwq-32b', 'qwen3-32b');
@@ -13,8 +13,8 @@ export class MCPClient {
13
13
  'mcp__openai-mcp__openai_reason',
14
14
  'mcp__openai-mcp__openai_brainstorm',
15
15
  'mcp__think-mcp-server__think',
16
- 'mcp__devlog-search__search_devlogs',
17
- 'mcp__devlog-core__devlog_session_log'
16
+ 'mcp__dokoro__dokoro_session_recall',
17
+ 'mcp__dokoro__dokoro_session_summary_add'
18
18
  ]);
19
19
  }
20
20
  hasTools(tools) {
@@ -9,7 +9,7 @@ export * from './memory-manager.js';
9
9
  // Provider exports
10
10
  export * from './providers/local-provider.js';
11
11
  export * from './providers/mem0-provider.js';
12
- // export * from './providers/devlog-provider.js';
12
+ // export * from './providers/dokoro-provider.js';
13
13
  // export * from './providers/hybrid-provider.js';
14
14
  // Main API
15
15
  export { getMemoryManager, resetMemoryManager, HierarchicalMemoryManager } from './memory-manager.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Memory Configuration System
3
- * Flexible memory backend configuration with support for mem0, DevLog, local, and hybrid modes
3
+ * Flexible memory backend configuration with support for mem0, Dokoro, local, and hybrid modes
4
4
  */
5
5
  /**
6
6
  * Default configuration
@@ -51,13 +51,13 @@ export function loadMemoryConfigFromEnv() {
51
51
  enableGraphMemory: process.env.MEM0_ENABLE_GRAPH !== 'false'
52
52
  };
53
53
  }
54
- // DevLog configuration
55
- if (process.env.DEVLOG_CONNECTION) {
56
- config.devlog = {
57
- connectionString: process.env.DEVLOG_CONNECTION,
58
- workspace: process.env.DEVLOG_WORKSPACE,
59
- projectId: process.env.DEVLOG_PROJECT,
60
- enableSync: process.env.DEVLOG_SYNC !== 'false'
54
+ // Dokoro configuration
55
+ if (process.env.DOKORO_CONNECTION) {
56
+ config.dokoro = {
57
+ connectionString: process.env.DOKORO_CONNECTION,
58
+ workspace: process.env.DOKORO_WORKSPACE,
59
+ projectId: process.env.DOKORO_PROJECT,
60
+ enableSync: process.env.DOKORO_SYNC !== 'false'
61
61
  };
62
62
  }
63
63
  // Local storage configuration
@@ -109,8 +109,8 @@ export function validateMemoryConfig(config) {
109
109
  if (config.provider === 'mem0' && !config.mem0?.apiKey && !process.env.MEM0_API_KEY) {
110
110
  errors.push('Mem0 provider requires API key (MEM0_API_KEY or config.mem0.apiKey)');
111
111
  }
112
- if (config.provider === 'devlog' && !config.devlog?.connectionString && !process.env.DEVLOG_CONNECTION) {
113
- errors.push('DevLog provider requires connection string');
112
+ if (config.provider === 'dokoro' && !config.dokoro?.connectionString && !process.env.DOKORO_CONNECTION) {
113
+ errors.push('Dokoro provider requires connection string');
114
114
  }
115
115
  if (config.provider === 'local' && !config.local?.path) {
116
116
  errors.push('Local provider requires storage path');
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Memory Provider Interface
3
- * Common interface for all memory providers (mem0, DevLog, local, etc.)
3
+ * Common interface for all memory providers (mem0, Dokoro, local, etc.)
4
4
  */
5
5
  /**
6
6
  * Abstract base class for memory providers with common functionality
@@ -6,7 +6,7 @@ import { mergeMemoryConfig, validateMemoryConfig } from './memory-config.js';
6
6
  import { LocalProvider } from './providers/local-provider.js';
7
7
  import { Mem0Provider } from './providers/mem0-provider.js';
8
8
  import { randomBytes } from 'crypto';
9
- // import { DevLogProvider } from './providers/devlog-provider.js';
9
+ // import { DokoroProvider } from './providers/dokoro-provider.js';
10
10
  // import { HybridProvider } from './providers/hybrid-provider.js';
11
11
  /**
12
12
  * Main memory manager that coordinates all providers
@@ -244,9 +244,9 @@ export class HierarchicalMemoryManager {
244
244
  console.error('Failed to create Mem0 provider:', error);
245
245
  return null;
246
246
  }
247
- case 'devlog':
248
- // TODO: Implement DevLog provider
249
- console.warn('DevLog provider not yet implemented');
247
+ case 'dokoro':
248
+ // TODO: Implement Dokoro provider
249
+ console.warn('Dokoro provider not yet implemented');
250
250
  return null;
251
251
  case 'local':
252
252
  return await this.createLocalProvider();