@codemieai/code 0.13.1 → 0.14.1

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 (144) hide show
  1. package/README.md +44 -6
  2. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  3. package/dist/agents/core/AgentCLI.js +53 -4
  4. package/dist/agents/core/AgentCLI.js.map +1 -1
  5. package/dist/agents/plugins/claude/claude.models.d.ts +12 -0
  6. package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -0
  7. package/dist/agents/plugins/claude/claude.models.js +191 -0
  8. package/dist/agents/plugins/claude/claude.models.js.map +1 -0
  9. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  10. package/dist/agents/plugins/claude/claude.plugin.js +45 -1
  11. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  12. package/dist/agents/plugins/codex/codex-models.d.ts +11 -0
  13. package/dist/agents/plugins/codex/codex-models.d.ts.map +1 -1
  14. package/dist/agents/plugins/codex/codex-models.js +71 -0
  15. package/dist/agents/plugins/codex/codex-models.js.map +1 -1
  16. package/dist/agents/plugins/gemini/gemini.paths.d.ts +11 -0
  17. package/dist/agents/plugins/gemini/gemini.paths.d.ts.map +1 -0
  18. package/dist/agents/plugins/gemini/gemini.paths.js +21 -0
  19. package/dist/agents/plugins/gemini/gemini.paths.js.map +1 -0
  20. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +20 -0
  21. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -1
  22. package/dist/agents/plugins/gemini/gemini.session-adapter.js +119 -3
  23. package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -1
  24. package/dist/agents/plugins/pi/pi.models.d.ts +14 -0
  25. package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -1
  26. package/dist/agents/plugins/pi/pi.models.js +89 -0
  27. package/dist/agents/plugins/pi/pi.models.js.map +1 -1
  28. package/dist/cli/commands/analytics/agent-labels.d.ts.map +1 -1
  29. package/dist/cli/commands/analytics/agent-labels.js +1 -0
  30. package/dist/cli/commands/analytics/agent-labels.js.map +1 -1
  31. package/dist/cli/commands/analytics/aggregator.js +1 -1
  32. package/dist/cli/commands/analytics/aggregator.js.map +1 -1
  33. package/dist/cli/commands/analytics/cost/cost-calculator.d.ts +1 -1
  34. package/dist/cli/commands/analytics/cost/cost-calculator.d.ts.map +1 -1
  35. package/dist/cli/commands/analytics/cost/cost-enricher.js +2 -2
  36. package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
  37. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  38. package/dist/cli/commands/analytics/data-loader.js +9 -0
  39. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  40. package/dist/cli/commands/analytics/native-loader.js +1 -1
  41. package/dist/cli/commands/analytics/native-loader.js.map +1 -1
  42. package/dist/cli/commands/analytics/otel-loader.js +1 -1
  43. package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
  44. package/dist/cli/commands/analytics/report/client/app.js +1 -1
  45. package/dist/cli/commands/hook.d.ts.map +1 -1
  46. package/dist/cli/commands/hook.js +70 -1
  47. package/dist/cli/commands/hook.js.map +1 -1
  48. package/dist/cli/commands/proxy/connect-orchestrator.d.ts +95 -0
  49. package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -0
  50. package/dist/cli/commands/proxy/connect-orchestrator.js +501 -0
  51. package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -0
  52. package/dist/cli/commands/proxy/connectors/codex-config-toml.d.ts +81 -0
  53. package/dist/cli/commands/proxy/connectors/codex-config-toml.d.ts.map +1 -0
  54. package/dist/cli/commands/proxy/connectors/codex-config-toml.js +218 -0
  55. package/dist/cli/commands/proxy/connectors/codex-config-toml.js.map +1 -0
  56. package/dist/cli/commands/proxy/connectors/codex-desktop.d.ts +85 -0
  57. package/dist/cli/commands/proxy/connectors/codex-desktop.d.ts.map +1 -0
  58. package/dist/cli/commands/proxy/connectors/codex-desktop.js +299 -0
  59. package/dist/cli/commands/proxy/connectors/codex-desktop.js.map +1 -0
  60. package/dist/cli/commands/proxy/connectors/desktop.d.ts +5 -0
  61. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  62. package/dist/cli/commands/proxy/connectors/desktop.js +48 -2
  63. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  64. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts +10 -0
  65. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts.map +1 -1
  66. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js.map +1 -1
  67. package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts +26 -0
  68. package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts.map +1 -0
  69. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js +132 -0
  70. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js.map +1 -0
  71. package/dist/cli/commands/proxy/connectors/vscode.d.ts +2 -0
  72. package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
  73. package/dist/cli/commands/proxy/connectors/vscode.js +2 -2
  74. package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
  75. package/dist/cli/commands/proxy/disconnect-orchestrator.d.ts +8 -0
  76. package/dist/cli/commands/proxy/disconnect-orchestrator.d.ts.map +1 -0
  77. package/dist/cli/commands/proxy/disconnect-orchestrator.js +43 -0
  78. package/dist/cli/commands/proxy/disconnect-orchestrator.js.map +1 -0
  79. package/dist/cli/commands/proxy/index.d.ts.map +1 -1
  80. package/dist/cli/commands/proxy/index.js +91 -370
  81. package/dist/cli/commands/proxy/index.js.map +1 -1
  82. package/dist/cli/index.js +7 -7
  83. package/dist/providers/integration/setup-ui.d.ts +14 -2
  84. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  85. package/dist/providers/integration/setup-ui.js +70 -33
  86. package/dist/providers/integration/setup-ui.js.map +1 -1
  87. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.d.ts.map +1 -1
  88. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.js +9 -2
  89. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.js.map +1 -1
  90. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.d.ts.map +1 -1
  91. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js +18 -28
  92. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js.map +1 -1
  93. package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts.map +1 -1
  94. package/dist/providers/plugins/bedrock/bedrock.setup-steps.js +4 -4
  95. package/dist/providers/plugins/bedrock/bedrock.setup-steps.js.map +1 -1
  96. package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -1
  97. package/dist/providers/plugins/litellm/litellm.setup-steps.js +3 -1
  98. package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -1
  99. package/dist/providers/plugins/moonshot-subscription/moonshot-subscription.setup-steps.d.ts.map +1 -1
  100. package/dist/providers/plugins/moonshot-subscription/moonshot-subscription.setup-steps.js +5 -1
  101. package/dist/providers/plugins/moonshot-subscription/moonshot-subscription.setup-steps.js.map +1 -1
  102. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -1
  103. package/dist/providers/plugins/ollama/ollama.setup-steps.js +3 -2
  104. package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -1
  105. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts.map +1 -1
  106. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js +4 -0
  107. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js.map +1 -1
  108. package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.d.ts +45 -0
  109. package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.d.ts.map +1 -0
  110. package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.js +129 -0
  111. package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.js.map +1 -0
  112. package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.d.ts +27 -0
  113. package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.d.ts.map +1 -0
  114. package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.js +242 -0
  115. package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.js.map +1 -0
  116. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +2 -1
  117. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  118. package/dist/providers/plugins/sso/proxy/plugins/index.js +3 -1
  119. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  120. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
  121. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +15 -1
  122. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
  123. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  124. package/dist/providers/plugins/sso/sso.auth.js +3 -0
  125. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  126. package/dist/utils/analytics-auth-status.d.ts +48 -0
  127. package/dist/utils/analytics-auth-status.d.ts.map +1 -0
  128. package/dist/utils/analytics-auth-status.js +89 -0
  129. package/dist/utils/analytics-auth-status.js.map +1 -0
  130. package/dist/utils/model-normalizer.d.ts.map +1 -0
  131. package/dist/utils/model-normalizer.js.map +1 -0
  132. package/dist/utils/pricing.d.ts.map +1 -0
  133. package/dist/{cli/commands/analytics/cost → utils}/pricing.js +3 -3
  134. package/dist/utils/pricing.js.map +1 -0
  135. package/package.json +1 -1
  136. package/scripts/copy-plugins.js +3 -3
  137. package/dist/cli/commands/analytics/cost/pricing.d.ts.map +0 -1
  138. package/dist/cli/commands/analytics/cost/pricing.js.map +0 -1
  139. package/dist/cli/commands/analytics/model-normalizer.d.ts.map +0 -1
  140. package/dist/cli/commands/analytics/model-normalizer.js.map +0 -1
  141. /package/dist/{cli/commands/analytics → utils}/model-normalizer.d.ts +0 -0
  142. /package/dist/{cli/commands/analytics → utils}/model-normalizer.js +0 -0
  143. /package/dist/{cli/commands/analytics/cost → utils}/pricing.d.ts +0 -0
  144. /package/dist/{cli/commands/analytics/cost → utils}/pricing.json +0 -0
