@codemieai/code 0.13.1 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -6
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +53 -4
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/plugins/claude/claude.models.d.ts +12 -0
- package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -0
- package/dist/agents/plugins/claude/claude.models.js +191 -0
- package/dist/agents/plugins/claude/claude.models.js.map +1 -0
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +45 -1
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codex/codex-models.d.ts +11 -0
- package/dist/agents/plugins/codex/codex-models.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex-models.js +71 -0
- package/dist/agents/plugins/codex/codex-models.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.paths.d.ts +11 -0
- package/dist/agents/plugins/gemini/gemini.paths.d.ts.map +1 -0
- package/dist/agents/plugins/gemini/gemini.paths.js +21 -0
- package/dist/agents/plugins/gemini/gemini.paths.js.map +1 -0
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +20 -0
- package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.session-adapter.js +119 -3
- package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -1
- package/dist/agents/plugins/pi/pi.models.d.ts +14 -0
- package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -1
- package/dist/agents/plugins/pi/pi.models.js +89 -0
- package/dist/agents/plugins/pi/pi.models.js.map +1 -1
- package/dist/cli/commands/analytics/agent-labels.d.ts.map +1 -1
- package/dist/cli/commands/analytics/agent-labels.js +1 -0
- package/dist/cli/commands/analytics/agent-labels.js.map +1 -1
- package/dist/cli/commands/analytics/aggregator.js +1 -1
- package/dist/cli/commands/analytics/aggregator.js.map +1 -1
- package/dist/cli/commands/analytics/cost/cost-calculator.d.ts +1 -1
- package/dist/cli/commands/analytics/cost/cost-calculator.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/cost-enricher.js +2 -2
- package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +9 -0
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/analytics/native-loader.js +1 -1
- package/dist/cli/commands/analytics/native-loader.js.map +1 -1
- package/dist/cli/commands/analytics/otel-loader.js +1 -1
- package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
- package/dist/cli/commands/analytics/report/client/app.js +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +70 -1
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/proxy/connect-orchestrator.d.ts +95 -0
- package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connect-orchestrator.js +501 -0
- package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/codex-config-toml.d.ts +81 -0
- package/dist/cli/commands/proxy/connectors/codex-config-toml.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/codex-config-toml.js +218 -0
- package/dist/cli/commands/proxy/connectors/codex-config-toml.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/codex-desktop.d.ts +85 -0
- package/dist/cli/commands/proxy/connectors/codex-desktop.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/codex-desktop.js +299 -0
- package/dist/cli/commands/proxy/connectors/codex-desktop.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts +26 -0
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.js +132 -0
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/vscode.d.ts +2 -0
- package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode.js +2 -2
- package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
- package/dist/cli/commands/proxy/disconnect-orchestrator.d.ts +8 -0
- package/dist/cli/commands/proxy/disconnect-orchestrator.d.ts.map +1 -0
- package/dist/cli/commands/proxy/disconnect-orchestrator.js +43 -0
- package/dist/cli/commands/proxy/disconnect-orchestrator.js.map +1 -0
- package/dist/cli/commands/proxy/index.d.ts.map +1 -1
- package/dist/cli/commands/proxy/index.js +91 -370
- package/dist/cli/commands/proxy/index.js.map +1 -1
- package/dist/cli/index.js +7 -7
- package/dist/providers/integration/setup-ui.d.ts +14 -2
- package/dist/providers/integration/setup-ui.d.ts.map +1 -1
- package/dist/providers/integration/setup-ui.js +70 -33
- package/dist/providers/integration/setup-ui.js.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.js +9 -2
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.js.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.d.ts.map +1 -1
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js +18 -28
- package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js +4 -4
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js.map +1 -1
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/litellm/litellm.setup-steps.js +3 -1
- package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -1
- package/dist/providers/plugins/moonshot-subscription/moonshot-subscription.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/moonshot-subscription/moonshot-subscription.setup-steps.js +5 -1
- package/dist/providers/plugins/moonshot-subscription/moonshot-subscription.setup-steps.js.map +1 -1
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.setup-steps.js +3 -2
- package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js +4 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.d.ts +45 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.js +129 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-model-resolver.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.d.ts +27 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.js +242 -0
- package/dist/providers/plugins/sso/proxy/plugins/codex-request-normalizer.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +2 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +3 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +15 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.js +3 -0
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
- package/dist/utils/analytics-auth-status.d.ts +48 -0
- package/dist/utils/analytics-auth-status.d.ts.map +1 -0
- package/dist/utils/analytics-auth-status.js +89 -0
- package/dist/utils/analytics-auth-status.js.map +1 -0
- package/dist/utils/model-normalizer.d.ts.map +1 -0
- package/dist/utils/model-normalizer.js.map +1 -0
- package/dist/utils/pricing.d.ts.map +1 -0
- package/dist/{cli/commands/analytics/cost → utils}/pricing.js +3 -3
- package/dist/utils/pricing.js.map +1 -0
- package/package.json +1 -1
- package/scripts/copy-plugins.js +3 -3
- package/dist/cli/commands/analytics/cost/pricing.d.ts.map +0 -1
- package/dist/cli/commands/analytics/cost/pricing.js.map +0 -1
- package/dist/cli/commands/analytics/model-normalizer.d.ts.map +0 -1
- package/dist/cli/commands/analytics/model-normalizer.js.map +0 -1
- /package/dist/{cli/commands/analytics → utils}/model-normalizer.d.ts +0 -0
- /package/dist/{cli/commands/analytics → utils}/model-normalizer.js +0 -0
- /package/dist/{cli/commands/analytics/cost → utils}/pricing.d.ts +0 -0
- /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 {
|
|
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 {
|
|
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
|
-
|
|
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
|
|
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
|
|
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(
|
|
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
|
-
.
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
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(
|
|
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
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
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
|
|
58
|
-
codemie proxy inspect desktop
|
|
59
|
-
codemie proxy stop
|
|
60
|
-
codemie codebase 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
|
|
64
|
-
codemie proxy connect vscode --insiders
|
|
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
|
|
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
|
|
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;
|
|
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"}
|