All notable changes to the Converse MCP Server project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.2.4 (2026-07-30)
- triple provider and transport timeouts for long-running agentic models (d59e472)
3.2.3 (2026-07-26)
- drop the unused ai dependency (b4b6cae)
3.2.2 (2026-07-26)
- deps: bump ai from 6.0.208 to 7.0.37 (#52) (d087fae)
- deps: bump nanoid from 5.1.16 to 6.0.0 (#47) (5c56843)
- update the remaining npm minor and patch releases (c6b8f49)
3.2.1 (2026-07-26)
- deps: bump actions/checkout from 6 to 7 (#34) (fa3bb62)
- deps: bump actions/setup-node from 6 to 7 (#50) (13611a8)
3.2.0 (2026-07-26)
- cli: add -v/--version flag (83bd98d)
3.1.0 (2026-07-25)
- add Claude Opus 5 across Anthropic, Claude SDK, and Copilot providers (7211618)
- map Codex reasoning effort onto the model's supported tiers (73de7c6)
- add task files for 013 (agy provider), 014 (unified chat tool), 015 (model catalogs) (e25a57c)
3.0.2 (2026-07-17)
- restore copilot:codex alias and floor Codex reasoning effort at low (87c04ad)
3.0.1 (2026-07-11)
- cut 3.0.1 for npm publish (737d403)
3.0.0 (2026-07-11)
- The consensus and conversation MCP tools are removed; their functionality is available as chat modes. The temperature, verbosity, use_websearch, enable_cross_feedback, cross_feedback_prompt, turn_prompt, and singular model parameters are removed from the tool schema.
- merge chat, consensus, and conversation into a unified chat tool with modes (733ce0f)
- modernize provider model catalogs and capabilities (23f0e15)
- correct Mistral catalog to match live API (Large is image-capable, 262144 context) (0931754)
- describe the unified chat tool and current provider catalogs (7670d28)
2.29.2 (2026-07-10)
- require @openai/codex-sdk ^0.144.1 (ae6ef06)
2.29.1 (2026-07-10)
- default CODEX_MODEL to gpt-5.6-sol (fc6c4fa)
- design: define provider model modernization (3bdf7e7)
2.29.0 (2026-07-09)
- add GPT-5.6 model family (Sol, Terra, Luna) and make it the default (c91c9d4)
- deps: bump the npm-minor-and-patch group with 10 updates (#37) (4bc3576)
- deps: bump the npm-minor-and-patch group with 6 updates (#39) (069b2f0)
2.28.1 (2026-06-22)
- copilot: resolve CLI runtime path instead of relying on SDK heuristic (c254dd4)
- deps: bump the npm-minor-and-patch group with 11 updates (#35) (ac9ce43)
- deps: bump the npm-minor-and-patch group with 6 updates (#33) (96afe93)
2.28.0 (2026-06-10)
- replace gemini-cli provider with Antigravity CLI (agy) subprocess provider (a274441)
- finish prettier removal in validate script and docs (a72ea67)
2.27.2 (2026-06-10)
- pin claude-agent-sdk 0.3.169 and codex-sdk 0.138.0 for release-age policy (ea59a01)
2.27.1 (2026-06-10)
2.27.0 (2026-06-10)
- add Claude Fable 5 to Anthropic and Claude providers (a677c33)
- deps: bump the npm-minor-and-patch group with 11 updates (#26) (e0e1445)
- deps: bump the npm-minor-and-patch group with 6 updates (#27) (5754541)
2.26.1 (2026-06-01)
- correct release automation notes for Trusted Publishing (6b41673)
2.26.0 (2026-06-01)
- add Claude Opus 4.8 to Copilot provider (daa7c97)
2.25.1 (2026-05-31)
- deps: bump @google/genai from 1.51.0 to 2.7.0 (595da47)
2.25.0 (2026-05-31)
- add conversation tool for turn-based multi-model round-table (0b99879)
- tidy conversation tool after simplify review (6aa4848)
2.24.0 (2026-05-28)
- add Claude Opus 4.8 support to claude and anthropic providers (fa1365c)
2.23.0 (2026-05-21)
- add Gemini 3.5 Flash support to google and gemini-cli providers (0d6b25a)
- deps: bump the npm-minor-and-patch group with 7 updates (#14) (def4b12)
- deps: bump the npm-minor-and-patch group with 9 updates (#16) (6621efc)
2.22.8 (2026-05-06)
2.22.7 (2026-04-25)
- document release-please automation in CLAUDE.md (b67a2e2)
2.22.6 (2026-04-25)
- remove bootstrap-sha now that v2.22.5 anchors history (802f545)
2.22.5 (2026-04-25)
- release-please: correct tag format and bootstrap-sha (a30b0fb)
- Codex Provider: Bumped
@openai/codex-sdk0.123.0→0.124.0 to match the Codex CLI 0.124.0 release and unblock the newgpt-5.5default model (earlier SDK rejected it with "model does not exist").
- Dependencies: Updated
@anthropic-ai/sdk0.90.0→0.91.0 and@anthropic-ai/claude-agent-sdk0.2.118→0.2.119.
- Codex Provider: Default to GPT-5.5 via the new
CODEX_MODELenv var (defaultgpt-5.5). The model is now passed explicitly to the Codex SDK rather than relying on the CLI's default. Friendly name, description, and aliases updated to reflect GPT-5.5. - Dependencies: Updated
@openai/codex-sdk0.118.0→0.123.0,@anthropic-ai/sdk0.86.1→0.90.0,@anthropic-ai/claude-agent-sdk0.2.110→0.2.118,@mistralai/mistralai2.2.0→2.2.1,ai6.0.164→6.0.168,vite8.0.8→8.0.10,eslint10.2.0→10.2.1,vitest/@vitest/coverage-v84.1.4→4.1.5
- Tests: Repaired
tests/unit/async/cache-ttl.test.jsafter the AsyncJobStore/FileCache API drift — tests now pass explicitjobIds and usewriteSnapshot/readSnapshot, and exercise expiry viacleanup(maxAgeMs)instead of LRU'sperformance.now()-based TTL (which fake timers don't advance reliably)
- Codex Provider: Pass images through to Codex via the SDK's
local_imageinput (forwarded to the CLI as--image). Enables image-to-image workflows with$imagegenand visual context in chat. Requires@openai/codex-sdk0.118+.
- Codex Provider: Flip
supportsImagestotruefor thecodexmodel and rewrite message conversion to emit structured SDK input (string | UserInput[]) when images are attached. Text-only turns continue to send a plain string. Images without an on-disk file path (e.g. raw base64) are skipped with a debug log.
- Codex Provider: Auto-elevate sandbox to
workspace-writewhen the prompt contains$imagegenso Codex can save generated image files. Higher modes explicitly set by the user (workspace-write,danger-full-access) are left untouched.
- Anthropic Provider: Added Claude Opus 4.7 model support — most capable model for complex reasoning and agentic coding with adaptive thinking, 1M context, server-side compaction, and 128K output
- Copilot Provider: Added Claude Opus 4.7 model support via Copilot subscription
- Anthropic Provider: Remapped effort levels to better match Anthropic's xhigh tier — none→low, minimal→low, low→medium, medium→high, high→xhigh, max→max
- Anthropic Provider: Fixed
noneeffort level sending adaptive thinking without an effort parameter; now correctly maps tolow - Claude SDK Provider: Updated default model from Opus 4.6 to Opus 4.7
- Model Aliases: Unversioned
opusandclaude-opusaliases now resolve to Claude Opus 4.7 across all providers - Dependencies: Updated
@github/copilot-sdk0.2.1→0.2.2,@google/genai1.49.0→1.50.1,ai6.0.154→6.0.164,dotenv17.4.1→17.4.2,lru-cache11.3.3→11.3.5,nanoid5.1.7→5.1.9,vitest4.1.3→4.1.4
- All Providers: Increased execution timeouts to 10 minutes (600s) across all CLI providers — Claude, Codex, Gemini CLI, and all Copilot models — to prevent premature timeout errors on long-running requests
- Dependencies: Updated
@anthropic-ai/claude-agent-sdk0.2.77→0.2.81,@google/genai1.45.0→1.46.0,ai6.0.116→6.0.138,openai6.31.0→6.32.0,vite8.0.0→8.0.2,vitest4.1.0→4.1.1,eslint10.0.3→10.1.0
- OpenAI Provider: Added GPT-5.4 mini and GPT-5.4 nano model support — fast, efficient models optimized for coding, subagents, and computer use
- Copilot Provider: Fixed responses being duplicated — the
assistant.messageevent (full content) was emitted alongside streaming deltas, doubling output
- Copilot Provider: Replaced disk-patching of
vscode-jsonrpcwith anode:moduleresolve hook that rewrites the extensionlessvscode-jsonrpc/nodeimport to include.js. Works in all environments (npm, pnpm, global installs) without filesystem writes.
- Copilot Provider: Fixed
ERR_MODULE_NOT_FOUNDforvscode-jsonrpc/nodeunder Node.js strict ESM resolution by adding runtime patch for missing exports field invscode-jsonrpc@8.2.1
- Copilot Provider: Fixed overly broad auth error detection that caused false positives (e.g. errors containing "OAuth" or "authorization" were incorrectly caught as authentication failures)
- Copilot Provider: Fixed error messages referencing non-existent
copilot auth logincommand; now correctly referencesgh auth login - Copilot Provider: Auth error now includes original error message for easier debugging
- Dependencies: Updated all dependencies to latest versions
@anthropic-ai/claude-agent-sdk0.2.74 → 0.2.76lru-cache11.2.6 → 11.2.7openai6.27.0 → 6.29.0
- Dependencies: Updated all dependencies to latest versions
@anthropic-ai/claude-agent-sdk0.2.63 → 0.2.74@anthropic-ai/sdk0.74.0 → 0.78.0@github/copilot-sdk0.1.29 → 0.1.32@google/genai1.43.0 → 1.45.0@mistralai/mistralai1.14.1 → 1.15.1@openai/codex-sdk0.110.0 → 0.114.0ai6.0.108 → 6.0.116openai6.26.0 → 6.27.0vite7.3.1 → 8.0.0@vitest/coverage-v84.0.18 → 4.1.0eslint10.0.2 → 10.0.3vitest4.0.18 → 4.1.0
- File Range Specifier: Support alternative separator characters in partial file read syntax
- GPT-5.4 Support: Added
gpt-5.4andgpt-5.4-promodels to OpenAI provider- 1M context window, 128K output (272K for Pro)
gpt-5alias now resolves togpt-5.4gpt-5-proalias now resolves togpt-5.4-pro
- Copilot Provider: Added
gpt-5.4model entry,gpt-5alias updated
- Deprecated OpenAI models: Removed
gpt-5.2,gpt-5-2025-08-07(GPT-5.0), andgpt-5.2-pro
- Dependencies: Updated to latest versions
@openai/codex-sdk0.101.0 → 0.110.0openai6.25.0 → 6.26.0
- Dependencies: Updated to latest versions
@anthropic-ai/claude-agent-sdk0.2.50 → 0.2.63@github/copilot-sdk0.1.25 → 0.1.29@google/genai1.42.0 → 1.43.0@mistralai/mistralai1.14.0 → 1.14.1@modelcontextprotocol/sdk1.26.0 → 1.27.1ai6.0.97 → 6.0.108openai6.22.0 → 6.25.0eslint10.0.1 → 10.0.2
- CWD passthrough for globally installed binary:
process.chdir()inbin/converse.jswas overwriting the caller's working directory beforeconfig.jscould capture it, causing relative file paths from MCP clients to resolve against the package root instead of the caller's directory- Captures
process.cwd()beforechdirand exposes it asCLIENT_CWDenv var - Adds
--cwd <path>CLI argument for explicit override - Normalizes Git Bash paths (
/c/Users/...→C:\Users\...) on Windows sopath.resolve()works correctly
- Captures
- Copilot Provider
reasoning_effortcrash: Models that don't support reasoning effort (Gemini, Claude, GPT-4.1) no longer causesession.createto fail whenreasoning_effortis specified- Three-tier capability detection: static flags for known models, SDK
listModels()query for unknown models, optimistic retry with fallback for unresolvable defaults - Added
supportsReasoningEffort: trueto GPT-5+ model definitions as a fast-path cache - Case-insensitive error matching for retry resilience against SDK wording changes
- Three-tier capability detection: static flags for known models, SDK
- Wrong timeouts for Copilot models:
invoke()was hardcoded to the basecopilotconfig (120s timeout) instead of resolving the actual model config (e.g., 300s for codex models, 600s for codex-max)
- Extracted
findModelConfig()as a standalone helper, refactoredgetModelConfig()to delegate to it
- Updated chat and consensus tool descriptions to include
copilotandcopilot:codexmodel examples - Simplified
reasoning_effortdescription to remove model-specific qualifier
- Simplified
continuation_idtool descriptions for chat and consensus tools
- Custom Continuation IDs: Callers can now provide their own meaningful continuation IDs (e.g.,
"my-project-analysis") instead of receiving server-generatedconv_IDs- Unrecognized IDs start a new conversation under that exact ID rather than being silently replaced
- Response metadata includes
custom_id: truewhen the ID doesn't match standardconv_format and is a new conversation (not a resume) - Async mode validates custom IDs for filesystem safety — only letters, numbers, hyphens, and underscores allowed (max 128 chars)
- Consistent behavior across chat and consensus tools in sync, async submission, and async completion paths
- Aligns implementation with existing README documentation of custom ID support
- Copilot Provider
reasoning_effortSupport: Thereasoning_effortparameter is now forwarded to the Copilot SDK'sreasoningEffortsession config instead of being silently ignored- Maps tool-level values to Copilot SDK enum:
none/minimal→low,low→low,medium→medium,high→high,max→xhigh - Applied at session creation via
client.createSession({ reasoningEffort })where the SDK reads it
- Maps tool-level values to Copilot SDK enum:
- Copilot Provider: Removed incorrect "reasoning_effort not supported" log message — the
@github/copilot-sdkhas supportedreasoningEffortonSessionConfigsince v0.1.25 - Copilot Tests: Updated stale model assertions referencing removed models (
gemini-2.5-pro,gemini-3-flash-preview,grok-code-fast-1,raptor-mini,goldeneye) to match currentSUPPORTED_MODELS
- Copilot Model Selection via
copilot:modelnameSyntax: Choose specific AI models through Copilot provider using a prefix syntax- Use
copilot:gpt-5.2,copilot:claude-sonnet-4.6,copilot:gemini-2.5-pro, etc. to select specific models - Version shortcut aliases:
copilot:gpt-5→ gpt-5.2,copilot:codex→ gpt-5.3-codex,copilot:sonnet→ claude-sonnet-4.6,copilot:opus→ claude-opus-4.6,copilot:haiku,copilot:gemini,copilot:flash,copilot:grok - 23 Copilot-available models added: OpenAI (gpt-4.1, gpt-5-mini, gpt-5.1, gpt-5.2, codex variants), Anthropic (claude-haiku-4.5, claude-sonnet-4/4.5/4.6, claude-opus-4.5/4.6/4.6-fast), Google (gemini-2.5-pro, gemini-3-flash/pro-preview, gemini-3.1-pro-preview), xAI (grok-code-fast-1), and fine-tuned models (raptor-mini, goldeneye)
copilot:prefix takes precedence over keyword routing —copilot:claude-sonnet-4.6routes to Copilot, not AnthropicCOPILOT_MODELenv var supports aliases and prefix stripping (e.g.,COPILOT_MODEL=codex)- Case-insensitive prefix detection and alias resolution
- Unknown models passed through to SDK for future compatibility
- Sync metadata now reports resolved SDK model slug instead of raw input
- Use
- Dependencies: Updated to latest versions
@anthropic-ai/claude-agent-sdk0.2.49 → 0.2.50ai6.0.94 → 6.0.97
- MCP Cancellation Support for Sync Tool Calls: Pressing Escape in Claude Code now aborts in-flight provider API calls instead of silently discarding the response
- Router accepts MCP SDK's
extra.signaland forwards it per-request to tools - Chat and consensus sync paths pass
signalthrough to providerinvoke()calls - OpenAI provider passes
signalasRequestOptionsto SDK.create()calls (both sync and streaming) - Consensus Phase 2 (cross-feedback) skipped entirely if signal is aborted after Phase 1
- Cancelled calls do not persist conversation state to continuation store
- Abort errors logged at
debuglevel (noterror) across router, tool, and provider layers callTooltest utility accepts optionalsignalparameter for test coverage
- Router accepts MCP SDK's
- Gemini 3.1 Pro Model Support: Added
gemini-3.1-pro-previewto Google provider- 1M context window, 64K max output tokens
- Expanded thinking levels:
minimal,low,medium,high(up from 3.0's binarylow/high) - Thinking level logic updated to pass granular levels when the model supports them
- Aliases:
gemini-3.1,gemini3.1,gemini-3.1-pro,3.1-pro,pro,gemini-pro,gemini pro
- Gemini 3.0 Pro Removed: Replaced entirely by Gemini 3.1 Pro; all 3.0 aliases (
gemini-3,gemini3,gemini-3-pro,gemini-3-pro-preview,3-pro) now resolve to 3.1 Pro - Gemini CLI Provider: Updated SDK model name from
gemini-3-pro-previewtogemini-3.1-pro-preview - Dependencies: Updated to latest versions
@google/genai1.41.0 → 1.42.0@anthropic-ai/claude-agent-sdk0.2.44 → 0.2.47@github/copilot-sdk0.1.24 → 0.1.25ai6.0.87 → 6.0.93
- Claude Sonnet 4.6 Model Support: Added
claude-sonnet-4-6to Anthropic provider- 64K max output tokens, 200K context (1M beta)
- Adaptive thinking mode (
thinking: {type: "adaptive"}) — recommended over legacy budget-based thinking - Effort parameter is GA (no beta header required)
sonnet/claude-sonnetaliases now resolve to Sonnet 4.6
- Server-Side Context Compaction: Beta support for Opus 4.6 and Sonnet 4.6 via
compact-2026-01-12header- Automatically summarizes older context when approaching context window limits
- Sonnet 4.5 Deprecated: Marked as legacy;
sonnetalias moved to Sonnet 4.6 - Sonnet 4 Removed: Removed from supported models entirely
- Dependencies: Updated all dependencies to latest versions
@anthropic-ai/sdk0.73.0 → 0.74.0@anthropic-ai/claude-agent-sdk0.2.32 → 0.2.44@google/genai1.38.0 → 1.41.0@modelcontextprotocol/sdk1.25.3 → 1.26.0openai6.17.0 → 6.22.0eslint9.39.2 → 10.0.0- And others (see package.json)
- OpenAI Tests: Updated tests for
gpt-5-pro→gpt-5.2-promodel rename
- GitHub Copilot SDK Provider: New provider using
@github/copilot-sdkfor CLI-authenticated Copilot access- Singleton
CopilotClientwith auto-start/restart; fresh session per request - Push-to-pull streaming bridge (SDK events → async generator)
- Tool permission handler with
COPILOT_TOOL_ACCESS(read-only | full) - Model passthrough via
COPILOT_MODELenv or explicit model param - Aliases:
copilot,copilot-sdk,github-copilot - Registered in all auto-selection paths (chat sync/async, consensus sync/async) with priority after
claude, beforeopenai
- Singleton
- ESLint Test Override: Disabled
prefer-arrow-callbackfor test files to preventeslint --fixfrom breaking mock constructors
- Async Chat Auto-Selection: Used
providerOrderpriority array instead ofObject.keys(providers)for consistent provider selection between sync and async paths - Async Consensus Streaming: SDK providers (copilot, codex, claude, gemini-cli) now stream via
invoke({stream: true})with async iterator detection, instead of falling through to non-streaming path - Stream Normalizer Context: Pass
providername in normalizer context from chat and consensus call sites, fixing'unknown'provider in passthrough normalizer - Config Usable-Provider Validation: Check SDK package availability via
import.meta.resolveinstead of always-true array length check - Copilot SDK Availability:
isCopilotSDKAvailable()now usesimport.meta.resolveinstead of always returningtrue - Copilot Config Injection: Provider reads
COPILOT_TOOL_ACCESSandCOPILOT_MODELfrom config object instead ofprocess.envdirectly - Copilot TOOL_ACCESS Validation: Invalid values are caught at config load time (matching
CODEX_SANDBOX_MODEvalidation pattern) - Copilot session.send(): Awaited SDK's
session.send()which returns a Promise - Copilot assistant.message: Handle final-content event as delta fallback when deltas are coalesced
- Node.js Requirement: Minimum version bumped from 20 to 24 (required by
@github/copilot-sdk) - Dependencies: Added
@github/copilot-sdk^0.1.23
- Codex Provider:
reasoning_effortparameter was silently ignored — it was passed torunStreamed()which only acceptsoutputSchemaandsignal. Now correctly set asmodelReasoningEffortonThreadOptions(passed tostartThread/resumeThread), where the SDK actually reads it. Values are mapped to the SDK's enum:none/minimal→minimal,max→xhigh.
- Claude Opus 4.6 Model Support: Added
claude-opus-4-6to Anthropic provider- 128K max output tokens (doubled from Opus 4.5's 64K)
- 1M token context window (beta, via
context-1m-2025-08-07header) - Adaptive thinking mode (
thinking: {type: "adaptive"}) — recommended over legacy budget-based thinking - Effort parameter is now GA (no beta header required), with new
maxeffort level opus/claude-opusaliases now resolve to Opus 4.6
- GPT-5.3-Codex Aliases: Added
gpt-5.2-codexandgpt-5.3-codexaliases to Codex provider - API Key Validation Utilities: Added
idValidation.jsfor API key format detection
- Claude SDK Provider: Default model updated from
claude-opus-4-5toclaude-opus-4-6 - Codex Provider: Updated friendly name to reflect GPT-5.3-Codex availability
- Gemini CLI Provider: Improved error handling and configuration
- Updated dependencies
@anthropic-ai/sdk0.72.0 → 0.73.0@anthropic-ai/claude-agent-sdk0.2.23 → 0.2.32@openai/codex-sdk0.92.0 → 0.98.0
- Test Inventory: Removed
backlog/test-inventory.md(served its purpose)
- Updated all dependencies to latest versions
@anthropic-ai/sdk0.71.2 → 0.72.0 (structured outputs:output_format→output_config)@anthropic-ai/claude-agent-sdk0.2.9 → 0.2.23@openai/codex-sdk0.86.0 → 0.92.0 (memory leak fix, dynamic tools injection)@google/genai1.37.0 → 1.38.0@mistralai/mistralai1.11.0 → 1.13.0openai6.16.0 → 6.17.0ai6.0.38 → 6.0.62@modelcontextprotocol/sdk1.25.2 → 1.25.3cors2.8.5 → 2.8.6lru-cache11.2.4 → 11.2.5vite7.3.1 (unchanged)vitest4.0.17 → 4.0.18@vitest/coverage-v84.0.17 → 4.0.18prettier3.8.0 → 3.8.1
- Codex SDK sandboxMode: Fixed incorrect property name passed to Codex SDK
- Was passing
sandboxbut SDK expectssandboxMode - This caused sandbox restrictions to be silently ignored
- Now correctly enforces
read-only,workspace-write, ordanger-full-accessmodes
- Was passing
- GPT-5.2 Pro Model: Updated GPT-5-pro to GPT-5.2-pro (released Dec 11, 2025)
gpt-5-proalias now points to GPT-5.2-pro (latest pro model)- Added new alias:
gpt-5.2-pro-2025-12-11
- GPT-5.2 Model Support: Replaced GPT-5.1 with GPT-5.2 (released Dec 11, 2025)
gpt-5alias now points to GPT-5.2 (latest flagship)- Added new aliases:
gpt-5.2,gpt5.2,gpt 5.2,gpt-5.2-2025-12-11 - Removed GPT-5.1 (deprecated, sunset ~March 2026)
- GPT-5.2 offers 38% fewer errors and 30% fewer hallucinations vs GPT-5.1
- CLAUDE.md: Added testing guidance to avoid running full test suite during development
- Tool Documentation: Added reminder to use
filesparameter instead of pasting code- Updated chat and consensus tool descriptions to emphasize using files param
- Updated files parameter descriptions with IMPORTANT note about proper usage
- Updated help prompt File Context section with guidance
- Help Prompt Simplified: Removed topic argument from help prompt
- Now always returns full comprehensive guide without requiring arguments
- Improves UX in MCP clients like Claude Code that prompt for optional arguments
CODEX_DEFAULT_MODELconfig: Removed unused configuration option- Config was defined but never actually used in the codebase
- Default behavior now uses Codex CLI's latest model (no model override)
PORTandHOSTserver configs: Removed redundant configuration options- These duplicated
HTTP_PORTandHTTP_HOSTfrom transport section - Only transport configs were actually used; server configs were dead code
- These duplicated
- Deprecated OpenAI models:
gpt-4o,gpt-4o-mini,o3-mini- Superseded by GPT-5 family (gpt-5, gpt-5-mini, gpt-5-nano) and o4-mini
- Deprecated Google models:
gemini-2.0-flash,gemini-2.0-flash-lite- Deprecated by Google with shutdown scheduled for Feb 2026
- Use Gemini 2.5 (flash, pro) or Gemini 3.0 Pro instead
- Deprecated Anthropic models:
claude-3-5-sonnet-20241022,claude-3-7-sonnet-20250219,claude-3-5-haiku-20241022- Claude 3.5 Sonnet retired in Oct 2025
- Use Claude 4 series (claude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5) instead
- Schema Descriptions: Improved
filesparameter descriptions in chat and consensus tools
- Partial File Line Range Support: Specify line ranges when including files
- Syntax:
file.txt{10:50}extracts lines 10-50 inclusive - Start-only:
file.txt{100:}extracts from line 100 to end of file - End-only:
file.txt{:20}extracts first 20 lines - Works with both
filesparameter in chat and consensus tools - Context header shows range info:
(lines 10-50 of 200) - New
pathParser.jsutility for range parsing and extraction
- Syntax:
- File Size Limits: Removed unused
maxTextSizeandmaxImageSizelimits- These were internal defaults (1MB text, 10MB images) that were never exposed
- Files of any size can now be processed (limited only by system memory)
- Anthropic Request Payload: Remove spread of non-API parameters into request
- Non-API parameters like
continuationStorewere being spread into the API request - Fixes "continuationStore: Extra inputs are not permitted" error
- Non-API parameters like
- Anthropic Beta Endpoint: Use
anthropic.beta.messages.create()for beta features- Effort parameter requires the beta endpoint, not the standard messages endpoint
- Now correctly routes to beta endpoint when beta features (effort, 1M context, etc.) are enabled
- Fixes "output_config: Extra inputs are not permitted" error with Opus 4.5
-
Claude SDK Image Support: Images now work correctly with the Claude provider
- Implemented streaming input mode for multimodal content as required by SDK
- Single message mode (string prompt) doesn't support images per SDK documentation
- Images are now sent via
AsyncGenerator<SDKUserMessage>instead of plain string
-
Claude SDK
error_max_turnsFix: Resolved error when usingfilesparameter- Increased
maxTurnsfrom 1 to 10 to allow file reading operations - SDK needs additional turns to read files using internal tools
- Increased
- Auto Model Selection Priority: Subscription-based providers now prioritized
- New order: codex → gemini-cli → claude → openai → google → xai → anthropic → mistral → deepseek → openrouter
- Chat tool:
model: "auto"picks first available from priority list - Consensus tool:
models: ["auto"]expands to first 3 available (ideally codex, gemini-cli, claude)
-
Claude SDK Provider: New
claudeprovider for subscription-based access via Claude Agent SDK- Uses
@anthropic-ai/claude-agent-sdkfor authentication viaclaude logincommand - No API key required - leverages existing Claude Code CLI authentication
- Model name:
claudewith aliasesclaude-sdkandclaude-code - Supports both streaming and synchronous execution modes
- Automatically handles SDK message types (system, assistant, result)
- Pre-normalized streaming events compatible with ProviderStreamNormalizer
- Uses
-
Model Routing Enhancement: Smart routing distinguishes SDK vs API access
claude,claude-sdk,claude-code→ routes to new claude provider (SDK-based, subscription)claude-sonnet-*,claude-3-*,opus,haiku, etc. → routes to anthropic provider (API-based)- Enables using Claude Pro/Max subscription alongside API access
-
Claude Opus 4.5 Support: Added new
claude-opus-4-5-20251101model- 64K max output tokens, 200K context window
- Full thinking/extended reasoning support (up to 64K thinking tokens)
- New
supportsEffortproperty for Opus 4.5 exclusive effort parameter - Aliases:
opus,claude-opus,opus-4.5,opus-4-5,opus4.5,claude-opus-4.5, etc.
-
Effort Parameter (Beta): New effort parameter support for Opus 4.5
- Maps
reasoning_effortto Anthropic's effort parameter (low,medium,high) - Automatically adds
effort-2025-11-24beta header when using Opus 4.5 - Controls response thoroughness vs token efficiency
- Mapping: minimal/low → "low", medium → "medium", high/max → "high"
- Maps
- Consensus Tool Export: Enhanced consensus export to include actual model responses
- Consensus conversations now export full response content from each model
- Added formatted sections for "Initial Responses" and "Refined Responses"
- Each response is clearly labeled with model name and response type
- Responses are properly formatted with markdown headers and separators
- Fixed issue where exports only showed generic summary instead of actual content
- Preserves both initial and refined responses when cross-feedback is enabled
- Conversation Export Feature: New
exportparameter for chat tool enables saving conversations to disk- Automatically creates organized folder structure with continuation_id as folder name
- Saves each request/response pair as numbered text files (1_request.txt, 1_response.txt, etc.)
- Generates comprehensive metadata.json with conversation settings and parameters
- Implements incremental export with "write-if-missing" optimization for performance
- Atomic metadata updates ensure file always reflects current conversation state
- Sanitizes continuation_id to prevent path traversal security issues
- Supports both synchronous and asynchronous chat execution modes
- Graceful error handling ensures export failures don't interrupt conversations
- Cross-platform support for Windows and Unix file systems
- Respects CLIENT_CWD for user-friendly file locations
- Gemini CLI Provider: Fixed AI SDK v5 ModelMessage format validation
- Changed image format to use
imageproperty instead ofdata - AI SDK validates ModelMessage format before passing to provider
- Images now use
{ type: 'image', image: base64 }per AI SDK v5 spec - Fixes "messages must be ModelMessage[]" validation error
- Renamed conversion function to
convertToModelMessagesfor clarity
- Changed image format to use
- Gemini CLI Provider: Fixed message format conversion for images and files
- Added
convertToGeminiCliMessages()function to properly convert messages - Images now use
{ type: 'image', data: base64 }format per Gemini CLI SDK guide - Fixes "Invalid prompt: messages must be ModelMessage[]" error when using files/images
- Conversion only affects Gemini CLI provider, other providers remain unchanged
- Added
- Gemini CLI Provider: Fixed streaming event format for async mode compatibility
- Changed delta events to use
data.textDeltainstead ofcontentfield - Ensures proper integration with ProviderStreamNormalizer
- Enables real-time progress updates during async execution
- Changed delta events to use
-
Auto Mode Priority: Updated model selection priority for
model: "auto"- New priority order: codex > gemini-cli > openai
- Prioritizes subscription-based and CLI providers over pay-per-use APIs
- Applies to both chat and consensus tools
-
Model Routing: Enhanced routing to prevent provider conflicts
- Added
gemini-clias explicit alias for Gemini CLI provider - Removed
geminifrom keyword matching to avoid Google API conflicts - Positioned gemini-cli before google in provider registry for proper priority
- Added
- Gemini CLI Provider: OAuth-based access to Gemini models via subscription
- New
gemini-cliprovider usingai-sdk-provider-gemini-clipackage - OAuth authentication via Gemini CLI (credentials stored in
~/.gemini/oauth_creds.json) - Access Gemini 3.0 Pro Preview through Google subscription (Google One AI Premium or Gemini Advanced)
- No API key required - uses Google account login instead of pay-per-use API
- Model name
gemininow routes to CLI provider (for API access, use specific names likegemini-2.5-pro) - Full support in both chat and consensus tools
- Streaming support with ProviderStreamNormalizer integration
- Setup:
npm install -g @google/gemini-cli && geminito authenticate - Enhanced agentic features available through CLI that aren't in standard API
- New
- Model Routing: Updated
geminialias behaviorgemini→ routes to Gemini CLI provider (OAuth-based subscription access)- For Google API access, use specific model names:
gemini-2.5-pro,gemini-2.0-flash, etc. - Aliases
pro,flash,pro 2.5remain unchanged for API-based access
- Consensus Tool: Fixed model routing for CLI-based providers
- Codex now correctly routes to
codexprovider instead ofopenaiin consensus mode - Gemini CLI correctly routes to
gemini-cliprovider in consensus mode - Both CLI providers (Codex and Gemini CLI) now work properly in consensus tool
- Added exact match routing checks in
src/tools/consensus.jsto matchsrc/tools/chat.js
- Codex now correctly routes to
- Updated
docs/PROVIDERS.mdwith comprehensive Gemini CLI setup guide - Updated
docs/API.mdwith Gemini CLI model information and usage examples - Added authentication setup instructions and best practices
- Documented differences between Gemini CLI and Google API providers
- Google Provider: Added Gemini 3.0 Pro model support
gemini-3-pro-preview: Google's newest model with enhanced reasoning capabilities- 1M context window, 64K max output tokens
- Level-based thinking mode (low/high) instead of token-based budget
- New
media_resolutionparameter for controlling image/PDF/video processing quality - Values:
MEDIA_RESOLUTION_LOW,MEDIA_RESOLUTION_MEDIUM,MEDIA_RESOLUTION_HIGH,MEDIA_RESOLUTION_UNSPECIFIED - Defaults to
MEDIA_RESOLUTION_HIGHfor Gemini 3.0 models (automatically applied) - Supports streaming, web search (grounding), and multimodal inputs
- Aliases:
gemini-3,gemini3,gemini-3-pro,3-pro
- Google Provider: Updated default model aliases to point to Gemini 3.0 Pro
gemini,pro,gemini-pro, andgemini pronow resolve togemini-3-pro-preview(latest version)- Previous Gemini 2.5 Pro now accessible via explicit aliases:
pro 2.5,gemini pro 2.5,gemini-2.5-pro-latest reasoning_effortparameter mapping for Gemini 3.0:minimal,low→ thinking level:lowmedium,high,max→ thinking level:high
- Gemini 2.5 models continue using token-based thinking budget (backward compatible)
- Chat Tool: Added optional
media_resolutionparameter for Gemini 3.0 models
- OpenAI Provider: Added "none" reasoning effort support for GPT-5.1
- GPT-5.1 now supports
reasoning_effort: "none"for faster responses with increased steerability - Optimized for use cases requiring quick responses without extended reasoning
- Only available on GPT-5.1 and later models (not available on GPT-5.0)
- GPT-5.1 now supports
- Chat & Consensus Tools: Updated
reasoning_effortparameter to include "none" option- New enum values:
none,minimal,low,medium,high,max - "none" provides fastest responses for GPT-5.1+ models
- New enum values:
- OpenAI Provider: Added GPT-5.1 model support
gpt-5.1: Latest flagship model with same capabilities as GPT-5 familygpt-5.1-2025-11-13: Fully qualified model name- Aliases:
gpt-5,gpt5,gpt 5,gpt5.1,gpt 5.1 - Same parameters and capabilities: 400K context, 128K output, web search, reasoning effort, verbosity control
- OpenAI Provider: Updated simple model aliases to point to latest GPT-5 version
gpt-5,gpt5, andgpt 5now resolve to GPT-5.1 (latest version)- Previous GPT-5 (2025-08-07) now accessible as
gpt-5-2025-08-07(fully qualified name) or viagpt-5.0aliases - Aliases for old model:
gpt-5.0,gpt5.0,gpt 5.0,gpt-5-2025-08-07
- Anthropic Provider: Added Claude Haiku 4.5 support
claude-haiku-4-5-20251001: Fast and intelligent model with extended thinking- 200K context window, 64K max output tokens (8x increase from Haiku 3.5)
- Full thinking support with configurable reasoning effort (1024-64K thinking tokens)
- Image/vision support and streaming capabilities
- Aliases:
haiku-4.5,haiku-4-5,claude-haiku-4.5,haiku4.5,haiku,claude-haiku
- Anthropic Provider: Updated simple model aliases to point to latest versions
haikuandclaude-haikunow resolve to Haiku 4.5 (previously Haiku 3.5)sonnetandclaude-sonnetnow resolve to Sonnet 4.5 (previously Sonnet 4.0)opusandclaude-opusalready pointed to Opus 4.1 (no change)- Users can now use simple aliases to always get the latest model in each family
- Updated PROVIDERS.md with Claude Haiku 4.5 model specifications
- Updated image support documentation to include Claude 4 series models
- Codex Provider: Fixed SDK hang issue with cleaner workaround approach
- Removed pnpm patch dependency (not published with npm packages)
- Always use
thread.runStreamed()internally, bypassing buggythread.run() - Consume stream synchronously when
stream: falseis requested - Explicitly break after
turn.completedevent in our own code - Works for all users regardless of package manager (npm, pnpm, yarn)
- No more 5-minute hangs - responses return in ~10-15 seconds
- Codex Provider: Removed all debug logging added during investigation
- Codex Provider: Simplified code by removing unreachable legacy
thread.run()path - Build: Removed SDK patch file (workaround makes it unnecessary)
- Codex Provider: Fixed 5-minute timeout issue when Codex completes without emitting turn.completed event
- Applied permanent pnpm patch to
@openai/codex-sdk@0.45.0to fix SDK'sthread.run()hanging bug - Updated stream normalizer to handle natural stream closure when CLI process exits
- Force streaming mode for all Codex calls (workaround until OpenAI fixes SDK)
- See
CODEX_SDK_PATCH.mdfor detailed patch documentation
- Applied permanent pnpm patch to
- Codex Provider: Normalized Windows extended-length paths (
\\?\C:\...→C:\...)- Added
normalizeExtendedPath()utility to strip\\?\prefix - Codex responses now show clean paths instead of extended-length notation
- Added
- Added
CODEX_SDK_PATCH.mddocumenting SDK bug and permanent patch solution - Documented pnpm patch workflow for team sharing and future updates
- Codex Provider: OpenAI Codex integration for agentic coding assistance
- Thread-based conversation sessions with persistent context via
continuation_id - Local file system access with configurable sandbox modes
- Support for
model: 'codex'in Chat tool - Configuration options:
CODEX_SANDBOX_MODE: read-only (default), workspace-write, danger-full-accessCODEX_WORKING_DIRECTORY: Optional working directory (defaults to CLIENT_CWD)CODEX_SKIP_GIT_CHECK: Skip Git repository validation (default: true)CODEX_APPROVAL_POLICY: Command approval behavior (default: never)CODEX_DEFAULT_MODEL: Default Codex model (default: gpt-5-codex)
- Streaming support with full event handling (item.completed, turn.completed, errors)
- Requires ChatGPT login or
CODEX_API_KEYenvironment variable - See
.env.examplefor configuration details
- Thread-based conversation sessions with persistent context via
- BREAKING: Tool Parameter Order: Moved
promptparameter to last position in both chat and consensus tools- Makes it easier to parse tool calls in Claude Code when prompts are very long
- All other parameters maintain their relative order
- No functional changes, only schema ordering
- Codex Provider: Fixed API key handling to use SDK's native
apiKeyoption instead of environment manipulation - Codex Provider: Added comprehensive event handlers for
turn.failed,error,item.started,item.updatedevents - Codex Provider: Enhanced debug logging with working directory type detection and execution timing
- Codex Provider: OpenAI Codex integration for agentic coding assistance
- Thread-based conversation sessions with persistent context
- Local file system access with configurable sandbox modes
- Support for
model: 'codex'in Chat tool - Configuration options:
CODEX_SANDBOX_MODE: read-only (default), workspace-write, danger-full-accessCODEX_SKIP_GIT_CHECK: Skip Git repository validation (default: true)CODEX_APPROVAL_POLICY: Command approval behavior (default: never)CODEX_DEFAULT_MODEL: Default Codex model (default: gpt-5-codex)
- Requires ChatGPT login or
CODEX_API_KEYenvironment variable - See
.env.examplefor configuration details
- OpenAI Provider: Removed unused
reasoningEffortproperty from GPT-5 Pro model config
- OpenAI Provider: Fixed GPT-5 Pro reasoning effort handling
- Automatically enforces
reasoning_effort: 'high'for GPT-5 Pro (only supported value) - Prevents API errors when users specify 'medium' or other unsupported values
- Automatically enforces
- OpenAI Provider: Added GPT-5 Pro support
gpt-5-pro: Most advanced reasoning model (400K context, 272K output)- Designed for the hardest problems requiring extended compute time
- Supports web search, images, and reasoning summaries
- Responses API only (no streaming support)
- Defaults to high reasoning effort
- Aliases:
gpt5-pro,gpt-5pro,gpt 5 pro,gpt-5 pro,gpt-5-pro-2025-10-06
-
Anthropic Provider: Added Claude Sonnet 4.5 support
claude-sonnet-4-5-20250929: Latest Sonnet with enhanced intelligence- 200K standard context / 1M beta context window support
- 64K max output tokens with extended thinking capabilities
- Aliases:
claude-4.5-sonnet,sonnet-4.5,claude-sonnet-4.5,sonnet4.5
-
Anthropic Provider: Beta 1M context window support
- Enabled for Claude Sonnet 4.5 and Claude Sonnet 4 models
- Automatic
context-1m-2025-08-07beta header when using supported models - Uses modern SDK
betasparameter API instead of deprecateddefaultHeaders
-
Dependencies: Updated to latest versions
@anthropic-ai/sdk: 0.57.0 → 0.65.0 (8 versions)openai: 5.11.0 → 6.1.0 (major version upgrade)@google/genai: 1.12.0 → 1.22.0 (10 versions)@mistralai/mistralai: 1.7.5 → 1.10.0@modelcontextprotocol/sdk: 1.17.1 → 1.19.1- Various dev dependencies updated (eslint, cross-env, vitest)
-
Anthropic Provider: Migrated to modern beta features API
- Now uses
betasparameter inmessages.create()calls - Removed deprecated
defaultHeadersapproach for beta features - Improved compatibility with latest Anthropic SDK
- Now uses
- Code Quality: Fixed linting errors
- Changed
lettoconstfor non-reassigned variables - Fixed string quote consistency
- Removed trailing whitespace
- Changed
- Tool Descriptions: Shortened chat and consensus tool descriptions for better clarity
- Removed implementation details (e.g., "handles partial failures gracefully")
- Focus on tool behavior, use cases, and parameter usage
- Chat tool: Explicitly mentions
continuation_idparameter for multi-turn conversations - Consensus tool: Reduced from 334 to 225 characters while maintaining essential information
- Optimized for LLM understanding rather than human marketing
-
Configuration: New
DISABLE_ASYNC_TOOLSenvironment variable to disable async execution features- When enabled, removes
check_statusandcancel_jobtools completely - Removes
asyncparameter fromchatandconsensustool schemas - Help documentation automatically reflects filtered tools based on configuration
- Useful for deployments that don't need background execution capabilities
- When enabled, removes
-
Google Provider: Added Gemini 2.5 Flash Lite model
gemini-2.5-flash-lite: Lightweight fast model with 1M context window- Supports images, thinking mode, and web search with grounding
- Efficient for quick responses with lower resource usage
-
OpenRouter Provider: Added Z.AI GLM 4.6 model
z-ai/glm-4.6: 200K context window model with improved coding and reasoning- Better performance in agentic tasks and tool usage
- Enhanced writing quality and role-playing capabilities
- Google Provider: Updated Gemini Flash model references
gemini-2.5-flashnow usesgemini-flash-latestendpoint- Added aliases for
gemini-2.5-flash-preview-09-2025andgemini-2.5-flash-latest - Ensures automatic access to latest Flash model improvements
- Consensus Tool: Fixed display showing incorrect model counts (e.g., "3/1" instead of "3/3")
- Now correctly shows successful models vs total models in completion status
- Applies to both synchronous and asynchronous consensus executions
- Uses
providerCalls.lengthinstead ofmodels.lengthfor accurate counting
- XAI Provider: Added support for new Grok 4 Fast models
grok-4-fast-reasoning: Cost-efficient reasoning model with 2M token context windowgrok-4-fast-non-reasoning: Fast non-reasoning variant for quick responses- Both models support function calling, structured outputs, and web search
- Pricing: $0.20 input / $0.50 output per 1M tokens
- Mistral Provider: Updated all models to latest versions
magistral-medium-2509(v1.2): Now includes vision support and 128K context windowmagistral-small-2509(v1.2): Now includes vision support and 128K context windowmistral-medium-2508(v3.1): Improved tone and performance with 128K context window- All models now support image inputs after the September 2025 update
- XAI Provider: Removed discontinued
grok-3andgrok-3-fastmodels- These models are no longer available from X.AI
- Added
grok-4as an alias forgrok-4-0709for cleaner model names - Updated all documentation and examples to use
grok-4instead ofgrok-4-0709 grok-code-fast-1remains available for fast, economical coding tasks
- Updated consensus tool examples to use simplified
grok-4model name instead of versionedgrok-4-0709 - Cleaned up test files to remove references to discontinued models
- OpenAI Provider: Increased timeouts for GPT-5 and O3 models to handle longer processing times
gpt-5: 5 minutes → 1 hourgpt-5-mini: 3 minutes → 30 minutesgpt-5-nano: 2 minutes → 10 minuteso3: 5 minutes → 10 minuteso3-pro: 30 minutes → 60 minuteso3-deep-research-2025-06-26: 90 minutes → 120 minutes
- XAI Model Support: Added support for
grok-code-fast-1model- 256K context window, optimized for agentic coding tasks
- Economical pricing ($0.20 input / $1.50 output per 1M tokens)
- Full streaming support and OpenAI-compatible features
- Includes aliases:
grok-code-fast,grok-code-fast-1-0825
-
AI-Powered Summarization: Intelligent title generation and content summarization for async operations
- Automatic title generation (up to 60 chars) from user prompts at request initiation
- Status check returns an up-to-date summary of the progress based on the partially streamed response
- Final summaries (1-2 sentences) generated for completed responses
- Smart summaries in check_status tool for better context understanding
- Configurable via
ENABLE_RESPONSE_SUMMARIZATIONandSUMMARIZATION_MODEL(default: gpt-5-nano) environment variables
-
Enhanced Async Job Storage: Improved job state tracking with new fields
accumulated_content: Full streaming content instead of limited previewtitle: AI-generated descriptive title for each jobfinal_summary: Concise summary of completed job results- Removed
streaming_previewfield (now generated on-demand from accumulated content)
-
SummarizationService: New centralized service for all summarization operations
- Uses fast models (gpt-5-nano, gemini-2.5-flash) for minimal latency
- Graceful fallback to text snippets when disabled or on errors
- Non-blocking implementation ensures main flow continues even if summarization fails
- Temperature set to 0.3 for consistent, focused summaries
-
FileCache Integration: Persistent storage for async job results
- Wire up FileCache to persist job state across server restarts
- Comprehensive integration tests for cache recovery and TTL management
- Improved memory management with proper cleanup
-
Check Status Tool: Enhanced display with AI-generated summaries
- Running jobs show AI-generated summaries based on accumulated content when checked
- Job listings include titles for quick identification
- Completed jobs display final summaries in listings
- Async formatting functions for on-demand summary generation
-
Chat Tool Integration: Title and summary generation during streaming
- Generates title from user prompt at request start
- Accumulates full content during streaming (replacing 200-char preview)
- Creates final summary for responses over 100 characters
-
Consensus Tool Integration: Multi-provider summary aggregation
- Combined content accumulation from all providers
- Handles both single-phase and two-phase (cross-feedback) flows
- Provider-specific previews maintained alongside combined summaries
- New
formatStatus.jsutility for async status formatting - Configuration schema extended with summarization settings
- Updated AsyncJobStore to accept arbitrary job fields
- Comprehensive test coverage for summarization features
- Fixed integration tests for async workflow scenarios
-
Async Execution Support: Run chat and consensus tools in background mode
- Use
async: trueparameter for non-blocking execution - Monitor progress with check_status tool
- Cancel running jobs with cancel_job tool
- Persistent conversation state across async operations
- Use
-
Job Management System: Complete async job lifecycle management
- AsyncJobStore with LRU cache for memory management
- EventBus for real-time progress updates
- JobRunner for concurrent task execution
- Automatic cleanup of completed jobs
-
Progress Tracking: Real-time status updates for async operations
- Streaming progress for individual providers
- Combined progress for consensus operations
- Detailed error reporting and recovery
-
Execution Time Display: Added smart execution time formatting to tool responses
- Shows time in seconds with appropriate precision (0.05s, 1.2s, 15.3s, 1m6s)
- Displays in metadata header for both chat and consensus tools
- Time measurement accounts for actual LLM response durations
-
Enhanced Metadata Display: New comprehensive metadata shown at start of responses
- Chat:
[⏱️ 2.3s | 🤖 openai | 📱 gpt-5 | 🔗 conv_abc123] - Consensus:
[⏱️ 8.7s | ✅ 2/3 models | 🔗 conv_xyz789] - Environment-aware (automatically disabled in test environments)
- Chat:
-
Detailed Failure Reporting: Specific model failure information for consensus tool
- Shows which models failed and in which phase (initial vs refinement)
- Example: "• gemini-2.5-pro (refinement failed)" and "• grok-4 (initial failed)"
- Helps users understand exactly what went wrong during consensus gathering
-
BREAKING: Shorter Continuation IDs: Switched from UUID to nanoid format
- Before:
conv_f47ac10b-58cc-4372-a567-0e02b2c3d479(41 characters) - After:
conv_nTC5QoA-ml(15 characters) - 63% shorter - Uses cryptographically secure nanoid with URL-safe alphabet
- Backward Compatible: Old UUID format still accepted and validated
- Zero collision risk tested with 100,000+ generated IDs
- Before:
-
Improved Consensus Success Counting: More accurate model success tracking
- When cross-feedback enabled: counts only models succeeding in both phases
- When cross-feedback disabled: counts initial phase successes
- Properly accounts for refinement phase failures
- Migrated from Node.js
crypto.randomUUID()tonanoidfor ID generation - Enhanced validation regex to accept both UUID and nanoid formats
- Updated all test patterns to match new continuation ID format
- Added comprehensive failure detail collection and formatting
- Relative Path Support: Fixed relative path handling in chat and consensus tools
- File validation now uses the same working directory as context processing
- Relative paths like
"./file.txt"and"file.txt"now work correctly - Both tools now consistently use auto-detected client working directory for path resolution
- Fixed issue where file validation would fail but context processing would succeed with relative paths
- File Extension Support: Removed arbitrary file type restrictions
- All file types now supported for text processing (previously limited to specific extensions)
- Fixed .cshtml, .razor, .php, .jsp and other web development files being blocked
- Only images (.jpg, .png, etc.) are treated specially (base64 encoded)
- Removed unused
getSupportedExtensions()andisFileTypeSupported()functions
- Automatic Client Working Directory Detection: The server now automatically detects where it was invoked from
- Uses
INIT_CWD,PWD, ornpm_config_local_prefixenvironment variables - Enables proper relative path resolution from the client's directory
- Works seamlessly with npx and npm execution
- Uses
- File Access Security: Made file path security restrictions optional (disabled by default)
- Removed mandatory directory restrictions that prevented access to files outside the server directory
- Security checks can be re-enabled with
enforceSecurityCheck: trueoption - Files can now be accessed from any location on the system
- Relative Path Resolution: Fixed to resolve from client's working directory instead of server's directory
- Relative paths like
./file.txtnow work correctly from where the command was invoked - Both absolute and relative paths are fully supported
- Relative paths like
- Fixed file access issues where both absolute and relative paths were incorrectly rejected
- Fixed "File access denied" errors when trying to access files outside the Converse directory
- BREAKING CHANGE: Consensus Tool Models Parameter: Simplified model specification from object array to string array
- Old format:
[{"model": "gpt-5"}, {"model": "gemini-2.5-pro"}] - New format:
["gpt-5", "gemini-2.5-pro"] - Affects all consensus tool calls in client code
- Input schema updated to accept
items: { type: "string" }instead of object structure - All tests, documentation, and examples updated to reflect new format
- Old format:
-
Update all consensus tool calls to use string arrays:
// Before models: [{ model: "gpt-5" }, { model: "gemini-2.5-pro" }]; // After models: ["gpt-5", "gemini-2.5-pro"];
- Consensus Tool Auto Model Selection: Enhanced
"auto"model behavior for consensus tool- Now expands to first 3 available providers instead of just one
- Provider priority order: OpenAI → Google → XAI → Anthropic → Mistral → DeepSeek → OpenRouter
- Automatically selects providers based on configured API keys
- Enables multi-model consensus without manual model specification
- Default Model Updates: Changed OpenAI default model from
o3togpt-5for both chat and consensus tools - Documentation: Updated README with comprehensive auto model selection behavior for both tools
- Consensus tool with
["auto"]intelligently expands to multiple providers - Chat tool continues to use single provider selection for efficiency
- Each provider uses its optimal default model when selected via auto
- Google Provider: Added comprehensive Google API configuration options
- GEMINI_API_KEY support: Primary API key for Google Gemini models (recommended)
- GOOGLE_API_KEY fallback: Still supported, but GEMINI_API_KEY takes priority
- Google Vertex AI support: Full enterprise-grade Vertex AI integration
GOOGLE_GENAI_USE_VERTEXAI: Enable Vertex AI modeGOOGLE_CLOUD_PROJECT: Google Cloud project IDGOOGLE_CLOUD_LOCATION: Deployment region (e.g., us-central1)GOOGLE_API_VERSION: API version selection (v1, v1beta, v1alpha)
- Automatic detection of configuration mode (API Key vs Vertex AI)
- Support for both Gemini Developer API and Vertex AI API endpoints
- Environment Configuration: Updated .env files to use GEMINI_API_KEY for clarity
- Documentation: Enhanced README with Google/Gemini API options and Vertex AI setup
- Google provider now supports three initialization modes:
- Gemini Developer API with GEMINI_API_KEY (simplest)
- Gemini Developer API with GOOGLE_API_KEY (backward compatible)
- Google Vertex AI with project/location configuration (enterprise)
- API version can be configured for both Gemini and Vertex AI modes
- Improved validation to handle both API key and Vertex AI configurations
- OpenAI Provider: Added support for GPT-5 family models, OpenAI's latest flagship series
- GPT-5: Latest flagship model with 400K context window, 128K max output tokens
- Superior reasoning, code generation, and analysis capabilities
- Full support for streaming, function calling, structured outputs, web search, and MCP
- Aliases:
gpt5,gpt 5,gpt-5-2025-08-07
- GPT-5-mini: Faster, cost-efficient version for well-defined tasks
- Same 400K context and 128K output as GPT-5
- Optimized for speed and cost ($0.25 input, $2 output per 1M tokens)
- Aliases:
gpt5-mini,gpt-5mini,gpt 5 mini,gpt-5-mini-2025-08-07
- GPT-5-nano: Fastest, most cost-efficient version
- Same 400K context and 128K output capabilities
- Best for summarization and classification ($0.05 input, $0.40 output per 1M tokens)
- No web search support
- Aliases:
gpt5-nano,gpt-5nano,gpt 5 nano,gpt-5-nano-2025-08-07
- All GPT-5 models don't support temperature parameter
- Updated model recommendations to prefer GPT-5 family over O3 for various use cases
- GPT-5: Latest flagship model with 400K context window, 128K max output tokens
- New API Features for GPT-5:
- Minimal reasoning effort: New
minimaloption for fastest responses with few reasoning tokens - Verbosity control: New
verbosityparameter (low/medium/high) to control output length- Low: Concise answers, minimal code commentary
- Medium: Balanced responses (default)
- High: Thorough explanations and detailed code
- Both features supported across entire GPT-5 family (GPT-5, GPT-5-mini, GPT-5-nano)
- Enhanced chat tool to support these new parameters with proper defaults
- Minimal reasoning effort: New
- Anthropic Provider: Updated Claude Opus 4 to the new Opus 4.1 model
- Model ID changed from
claude-opus-4-20250514toclaude-opus-4-1-20250805 - Added new aliases:
claude-opus-4-1,opus-4.1,opus4.1,claude-opus-4.1 - Maintains all existing aliases for backward compatibility
- Same capabilities: 200K context, 32K output tokens, extended thinking, image support
- Model ID changed from
- OpenAI Deep Research Models: Added support for OpenAI's deep research models
- Added
o3-deep-research-2025-06-26model with 90-minute timeout for comprehensive research - Added
o4-mini-deep-research-2025-06-26model with 60-minute timeout for faster research - Both models support web search via
web_search_previewtool - Models can run 30-90 minutes for in-depth analysis and multi-source synthesis
- Requires setting
MCP_TOOL_TIMEOUTenvironment variable (e.g.,5400000for 90 minutes)
- Added
- Web Search Implementation: Simplified web search to use only
web_search_previewtool type- Removed unused
web_searchtool type references - All OpenAI models now consistently use
web_search_previewwhen web search is enabled - Removed support for always-search models (
gpt-4o-search-preview,gpt-4o-mini-search-preview)
- Removed unused
- Deep research models work with existing chat tool - no separate research tool needed
- Models are integrated into the standard OpenAI provider implementation
- Supports all standard features: streaming, images, context, continuation
- Progress notifications and cancellation infrastructure ready for future Claude Code UI support
- Test Suite: Fixed numerous test failures across the codebase
- Fixed syntax errors in fixture files (duplicate
__dirnamedeclarations, invalid JSON) - Fixed JSON parsing errors in edge-cases.json (sparse arrays, JavaScript expressions, hex escape sequences)
- Fixed performance test reliability by using consistent model selection
- Fixed consensus tool cross-feedback by ensuring proper message alternation for Anthropic API
- Fixed image validation to handle base64 data URLs properly
- Fixed mock provider implementations to properly track method calls
- Fixed syntax errors in fixture files (duplicate
- Image Processing: Enhanced image quality settings
- Updated OpenAI provider to use
detail: 'high'for better image analysis - Updated XAI provider to use
detail: 'high'for better image analysis
- Updated OpenAI provider to use
- Path Utilities: Removed shebang line from pathUtils.js module
- Test Images: Added test images (fruits.png, tulips.png, baboon.png) for image processing tests
- Dependencies: Added vite as a dependency (was missing)
- Test Coverage: Enhanced test reliability and coverage
- Updated image tests to use real images instead of invalid base64 strings
- Added proper base64 encoding helper for XAI image tests
- Fixed mock provider tests to properly handle call tracking
- Improved error message matching in provider tests
- Cross-Platform Support: Comprehensive cross-platform compatibility improvements
- Created
src/utils/pathUtils.jsutility module for platform-agnostic operations - Added
cross-envandrimrafdependencies for cross-platform npm scripts - Platform-specific path handling for Windows, Linux, and macOS
- Cross-platform timeout commands and process spawning
- Created
- npm Scripts: Updated all scripts to use cross-platform commands
- Replaced Unix-specific
rm -rfwithrimrafpackage - All environment variable assignments now use
cross-env - Scripts now work correctly on Windows, Linux, and macOS
- Replaced Unix-specific
- Path Handling: Improved path operations throughout codebase
- Fixed path comparisons to use proper URL methods instead of string replacement
- Line counting now handles both CRLF (Windows) and LF (Unix/Mac) line endings
- Test files use platform-agnostic path helpers instead of hardcoded paths
- Process Spawning: Updated to use Node.js executable path
- Tests now use
process.execPathinstead of hardcoded 'node' command - Proper spawn options for Windows compatibility
- Tests now use
- Windows Compatibility: Fixed multiple Windows-specific issues
- Path separator handling in file operations
- Process spawning in test files
- Timeout commands in validation script
- Test Reliability: Fixed hardcoded paths in tests
- Replaced Windows-specific paths (C:) with platform helpers
- Replaced Unix-specific paths (/tmp) with OS temp directory
- JSON Import: Fixed ES module JSON import syntax for better compatibility
- Tests now use
readFileSyncandJSON.parseinstead of import assertions
- Tests now use
- Code Quality: Enhanced linting and code standards
- Changed
no-unused-varsto warning level for better DX - Added missing global variables to ESLint config
- Fixed numerous linting issues across the codebase
- Changed
- Test Organization: Reorganized integration tests into provider-specific structure
- Provider tests now in
tests/integration/providers/{provider}/directories - Each provider has separate API, features, and image test files
- Removed archived test files that were replaced
- Provider tests now in
- Test Commands: Updated test command naming for consistency
npm run test:e2enow preferred overtest:real-api(both still work)- Added provider subcategory commands for granular testing
- Documentation: Updated all test documentation to reflect new structure
- Updated
tests/README.mdwith new test organization - Updated main
README.mdwith current test commands - Added
tests/integration/providers/README.mdfor provider test guidance
- Updated
- Provider Image Tests: Added dedicated image processing tests
xai/xai-image.test.js- XAI Grok-4 image processinggoogle/google-image.test.js- Google Gemini image processing
- Error Handling Tests: Added comprehensive error handling tests
anthropic/anthropic-error.test.js- Rate limiting and edge casesmulti-provider-error.test.js- Cross-provider error handling
- Advanced Tests: Added advanced multi-provider scenarios
multi-provider-advanced.test.js- Consensus with files, consistency testsdebug-tests.test.js- Message format debugging
- Test Configuration: Updated
suites.config.jsto use new test paths- Fixed real-api suite to use glob patterns for new structure
- Properly excludes archived directory from test runs
- Configuration: Server name and version are now automatically read from package.json
- Removed
MCP_SERVER_NAMEandMCP_SERVER_VERSIONenvironment variables - Ensures version consistency across all parts of the application
- Removed
- OpenRouter Provider: Requires
OPENROUTER_DYNAMIC_MODELS=trueto use models inprovider/modelformat- Previously allowed dynamic models without explicit configuration
- Now properly enforces the environment variable requirement
- Tool Descriptions: Updated parameter descriptions for better clarity
- Model examples now show
o3,gemini-2.5-pro,grok-4-0709 - File and image paths show both absolute (Windows) and relative path examples
- Reasoning effort examples updated to
low,medium,high - Simplified use_websearch description
- Model examples now show
- Help System: Help prompt now dynamically generates tool documentation from metadata
- Ensures consistency between implementation and documentation
- No more manual updates needed when tool parameters change
- Environment Variables Documentation: Added all missing environment variables to help prompt
- All API keys (ANTHROPIC, MISTRAL, DEEPSEEK, OPENROUTER)
- OpenRouter configuration options
- HTTP server configuration options
- Unused Build Script: Removed unused
build.jsscript and related npm scripts- Project doesn't require build step as it's pure Node.js
- Removed
buildandbuild:fastnpm scripts
- Obsolete Environment Variables: Cleaned up documentation
- Removed references to
GOOGLE_LOCATION(already unused) - Removed references to
XAI_BASE_URL(not configurable via env)
- Removed references to
- OpenRouter Dynamic Models: Fixed behavior to require explicit enablement
- Models with "/" format now properly require
OPENROUTER_DYNAMIC_MODELS=true - Returns clear error message when dynamic models are disabled
- Models with "/" format now properly require
- OpenRouter Provider: Dynamic model discovery support
- Enable with
OPENROUTER_DYNAMIC_MODELS=trueenvironment variable - Automatically fetches model capabilities from OpenRouter's endpoints API
- Supports any model available on OpenRouter without manual configuration
- Model capabilities are cached for 24 hours to improve performance
- Added support for
openrouter/automodel for automatic model selection
- Enable with
- Model Routing: Enhanced model routing logic
- Models with "/" format check native providers first before routing to OpenRouter
- Allows using models like
anthropic/claude-3.5-sonnetvia OpenRouter when not available natively - Maintains backward compatibility with keyword-based routing
- OpenRouter Provider: Added static configurations for Qwen3 and Kimi models
qwen/qwen3-235b-a22b-thinking-2507- 235B model with thinking capabilitiesqwen/qwen3-coder- Specialized for coding tasksmoonshotai/kimi-k2- 200K context window
- Anthropic Provider: Increased SDK timeout to 20 minutes for thinking models
- Prevents "Streaming is strongly recommended" errors for long-running requests
- Claude 4 series models now work properly with thinking mode enabled
- Tests: Updated test expectations for max_tokens being required by API
- Anthropic Provider: Removed non-existent 'thinking-2025-01-27' beta header
- Thinking mode is controlled through model selection, not beta headers
- Google Provider: Fixed gemini-2.0-flash configuration - model does not support thinking mode
- Anthropic Provider: Fixed Claude 4 series models token handling
- No longer set max_tokens for opus-4 and sonnet-4 models, letting SDK use defaults (32k/64k)
- Prevents "context length exceeded" errors that were actually SDK warnings about streaming
- Tests: Updated test expectations to match new error message formats
- Mistral Provider: Fixed image handling by correcting the image URL field name from
image_urltoimageUrlto match Mistral API expectations- Models supporting images (mistral-medium-3) now properly process image content
- Resolved validation errors when sending images to Mistral API
- BREAKING: Transport Default: Changed default transport from HTTP to stdio for standard MCP compliance
- Stdio transport is now the default (launched automatically by Claude)
- HTTP transport available via
--transport=httporMCP_TRANSPORT=httpfor development/debugging - Updated CLI help and documentation to reflect new defaults
- No functionality lost - all transport methods still available
- Test Stability: Fixed timeout issue in file context processing test
- Test Environment: Added explicit
MCP_TRANSPORT=httpto test environment to maintain HTTP testing
- Updated README.md to show stdio as default transport
- Updated help text and examples to reflect new transport defaults
- Clarified when to use HTTP transport (development/debugging scenarios)
- Anthropic Prompt Caching: Implemented automatic prompt caching with 1-hour TTL for system prompts
- Reduces latency and API costs for repeated requests
- Minimum 1024 tokens required (2048 for Haiku models)
- Cache metrics available in response metadata
- Provider Documentation: Added comprehensive documentation for all new providers (Anthropic, DeepSeek, Mistral, OpenRouter)
- Anthropic Provider: Fixed thinking budget calculation to properly account for token limits
- Anthropic Provider: Force temperature to 1 when thinking is enabled (API requirement)
- Anthropic Provider: Fixed context length issues with Claude Sonnet 4
- Test Coverage: Added comprehensive integration tests for all new providers
- Error Handling: Better error messages for model availability and context limits
- Anthropic Provider: Fixed context length calculation for thinking models
- Mistral Provider: Fixed SDK import order to resolve constructor errors
- OpenRouter Provider: Fixed HTTP-Referer header configuration issue by correcting config key casing
- Missing Dependencies: Added
@anthropic-ai/sdkand@mistralai/mistralaias dependencies to fix provider initialization errors
- Help System: Updated help documentation and resources to display models from all 7 providers (previously only showed 3)
- Auto Model Selection: Enhanced "auto" model selector to support all providers with intelligent defaults:
- OpenAI:
o3(powerful reasoning model) - Google:
gemini-2.5-pro(advanced capabilities) - Anthropic:
claude-sonnet-4-20250514(Sonnet 4) - Mistral:
magistral-medium-2506(frontier-class model) - DeepSeek:
deepseek-reasoner(reasoning model) - XAI:
grok-4-0709(unchanged) - OpenRouter:
qwen/qwen3-coder(unchanged)
- OpenAI:
- Model Aliases: Added comprehensive aliases for all models across all providers for easier access
- Provider Detection: Updated
mapModelToProviderfunction to recognize models from all 7 providers
- Help Command: Fixed issue where help command only displayed models from original 3 providers
- Model Resolution: Fixed model name resolution to work with all provider models and their aliases
- New Providers: Added support for 5 new AI providers, expanding model options:
- Anthropic: Support for Claude models including Opus 4, Sonnet 3.5, and Haiku 3.5
- Mistral AI: Support for Magistral Medium, Magistral Small, and Mistral Medium 3
- DeepSeek: Support for DeepSeek Chat (V3) and DeepSeek Reasoner (R1) models
- OpenRouter: Gateway to access Qwen3 235B Thinking, Qwen3 Coder, and Kimi K2 models
- OpenAI-Compatible Base Module: Reusable factory for creating providers with OpenAI-compatible APIs
- Unified Provider Interface: All providers implement consistent interface with error handling
- Advanced Model Capabilities:
- Thinking/reasoning models with configurable effort levels (Anthropic, OpenRouter)
- Multimodal support for images (Anthropic, Mistral Medium 3)
- Extended context windows (up to 200K tokens for Claude, 200K for Kimi K2)
- Enhanced Error Handling: Provider-specific error mapping to unified error codes
- Comprehensive Test Coverage: Added extensive unit tests for all new providers
- Dynamic SDK Loading: Lazy loading of provider SDKs for better performance
- Provider Architecture: Refactored to use base modules for code reuse
- Model Configuration: Rich metadata for each model including capabilities and limits
- Temperature Handling: Fixed temperature parameter conflicts in OpenAI-compatible providers
- Image Validation: Added proper validation for models that don't support images
- Integration Tests: Fixed MCP server initialization with required capabilities
- OpenAI-Compatible Providers: Fixed temperature default parameter override issue
- Error Re-throwing: Fixed error handling in Anthropic provider to avoid double-wrapping
- Mock Setup: Fixed dynamic import mocking patterns in provider tests
- API Key Validation: Added proper validation for provider-specific key formats
- Dependencies: Updated dotenv from v16.4.7 to v17.2.1
- Dependencies: Updated eslint to latest version (9.17.0)
- Configuration: Added
quiet: trueoption to dotenv configuration to suppress verbose logging output
- Tests: Fixed test failures caused by dotenv v17's verbose logging interfering with JSON parsing in MCP protocol tests
- Tests: Updated tests to properly handle MCP protocol error responses instead of expecting thrown errors
- Tests: Added missing prompts and resources capabilities to test server instances
- Code Quality: All code now passes latest eslint rules and formatting standards
- Help Prompt: Added comprehensive help prompt (
/converse:help) that provides detailed documentation about all tools, parameters, providers, and models- Supports topic-specific help queries (tools, models, providers, parameters, examples)
- Dynamically pulls real-time model information from provider files
- Explicitly instructs LLMs to share the information with users
- Help Resource: Added MCP resource (
converse://help) that exposes the same help documentation plus server version information- Accessible via MCP resource protocol for programmatic access
- Includes current server version from package.json
- MCP Capabilities: Extended server capabilities to support both prompts and resources in addition to tools
- Documentation: Help content automatically stays up-to-date by fetching model details directly from provider implementations
- User Experience: Both prompt and resource provide comprehensive guidance including model selection tips, configuration advice, and best practices
- Binary Entry Point: Fixed "startServer is not a function" error when running via npx/npm by properly exporting main function from index.js
- Module Structure: Improved module architecture to support both CLI and programmatic usage
- Stdio Transport: Removed console output from bin file to prevent JSON-RPC protocol corruption
- Entry Point Pattern: index.js now exports main function and only auto-executes when run directly, following Node.js best practices
- Consensus Tool Output: Optimized output format by removing redundant
rawResponsefields, reducing output size by ~70-80% while maintaining all essential information - Performance: Significantly reduced memory usage and network payload for consensus tool responses
- Output Structure: Removed
rawResponsefrom both initial and refined consensus responses while maintaining backward compatibility
- Image Processing: Fixed image handling in chat and consensus tools where images were being sent in a separate message from the prompt, causing XAI (Grok) and Google (Gemini) providers to not receive images correctly
- Message Structure: Both tools now properly merge context (including images) and prompt into a single user message with complex content array
- Provider Compatibility: All three providers (OpenAI, XAI, Google) now correctly process images with their respective format requirements
- Integration Tests: Added comprehensive image processing tests for consensus tool to verify all providers handle images correctly
- Image Format Validation: Enhanced image format conversion for XAI and Google providers with proper debugging output
- File Validation: Added file existence validation before processing context to prevent errors
- Stdio Transport: Fixed configuration loading error (
Cannot convert undefined or null to object) that prevented stdio transport from starting - Console Suppression: Fixed logger to properly suppress console output in stdio transport mode from startup
- Transport Detection: Moved transport type detection to very early in startup process to prevent any console output interference
- JSON-RPC Protocol: Enhanced stdio transport reliability by eliminating all console output that could corrupt the protocol stream
- Logger Configuration: Improved logger reconfiguration timing to respect transport mode from the beginning
- Default Port: Changed default HTTP server port from 3000 to 3157 to avoid common port conflicts
- Console Logging: Replaced remaining
console.logandconsole.errorcalls with proper structured logger to prevent stdio transport corruption - Configuration: Fixed console output in config loading that could interfere with MCP JSON-RPC protocol
- Documentation: Updated model examples to use latest intelligent models (o3, grok-4, gemini-2.5-pro) and fast models (gemini-2.5-flash, o4-mini, gpt-4.1)
- File Paths: Updated example file paths in documentation to use git-bash compatible paths (
/c/Users/username/...)
- Unused Configuration: Removed unused
GOOGLE_LOCATIONandXAI_BASE_URLenvironment variables from configuration files - Legacy Config: Cleaned up unused Docker, DIAL, and OpenRouter configuration remnants from environment files
- Logger Integration: Enhanced error logging consistency across chat and consensus tools
- Transport Safety: Strengthened stdio transport protection against console output interference
- Binary Script: Fixed Windows compatibility for bin script import path
- Initial Release: Complete Node.js implementation with functional architecture
- Chat Tool: Single-provider conversational AI with context and continuation support
- Consensus Tool: Multi-provider parallel execution with cross-model feedback
- Provider Support: OpenAI, Google/Gemini, and X.AI/Grok providers
- Token Limiting: Configurable response size limits (default: 25,000, max: 200,000 tokens)
- System Prompts: Dedicated prompts for chat and consensus tools
- Context Processing: File and image support with security validation
- Continuation System: Persistent conversation management
- Configuration Management: Environment-driven configuration system
- Comprehensive Documentation: API reference, architecture guide, and examples
- Test Suite: Unit, integration, and end-to-end tests
- NPX Support: Direct execution via
npx FallDownTheSystem/converse - MCP Compliance: Full Model Context Protocol implementation
- Error Handling: Robust error handling with graceful degradation
- Logging System: Structured logging with configurable levels
- Parallel Consensus: Simultaneous model execution for faster responses
- Cross-Model Feedback: Models can refine responses based on other models' insights
- Auto Model Selection: Intelligent model selection when using "auto" parameter
- Multiple Response Formats: Support for text, JSON, and structured responses
- File Context Processing: Support for multiple file formats with line numbering
- Image Analysis: Base64 image processing for visual context
- Flexible Configuration: Environment variables with sensible defaults
- Provider Abstraction: Unified interface across different AI providers
- Request Validation: Comprehensive input validation and sanitization
This is a simplified Node.js implementation of an MCP Server focused on providing just the essential Chat and Consensus tools for a streamlined experience. The parallel consensus workflow represents a major architectural improvement, providing faster and more nuanced multi-model analysis.