@@ -1,22 +1,36 @@
1
1
  import { Command } from 'commander';
2
2
  import chalk from 'chalk';
3
3
  import { ConfigLoader } from '../../../utils/config.js';
4
- import { ProviderRegistry } from '../../../providers/index.js';
5
- import { displaySetupInstructions } from '../../../providers/integration/setup-ui.js';
6
- import { ConfigurationError, createErrorContext, formatErrorForUser, } from '../../../utils/errors.js';
7
- import { logger } from '../../../utils/logger.js';
8
- import { sanitizeLogArgs } from '../../../utils/security.js';
4
+ import { ConfigurationError } from '../../../utils/errors.js';
9
5
  import { syncRegisteredSkills } from '../skills/setup/sync.js';
10
6
  import { syncPluginSkills } from '../skills/setup/sync-plugin.js';
11
7
  import { checkStatus, readState, spawnDaemon, stopDaemon, } from './daemon-manager.js';
12
- import { writeDesktopConfig, describeManagedSettingsOverride, getDesktopBaseDir, mapCanonicalToDesktop, summarizeManagedOauthShapes } from './connectors/desktop.js';
13
- import { fetchManagedMcpServers } from './connectors/managed-mcp-remote.js';
14
- import { writeVsCodeLanguageModelsConfig } from './connectors/vscode.js';
15
- import { VS_CODE_SUPPORTED_MODELS } from './connectors/vscode-models.js';
8
+ import { disconnectTargets } from './disconnect-orchestrator.js';
16
9
  import { checkProxyHealth } from './health-check.js';
