ccjk 14.1.6 → 14.1.7

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 (70) hide show
  1. package/dist/chunks/agent-teams.mjs +15 -8
  2. package/dist/chunks/api-cli.mjs +1 -1
  3. package/dist/chunks/api-config-selector.mjs +4 -3
  4. package/dist/chunks/auto-updater.mjs +3 -3
  5. package/dist/chunks/boost.mjs +1 -1
  6. package/dist/chunks/ccjk-all.mjs +1 -1
  7. package/dist/chunks/ccjk-config.mjs +15 -6
  8. package/dist/chunks/ccjk-mcp.mjs +2 -2
  9. package/dist/chunks/ccjk-setup.mjs +1 -1
  10. package/dist/chunks/ccr.mjs +12 -7
  11. package/dist/chunks/check-updates.mjs +1 -1
  12. package/dist/chunks/claude-code-incremental-manager.mjs +8 -10
  13. package/dist/chunks/claude-config.mjs +9 -8
  14. package/dist/chunks/code-type-resolver.mjs +1 -1
  15. package/dist/chunks/codex-config-switch.mjs +3 -3
  16. package/dist/chunks/codex-provider-manager.mjs +2 -1
  17. package/dist/chunks/codex.mjs +102 -3
  18. package/dist/chunks/completion.mjs +4 -3
  19. package/dist/chunks/config-switch.mjs +2 -2
  20. package/dist/chunks/config.mjs +203 -11
  21. package/dist/chunks/config2.mjs +5 -4
  22. package/dist/chunks/config3.mjs +41 -29
  23. package/dist/chunks/constants.mjs +6 -2
  24. package/dist/chunks/doctor.mjs +238 -71
  25. package/dist/chunks/features.mjs +29 -13
  26. package/dist/chunks/index10.mjs +8 -7
  27. package/dist/chunks/init.mjs +26 -81
  28. package/dist/chunks/installer.mjs +3 -7
  29. package/dist/chunks/mcp-cli.mjs +4 -4
  30. package/dist/chunks/mcp.mjs +21 -16
  31. package/dist/chunks/package.mjs +1 -1
  32. package/dist/chunks/permission-manager.mjs +132 -14
  33. package/dist/chunks/permissions.mjs +1 -1
  34. package/dist/chunks/platform.mjs +1 -1
  35. package/dist/chunks/powershell.mjs +1 -1
  36. package/dist/chunks/providers.mjs +5 -2
  37. package/dist/chunks/quick-provider.mjs +51 -12
  38. package/dist/chunks/quick-setup.mjs +7 -3
  39. package/dist/chunks/rollback.mjs +38 -0
  40. package/dist/chunks/simple-config.mjs +15 -1
  41. package/dist/chunks/slash-commands.mjs +1 -1
  42. package/dist/chunks/smart-guide.mjs +1 -1
  43. package/dist/chunks/snapshot.mjs +58 -0
  44. package/dist/chunks/status.mjs +1 -1
  45. package/dist/chunks/uninstall.mjs +1 -1
  46. package/dist/chunks/update.mjs +7 -5
  47. package/dist/chunks/zero-config.mjs +433 -44
  48. package/dist/cli.mjs +138 -36
  49. package/dist/index.d.mts +28 -4
  50. package/dist/index.d.ts +28 -4
  51. package/dist/index.mjs +4 -4
  52. package/dist/shared/{ccjk.ygJzcD-n.mjs → ccjk.4iw1XCF3.mjs} +5 -220
  53. package/dist/shared/ccjk.B2U7DsPy.mjs +31 -0
  54. package/dist/shared/{ccjk.MpkxXQJL.mjs → ccjk.B8oqkakg.mjs} +5 -160
  55. package/dist/shared/ccjk.BzPbSEP2.mjs +115 -0
  56. package/dist/shared/ccjk.DFRPtmK_.mjs +75 -0
  57. package/dist/shared/ccjk.Di1IYU3u.mjs +63 -0
  58. package/dist/shared/ccjk.DqlzNDEQ.mjs +255 -0
  59. package/dist/shared/{ccjk.SPoXMvZD.mjs → ccjk.DsZsc4LR.mjs} +52 -14
  60. package/dist/shared/ccjk.Hwoicrh8.mjs +170 -0
  61. package/dist/shared/ccjk.Nwf9bR70.mjs +225 -0
  62. package/dist/shared/{ccjk.DZtwozOG.mjs → ccjk.QNhw2Y_5.mjs} +1 -1
  63. package/dist/shared/{ccjk.BXTrU9TN.mjs → ccjk.kAZkKbGW.mjs} +9 -4
  64. package/dist/shared/{ccjk.K8c6VnM2.mjs → ccjk.lG3ccFjm.mjs} +79 -1
  65. package/dist/templates/claude-code/common/settings.json +4 -1
  66. package/package.json +1 -1
  67. package/templates/claude-code/common/settings.json +4 -1
  68. package/templates/common/workflow/essential/en/goal.md +147 -0
  69. package/templates/common/workflow/essential/zh-CN/goal.md +146 -0
  70. package/dist/shared/ccjk.Ccrqt7u2.mjs +0 -99
