@codemieai/code 0.0.51 → 0.0.52

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 (46) hide show
  1. package/dist/agents/core/session/SessionStore.d.ts +4 -0
  2. package/dist/agents/core/session/SessionStore.d.ts.map +1 -1
  3. package/dist/agents/core/session/SessionStore.js +16 -4
  4. package/dist/agents/core/session/SessionStore.js.map +1 -1
  5. package/dist/agents/plugins/claude/claude.plugin.js +3 -3
  6. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  7. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/best-practices.md +1 -1
  8. package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +34 -0
  9. package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +185 -19
  10. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  11. package/dist/agents/plugins/codemie-code.plugin.js +45 -7
  12. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  13. package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts +34 -0
  14. package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts.map +1 -0
  15. package/dist/agents/plugins/opencode/opencode-dynamic-models.js +182 -0
  16. package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -0
  17. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts +21 -2
  18. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
  19. package/dist/agents/plugins/opencode/opencode-model-configs.js +105 -8
  20. package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
  21. package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
  22. package/dist/agents/plugins/opencode/opencode.plugin.js +36 -6
  23. package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
  24. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +10 -5
  25. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -1
  26. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +49 -5
  27. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -1
  28. package/dist/cli/commands/assistants/constants.d.ts +5 -0
  29. package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
  30. package/dist/cli/commands/assistants/constants.js +6 -1
  31. package/dist/cli/commands/assistants/constants.js.map +1 -1
  32. package/dist/cli/commands/assistants/setup/index.js +107 -3
  33. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  34. package/dist/cli/commands/assistants/setup/summary/index.d.ts +1 -1
  35. package/dist/cli/commands/assistants/setup/summary/index.d.ts.map +1 -1
  36. package/dist/cli/commands/assistants/setup/summary/index.js +4 -1
  37. package/dist/cli/commands/assistants/setup/summary/index.js.map +1 -1
  38. package/dist/providers/plugins/sso/sso.http-client.d.ts +40 -0
  39. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
  40. package/dist/providers/plugins/sso/sso.http-client.js +21 -0
  41. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  42. package/dist/utils/config.d.ts +7 -0
  43. package/dist/utils/config.d.ts.map +1 -1
  44. package/dist/utils/config.js +36 -0
  45. package/dist/utils/config.js.map +1 -1
  46. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Dynamic model list fetcher for OpenCode / CodeMie-Code