17
10
  import { printDesktopInspection } from './inspect-desktop.js';
18
- const DEFAULT_DAEMON_PORT = 4001;
11
+ import { DEFAULT_DAEMON_PORT, daemonMatchesRequest, verifySsoCredentials, printProxyError, connectTargets, } from './connect-orchestrator.js';
19
12
  const DEFAULT_DESKTOP_INSPECT_LIMIT = 5;
13
+ /** Print the highlighted deprecation notice for a legacy `connect` subcommand. */
14
+ function printConnectDeprecation(oldSubcommand, newFlag) {
15
+ console.log(chalk.bold.yellow(`⚠ 'codemie proxy connect ${oldSubcommand}' is deprecated — ` +
16
+ `use 'codemie proxy connect ${newFlag}' instead.`));
17
+ }
18
+ /**
19
+ * Resolve a deprecated alias's options, merging the parent `connect` command's
20
+ * options with the alias leaf's own (leaf wins on conflict).
21
+ *
22
+ * The unified `connect` command declares the same option names (`--profile`,
23
+ * `--verbose`, `--force`, `--insiders`) as its `desktop`/`vscode` subcommands.
24
+ * Under the real CLI nesting (`program → proxy → connect → <alias>`) Commander
25
+ * captures those shared flags on the intermediate `connect` command rather than
26
+ * the alias leaf — so an alias action reading only its own opts silently drops
27
+ * them. Merging the parent's opts makes the aliases forward every flag regardless
28
+ * of how positional-option parsing resolves at each level.
29
+ */
30
+ function resolveAliasOptions(opts, command) {
31
+ const parentOpts = (command.parent?.opts() ?? {});
32
+ return { ...parentOpts, ...opts };
33
+ }
20
34
  function parsePortOption(value, fallback) {
21
35
  if (!value) {
22
36
  return fallback;
@@ -27,19 +41,6 @@ function parsePortOption(value, fallback) {
27
41
  }
28
42
  return parsed;
29
43
  }
30
- function getEffectiveClientType(state) {
31
- return state.clientType ?? (state.telemetryMode === 'claude-desktop'
32
- ? 'claude-desktop'
33
- : 'codemie-daemon');
34
- }
35
- function daemonMatchesRequest(state, requested) {
36
- return state.profile === requested.profile &&
37
- state.port === requested.port &&
38
- state.project === requested.project &&
39
- (!requested.provider || state.provider === requested.provider) &&
40
- (!requested.targetUrl || state.targetUrl === requested.targetUrl) &&
41
- getEffectiveClientType(state) === requested.clientType;
42
- }
43
44
  function formatDaemonConflict(state) {
44
45
  const details = [
45
46
  'A proxy is already running with different settings:',
@@ -53,86 +54,13 @@ function formatDaemonConflict(state) {
53
54
  details.push('', 'Stop it first:', ' codemie proxy stop');
54
55
  return details.join('\n');
55
56
  }
56
- async function resolveSsoProxyConfig(profileName, clientLabel, connectTarget) {
57
- const listCodeMieProfiles = async () => {
58
- const profiles = await ConfigLoader.listProfiles(process.cwd());
59
- return profiles
60
- .filter(({ profile }) => {
61
- const provider = ProviderRegistry.getProvider(profile.provider ?? '');
62
- return provider?.authType === 'sso';
63
- })
64
- .map(({ name }) => name);
65
- };
66
- if (profileName) {
67
- const explicitConfig = await ConfigLoader.load(process.cwd(), { name: profileName });
68
- const explicitProvider = ProviderRegistry.getProvider(explicitConfig.provider ?? '');
69
- if (explicitProvider?.authType !== 'sso') {
70
- const available = await listCodeMieProfiles();
71
- const details = available.length > 0
72
- ? `Profiles to try:\n- ${available.join('\n- ')}`
73
- : 'No SSO-backed CodeMie profiles were found. Run: codemie setup';
74
- throw new ConfigurationError(`Profile "${profileName}" cannot be used for ${clientLabel} proxy because it is not SSO-backed.\n\n` +
75
- `Next step:\n` +
76
- ` codemie proxy connect ${connectTarget} --profile <name>\n\n` +
77
- `${details}`);
78
- }
79
- return {
80
- config: explicitConfig,
81
- profileSource: 'explicit'
82
- };
83
- }
84
- const activeConfig = await ConfigLoader.load(process.cwd());
85
- const activeProvider = ProviderRegistry.getProvider(activeConfig.provider ?? '');
86
- if (activeProvider?.authType === 'sso') {
87
- return { config: activeConfig, profileSource: 'active' };
88
- }
89
- const activeProfileName = await ConfigLoader.getActiveProfileName(process.cwd());
90
- const available = await listCodeMieProfiles();
91
- const providerName = activeConfig.provider ?? 'unknown';
92
- const details = available.length > 0
93
- ? `Next step:\n` +
94
- ` codemie profile switch <codemie-profile>\n` +
95
- ` codemie proxy connect ${connectTarget}\n\n` +
96
- `Or run once with a specific profile:\n` +
97
- ` codemie proxy connect ${connectTarget} --profile <codemie-profile>\n\n` +
98
- `Profiles to try:\n- ${available.join('\n- ')}`
99
- : `No SSO-backed CodeMie profiles were found.\n\n` +
100
- `Next step:\n` +
101
- ` codemie setup`;
102
- throw new ConfigurationError(`${clientLabel} proxy needs an SSO-backed CodeMie profile.\n` +
103
- `Current active profile: "${activeProfileName ?? 'unknown'}" (provider: ${providerName})\n\n` +
104
- `${details}`);
105
- }
106
- async function verifySsoCredentials(baseUrl, profileName) {
107
- try {
108
- const { CodeMieSSO } = await import('../../../providers/plugins/sso/sso.auth.js');
109
- const sso = new CodeMieSSO();
110
- const creds = await sso.getStoredCredentials(baseUrl);
111
- if (!creds) {
112
- console.error(chalk.red(`✗ No SSO credentials found for profile '${profileName}'.`));
113
- console.error(` Run: codemie profile login --url ${baseUrl}`);
114
- process.exit(1);
115
- }
116
- }
117
- catch (err) {
118
- console.error(chalk.red(`✗ Failed to verify credentials: ${err.message}`));
119
- process.exit(1);
120
- }
121
- }
122
- function printProxyError(error, label) {
123
- const context = createErrorContext(error);
124
- logger.error(label, error);
125
- if (error instanceof ConfigurationError) {
126
- console.error(chalk.red(`✗ ${error.message}`));
127
- }
128
- else {
129
- console.error(formatErrorForUser(context, { showSystem: false }));
130
- }
131
- process.exit(1);
132
- }
133
57
  export function createProxyCommand() {
134
58
  const proxy = new Command('proxy');
135
- proxy.description('Manage the CodeMie local gateway proxy daemon');
59
+ proxy
60
+ .description('Manage the CodeMie local gateway proxy daemon')
61
+ // Required so nested subcommands (e.g. `connect vscode`) can reuse option
62
+ // names their parent also defines; the parent has no options of its own.
63
+ .enablePositionalOptions();
136
64
  // ── proxy start ─────────────────────────────────────────────────────────────
137
65
  proxy
138
66
  .command('start')
@@ -245,287 +173,80 @@ export function createProxyCommand() {
245
173
  });
246
174
  // ── proxy connect ────────────────────────────────────────────────────────────
247
175
  const connect = new Command('connect');
248
- connect.description('Configure a client to use the local proxy');
176
+ connect
177
+ .description('Configure clients to use the local CodeMie proxy')
178
+ // Let the deprecated `desktop`/`vscode` subcommands reuse option names (e.g.
179
+ // --profile) that the unified command also defines, instead of the parent
180
+ // swallowing them.
181
+ .enablePositionalOptions();
182
+ connect
183
+ .option('--claude-desktop', 'Configure the Claude Desktop app (writes MCP servers config)')
184
+ .option('--vscode', 'Configure VS Code Copilot Chat models — BYOK (writes chatLanguageModels.json)')
185
+ .option('--vscode-claude-code', 'Configure the VS Code Claude Code extension (writes settings.json: ANTHROPIC_BASE_URL/token)')
186
+ .option('--codex-desktop', 'Configure the Codex desktop app (writes ~/.codex/config.toml)')
187
+ .option('--model <slug>', 'Pin a specific model for --codex-desktop (default: best available)')
188
+ .option('--profile <name>', 'Profile whose credentials to use')
189
+ .option('--force', 'Stop any existing proxy and start a fresh one, even if it looks healthy')
190
+ .option('--verbose', 'Show detailed connection info (URLs, config paths) for debugging')
191
+ .option('--insiders', 'Target VS Code Insiders (applies to --vscode / --vscode-claude-code)')
192
+ .action(async (opts) => {
193
+ await connectTargets({
194
+ targets: {
195
+ claudeDesktop: Boolean(opts.claudeDesktop),
196
+ vscode: Boolean(opts.vscode),
197
+ vscodeClaudeCode: Boolean(opts.vscodeClaudeCode),
198
+ codexDesktop: Boolean(opts.codexDesktop),
199
+ },
200
+ profile: opts.profile,
201
+ insiders: Boolean(opts.insiders),
202
+ force: Boolean(opts.force),
203
+ verbose: Boolean(opts.verbose),
204
+ model: opts.model,
205
+ });
206
+ });
207
+ proxy
208
+ .command('disconnect')
209
+ .description('Remove CodeMie proxy configuration from a client')
210
+ .option('--codex-desktop', 'Remove the CodeMie block from ~/.codex/config.toml')
211
+ .action(async (opts) => {
212
+ await disconnectTargets({ targets: { codexDesktop: Boolean(opts.codexDesktop) } });
213
+ });
214
+ // Deprecated aliases — kept working, mapped onto the unified target flags.
249
215
  connect
250
216
  .command('desktop')
251
- .description('Configure Claude Desktop (3P) to use the local proxy')
217
+ .description("[deprecated] use 'codemie proxy connect --claude-desktop'")
252
218
  .option('--profile <name>', 'Profile whose credentials to use for Claude Desktop proxy')
253
219
  .option('--verbose', 'Show detailed connection info (URLs, config paths) for debugging')
254
220
  .option('--force', 'Stop any existing proxy and start a fresh one, even if it looks healthy')
255
- .action(async (opts) => {
256
- const verbose = Boolean(opts.verbose);
257
- let startedInThisRun = false;
258
- try {
259
- const force = Boolean(opts.force);
260
- let { running, state } = await checkStatus();
261
- const wrongMode = running && state?.telemetryMode !== 'claude-desktop';
262
- let unhealthy = false;
263
- if (running && state && state.telemetryMode === 'claude-desktop' && !force) {
264
- const health = await checkProxyHealth({
265
- port: state.port,
266
- gatewayKey: state.gatewayKey,
267
- deep: true,
268
- });
269
- unhealthy = !health.healthy;
270
- if (unhealthy) {
271
- console.log(chalk.yellow(`Existing proxy is unhealthy (${health.reason ?? 'unknown'}). Restarting...`));
272
- }
273
- }
274
- if (running && (wrongMode || unhealthy || force)) {
275
- if (force) {
276
- console.log('Forcing a fresh proxy restart...');
277
- }
278
- else if (wrongMode) {
279
- console.log('Restarting proxy in Claude Desktop mode...');
280
- }
281
- await stopDaemon();
282
- running = false;
283
- state = null;
284
- }
285
- if (!running) {
286
- console.log('Starting proxy...');
287
- const { config, profileSource } = await resolveSsoProxyConfig(opts.profile, 'Claude Desktop', 'desktop');
288
- if (!config.baseUrl) {
289
- throw new ConfigurationError('No API URL configured. Run: codemie setup');
290
- }
291
- const provider = ProviderRegistry.getProvider(config.provider ?? '');
292
- if (provider?.authType !== 'sso') {
293
- throw new ConfigurationError(`Claude Desktop proxy needs an SSO-backed profile.\n` +
294
- `Selected provider: ${config.provider ?? 'unknown'}\n\n` +
295
- `Next step:\n` +
296
- ` codemie proxy connect desktop --profile <your-ai-run-sso-profile>`);
297
- }
298
- if (!config.codeMieUrl) {
299
- throw new ConfigurationError('Selected profile is missing CodeMie URL.\n' +
300
- 'Run: codemie setup or codemie profile login');
301
- }
302
- const profileLabel = config.name ?? 'default';
303
- if (verbose) {
304
- console.log(chalk.cyan(`Using profile: ${profileLabel} ` +
305
- `(source: ${profileSource === 'explicit' ? '--profile' : 'active profile'})`));
306
- }
307
- else {
308
- console.log(chalk.cyan(`Using profile: ${profileLabel}`));
309
- }
310
- logger.info('[proxy] Resolved Claude Desktop proxy configuration', ...sanitizeLogArgs({
311
- profile: profileLabel,
312
- profileSource,
313
- provider: config.provider ?? 'ai-run-sso',
314
- baseUrl: config.baseUrl,
315
- codeMieUrl: config.codeMieUrl,
316
- syncApiUrl: config.ssoConfig?.apiUrl,
317
- }));
318
- await verifySsoCredentials(config.baseUrl, config.name ?? 'default');
319
- const cwd = process.cwd();
320
- await Promise.allSettled([
321
- syncRegisteredSkills(config.name ?? 'default', cwd),
322
- syncPluginSkills(),
323
- ]);
324
- state = await spawnDaemon({
325
- targetUrl: config.baseUrl,
326
- provider: config.provider ?? 'ai-run-sso',
327
- profile: config.name ?? 'default',
328
- port: DEFAULT_DAEMON_PORT,
329
- project: config.codeMieProject,
330
- telemetryMode: 'claude-desktop',
331
- syncApiUrl: config.ssoConfig?.apiUrl,
332
- syncCodeMieUrl: config.codeMieUrl,
333
- });
334
- startedInThisRun = true;
335
- if (verbose) {
336
- console.log(chalk.green(`✓ Proxy started at ${state.url}`));
337
- }
338
- else {
339
- console.log(chalk.green('✓ Proxy started'));
340
- }
341
- logger.info('[proxy] Claude Desktop proxy daemon is ready', ...sanitizeLogArgs({
342
- url: state.url,
343
- port: state.port,
344
- profile: state.profile,
345
- telemetryMode: state.telemetryMode,
346
- targetUrl: state.targetUrl,
347
- clientType: state.clientType,
348
- syncApiUrl: state.syncApiUrl,
349
- syncCodeMieUrl: state.syncCodeMieUrl,
350
- inferenceGatewayApiKey: state.gatewayKey,
351
- }));
352
- }
353
- const canonical = state.syncCodeMieUrl
354
- ? await fetchManagedMcpServers('claude-desktop', state.syncCodeMieUrl)
355
- : null;
356
- const orgMcpServers = canonical ? mapCanonicalToDesktop(canonical) : null;
357
- const oauthShapes = summarizeManagedOauthShapes(orgMcpServers);
358
- logger.info('[proxy] Resolved managed MCP servers for Claude Desktop', ...sanitizeLogArgs({
359
- codeMieUrl: state.syncCodeMieUrl,
360
- fetchSucceeded: canonical !== null,
361
- canonicalCount: canonical?.length ?? 0,
362
- mappedCount: orgMcpServers?.length ?? 0,
363
- mappedNames: orgMcpServers?.map((s) => s.name) ?? [],
364
- oauthConfiguredCount: oauthShapes.oauthConfigured,
365
- oauthFlaggedCount: oauthShapes.oauthFlagged,
366
- noAuthCount: oauthShapes.noAuth,
367
- }));
368
- const configPath = await writeDesktopConfig(state.url, state.gatewayKey, getDesktopBaseDir(), orgMcpServers);
369
- logger.info('[proxy] Claude Desktop proxy configuration written', ...sanitizeLogArgs({
370
- configPath,
371
- gatewayUrl: state.url,
372
- telemetryMode: state.telemetryMode,
373
- profile: state.profile,
374
- inferenceGatewayApiKey: state.gatewayKey,
375
- }));
376
- console.log(chalk.green('✓ Claude Desktop configured'));
377
- const managedSettingsWarning = describeManagedSettingsOverride();
378
- if (managedSettingsWarning) {
379
- console.log(chalk.yellow(`⚠ ${managedSettingsWarning}`));
380
- logger.warn('[proxy] Claude Desktop managed settings source present', ...sanitizeLogArgs({ managedSettingsWarning }));
381
- }
382
- if (verbose) {
383
- console.log(` Config: ${configPath}`);
384
- console.log(` Gateway: ${state.url}`);
385
- console.log(chalk.dim(' Telemetry: metrics and conversations will sync as claude-desktop.'));
386
- }
387
- console.log(chalk.yellow(' Restart Claude Desktop to apply changes.'));
388
- }
389
- catch (error) {
390
- if (startedInThisRun) {
391
- try {
392
- await stopDaemon();
393
- logger.info('[proxy] Claude Desktop proxy startup rolled back after configuration failure');
394
- }
395
- catch (stopError) {
396
- logger.warn('[proxy] Failed to stop Claude Desktop proxy after configuration failure', ...sanitizeLogArgs({
397
- error: stopError instanceof Error ? stopError.message : String(stopError),
398
- }));
399
- }
400
- }
401
- printProxyError(error, 'Failed to connect Claude Desktop proxy');
402
- }
221
+ .option('--insiders', 'Configure VS Code Insiders instead of stable VS Code')
222
+ .action(async (opts, command) => {
223
+ const resolved = resolveAliasOptions(opts, command);
224
+ printConnectDeprecation('desktop', '--claude-desktop');
225
+ await connectTargets({
226
+ targets: { claudeDesktop: true },
227
+ profile: resolved.profile,
228
+ insiders: Boolean(resolved.insiders),
229
+ force: Boolean(resolved.force),
230
+ verbose: Boolean(resolved.verbose),
231
+ });
403
232
  });
404
233
  connect
405
234
  .command('vscode')
406
- .description('Configure VS Code BYOK to use the local proxy')
235
+ .description("[deprecated] use 'codemie proxy connect --vscode'")
407
236
  .option('--profile <name>', 'Profile whose URL, credentials, and project to use')
408
237
  .option('--insiders', 'Configure VS Code Insiders instead of stable VS Code')
409
238
  .option('--verbose', 'Show detailed connection info (URLs, config paths) for debugging')
410
239
  .option('--force', 'Stop any existing proxy and start a fresh one, even if it looks healthy')
411
- .action(async (opts) => {
412
- const verbose = Boolean(opts.verbose);
413
- let startedInThisRun = false;
414
- try {
415
- const { config, profileSource } = await resolveSsoProxyConfig(opts.profile, 'VS Code', 'vscode');
416
- if (!config.baseUrl) {
417
- throw new ConfigurationError('No API URL configured. Run: codemie setup');
418
- }
419
- const profile = config.name ?? 'default';
420
- if (verbose) {
421
- console.log(chalk.cyan(`Using profile: ${profile} ` +
422
- `(source: ${profileSource === 'explicit' ? '--profile' : 'active profile'})`));
423
- }
424
- else {
425
- console.log(chalk.cyan(`Using profile: ${profile}`));
426
- }
427
- await verifySsoCredentials(config.baseUrl, profile);
428
- const cwd = process.cwd();
429
- await Promise.allSettled([
430
- syncRegisteredSkills(profile, cwd),
431
- syncPluginSkills(),
432
- ]);
433
- let { running, state } = await checkStatus();
434
- const matchesRequestedDaemon = running && state
435
- ? state.profile === profile &&
436
- state.project === config.codeMieProject &&
437
- state.provider === (config.provider ?? 'ai-run-sso') &&
438
- state.targetUrl === config.baseUrl &&
439
- getEffectiveClientType(state) === 'vscode-byok'
440
- : false;
441
- let unhealthy = false;
442
- if (running && state && matchesRequestedDaemon && !opts.force) {
443
- const health = await checkProxyHealth({
444
- port: state.port,
445
- gatewayKey: state.gatewayKey,
446
- deep: true,
447
- });
448
- unhealthy = !health.healthy;
449
- if (unhealthy) {
450
- console.log(chalk.yellow(`Existing proxy is unhealthy (${health.reason ?? 'unknown'}). Restarting...`));
451
- }
452
- }
453
- if (running && (!matchesRequestedDaemon || unhealthy || opts.force)) {
454
- if (opts.force) {
455
- console.log('Forcing a fresh proxy restart...');
456
- }
457
- else if (!matchesRequestedDaemon) {
458
- console.log('Restarting proxy in VS Code mode...');
459
- }
460
- await stopDaemon();
461
- running = false;
462
- state = null;
463
- }
464
- if (!running) {
465
- console.log('Starting proxy...');
466
- state = await spawnDaemon({
467
- targetUrl: config.baseUrl,
468
- provider: config.provider ?? 'ai-run-sso',
469
- profile,
470
- port: DEFAULT_DAEMON_PORT,
471
- project: config.codeMieProject,
472
- clientType: 'vscode-byok',
473
- syncApiUrl: config.ssoConfig?.apiUrl,
474
- syncCodeMieUrl: config.codeMieUrl,
475
- });
476
- startedInThisRun = true;
477
- console.log(verbose
478
- ? chalk.green(`✓ Proxy started at ${state.url}`)
479
- : chalk.green('✓ Proxy started'));
480
- }
481
- const result = await writeVsCodeLanguageModelsConfig(state.url, Boolean(opts.insiders));
482
- logger.info('[proxy] VS Code BYOK configuration written', ...sanitizeLogArgs({
483
- configPath: result.configPath,
484
- gatewayUrl: state.url,
485
- profile: state.profile,
486
- project: state.project,
487
- modelCount: VS_CODE_SUPPORTED_MODELS.length,
488
- clientType: state.clientType,
489
- requiresSecretConfiguration: result.requiresSecretConfiguration,
490
- }));
491
- console.log(chalk.green(`✓ ${opts.insiders ? 'VS Code Insiders' : 'VS Code'} configured`));
492
- if (verbose) {
493
- console.log(` Config: ${result.configPath}`);
494
- console.log(` Gateway: ${state.url}`);
495
- console.log(` Models: ${VS_CODE_SUPPORTED_MODELS.length}`);
496
- console.log(` Project: ${config.codeMieProject || '(not configured)'}`);
497
- }
498
- if (result.requiresSecretConfiguration) {
499
- displaySetupInstructions({
500
- setupInstructions: [
501
- 'One-time VS Code secret setup required:\n',
502
- '1. Open VS Code and Press ⇧⌘P (macOS) or Ctrl+Shift+P (Windows/Linux).',
503
- '2. Find Chat: Manage Language Models',
504
- '3. In opened dialog Right-click any CodeMie model → Update API Key',
505
- `4. Enter API key: ${state.gatewayKey}\n`,
506
- 'Reload VS Code, then select a CodeMie model from the model picker.',
507
- ].join('\n'),
508
- });
509
- }
510
- else {
511
- console.log(chalk.dim(` If VS Code reports a missing or invalid key, open Chat: Manage Language Models, ` +
512
- `then right-click any CodeMie model → Update API Key and enter ${state.gatewayKey}.`));
513
- }
514
- }
515
- catch (error) {
516
- if (startedInThisRun) {
517
- try {
518
- await stopDaemon();
519
- logger.info('[proxy] VS Code proxy startup rolled back after configuration failure');
520
- }
521
- catch (stopError) {
522
- logger.warn('[proxy] Failed to stop VS Code proxy after configuration failure', ...sanitizeLogArgs({
523
- error: stopError instanceof Error ? stopError.message : String(stopError),
524
- }));
525
- }
526
- }
527
- printProxyError(error, 'Failed to connect VS Code proxy');
528
- }
240
+ .action(async (opts, command) => {
241
+ const resolved = resolveAliasOptions(opts, command);
242
+ printConnectDeprecation('vscode', '--vscode');
243
+ await connectTargets({
244
+ targets: { vscode: true },
245
+ profile: resolved.profile,
246
+ insiders: Boolean(resolved.insiders),
247
+ force: Boolean(resolved.force),
248
+ verbose: Boolean(resolved.verbose),
249
+ });
529
250
  });
530
251
  const inspect = new Command('inspect');
531
252
  inspect.description('Inspect proxy integrations and telemetry state');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/proxy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/proxy/index.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -54,18 +54,18 @@ program
54
54
  .option('--task <task>', 'Execute a single task using the built-in agent and exit');
55
55
  program.addHelpText('after', `
56
56
  Claude Desktop 3P:
57
- codemie proxy connect desktop Connect Claude Desktop through CodeMie proxy
58
- codemie proxy inspect desktop Inspect Desktop proxy state, sessions, and sync
59
- codemie proxy stop Stop the local proxy daemon
60
- codemie codebase ui Start and open Codebase Memory graph UI
57
+ codemie proxy connect --claude-desktop Connect Claude Desktop through CodeMie proxy
58
+ codemie proxy inspect desktop Inspect Desktop proxy state, sessions, and sync
59
+ codemie proxy stop Stop the local proxy daemon
60
+ codemie codebase ui Start and open Codebase Memory graph UI
61
61
 
62
62
  VS Code BYOK:
63
- codemie proxy connect vscode Configure stable VS Code through CodeMie proxy
64
- codemie proxy connect vscode --insiders Configure VS Code Insiders through CodeMie proxy
63
+ codemie proxy connect --vscode Configure stable VS Code through CodeMie proxy
64
+ codemie proxy connect --vscode --insiders Configure VS Code Insiders through CodeMie proxy
65
65
 
66
66
  Profile selection:
67
67
  Uses the active CodeMie profile by default.
68
- Override for one run with: codemie proxy connect <desktop|vscode> --profile <name>
68
+ Override for one run with: codemie proxy connect <--claude-desktop|--vscode> --profile <name>
69
69
  `);
70
70
  // Add commands
71
71
  program.addCommand(createSetupCommand());
@@ -41,12 +41,23 @@ export declare function getAllProviderChoices(providers: ProviderTemplate[]): Ar
41
41
  * Shows markdown-formatted instructions if available
42
42
  */
43
43
  export declare function displaySetupInstructions(template: Pick<ProviderTemplate, 'setupInstructions'>): void;
44
+ /**
45
+ * Resolve `template.recommendedModels` patterns against the actual list of
46
+ * available model ids, so only the single latest version within each
47
+ * recommended family is marked recommended — not every version that has ever
48
+ * matched a (possibly stale, version-pinned) pattern.
49
+ *
50
+ * Falls back to an exact/substring match against the literal pattern when no
51
+ * model in `allModelIds` shares its family root (e.g. a static offline list
52
+ * that IS the recommendedModels array itself).
53
+ */
54
+ export declare function computeRecommendedModelIds(allModelIds: string[], patterns?: string[]): Set<string>;
44
55
  /**
45
56
  * Format model choice with metadata
46
57
  *
47
58
  * Enhances model display with metadata if available
48
59
  */
49
- export declare function formatModelChoice(modelId: string, template?: ProviderTemplate): {
60
+ export declare function formatModelChoice(modelId: string, template?: ProviderTemplate, isRecommendedOverride?: boolean): {
50
61
  name: string;
51
62
  value: string;
52
63
  };
@@ -54,7 +65,8 @@ export declare function formatModelChoice(modelId: string, template?: ProviderTe
54
65
  * Get all model choices with metadata
55
66
  *
56
67
  * Returns array of formatted model choices, sorted by:
57
- * 1. Recommended models first (template.recommendedModels with partial matching)
68
+ * 1. Recommended models first — only the latest version within each
69
+ * recommendedModels family (see computeRecommendedModelIds)
58
70
  * 2. Alphabetically by model ID
59
71
  */
60
72
  export declare function getAllModelChoices(models: string[], template?: ProviderTemplate): Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"setup-ui.d.ts","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GACpD,IAAI,CAQN;AA0BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,gBAAgB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA+BjC;AA8BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBxC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
1
+ {"version":3,"file":"setup-ui.d.ts","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GACpD,IAAI,CAQN;AAsDD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,GAAG,CAAC,MAAM,CAAC,CAqBb;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,qBAAqB,CAAC,EAAE,OAAO,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmCjC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBxC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1E"}