@@ -1,27 +1,32 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import a from './index5.mjs';
3
- import { SETTINGS_FILE } from './constants.mjs';
4
3
  import { ensureI18nInitialized, i18n } from './index2.mjs';
4
+ import { n as normalizeClaudeFamilySettings, r as resolveClaudeFamilySettingsTarget } from '../shared/ccjk.Di1IYU3u.mjs';
5
5
  import { writeJsonConfig } from './json-config.mjs';
6
6
  import '../shared/ccjk.BAGoDD49.mjs';
7
- import 'node:os';
8
- import '../shared/ccjk.bQ7Dh1g4.mjs';
9
7
  import 'node:process';
10
8
  import 'node:url';
11
- import '../shared/ccjk.RyizuzOI.mjs';
9
+ import '../shared/ccjk.bQ7Dh1g4.mjs';
10
+ import './constants.mjs';
11
+ import 'node:os';
12
+ import './ccjk-config.mjs';
13
+ import '../shared/ccjk.BBtCGd_g.mjs';
14
+ import './index3.mjs';
12
15
  import './fs-operations.mjs';
13
16
  import 'node:crypto';
14
17
  import 'node:fs/promises';
18
+ import '../shared/ccjk.RyizuzOI.mjs';
15
19
 
16
20
  const ENV_KEY = "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS";
17
21
  function t(key, opts) {
18
22
  return i18n.t(`agent-teams:${key}`, opts);
19
23
  }
20
24
  function readSettings() {
21
- if (!existsSync(SETTINGS_FILE))
25
+ const target = resolveClaudeFamilySettingsTarget();
26
+ if (!existsSync(target.settingsFile))
22
27
  return {};
23
28
  try {
24
- return JSON.parse(readFileSync(SETTINGS_FILE, "utf-8"));
29
+ return JSON.parse(readFileSync(target.settingsFile, "utf-8"));
25
30
  } catch {
26
31
  return {};
27
32
  }
@@ -39,7 +44,8 @@ function setAgentTeams(enabled) {
39
44
  } else {
40
45
  delete settings.env[ENV_KEY];
41
46
  }
42
- writeJsonConfig(SETTINGS_FILE, settings);
47
+ normalizeClaudeFamilySettings(settings);
48
+ writeJsonConfig(resolveClaudeFamilySettingsTarget().settingsFile, settings);
43
49
  }
