| import { AntigravityExecutor } from "./antigravity.js"; |
| import { AzureExecutor } from "./azure.js"; |
| import { GeminiCLIExecutor } from "./gemini-cli.js"; |
| import { GithubExecutor } from "./github.js"; |
| import { IFlowExecutor } from "./iflow.js"; |
| import { QoderExecutor } from "./qoder.js"; |
| import { KiroExecutor } from "./kiro.js"; |
| import { CodexExecutor } from "./codex.js"; |
| import { CursorExecutor } from "./cursor.js"; |
| import { VertexExecutor } from "./vertex.js"; |
| import { QwenExecutor } from "./qwen.js"; |
| import { OpenCodeExecutor } from "./opencode.js"; |
| import { OpenCodeGoExecutor } from "./opencode-go.js"; |
| import { GrokWebExecutor } from "./grok-web.js"; |
| import { PerplexityWebExecutor } from "./perplexity-web.js"; |
| import { OllamaLocalExecutor } from "./ollama-local.js"; |
| import { CommandCodeExecutor } from "./commandcode.js"; |
| import { XiaomiTokenplanExecutor } from "./xiaomi-tokenplan.js"; |
| import { MimoFreeExecutor } from "./mimo-free.js"; |
| import { DefaultExecutor } from "./default.js"; |
|
|
| const executors = { |
| antigravity: new AntigravityExecutor(), |
| azure: new AzureExecutor(), |
| "gemini-cli": new GeminiCLIExecutor(), |
| github: new GithubExecutor(), |
| iflow: new IFlowExecutor(), |
| qoder: new QoderExecutor(), |
| kiro: new KiroExecutor(), |
| codex: new CodexExecutor(), |
| cursor: new CursorExecutor(), |
| cu: new CursorExecutor(), |
| vertex: new VertexExecutor("vertex"), |
| "vertex-partner": new VertexExecutor("vertex-partner"), |
| qwen: new QwenExecutor(), |
| opencode: new OpenCodeExecutor(), |
| "opencode-go": new OpenCodeGoExecutor(), |
| "grok-web": new GrokWebExecutor(), |
| "perplexity-web": new PerplexityWebExecutor(), |
| "ollama-local": new OllamaLocalExecutor(), |
| commandcode: new CommandCodeExecutor(), |
| "xiaomi-tokenplan": new XiaomiTokenplanExecutor(), |
| "mimo-free": new MimoFreeExecutor(), |
| mmf: new MimoFreeExecutor(), |
| }; |
|
|
| const defaultCache = new Map(); |
|
|
| export function getExecutor(provider) { |
| if (executors[provider]) return executors[provider]; |
| if (!defaultCache.has(provider)) defaultCache.set(provider, new DefaultExecutor(provider)); |
| return defaultCache.get(provider); |
| } |
|
|
| export function hasSpecializedExecutor(provider) { |
| return !!executors[provider]; |
| } |
|
|
| export { BaseExecutor } from "./base.js"; |
| export { AntigravityExecutor } from "./antigravity.js"; |
| export { AzureExecutor } from "./azure.js"; |
| export { GeminiCLIExecutor } from "./gemini-cli.js"; |
| export { GithubExecutor } from "./github.js"; |
| export { IFlowExecutor } from "./iflow.js"; |
| export { QoderExecutor } from "./qoder.js"; |
| export { KiroExecutor } from "./kiro.js"; |
| export { CodexExecutor } from "./codex.js"; |
| export { CursorExecutor } from "./cursor.js"; |
| export { VertexExecutor } from "./vertex.js"; |
| export { DefaultExecutor } from "./default.js"; |
| export { QwenExecutor } from "./qwen.js"; |
| export { OpenCodeExecutor } from "./opencode.js"; |
| export { OpenCodeGoExecutor } from "./opencode-go.js"; |
| export { GrokWebExecutor } from "./grok-web.js"; |
| export { PerplexityWebExecutor } from "./perplexity-web.js"; |
| export { OllamaLocalExecutor } from "./ollama-local.js"; |
| export { CommandCodeExecutor } from "./commandcode.js"; |
| export { XiaomiTokenplanExecutor } from "./xiaomi-tokenplan.js"; |
| export { MimoFreeExecutor } from "./mimo-free.js"; |
|
|