3
+ *
4
+ * Every time the agent starts, this module fetches the live model catalogue
5
+ * from the CodeMie API (/v1/llm_models?include_all=true) and converts it to
6
+ * the OpenCodeModelConfig format used throughout the plugin layer.
7
+ *
8
+ * Authentication priority (first available wins):
9
+ * 1. JWT Bearer token (env.CODEMIE_JWT_TOKEN)
10
+ * 2. SSO stored credentials (looked up by env.CODEMIE_URL)
11
+ *
12
+ * On any error (network, auth, parse) the module silently falls back to the
13
+ * static OPENCODE_MODEL_CONFIGS so agent startup is never blocked.
14
+ */
15
+ import type { LlmModel } from '../../../providers/plugins/sso/sso.http-client.js';
16
+ import type { OpenCodeModelConfig } from './opencode-model-configs.js';
17
+ /**
18
+ * Convert a raw /v1/llm_models entry to an OpenCodeModelConfig.
19
+ *
20
+ * Cost conversion: API uses $/token; OpenCode uses $/million tokens.
21
+ * e.g. 0.000003 $/token → 3.0 $/M tokens
22
+ */
23
+ export declare function convertApiModelToOpenCodeConfig(model: LlmModel): OpenCodeModelConfig;
24
+ /**
25
+ * Fetch the live model catalogue from the CodeMie API and convert it to
26
+ * OpenCodeModelConfig format.
27
+ *
28
+ * @param baseUrl - CODEMIE_BASE_URL (authenticated proxy endpoint)
29
+ * @param codeMieUrl - CODEMIE_URL (CodeMie org URL used for SSO credential lookup)
30
+ * @param jwtToken - CODEMIE_JWT_TOKEN (optional Bearer token, preferred over SSO)
31
+ * @returns Map of modelId → OpenCodeModelConfig (dynamic) or OPENCODE_MODEL_CONFIGS (fallback)
32
+ */
33
+ export declare function fetchDynamicModelConfigs(baseUrl: string, codeMieUrl: string | undefined, jwtToken?: string): Promise<Record<string, OpenCodeModelConfig>>;
34
+ //# sourceMappingURL=opencode-dynamic-models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-dynamic-models.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-dynamic-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAElF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AA+DvE;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,QAAQ,GAAG,mBAAmB,CA0CpF;AAID;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAyC9C"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Dynamic model list fetcher for OpenCode / CodeMie-Code
3
+ *
4
+ * Every time the agent starts, this module fetches the live model catalogue
5
+ * from the CodeMie API (/v1/llm_models?include_all=true) and converts it to
6
+ * the OpenCodeModelConfig format used throughout the plugin layer.
7
+ *
8
+ * Authentication priority (first available wins):
9
+ * 1. JWT Bearer token (env.CODEMIE_JWT_TOKEN)
10
+ * 2. SSO stored credentials (looked up by env.CODEMIE_URL)
11
+ *
12
+ * On any error (network, auth, parse) the module silently falls back to the
13
+ * static OPENCODE_MODEL_CONFIGS so agent startup is never blocked.
14
+ */
15
+ import { fetchCodeMieLlmModels } from '../../../providers/plugins/sso/sso.http-client.js';
16
+ import { OPENCODE_MODEL_CONFIGS } from './opencode-model-configs.js';
17
+ import { CodeMieSSO } from '../../../providers/plugins/sso/sso.auth.js';
18
+ import { logger } from '../../../utils/logger.js';
19
+ // ── Responses-API detection ──────────────────────────────────────────────────
20
+ //
21
+ // The /v1/llm_models endpoint does not expose a "mode" field, so we maintain
22
+ // an explicit list of model-name patterns that require OpenAI Responses API
23
+ // (POST /v1/responses) instead of Chat Completions (POST /v1/chat/completions).
24
+ //
25
+ // Naming conventions observed in CodeMie deployments:
26
+ // Responses API → gpt-5-2-*, gpt-5.2-*, gpt-5.x-codex-*, gpt-5-x-codex-*
27
+ // Chat Completions → gpt-4*, gpt-5-<year>-*, o1/o3/o4*, gemini-*, claude-*, …
28
+ //
29
+ // Update this list whenever new Responses-API-only models are deployed.
30
+ const RESPONSES_API_MODEL_PATTERNS = [
31
+ /^gpt-5-2-/, // gpt-5-2-2025-12-11 (and future gpt-5-2-YYYY-* variants)
32
+ /^gpt-5\.2-/, // gpt-5.2-chat
33
+ /^gpt-5-1-codex/, // gpt-5-1-codex-2025-11-13
34
+ /^gpt-5\.1-codex/, // gpt-5.1-codex, gpt-5.1-codex-mini, gpt-5.1-codex-max
35
+ /^gpt-5-3-codex/, // hyphenated variant of gpt-5.3-codex
36
+ /^gpt-5\.3-codex/, // gpt-5.3-codex-2026-02-24
37
+ ];
38
+ function isResponsesApiModel(id) {
39
+ return RESPONSES_API_MODEL_PATTERNS.some(p => p.test(id));
40
+ }
41
+ // ── Family detection ─────────────────────────────────────────────────────────
42
+ function detectFamily(id) {
43
+ if (id.startsWith('claude'))
44
+ return 'claude-4';
45
+ if (id.startsWith('gemini'))
46
+ return 'gemini-2';
47
+ if (id.startsWith('gpt-4'))
48
+ return 'gpt-4';
49
+ if (id.startsWith('gpt-5'))
50
+ return 'gpt-5';
51
+ if (/^o[134]-/.test(id) || id === 'o1')
52
+ return 'openai-reasoning';
53
+ if (id.startsWith('qwen'))
54
+ return 'qwen3';
55
+ if (id.startsWith('deepseek'))
56
+ return 'deepseek';
57
+ if (id.startsWith('moonshotai') || id.startsWith('kimi'))
58
+ return 'kimi';
59
+ return id.split('-')[0] || id;
60
+ }
61
+ // ── Token-limit heuristics ───────────────────────────────────────────────────
62
+ //
63
+ // The /v1/llm_models endpoint does not include context/output token limits.
64
+ // We derive reasonable defaults from the model family.
65
+ function detectLimits(id, family) {
66
+ if (family === 'claude-4' || id.startsWith('claude'))
67
+ return { context: 200000, output: 64000 };
68
+ if (family === 'gemini-2' || id.startsWith('gemini'))
69
+ return { context: 1048576, output: 65536 };
70
+ if (id.startsWith('gpt-4.1'))
71
+ return { context: 1048576, output: 32768 };
72
+ if (id.startsWith('gpt-4o'))
73
+ return { context: 128000, output: 16384 };
74
+ if (id.startsWith('gpt-5'))
75
+ return { context: 400000, output: 128000 };
76
+ if (/^o[134]-/.test(id) || id === 'o1')
77
+ return { context: 200000, output: 100000 };
78
+ if (id.startsWith('qwen') || id.startsWith('moonshotai') || id.startsWith('kimi'))
79
+ return { context: 262144, output: 131072 };
80
+ if (id.startsWith('deepseek'))
81
+ return { context: 65536, output: 65536 };
82
+ return { context: 128000, output: 4096 };
83
+ }
84
+ // ── Conversion ───────────────────────────────────────────────────────────────
85
+ /**
86
+ * Convert a raw /v1/llm_models entry to an OpenCodeModelConfig.
87
+ *
88
+ * Cost conversion: API uses $/token; OpenCode uses $/million tokens.
89
+ * e.g. 0.000003 $/token → 3.0 $/M tokens
90
+ */
91
+ export function convertApiModelToOpenCodeConfig(model) {
92
+ const id = model.deployment_name;
93
+ const family = detectFamily(id);
94
+ const limit = detectLimits(id, family);
95
+ const responsesApi = isResponsesApiModel(id);
96
+ const toPerMillion = (v) => (v ?? 0) * 1_000_000;
97
+ const costInput = toPerMillion(model.cost?.input);
98
+ const costOutput = toPerMillion(model.cost?.output);
99
+ const cacheRead = model.cost?.cache_read_input_token_cost != null
100
+ ? toPerMillion(model.cost.cache_read_input_token_cost)
101
+ : undefined;
102
+ const today = new Date().toISOString().split('T')[0];
103
+ return {
104
+ id,
105
+ name: model.label || id,
106
+ displayName: model.label || id,
107
+ family,
108
+ tool_call: model.features?.tools ?? true,
109
+ reasoning: true,
110
+ attachment: model.multimodal ?? false,
111
+ temperature: model.features?.temperature ?? true,
112
+ structured_output: model.features?.tools ? true : undefined,
113
+ ...(responsesApi && { use_responses_api: true }),
114
+ modalities: {
115
+ input: model.multimodal ? ['text', 'image'] : ['text'],
116
+ output: ['text'],
117
+ },
118
+ knowledge: today,
119
+ release_date: today,
120
+ last_updated: today,
121
+ open_weights: false,
122
+ cost: {
123
+ input: costInput,
124
+ output: costOutput,
125
+ ...(cacheRead != null ? { cache_read: cacheRead } : {}),
126
+ },
127
+ limit,
128
+ };
129
+ }
130
+ // ── Main export ──────────────────────────────────────────────────────────────
131
+ /**
132
+ * Fetch the live model catalogue from the CodeMie API and convert it to
133
+ * OpenCodeModelConfig format.
134
+ *
135
+ * @param baseUrl - CODEMIE_BASE_URL (authenticated proxy endpoint)
136
+ * @param codeMieUrl - CODEMIE_URL (CodeMie org URL used for SSO credential lookup)
137
+ * @param jwtToken - CODEMIE_JWT_TOKEN (optional Bearer token, preferred over SSO)
138
+ * @returns Map of modelId → OpenCodeModelConfig (dynamic) or OPENCODE_MODEL_CONFIGS (fallback)
139
+ */
140
+ export async function fetchDynamicModelConfigs(baseUrl, codeMieUrl, jwtToken) {
141
+ try {
142
+ let rawModels;
143
+ if (jwtToken) {
144
+ rawModels = await fetchCodeMieLlmModels(baseUrl, jwtToken);
145
+ logger.debug('[dynamic-models] Fetched model list via JWT auth');
146
+ }
147
+ else if (codeMieUrl) {
148
+ const sso = new CodeMieSSO();
149
+ const credentials = await sso.getStoredCredentials(codeMieUrl);
150
+ if (!credentials) {
151
+ logger.debug('[dynamic-models] No SSO credentials found, using static model configs');
152
+ return OPENCODE_MODEL_CONFIGS;
153
+ }
154
+ rawModels = await fetchCodeMieLlmModels(credentials.apiUrl, credentials.cookies);
155
+ logger.debug('[dynamic-models] Fetched model list via SSO auth');
156
+ }
157
+ else {
158
+ logger.debug('[dynamic-models] No auth info in environment, using static model configs');
159
+ return OPENCODE_MODEL_CONFIGS;
160
+ }
161
+ const result = {};
162
+ for (const model of rawModels) {
163
+ if (!model.enabled)
164
+ continue;
165
+ const config = convertApiModelToOpenCodeConfig(model);
166
+ result[config.id] = config;
167
+ }
168
+ if (Object.keys(result).length === 0) {
169
+ logger.debug('[dynamic-models] API returned no enabled models, using static model configs');
170
+ return OPENCODE_MODEL_CONFIGS;
171
+ }
172
+ logger.debug(`[dynamic-models] Loaded ${Object.keys(result).length} models from API`);
173
+ return result;
174
+ }
175
+ catch (error) {
176
+ logger.debug('[dynamic-models] Failed to fetch dynamic models, falling back to static model configs', {
177
+ error: error instanceof Error ? error.message : String(error),
178
+ });
179
+ return OPENCODE_MODEL_CONFIGS;
180
+ }
181
+ }
182
+ //# sourceMappingURL=opencode-dynamic-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-dynamic-models.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-dynamic-models.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export interface OpenCodeModelConfig {
21
21
  temperature: boolean;