44
50
  function getTeammateMode() {
45
51
  const settings = readSettings();
@@ -48,7 +54,8 @@ function getTeammateMode() {
48
54
  function setTeammateMode(mode) {
49
55
  const settings = readSettings();
50
56
  settings.teammateMode = mode;
51
- writeJsonConfig(SETTINGS_FILE, settings);
57
+ normalizeClaudeFamilySettings(settings);
58
+ writeJsonConfig(resolveClaudeFamilySettingsTarget().settingsFile, settings);
52
59
  }
53
60
  async function agentTeamsCommand(options) {
54
61
  ensureI18nInitialized();
@@ -30,7 +30,7 @@ import './index3.mjs';
30
30
  import './fs-operations.mjs';
31
31
  import 'node:fs/promises';
32
32
  import './json-config.mjs';
33
- import '../shared/ccjk.Ccrqt7u2.mjs';
33
+ import '../shared/ccjk.Di1IYU3u.mjs';
34
34
  import './platform.mjs';
35
35
  import './main.mjs';
36
36
  import 'module';
@@ -30,14 +30,15 @@ import './fs-operations.mjs';
30
30
  import 'node:fs/promises';
31
31
  import './json-config.mjs';
32
32
  import '../shared/ccjk.RyizuzOI.mjs';
33
- import '../shared/ccjk.Ccrqt7u2.mjs';
33
+ import '../shared/ccjk.Di1IYU3u.mjs';
34
34
  import './platform.mjs';
35
35
  import './main.mjs';
36
36
  import 'module';
37
37
  import 'node:child_process';
38
38
  import 'node:stream';
39
39
  import '../shared/ccjk.DKXs7Fbm.mjs';
40
- import '../shared/ccjk.ygJzcD-n.mjs';
40
+ import '../shared/ccjk.Nwf9bR70.mjs';
41
+ import '../shared/ccjk.4iw1XCF3.mjs';
41
42
  import '../shared/ccjk.BFQ7yr5S.mjs';
42
43
  import '../shared/ccjk.DZ2LLOa-.mjs';
43
44
  import '../shared/ccjk.DeWpAShp.mjs';
@@ -48,7 +49,7 @@ async function syncClavueProviderStateIfNeeded(codeTool, activeProfileId) {
48
49
  if (codeTool !== "clavue") {
49
50
  return;
50
51
  }
51
- const { syncMyclaudeProviderProfilesFromClaudeConfig } = await import('./config.mjs').then(function (n) { return n.H; });
52
+ const { syncMyclaudeProviderProfilesFromClaudeConfig } = await import('./config.mjs').then(function (n) { return n.J; });
52
53
  const config = ClaudeCodeConfigManager.readConfig();
53
54
  syncMyclaudeProviderProfilesFromClaudeConfig(
54
55
  activeProfileId === void 0 || !config ? config : { ...config, currentProfileId: activeProfileId }
@@ -325,9 +325,9 @@ async function updateMyclaude(force = false, skipPrompt = false) {
325
325
  const updateSpinner = ora(format(i18n.t("updater:updating"), { tool: "clavue" })).start();
326
326
  try {
327
327
  await execWithSudoIfNeeded("npm", ["update", "-g", "clavue"]);
328
- const installResult = await q("clavue", ["install", "--force"]);
329
- if (installResult.exitCode !== 0) {
330
- throw new Error(installResult.stderr || `Command failed with exit code ${installResult.exitCode}`);
328
+ const verifyResult = await q("clavue", ["--version"]);
329
+ if (verifyResult.exitCode !== 0) {
330
+ throw new Error(verifyResult.stderr || `Command failed with exit code ${verifyResult.exitCode}`);
331
331
  }
332
332
  updateSpinner.succeed(format(i18n.t("updater:updateSuccess"), { tool: "clavue" }));
333
333
  return true;
@@ -342,7 +342,7 @@ async function runCcjkCommand(args) {
342
342
  const sub = args[0];
343
343
  try {
344
344
  if (sub === "init") {
345
- const { init } = await import('./init.mjs').then(function (n) { return n.e; });
345
+ const { init } = await import('./init.mjs').then(function (n) { return n.c; });
346
346
  await init({ skipBanner: true, skipPrompt: true });
347
347
  return { success: true, message: "Initialization complete" };
348
348
  }
@@ -43,7 +43,7 @@ import './index3.mjs';
43
43
  import './fs-operations.mjs';
44
44
  import 'node:fs/promises';
45
45
  import './json-config.mjs';
46
- import '../shared/ccjk.Ccrqt7u2.mjs';
46
+ import '../shared/ccjk.Di1IYU3u.mjs';
47
47
  import './platform.mjs';
48
48
  import './main.mjs';
49
49
  import 'module';
@@ -59,7 +59,8 @@ function normalizeTomlConfig(config) {
59
59
  enabled: typeof rawCodex.enabled === "boolean" ? rawCodex.enabled : hasLegacyToolType ? codeToolType === "codex" : defaultConfig.codex.enabled,
60
60
  systemPromptStyle: typeof rawCodex.systemPromptStyle === "string" ? rawCodex.systemPromptStyle : typeof legacyConfig?.systemPromptStyle === "string" ? legacyConfig.systemPromptStyle : defaultConfig.codex.systemPromptStyle,
61
61
  installMethod: rawCodex.installMethod,
62
- envKeyMigrated: rawCodex.envKeyMigrated
62
+ envKeyMigrated: rawCodex.envKeyMigrated,
63
+ goalsFeatureEnabled: rawCodex.goalsFeatureEnabled ?? defaultConfig.codex.goalsFeatureEnabled
63
64
  },
64
65
  storage: {
65
66
  ...defaultConfig.storage,
@@ -145,7 +146,8 @@ function createDefaultTomlConfig(preferredLang = "en", claudeCodeInstallType = "
145
146
  },
146
147
  codex: {
147
148
  enabled: false,
148
- systemPromptStyle: "senior-architect"
149
+ systemPromptStyle: "senior-architect",
150
+ goalsFeatureEnabled: true
149
151
  },
150
152
  storage: {
151
153
  memory: {}
@@ -219,7 +221,8 @@ function migrateFromJsonConfig(jsonConfig) {
219
221
  },
220
222
  codex: {
221
223
  enabled: jsonConfig.codeToolType === "codex",
222
- systemPromptStyle: jsonConfig.systemPromptStyle || defaultConfig.codex.systemPromptStyle
224
+ systemPromptStyle: jsonConfig.systemPromptStyle || defaultConfig.codex.systemPromptStyle,
225
+ goalsFeatureEnabled: true
223
226
  },
224
227
  storage: {
225
228
  memory: {}
@@ -228,9 +231,9 @@ function migrateFromJsonConfig(jsonConfig) {
228
231
  };
229
232
  return tomlConfig;
230
233
  }
231
- function updateTomlConfig(configPath, updates) {
234
+ function buildUpdatedTomlConfig(configPath, updates) {
232
235
  const existingConfig = readTomlConfig(configPath) || createDefaultTomlConfig();
233
- const updatedConfig = {
236
+ return {
234
237
  version: updates.version || existingConfig.version,
235
238
  lastUpdated: (/* @__PURE__ */ new Date()).toISOString(),
236
239
  general: {
@@ -286,6 +289,12 @@ function updateTomlConfig(configPath, updates) {
286
289
  } : existingConfig.adaptation?.uiProfile
287
290
  }
288
291
  };
292
+ }
293
+ function stringifyTomlConfig(config) {
294
+ return stringify(config);
295
+ }
296
+ function updateTomlConfig(configPath, updates) {
297
+ const updatedConfig = buildUpdatedTomlConfig(configPath, updates);
289
298
  writeTomlConfig(configPath, updatedConfig);
290
299
  return updatedConfig;
291
300
  }
@@ -433,4 +442,4 @@ function readDefaultTomlConfig() {
433
442
  return readTomlConfig(ZCF_CONFIG_FILE);
434
443
  }
435
444
 
436
- export { createDefaultTomlConfig, migrateFromJsonConfig, migrateZcfConfigIfNeeded, readDefaultTomlConfig, readTomlConfig, readZcfConfig, readZcfConfigAsync, updateTomlConfig, updateZcfConfig, writeTomlConfig, writeZcfConfig };
445
+ export { buildUpdatedTomlConfig, createDefaultTomlConfig, migrateFromJsonConfig, migrateZcfConfigIfNeeded, readDefaultTomlConfig, readTomlConfig, readZcfConfig, readZcfConfigAsync, stringifyTomlConfig, updateTomlConfig, updateZcfConfig, writeTomlConfig, writeZcfConfig };
@@ -6,7 +6,7 @@ import { i as inquirer } from './index6.mjs';
6
6
  import { CLAUDE_DIR } from './constants.mjs';
7
7
  import { ensureI18nInitialized, i18n } from './index2.mjs';
8
8
  import { d as backupMcpConfig, r as readMcpConfig, m as mergeMcpServers, w as writeMcpConfig } from './config.mjs';
9
- import { h as commandExists } from './platform.mjs';
9
+ import { c as commandExists } from './platform.mjs';
10
10
  import '../shared/ccjk.BAGoDD49.mjs';
11
11
  import 'node:fs';
12
12
  import './index9.mjs';
@@ -33,7 +33,7 @@ import './index3.mjs';
33
33
  import './fs-operations.mjs';
34
34
  import 'node:fs/promises';
35
35
  import './json-config.mjs';
36
- import '../shared/ccjk.Ccrqt7u2.mjs';
36
+ import '../shared/ccjk.Di1IYU3u.mjs';
37
37
  import './main.mjs';
38
38
  import 'module';
39
39
  import 'node:child_process';
@@ -40,7 +40,7 @@ import './index3.mjs';
40
40
  import './fs-operations.mjs';
41
41
  import 'node:fs/promises';
42
42
  import './json-config.mjs';
43
- import '../shared/ccjk.Ccrqt7u2.mjs';
43
+ import '../shared/ccjk.Di1IYU3u.mjs';
44
44
  import './platform.mjs';
45
45
  import './main.mjs';
46
46
  import 'module';
@@ -33,7 +33,7 @@ import './index3.mjs';
33
33
  import './fs-operations.mjs';
34
34
  import 'node:fs/promises';
35
35
  import './json-config.mjs';
36
- import '../shared/ccjk.Ccrqt7u2.mjs';
36
+ import '../shared/ccjk.Di1IYU3u.mjs';
37
37
  import './platform.mjs';
38
38
  import './main.mjs';
39
39
  import 'module';
@@ -49,7 +49,8 @@ import '../shared/ccjk.DZ2LLOa-.mjs';
49
49
  import '../shared/ccjk.DKXs7Fbm.mjs';
50
50
  import './code-type-resolver.mjs';
51
51
  import './features.mjs';
52
- import '../shared/ccjk.ygJzcD-n.mjs';
52
+ import '../shared/ccjk.Nwf9bR70.mjs';
53
+ import '../shared/ccjk.4iw1XCF3.mjs';
53
54
  import '../shared/ccjk.BI-hdI7P.mjs';
54
55
  import './simple-config.mjs';
55
56
  import '../shared/ccjk.DbigonEQ.mjs';
@@ -59,20 +60,24 @@ import './smart-guide.mjs';
59
60
  import './ccu.mjs';
60
61
  import './init.mjs';
61
62
  import './config2.mjs';
63
+ import '../shared/ccjk.DFRPtmK_.mjs';
62
64
  import './auto-updater.mjs';
63
65
  import './version-checker.mjs';
64
- import '../shared/ccjk.MpkxXQJL.mjs';
66
+ import '../shared/ccjk.Hwoicrh8.mjs';
65
67
  import './installer.mjs';
68
+ import '../shared/ccjk.B8oqkakg.mjs';
66
69
  import '../shared/ccjk.Bq8TqZG_.mjs';
70
+ import '../shared/ccjk.B2U7DsPy.mjs';
67
71
  import './commands.mjs';
68
72
  import './check-updates.mjs';
69
73
  import './config-switch.mjs';
70
74
  import './doctor.mjs';
71
75
  import './api-providers.mjs';
72
- import '../shared/ccjk.SPoXMvZD.mjs';
76
+ import '../shared/ccjk.DsZsc4LR.mjs';
77
+ import '../shared/ccjk.DqlzNDEQ.mjs';
73
78
  import '../shared/ccjk.J8YiPsOw.mjs';
74
- import '../shared/ccjk.DZtwozOG.mjs';
75
- import '../shared/ccjk.BXTrU9TN.mjs';
79
+ import '../shared/ccjk.QNhw2Y_5.mjs';
80
+ import '../shared/ccjk.kAZkKbGW.mjs';
76
81
  import './notification.mjs';
77
82
  import '../shared/ccjk.BBizCO6_.mjs';
78
83
  import '../shared/ccjk.D0g2ABGg.mjs';
@@ -82,7 +87,7 @@ import './uninstall.mjs';
82
87
  import '../shared/ccjk.D75wivnp.mjs';
83
88
  import 'globby';
84
89
  import './update.mjs';
85
- import '../shared/ccjk.K8c6VnM2.mjs';
90
+ import '../shared/ccjk.lG3ccFjm.mjs';
86
91
 
87
92
  async function ccr(options = {}) {
88
93
  try {
@@ -42,7 +42,7 @@ import '../shared/ccjk.DZ2LLOa-.mjs';
42
42
  import './version-checker.mjs';
43
43
  import '../shared/ccjk.CxpGa6MC.mjs';
44
44
  import './config.mjs';
45
- import '../shared/ccjk.Ccrqt7u2.mjs';
45
+ import '../shared/ccjk.Di1IYU3u.mjs';
46
46
  import '../shared/ccjk.BFQ7yr5S.mjs';
47
47
  import './prompts.mjs';
48
48
  import '../shared/ccjk.gDEDGD_t.mjs';
@@ -2,10 +2,11 @@ import a from './index5.mjs';
2
2
  import { i as inquirer } from './index6.mjs';
3
3
  import { ensureI18nInitialized, i18n } from './index2.mjs';
4
4
  import { C as ClaudeCodeConfigManager } from './config.mjs';
5
+ import { r as resolveClaudeFamilyModelSlots } from '../shared/ccjk.B2U7DsPy.mjs';
5
6
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
6
7
  import { readZcfConfig } from './ccjk-config.mjs';
7
8
  import { p as promptBoolean } from '../shared/ccjk.DZ2LLOa-.mjs';
8
- import { v as validateApiKey } from '../shared/ccjk.ygJzcD-n.mjs';
9
+ import { v as validateApiKey } from '../shared/ccjk.Nwf9bR70.mjs';
9
10
  import '../shared/ccjk.BAGoDD49.mjs';
10
11
  import 'node:readline';
11
12
  import 'stream';
@@ -27,10 +28,10 @@ import 'node:url';
27
28
  import '../shared/ccjk.bQ7Dh1g4.mjs';
28
29
  import '../shared/ccjk.RyizuzOI.mjs';
29
30
  import './constants.mjs';
31
+ import '../shared/ccjk.Di1IYU3u.mjs';
30
32
  import './fs-operations.mjs';
31
33
  import 'node:fs/promises';
32
34
  import './json-config.mjs';
33
- import '../shared/ccjk.Ccrqt7u2.mjs';
34
35
  import './platform.mjs';
35
36
  import './main.mjs';
36
37
  import 'module';
@@ -39,6 +40,7 @@ import 'node:stream';
39
40
  import '../shared/ccjk.BBtCGd_g.mjs';
40
41
  import './index3.mjs';
41
42
  import '../shared/ccjk.DeWpAShp.mjs';
43
+ import '../shared/ccjk.4iw1XCF3.mjs';
42
44
 
43
45
  function getAuthTypeLabel(authType) {
44
46
  ensureI18nInitialized();
@@ -58,7 +60,7 @@ async function syncMyclaudeProfilesIfNeeded() {
58
60
  if (zcfConfig?.codeToolType !== "clavue") {
59
61
  return;
60
62
  }
61
- const { syncMyclaudeProviderProfilesFromCurrentClaudeConfig } = await import('./config.mjs').then(function (n) { return n.H; });
63
+ const { syncMyclaudeProviderProfilesFromCurrentClaudeConfig } = await import('./config.mjs').then(function (n) { return n.J; });
62
64
  syncMyclaudeProviderProfilesFromCurrentClaudeConfig();
63
65
  }
64
66
  async function configureIncrementalManagement() {
@@ -123,13 +125,9 @@ async function addProfileDirect() {
123
125
  await syncMyclaudeProfilesIfNeeded();
124
126
  }
125
127
  function getProviderDefaultModels(provider) {
126
- const defaults = provider?.claudeCode?.defaultModels || [];
127
- return {
128
- primaryModel: defaults[0],
129
- haikuModel: defaults[1] || defaults[0],
130
- sonnetModel: defaults[2] || defaults[0],
131
- opusModel: defaults[3]
132
- };
128
+ return resolveClaudeFamilyModelSlots({
129
+ defaultModels: provider?.claudeCode?.defaultModels
130
+ });
133
131
  }
134
132
  async function handleAddProfile() {
135
133
  console.log(a.green(`
@@ -1,13 +1,17 @@
1
- import { SETTINGS_FILE, CLAUDE_DIR } from './constants.mjs';
1
+ import { SETTINGS_FILE } from './constants.mjs';
2
+ import { n as normalizeClaudeFamilySettings } from '../shared/ccjk.Di1IYU3u.mjs';
2
3
  import { exists, ensureDir } from './fs-operations.mjs';
3
4
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
4
- import { l as deepMerge } from './config.mjs';
5
+ import { q as deepMerge } from './config.mjs';
6
+ import { d as dirname } from '../shared/ccjk.bQ7Dh1g4.mjs';
5
7
  import 'node:os';
6
8
  import './index2.mjs';
7
9
  import 'node:fs';
8
10
  import 'node:process';
9
11
  import 'node:url';
10
- import '../shared/ccjk.bQ7Dh1g4.mjs';
12
+ import './ccjk-config.mjs';
13
+ import '../shared/ccjk.BBtCGd_g.mjs';
14
+ import './index3.mjs';
11
15
  import 'node:crypto';
12
16
  import 'node:fs/promises';
13
17
  import '../shared/ccjk.RyizuzOI.mjs';
@@ -26,10 +30,6 @@ import 'child_process';
26
30
  import 'node:path';
27
31
  import 'buffer';
28
32
  import 'string_decoder';
29
- import './ccjk-config.mjs';
30
- import '../shared/ccjk.BBtCGd_g.mjs';
31
- import './index3.mjs';
32
- import '../shared/ccjk.Ccrqt7u2.mjs';
33
33
  import './platform.mjs';
34
34
  import './main.mjs';
35
35
  import 'module';
@@ -49,7 +49,8 @@ function readClaudeConfig(configPath = SETTINGS_FILE) {
49
49
  }
50
50
  function writeClaudeConfig(config, options = {}, configPath = SETTINGS_FILE) {
51
51
  try {
52
- ensureDir(CLAUDE_DIR);
52
+ ensureDir(dirname(configPath));
53
+ normalizeClaudeFamilySettings(config);
53
54
  writeJsonConfig(configPath, config, {
54
55
  atomic: options.atomic !== false,
55
56
  pretty: true,
@@ -5,7 +5,7 @@ import { homedir } from 'node:os';
5
5
  import { CCJK_CONFIG_DIR, CODE_TOOL_INFO, CODE_TOOL_ALIASES, DEFAULT_CODE_TOOL_TYPE, isCodeToolType } from './constants.mjs';
6
6
  import { writeJsonConfig } from './json-config.mjs';
7
7
  import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
8
- import { g as getPlatform, h as commandExists } from './platform.mjs';
8
+ import { g as getPlatform, c as commandExists } from './platform.mjs';
9
9
  import process__default from 'node:process';
10
10
  import { i18n } from './index2.mjs';
11
11
  import { readZcfConfigAsync, updateZcfConfig } from './ccjk-config.mjs';
@@ -40,7 +40,7 @@ import 'node:stream';
40
40
  import './ccjk-config.mjs';
41
41
  import './index3.mjs';
42
42
  import './config.mjs';
43
- import '../shared/ccjk.Ccrqt7u2.mjs';
43
+ import '../shared/ccjk.Di1IYU3u.mjs';
44
44
  import './platform.mjs';
45
45
  import './prompts.mjs';
46
46
  import '../shared/ccjk.gDEDGD_t.mjs';
@@ -193,7 +193,7 @@ async function handleAddProvider() {
193
193
  defaultValue: true
194
194
  });
195
195
  if (setAsDefault) {
196
- const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.q; });
196
+ const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.u; });
197
197
  const switched = await switchToProvider(provider.id);
198
198
  if (switched) {
199
199
  console.log(a.green(i18n.t("multi-config:profileSetAsDefault", { name: provider.name })));
@@ -388,7 +388,7 @@ ${i18n.t("codex:copyingProvider", { name: provider.name })}`));
388
388
  defaultValue: false
389
389
  });
390
390
  if (setAsDefault) {
391
- const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.q; });
391
+ const { switchToProvider } = await import('./codex.mjs').then(function (n) { return n.u; });
392
392
  const switched = await switchToProvider(copiedProvider.id);
393
393
  if (switched) {
394
394
  console.log(a.green(i18n.t("multi-config:profileSetAsDefault", { name: copiedProvider.name })));
@@ -37,7 +37,7 @@ import './fs-operations.mjs';
37
37
  import 'node:fs/promises';
38
38
  import './json-config.mjs';
39
39
  import './config.mjs';
40
- import '../shared/ccjk.Ccrqt7u2.mjs';
40
+ import '../shared/ccjk.Di1IYU3u.mjs';
41
41
  import './platform.mjs';
42
42
  import '../shared/ccjk.BFQ7yr5S.mjs';
43
43
  import './prompts.mjs';
@@ -64,6 +64,7 @@ async function addProviderToExisting(provider, apiKey, allowOverwrite = false) {
64
64
  providers: [provider],
65
65
  mcpServices: [],
66
66
  managed: true,
67
+ features: { goals: true },
67
68
  otherConfig: []
68
69
  };
69
70
  } else if (existingProviderIndex !== -1) {