ccjk 13.3.18 → 13.3.20
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/dist/chunks/api-cli.mjs +1 -1
- package/dist/chunks/api.mjs +1 -1
- package/dist/chunks/auto-fix.mjs +4 -4
- package/dist/chunks/boost.mjs +1 -1
- package/dist/chunks/ccjk-mcp.mjs +2 -2
- package/dist/chunks/ccr.mjs +24 -20
- package/dist/chunks/check-updates.mjs +2 -1
- package/dist/chunks/claude-code-config-manager.mjs +4 -4
- package/dist/chunks/claude-code-incremental-manager.mjs +5 -5
- package/dist/chunks/claude-config.mjs +2 -2
- package/dist/chunks/claude-wrapper.mjs +1 -1
- package/dist/chunks/codex-config-switch.mjs +4 -3
- package/dist/chunks/codex-provider-manager.mjs +2 -1
- package/dist/chunks/codex.mjs +4 -332
- package/dist/chunks/config-switch.mjs +2 -1
- package/dist/chunks/config.mjs +424 -358
- package/dist/chunks/config2.mjs +358 -424
- package/dist/chunks/config3.mjs +6 -1
- package/dist/chunks/doctor.mjs +2 -2
- package/dist/chunks/features.mjs +810 -0
- package/dist/chunks/index.mjs +1 -1
- package/dist/chunks/init.mjs +43 -89
- package/dist/chunks/installer.mjs +1 -1
- package/dist/chunks/mcp-cli.mjs +18 -17
- package/dist/chunks/mcp.mjs +5 -4
- package/dist/chunks/menu-hierarchical.mjs +27 -23
- package/dist/chunks/menu.mjs +17 -791
- package/dist/chunks/onboarding-wizard.mjs +2 -2
- package/dist/chunks/package.mjs +1 -1
- package/dist/chunks/platform.mjs +1 -1
- package/dist/chunks/quick-setup.mjs +14 -11
- package/dist/chunks/slash-commands.mjs +1 -1
- package/dist/chunks/uninstall.mjs +1 -1
- package/dist/chunks/update.mjs +17 -15
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/shared/ccjk.0aJQmVxS.mjs +336 -0
- package/dist/shared/ccjk.C3o4BXvM.mjs +444 -0
- package/dist/shared/{ccjk.DfZKjHvG.mjs → ccjk.Dgq22o6V.mjs} +2 -438
- package/dist/shared/{ccjk.KpFl2RDA.mjs → ccjk.LTONy3IS.mjs} +4 -3
- package/dist/shared/ccjk.Si-T_ccK.mjs +75 -0
- package/dist/shared/{ccjk.I6IuYdc_.mjs → ccjk.Xla_pE3y.mjs} +1 -1
- package/dist/shared/{ccjk.DZ4ehAHg.mjs → ccjk.byom1b8z.mjs} +1 -1
- package/package.json +68 -65
package/dist/chunks/api-cli.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import a from './index2.mjs';
|
|
2
2
|
import { i18n } from './index5.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { h as configureApi, f as getExistingApiConfig } from './config2.mjs';
|
|
4
4
|
import { g as getAllPresets } from '../shared/ccjk.DopKzo3z.mjs';
|
|
5
5
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
6
6
|
import 'node:fs';
|
package/dist/chunks/api.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import a from './index2.mjs';
|
|
2
2
|
import { i18n, format } from './index5.mjs';
|
|
3
3
|
import { STATUS, COLORS as theme } from './banner.mjs';
|
|
4
|
-
import { r as runConfigWizard, t as testApiConnection, d as displayCurrentStatus, q as quickSetup } from '../shared/ccjk.
|
|
4
|
+
import { r as runConfigWizard, t as testApiConnection, d as displayCurrentStatus, q as quickSetup } from '../shared/ccjk.Xla_pE3y.mjs';
|
|
5
5
|
import { g as getAllPresets } from '../shared/ccjk.DopKzo3z.mjs';
|
|
6
6
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
7
7
|
import 'node:fs';
|
package/dist/chunks/auto-fix.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import { n as needsMigration, m as migrateSettingsForTokenRetrieval } from '../shared/ccjk.
|
|
4
|
+
import { n as needsMigration, m as migrateSettingsForTokenRetrieval } from '../shared/ccjk.byom1b8z.mjs';
|
|
5
5
|
import './index2.mjs';
|
|
6
6
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
7
7
|
import './constants.mjs';
|
|
@@ -9,7 +9,7 @@ import './index5.mjs';
|
|
|
9
9
|
import 'node:process';
|
|
10
10
|
import 'node:url';
|
|
11
11
|
import '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
12
|
-
import './
|
|
12
|
+
import './config2.mjs';
|
|
13
13
|
import '../shared/ccjk.RyizuzOI.mjs';
|
|
14
14
|
import './index3.mjs';
|
|
15
15
|
import 'node:readline';
|
|
@@ -45,7 +45,7 @@ async function detectSettingsIssues() {
|
|
|
45
45
|
description: "settings.json not found",
|
|
46
46
|
fix: async () => {
|
|
47
47
|
try {
|
|
48
|
-
const { init } = await import('./init.mjs')
|
|
48
|
+
const { init } = await import('./init.mjs');
|
|
49
49
|
await init({ silent: true, skipPrompt: true });
|
|
50
50
|
return true;
|
|
51
51
|
} catch {
|
|
@@ -98,7 +98,7 @@ async function detectSettingsIssues() {
|
|
|
98
98
|
const backupPath = `${settingsPath}.backup`;
|
|
99
99
|
const content = readFileSync(settingsPath, "utf-8");
|
|
100
100
|
writeFileSync(backupPath, content);
|
|
101
|
-
const { init } = await import('./init.mjs')
|
|
101
|
+
const { init } = await import('./init.mjs');
|
|
102
102
|
await init({ silent: true, skipPrompt: true, force: true });
|
|
103
103
|
return true;
|
|
104
104
|
} catch {
|
package/dist/chunks/boost.mjs
CHANGED
|
@@ -335,7 +335,7 @@ async function runCcjkCommand(args) {
|
|
|
335
335
|
const sub = args[0];
|
|
336
336
|
try {
|
|
337
337
|
if (sub === "init") {
|
|
338
|
-
const { init } = await import('./init.mjs')
|
|
338
|
+
const { init } = await import('./init.mjs');
|
|
339
339
|
await init({ skipBanner: true, skipPrompt: true });
|
|
340
340
|
return { success: true, message: "Initialization complete" };
|
|
341
341
|
}
|
package/dist/chunks/ccjk-mcp.mjs
CHANGED
|
@@ -5,8 +5,8 @@ import { c as consola, a as analyzeProject, g as getTemplatesClient } from '../s
|
|
|
5
5
|
import { i as inquirer } from './index3.mjs';
|
|
6
6
|
import { CLAUDE_DIR } from './constants.mjs';
|
|
7
7
|
import { ensureI18nInitialized, i18n } from './index5.mjs';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { b as backupMcpConfig, r as readMcpConfig, m as mergeMcpServers, w as writeMcpConfig } from './claude-config.mjs';
|
|
9
|
+
import { h as commandExists } from './platform.mjs';
|
|
10
10
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
11
11
|
import 'node:fs';
|
|
12
12
|
import './index8.mjs';
|
package/dist/chunks/ccr.mjs
CHANGED
|
@@ -24,40 +24,37 @@ import 'node:os';
|
|
|
24
24
|
import 'node:crypto';
|
|
25
25
|
import 'buffer';
|
|
26
26
|
import 'string_decoder';
|
|
27
|
-
import '
|
|
28
|
-
import '../shared/ccjk.RyizuzOI.mjs';
|
|
29
|
-
import './index7.mjs';
|
|
30
|
-
import '../shared/ccjk.DeWpAShp.mjs';
|
|
31
|
-
import '../shared/ccjk.CxpGa6MC.mjs';
|
|
32
|
-
import '../shared/ccjk.BBtCGd_g.mjs';
|
|
33
|
-
import './main.mjs';
|
|
34
|
-
import 'module';
|
|
27
|
+
import '../shared/ccjk.0aJQmVxS.mjs';
|
|
35
28
|
import 'node:child_process';
|
|
36
|
-
import 'node:stream';
|
|
37
29
|
import './constants.mjs';
|
|
38
30
|
import './ccjk-config.mjs';
|
|
31
|
+
import '../shared/ccjk.BBtCGd_g.mjs';
|
|
39
32
|
import './index6.mjs';
|
|
40
33
|
import './fs-operations.mjs';
|
|
41
34
|
import 'node:fs/promises';
|
|
42
35
|
import './json-config.mjs';
|
|
43
|
-
import '
|
|
36
|
+
import '../shared/ccjk.RyizuzOI.mjs';
|
|
44
37
|
import './claude-config.mjs';
|
|
45
38
|
import './platform.mjs';
|
|
46
|
-
import '
|
|
47
|
-
import '
|
|
48
|
-
import '
|
|
49
|
-
import '../shared/ccjk.BWFpnOr3.mjs';
|
|
39
|
+
import './main.mjs';
|
|
40
|
+
import 'module';
|
|
41
|
+
import 'node:stream';
|
|
50
42
|
import '../shared/ccjk.Cjj8SVrn.mjs';
|
|
51
43
|
import './smart-defaults.mjs';
|
|
52
44
|
import '../shared/ccjk.DJuyfrlL.mjs';
|
|
53
45
|
import './config2.mjs';
|
|
54
|
-
import '
|
|
55
|
-
import '
|
|
46
|
+
import '../shared/ccjk.DScm_NnL.mjs';
|
|
47
|
+
import './features.mjs';
|
|
48
|
+
import './config.mjs';
|
|
49
|
+
import '../shared/ccjk.BWFpnOr3.mjs';
|
|
50
|
+
import '../shared/ccjk.DeWpAShp.mjs';
|
|
51
|
+
import '../shared/ccjk.Si-T_ccK.mjs';
|
|
56
52
|
import './auto-updater.mjs';
|
|
53
|
+
import './index7.mjs';
|
|
57
54
|
import './version-checker.mjs';
|
|
58
|
-
import '../shared/ccjk.
|
|
59
|
-
import '
|
|
60
|
-
import '../shared/ccjk.
|
|
55
|
+
import '../shared/ccjk.CxpGa6MC.mjs';
|
|
56
|
+
import '../shared/ccjk.Dgq22o6V.mjs';
|
|
57
|
+
import '../shared/ccjk.BFQ7yr5S.mjs';
|
|
61
58
|
import './simple-config.mjs';
|
|
62
59
|
import './commands.mjs';
|
|
63
60
|
import './ccjk-agents.mjs';
|
|
@@ -69,15 +66,22 @@ import '../shared/ccjk.C2jHOZVP.mjs';
|
|
|
69
66
|
import './ccjk-skills.mjs';
|
|
70
67
|
import '../shared/ccjk.DsYaCCx4.mjs';
|
|
71
68
|
import './check-updates.mjs';
|
|
69
|
+
import './codex.mjs';
|
|
70
|
+
import './prompts.mjs';
|
|
72
71
|
import './doctor.mjs';
|
|
73
72
|
import './api-providers.mjs';
|
|
74
73
|
import '../shared/ccjk.SPoXMvZD.mjs';
|
|
75
74
|
import '../shared/ccjk.J8YiPsOw.mjs';
|
|
75
|
+
import './init.mjs';
|
|
76
|
+
import '../shared/ccjk.C3o4BXvM.mjs';
|
|
77
|
+
import '../shared/ccjk.byom1b8z.mjs';
|
|
78
|
+
import './installer.mjs';
|
|
79
|
+
import '../shared/ccjk._dESH4Rk.mjs';
|
|
76
80
|
import './uninstall.mjs';
|
|
77
81
|
import '../shared/ccjk.CvChMYvB.mjs';
|
|
78
82
|
import 'globby';
|
|
79
83
|
import './update.mjs';
|
|
80
|
-
import '../shared/ccjk.
|
|
84
|
+
import '../shared/ccjk.LTONy3IS.mjs';
|
|
81
85
|
|
|
82
86
|
async function ccr(options = {}) {
|
|
83
87
|
try {
|
|
@@ -43,12 +43,13 @@ import 'buffer';
|
|
|
43
43
|
import 'string_decoder';
|
|
44
44
|
import './version-checker.mjs';
|
|
45
45
|
import '../shared/ccjk.CxpGa6MC.mjs';
|
|
46
|
-
import './
|
|
46
|
+
import './config2.mjs';
|
|
47
47
|
import './claude-config.mjs';
|
|
48
48
|
import '../shared/ccjk.DScm_NnL.mjs';
|
|
49
49
|
import '../shared/ccjk.BFQ7yr5S.mjs';
|
|
50
50
|
import './prompts.mjs';
|
|
51
51
|
import '../shared/ccjk.gDEDGD_t.mjs';
|
|
52
|
+
import '../shared/ccjk.0aJQmVxS.mjs';
|
|
52
53
|
|
|
53
54
|
class ToolUpdateScheduler {
|
|
54
55
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as dayjs } from '../shared/ccjk.RyizuzOI.mjs';
|
|
2
2
|
import { ZCF_CONFIG_FILE, ZCF_CONFIG_DIR, SETTINGS_FILE } from './constants.mjs';
|
|
3
3
|
import { readDefaultTomlConfig, createDefaultTomlConfig, writeTomlConfig } from './ccjk-config.mjs';
|
|
4
|
-
import {
|
|
4
|
+
import { i as clearModelEnv } from './config2.mjs';
|
|
5
5
|
import { ensureDir, exists, copyFile } from './fs-operations.mjs';
|
|
6
6
|
import { readJsonConfig } from './json-config.mjs';
|
|
7
7
|
import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
@@ -206,7 +206,7 @@ class ClaudeCodeConfigManager {
|
|
|
206
206
|
ensureI18nInitialized();
|
|
207
207
|
try {
|
|
208
208
|
if (!profile) {
|
|
209
|
-
const { switchToOfficialLogin } = await import('./
|
|
209
|
+
const { switchToOfficialLogin } = await import('./config2.mjs').then(function (n) { return n.k; });
|
|
210
210
|
switchToOfficialLogin();
|
|
211
211
|
return;
|
|
212
212
|
}
|
|
@@ -223,7 +223,7 @@ class ClaudeCodeConfigManager {
|
|
|
223
223
|
settings.env.ANTHROPIC_AUTH_TOKEN = profile.apiKey;
|
|
224
224
|
delete settings.env.ANTHROPIC_API_KEY;
|
|
225
225
|
} else if (profile.authType === "ccr_proxy") {
|
|
226
|
-
const { readCcrConfig } = await import('./
|
|
226
|
+
const { readCcrConfig } = await import('./config.mjs');
|
|
227
227
|
const ccrConfig = readCcrConfig();
|
|
228
228
|
if (!ccrConfig) {
|
|
229
229
|
throw new Error(i18n.t("ccr:ccrNotConfigured") || "CCR proxy configuration not found");
|
|
@@ -622,7 +622,7 @@ class ClaudeCodeConfigManager {
|
|
|
622
622
|
*/
|
|
623
623
|
static async syncCcrProfile() {
|
|
624
624
|
try {
|
|
625
|
-
const { readCcrConfig } = await import('./
|
|
625
|
+
const { readCcrConfig } = await import('./config.mjs');
|
|
626
626
|
const ccrConfig = readCcrConfig();
|
|
627
627
|
if (!ccrConfig) {
|
|
628
628
|
await this.ensureCcrProfileExists(ccrConfig);
|
|
@@ -4,7 +4,7 @@ import { ensureI18nInitialized, i18n } from './index5.mjs';
|
|
|
4
4
|
import { ClaudeCodeConfigManager } from './claude-code-config-manager.mjs';
|
|
5
5
|
import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
|
|
6
6
|
import { p as promptBoolean } from '../shared/ccjk.BWFpnOr3.mjs';
|
|
7
|
-
import { v as validateApiKey } from '../shared/ccjk.
|
|
7
|
+
import { v as validateApiKey } from '../shared/ccjk.Dgq22o6V.mjs';
|
|
8
8
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
9
9
|
import 'node:readline';
|
|
10
10
|
import 'stream';
|
|
@@ -32,7 +32,7 @@ import './index6.mjs';
|
|
|
32
32
|
import './fs-operations.mjs';
|
|
33
33
|
import 'node:fs/promises';
|
|
34
34
|
import './json-config.mjs';
|
|
35
|
-
import './
|
|
35
|
+
import './config2.mjs';
|
|
36
36
|
import './claude-config.mjs';
|
|
37
37
|
import './platform.mjs';
|
|
38
38
|
import './main.mjs';
|
|
@@ -202,7 +202,7 @@ ${i18n.t("multi-config:addingNewProfile")}`));
|
|
|
202
202
|
]);
|
|
203
203
|
let modelConfig = null;
|
|
204
204
|
if (selectedProvider === "custom") {
|
|
205
|
-
const { promptCustomModels } = await import('./
|
|
205
|
+
const { promptCustomModels } = await import('./features.mjs');
|
|
206
206
|
modelConfig = await promptCustomModels();
|
|
207
207
|
}
|
|
208
208
|
const setAsDefault = await promptBoolean({
|
|
@@ -385,7 +385,7 @@ ${i18n.t("multi-config:editingProfile", { name: selectedProfile.name })}`));
|
|
|
385
385
|
]);
|
|
386
386
|
let modelConfig = null;
|
|
387
387
|
if (selectedProfile.authType !== "ccr_proxy") {
|
|
388
|
-
const { promptCustomModels } = await import('./
|
|
388
|
+
const { promptCustomModels } = await import('./features.mjs');
|
|
389
389
|
modelConfig = await promptCustomModels(
|
|
390
390
|
selectedProfile.primaryModel,
|
|
391
391
|
selectedProfile.defaultHaikuModel,
|
|
@@ -512,7 +512,7 @@ ${i18n.t("multi-config:copyingProfile", { name: selectedProfile.name })}`));
|
|
|
512
512
|
const answers = await inquirer.prompt(questions);
|
|
513
513
|
let modelConfig = null;
|
|
514
514
|
if (selectedProfile.authType !== "ccr_proxy") {
|
|
515
|
-
const { promptCustomModels } = await import('./
|
|
515
|
+
const { promptCustomModels } = await import('./features.mjs');
|
|
516
516
|
modelConfig = await promptCustomModels(
|
|
517
517
|
selectedProfile.primaryModel,
|
|
518
518
|
selectedProfile.defaultHaikuModel,
|
|
@@ -2,7 +2,7 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
2
2
|
import { CLAUDE_VSC_CONFIG_FILE, CLAUDE_DIR, ClAUDE_CONFIG_FILE } from './constants.mjs';
|
|
3
3
|
import { ensureI18nInitialized, i18n } from './index5.mjs';
|
|
4
4
|
import { readJsonConfig, writeJsonConfig, backupJsonConfig } from './json-config.mjs';
|
|
5
|
-
import {
|
|
5
|
+
import { i as isWindows, m as getMcpCommand } from './platform.mjs';
|
|
6
6
|
import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
7
7
|
|
|
8
8
|
function mergeArraysUnique(arr1, arr2) {
|
|
@@ -233,4 +233,4 @@ const claudeConfig = {
|
|
|
233
233
|
writeMcpConfig: writeMcpConfig
|
|
234
234
|
};
|
|
235
235
|
|
|
236
|
-
export {
|
|
236
|
+
export { buildMcpServerConfig as a, backupMcpConfig as b, addCompletedOnboarding as c, deepMerge as d, replaceMcpServers as e, fixWindowsMcpConfig as f, syncMcpPermissions as g, claudeConfig as h, mergeMcpServers as m, readMcpConfig as r, setPrimaryApiKey as s, writeMcpConfig as w };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import process__default from 'node:process';
|
|
2
2
|
import { exec as q } from './main.mjs';
|
|
3
3
|
import { i18n, initI18n } from './index5.mjs';
|
|
4
|
-
import {
|
|
4
|
+
import { k as findRealCommandPath } from './platform.mjs';
|
|
5
5
|
import 'module';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:path';
|
|
@@ -39,12 +39,13 @@ import 'node:child_process';
|
|
|
39
39
|
import 'node:stream';
|
|
40
40
|
import './ccjk-config.mjs';
|
|
41
41
|
import './index6.mjs';
|
|
42
|
-
import './
|
|
42
|
+
import './config2.mjs';
|
|
43
43
|
import './claude-config.mjs';
|
|
44
44
|
import './platform.mjs';
|
|
45
45
|
import '../shared/ccjk.DScm_NnL.mjs';
|
|
46
46
|
import './prompts.mjs';
|
|
47
47
|
import '../shared/ccjk.gDEDGD_t.mjs';
|
|
48
|
+
import '../shared/ccjk.0aJQmVxS.mjs';
|
|
48
49
|
|
|
49
50
|
async function configureIncrementalManagement() {
|
|
50
51
|
ensureI18nInitialized();
|
|
@@ -193,7 +194,7 @@ async function handleAddProvider() {
|
|
|
193
194
|
defaultValue: true
|
|
194
195
|
});
|
|
195
196
|
if (setAsDefault) {
|
|
196
|
-
const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.
|
|
197
|
+
const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.i; });
|
|
197
198
|
const switched = await switchToProvider(provider.id);
|
|
198
199
|
if (switched) {
|
|
199
200
|
console.log(a.green(i18n.t("multi-config:profileSetAsDefault", { name: provider.name })));
|
|
@@ -388,7 +389,7 @@ ${i18n.t("codex:copyingProvider", { name: provider.name })}`));
|
|
|
388
389
|
defaultValue: false
|
|
389
390
|
});
|
|
390
391
|
if (setAsDefault) {
|
|
391
|
-
const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.
|
|
392
|
+
const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.i; });
|
|
392
393
|
const switched = await switchToProvider(copiedProvider.id);
|
|
393
394
|
if (switched) {
|
|
394
395
|
console.log(a.green(i18n.t("multi-config:profileSetAsDefault", { name: copiedProvider.name })));
|
|
@@ -36,7 +36,7 @@ import './index6.mjs';
|
|
|
36
36
|
import './fs-operations.mjs';
|
|
37
37
|
import 'node:fs/promises';
|
|
38
38
|
import './json-config.mjs';
|
|
39
|
-
import './
|
|
39
|
+
import './config2.mjs';
|
|
40
40
|
import './claude-config.mjs';
|
|
41
41
|
import './platform.mjs';
|
|
42
42
|
import '../shared/ccjk.DScm_NnL.mjs';
|
|
@@ -44,6 +44,7 @@ import '../shared/ccjk.BFQ7yr5S.mjs';
|
|
|
44
44
|
import './prompts.mjs';
|
|
45
45
|
import '../shared/ccjk.gDEDGD_t.mjs';
|
|
46
46
|
import '../shared/ccjk.BWFpnOr3.mjs';
|
|
47
|
+
import '../shared/ccjk.0aJQmVxS.mjs';
|
|
47
48
|
|
|
48
49
|
async function addProviderToExisting(provider, apiKey, allowOverwrite = false) {
|
|
49
50
|
ensureI18nInitialized();
|