22
22
  /** Structured output support (OpenCode format: structured_output) */
23
23
  structured_output?: boolean;
24
+ /** Whether model requires OpenAI Responses API instead of Chat Completions API */
25
+ use_responses_api?: boolean;
24
26
  /** Modality support */
25
27
  modalities: {
26
28
  input: string[];
@@ -53,10 +55,27 @@ export interface OpenCodeModelConfig {
53
55
  }
54
56
  export declare const OPENCODE_MODEL_CONFIGS: Record<string, OpenCodeModelConfig>;
55
57
  /**
56
- * Get all model configs stripped of CodeMie-specific fields (displayName, providerOptions).
58
+ * Get all model configs stripped of CodeMie-specific fields (displayName, providerOptions, use_responses_api).
57
59
  * Used to populate all models in the OpenCode config so users can switch models during a session.
58
60
  */
59
- export declare function getAllOpenCodeModelConfigs(): Record<string, Omit<OpenCodeModelConfig, 'displayName' | 'providerOptions'>>;
61
+ export declare function getAllOpenCodeModelConfigs(): Record<string, Omit<OpenCodeModelConfig, 'displayName' | 'providerOptions' | 'use_responses_api'>>;
62
+ /**
63
+ * Get model configs for Chat Completions API providers (codemie-proxy, litellm).
64
+ * Excludes models that require the OpenAI Responses API.
65
+ *
66
+ * @param source - Model map to filter; defaults to the static OPENCODE_MODEL_CONFIGS.
67
+ * Pass the result of fetchDynamicModelConfigs() for live model lists.
68
+ */
69
+ export declare function getChatCompletionsModelConfigs(source?: Record<string, OpenCodeModelConfig>): Record<string, Omit<OpenCodeModelConfig, 'displayName' | 'providerOptions' | 'use_responses_api'>>;
70
+ /**
71
+ * Get model configs that require the OpenAI Responses API.
72
+ * These are routed through OpenCode's built-in openai CUSTOM_LOADER
73
+ * which calls POST /v1/responses instead of POST /v1/chat/completions.
74
+ *
75
+ * @param source - Model map to filter; defaults to the static OPENCODE_MODEL_CONFIGS.
76
+ * Pass the result of fetchDynamicModelConfigs() for live model lists.
77
+ */
78
+ export declare function getResponsesApiModelConfigs(source?: Record<string, OpenCodeModelConfig>): Record<string, Omit<OpenCodeModelConfig, 'displayName' | 'providerOptions' | 'use_responses_api'>>;
60
79
  /**
61
80
  * Get model configuration with fallback for unknown models
62
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-model-configs.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-model-configs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB;IACvB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mBAAmB;IACnB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oDAAoD;IACpD,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAuYtE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAOzH;AA4CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAqCnE"}
1
+ {"version":3,"file":"opencode-model-configs.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-model-configs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB;IACvB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mBAAmB;IACnB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oDAAoD;IACpD,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAuctE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,iBAAiB,GAAG,mBAAmB,CAAC,CAAC,CAO/I;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAA0B,GACnE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,iBAAiB,GAAG,mBAAmB,CAAC,CAAC,CAQpG;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAA0B,GACnE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,iBAAiB,GAAG,mBAAmB,CAAC,CAAC,CAQpG;AA4CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAqCnE"}
@@ -16,6 +16,7 @@ export const OPENCODE_MODEL_CONFIGS = {
16
16
  release_date: '2025-12-11',
17
17
  last_updated: '2025-12-11',
18
18
  open_weights: false,
19
+ use_responses_api: true,
19
20
  cost: {
20
21
  input: 1.75,
21
22
  output: 14,
@@ -43,6 +44,7 @@ export const OPENCODE_MODEL_CONFIGS = {
43
44
  release_date: '2025-11-14',
44
45
  last_updated: '2025-11-14',
45
46
  open_weights: false,
47
+ use_responses_api: true,
46
48
  cost: {
47
49
  input: 1.25,
48
50
  output: 10,
@@ -70,6 +72,7 @@ export const OPENCODE_MODEL_CONFIGS = {
70
72
  release_date: '2025-11-14',
71
73
  last_updated: '2025-11-14',
72
74
  open_weights: false,
75
+ use_responses_api: true,
73
76
  cost: {
74
77
  input: 0.25,
75
78
  output: 2,
@@ -98,6 +101,7 @@ export const OPENCODE_MODEL_CONFIGS = {
98
101
  release_date: '2025-11-13',
99
102
  last_updated: '2025-11-13',
100
103
  open_weights: false,
104
+ use_responses_api: true,
101
105
  cost: {
102
106
  input: 1.25,
103
107
  output: 10,
@@ -126,6 +130,7 @@ export const OPENCODE_MODEL_CONFIGS = {
126
130
  release_date: '2025-12-11',
127
131
  last_updated: '2025-12-11',
128
132
  open_weights: false,
133
+ use_responses_api: true,
129
134
  cost: {
130
135
  input: 1.75,
131
136
  output: 14,
@@ -136,6 +141,35 @@ export const OPENCODE_MODEL_CONFIGS = {
136
141
  output: 16384
137
142
  }
138
143
  },
144
+ 'gpt-5.3-codex-2026-02-24': {
145
+ id: 'gpt-5.3-codex-2026-02-24',
146
+ name: 'GPT-5.3 Codex',
147
+ displayName: 'GPT-5.3 Codex',
148
+ family: 'gpt-5-codex',
149
+ tool_call: true,
150
+ reasoning: true,
151
+ attachment: true,
152
+ temperature: false,
153
+ structured_output: true,
154
+ modalities: {
155
+ input: ['text', 'image'],
156
+ output: ['text']
157
+ },
158
+ knowledge: '2025-08-31',
159
+ release_date: '2026-02-24',
160
+ last_updated: '2026-02-24',
161
+ open_weights: false,
162
+ use_responses_api: true,
163
+ cost: {
164
+ input: 1.75,
165
+ output: 14,
166
+ cache_read: 0.175
167
+ },
168
+ limit: {
169
+ context: 272000,
170
+ output: 128000
171
+ }
172
+ },
139
173
  // ── Claude Models ──────────────────────────────────────────────────
140
174
  'claude-4-5-sonnet': {
141
175
  id: 'claude-4-5-sonnet',
@@ -250,14 +284,15 @@ export const OPENCODE_MODEL_CONFIGS = {
250
284
  }
251
285
  },
252
286
  'claude-haiku-4-5': {
253
- id: 'claude-haiku-4-5',
287
+ id: 'claude-haiku-4-5-20251001',
254
288
  name: 'Claude Haiku 4.5',
255
289
  displayName: 'Claude Haiku 4.5',
256
290
  family: 'claude-4',
257
291
  tool_call: true,
258
- reasoning: false,
292
+ reasoning: true,
259
293
  attachment: true,
260
294
  temperature: true,
295
+ structured_output: true,
261
296
  modalities: {
262
297
  input: ['text', 'image'],
263
298
  output: ['text']
@@ -267,13 +302,13 @@ export const OPENCODE_MODEL_CONFIGS = {
267
302
  last_updated: '2025-10-01',
268
303
  open_weights: false,
269
304
  cost: {
270
- input: 0.8,
271
- output: 4,
272
- cache_read: 0.08
305
+ input: 1.10,
306
+ output: 5.50,
307
+ cache_read: 0.11
273
308
  },
274
309
  limit: {
275
310
  context: 200000,
276
- output: 8192
311
+ output: 64000
277
312
  }
278
313
  },
279
314
  // ── Qwen Models (via Bedrock/LiteLLM) ─────────────────────────────
@@ -329,6 +364,33 @@ export const OPENCODE_MODEL_CONFIGS = {
329
364
  output: 65536
330
365
  }
331
366
  },
367
+ // ── Kimi Models (via Bedrock) ──────────────────────────────────────
368
+ 'moonshotai.kimi-k2.5': {
369
+ id: 'moonshotai.kimi-k2.5',
370
+ name: 'Kimi K2.5',
371
+ displayName: 'Kimi K2.5',
372
+ family: 'kimi',
373
+ tool_call: true,
374
+ reasoning: true,
375
+ attachment: true,
376
+ temperature: true,
377
+ modalities: {
378
+ input: ['text', 'image'],
379
+ output: ['text']
380
+ },
381
+ knowledge: '2025-03-01',
382
+ release_date: '2025-10-01',
383
+ last_updated: '2025-10-01',
384
+ open_weights: true,
385
+ cost: {
386
+ input: 0.6,
387
+ output: 3.03
388
+ },
389
+ limit: {
390
+ context: 262144,
391
+ output: 262144
392
+ }
393
+ },
332
394
  // ── Gemini Models ──────────────────────────────────────────────────
333
395
  'gemini-2.5-pro': {
334
396
  id: 'gemini-2.5-pro',
@@ -388,13 +450,48 @@ export const OPENCODE_MODEL_CONFIGS = {
388
450
  }
389
451
  };
390
452
  /**
391
- * Get all model configs stripped of CodeMie-specific fields (displayName, providerOptions).
453
+ * Get all model configs stripped of CodeMie-specific fields (displayName, providerOptions, use_responses_api).
392
454
  * Used to populate all models in the OpenCode config so users can switch models during a session.
393
455
  */
394
456
  export function getAllOpenCodeModelConfigs() {
395
457
  const result = {};
396
458
  for (const [id, config] of Object.entries(OPENCODE_MODEL_CONFIGS)) {
397
- const { displayName: _displayName, providerOptions: _providerOptions, ...opencodeConfig } = config;
459
+ const { displayName: _d, providerOptions: _p, use_responses_api: _r, ...opencodeConfig } = config;
460
+ result[id] = opencodeConfig;
461
+ }
462
+ return result;
463
+ }
464
+ /**
465
+ * Get model configs for Chat Completions API providers (codemie-proxy, litellm).
466
+ * Excludes models that require the OpenAI Responses API.
467
+ *
468
+ * @param source - Model map to filter; defaults to the static OPENCODE_MODEL_CONFIGS.
469
+ * Pass the result of fetchDynamicModelConfigs() for live model lists.
470
+ */
471
+ export function getChatCompletionsModelConfigs(source = OPENCODE_MODEL_CONFIGS) {
472
+ const result = {};
473
+ for (const [id, config] of Object.entries(source)) {
474
+ if (config.use_responses_api)
475
+ continue;
476
+ const { displayName: _d, providerOptions: _p, use_responses_api: _r, ...opencodeConfig } = config;
477
+ result[id] = opencodeConfig;
478
+ }
479
+ return result;
480
+ }
481
+ /**
482
+ * Get model configs that require the OpenAI Responses API.
483
+ * These are routed through OpenCode's built-in openai CUSTOM_LOADER
484
+ * which calls POST /v1/responses instead of POST /v1/chat/completions.
485
+ *
486
+ * @param source - Model map to filter; defaults to the static OPENCODE_MODEL_CONFIGS.
487
+ * Pass the result of fetchDynamicModelConfigs() for live model lists.
488
+ */
489
+ export function getResponsesApiModelConfigs(source = OPENCODE_MODEL_CONFIGS) {
490
+ const result = {};
491
+ for (const [id, config] of Object.entries(source)) {
492
+ if (!config.use_responses_api)
493
+ continue;
494
+ const { displayName: _d, providerOptions: _p, use_responses_api: _r, ...opencodeConfig } = config;
398
495
  result[id] = opencodeConfig;
399
496
  }
400
497
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-model-configs.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-model-configs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-model-configs.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-model-configs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAU7F,eAAO,MAAM,sBAAsB,EAAE,aA+PpC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD,OAAO,CAAC,cAAc,CAAiB;;IAQvC;;;;;;;;OAQG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBrC;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}
1
+ {"version":3,"file":"opencode.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAU7F,eAAO,MAAM,sBAAsB,EAAE,aAkSpC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD,OAAO,CAAC,cAAc,CAAiB;;IAQvC;;;;;;;;OAQG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBrC;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}
@@ -1,5 +1,6 @@
1
1
  import { logger } from '../../../utils/logger.js';
2
- import { getModelConfig, getAllOpenCodeModelConfigs } from './opencode-model-configs.js';
2
+ import { getModelConfig, getChatCompletionsModelConfigs, getResponsesApiModelConfigs } from './opencode-model-configs.js';
3
+ import { fetchDynamicModelConfigs } from './opencode-dynamic-models.js';
3
4
  import { BaseAgentAdapter } from '../../core/BaseAgentAdapter.js';
4
5
  import { commandExists } from '../../../utils/processes.js';
5
6
  import { OpenCodeSessionAdapter } from './opencode.session.js';
@@ -54,12 +55,17 @@ export const OpenCodePluginMetadata = {
54
55
  logger.warn(`Invalid CODEMIE_BASE_URL format: ${baseUrl}`, { agent: 'opencode' });
55
56
  return env;
56
57
  }
58
+ // Fetch live model catalogue from the CodeMie API.
59
+ // Falls back to the static OPENCODE_MODEL_CONFIGS on any error.
60
+ const allModels = await fetchDynamicModelConfigs(baseUrl, env.CODEMIE_URL, env.CODEMIE_JWT_TOKEN);
57
61
  // Model selection priority: env var > config > default
62
+ // Use dynamic catalogue first, then fall back to static getModelConfig for unknown IDs.
58
63
  const selectedModel = env.CODEMIE_MODEL || config?.model || 'gpt-5-2-2025-12-11';
59
- const modelConfig = getModelConfig(selectedModel);
64
+ const modelConfig = allModels[selectedModel] ?? getModelConfig(selectedModel);
60
65
  const { providerOptions } = modelConfig;
61
- // Build all models for codemie-proxy (stripped of CodeMie-specific fields)
62
- const allModels = getAllOpenCodeModelConfigs();
66
+ // Split models by API routing type
67
+ const chatModels = getChatCompletionsModelConfigs(allModels);
68
+ const responsesApiModels = getResponsesApiModelConfigs(allModels);
63
69
  // Determine URLs based on provider type
64
70
  const isBedrock = provider === 'bedrock';
65
71
  const proxyBaseUrl = provider !== 'ollama' && !isBedrock ? baseUrl : undefined;
@@ -72,8 +78,16 @@ export const OpenCodePluginMetadata = {
72
78
  // - all others: route through codemie-proxy (SSO/proxy)
73
79
  const activeProvider = provider === 'ollama' ? 'ollama' : (isBedrock ? 'amazon-bedrock' : 'codemie-proxy');
74
80
  const timeout = providerOptions?.timeout ?? parseInt(env.CODEMIE_TIMEOUT || '600') * 1000;
81
+ // Always enable openai CUSTOM_LOADER when Responses API models exist.
82
+ // This fixes model-switching: if user starts with Claude and switches to GPT,
83
+ // the CUSTOM_LOADER must already be registered.
84
+ if (proxyBaseUrl && Object.keys(responsesApiModels).length > 0) {
85
+ env.OPENAI_API_KEY = 'proxy-handled';
86
+ logger.debug('[opencode] Enabling openai CUSTOM_LOADER for Responses API models');
87
+ }
88
+ const hasResponsesApiModels = Object.keys(responsesApiModels).length > 0;
75
89
  const openCodeConfig = {
76
- enabled_providers: ['codemie-proxy', 'ollama', 'amazon-bedrock'],
90
+ enabled_providers: ['codemie-proxy', 'openai', 'ollama', 'amazon-bedrock'],
77
91
  share: 'disabled',
78
92
  provider: {
79
93
  ...(proxyBaseUrl && {
@@ -86,7 +100,23 @@ export const OpenCodePluginMetadata = {
86
100
  timeout,
87
101
  ...(providerOptions?.headers && { headers: providerOptions.headers })
88
102
  },
89
- models: allModels
103
+ models: chatModels
104
+ }
105
+ }),
106
+ // Built-in openai CUSTOM_LOADER: routes Responses API models via sdk.responses()
107
+ ...(proxyBaseUrl && hasResponsesApiModels && {
108
+ openai: {
109
+ name: 'CodeMie SSO',
110
+ // whitelist: suppress the built-in openai model list (GPT-4, GPT-4o, etc.)
111
+ // OpenCode merges user models with models.dev — whitelist restricts to ours only
112
+ whitelist: Object.keys(responsesApiModels),
113
+ options: {
114
+ baseURL: `${proxyBaseUrl}/`,
115
+ apiKey: 'proxy-handled',
116
+ timeout,
117
+ ...(providerOptions?.headers && { headers: providerOptions.headers })
118
+ },
119
+ models: responsesApiModels
90
120
  }
91
121
  }),
92
122
  ollama: {