ccjk 2.0.7 → 2.0.9

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 (39) hide show
  1. package/README.ja.md +6 -6
  2. package/README.ko.md +5 -5
  3. package/README.md +55 -9
  4. package/README.zh-CN.md +9 -9
  5. package/dist/chunks/claude-code-config-manager.mjs +8 -8
  6. package/dist/chunks/claude-code-incremental-manager.mjs +2 -2
  7. package/dist/chunks/codex-config-switch.mjs +4 -4
  8. package/dist/chunks/codex-provider-manager.mjs +2 -2
  9. package/dist/chunks/codex-uninstaller.mjs +3 -3
  10. package/dist/chunks/commands.mjs +2 -2
  11. package/dist/chunks/features.mjs +11 -11
  12. package/dist/chunks/plugin-recommendation.mjs +555 -0
  13. package/dist/chunks/simple-config.mjs +231 -89
  14. package/dist/chunks/skills-sync.mjs +854 -0
  15. package/dist/cli.mjs +8187 -1317
  16. package/dist/i18n/locales/en/agents.json +135 -0
  17. package/dist/i18n/locales/en/claude-md.json +73 -0
  18. package/dist/i18n/locales/en/cloudPlugins.json +118 -0
  19. package/dist/i18n/locales/en/common.json +2 -1
  20. package/dist/i18n/locales/en/hooksSync.json +111 -0
  21. package/dist/i18n/locales/en/mcp.json +31 -6
  22. package/dist/i18n/locales/en/menu.json +60 -1
  23. package/dist/i18n/locales/en/notification.json +306 -0
  24. package/dist/i18n/locales/en/plugins.json +133 -0
  25. package/dist/i18n/locales/en/skillsSync.json +74 -0
  26. package/dist/i18n/locales/zh-CN/agents.json +135 -0
  27. package/dist/i18n/locales/zh-CN/claude-md.json +73 -0
  28. package/dist/i18n/locales/zh-CN/cloudPlugins.json +118 -0
  29. package/dist/i18n/locales/zh-CN/common.json +2 -1
  30. package/dist/i18n/locales/zh-CN/hooksSync.json +111 -0
  31. package/dist/i18n/locales/zh-CN/mcp.json +31 -6
  32. package/dist/i18n/locales/zh-CN/menu.json +60 -1
  33. package/dist/i18n/locales/zh-CN/notification.json +306 -0
  34. package/dist/i18n/locales/zh-CN/plugins.json +133 -0
  35. package/dist/i18n/locales/zh-CN/skillsSync.json +74 -0
  36. package/dist/index.d.mts +18 -18
  37. package/dist/index.d.ts +18 -18
  38. package/dist/index.mjs +190 -188
  39. package/package.json +52 -48
package/README.ja.md CHANGED
@@ -18,7 +18,7 @@
18
18
  [![npm downloads][npm-downloads-src]][npm-downloads-href]
19
19
  [![License][license-src]][license-href]
20
20
  [![GitHub stars][stars-src]][stars-href]
21
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/anthropics/claude-code/pulls)
21
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/miounet11/ccjk/pulls)
22
22
 
23
23
  **[English](README.md)** | **[简体中文](README.zh-CN.md)** | **[日本語](README.ja.md)** | **[한국어](README.ko.md)**
24
24
 
@@ -349,7 +349,7 @@ ccjk init --lang ko # 韓国語
349
349
 
350
350
  <div align="center">
351
351
 
352
- [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-333?style=for-the-badge&logo=github)](https://github.com/anthropics/claude-code/discussions)
352
+ [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-333?style=for-the-badge&logo=github)](https://github.com/miounet11/ccjk/discussions)
353
353
  [![Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord)](https://discord.gg/ccjk)
354
354
  [![Twitter](https://img.shields.io/badge/Twitter-Follow-1DA1F2?style=for-the-badge&logo=twitter)](https://twitter.com/anthropaboratory)
355
355
 
@@ -360,7 +360,7 @@ ccjk init --lang ko # 韓国語
360
360
  ## 🤝 貢献
361
361
 
362
362
  ```bash
363
- git clone https://github.com/anthropics/claude-code.git
363
+ git clone https://github.com/miounet11/ccjk.git
364
364
  cd ccjk
365
365
  pnpm install
366
366
  pnpm dev
@@ -372,7 +372,7 @@ pnpm dev
372
372
 
373
373
  ## 📄 ライセンス
374
374
 
375
- MIT © [CCJK Team](https://github.com/anthropics/claude-code)
375
+ MIT © [CCJK Team](https://github.com/miounet11/ccjk)
376
376
 
377
377
  ---
378
378
 
@@ -402,6 +402,6 @@ CCJK があなたのコーディングを改善するのに役立つ場合は、
402
402
  [npm-downloads-src]: https://img.shields.io/npm/dm/ccjk?style=flat&colorA=18181B&colorB=28CF8D
403
403
  [npm-downloads-href]: https://npmjs.com/package/ccjk
404
404
  [license-src]: https://img.shields.io/github/license/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
405
- [license-href]: https://github.com/anthropics/claude-code/blob/main/LICENSE
405
+ [license-href]: https://github.com/miounet11/ccjk/blob/main/LICENSE
406
406
  [stars-src]: https://img.shields.io/github/stars/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
407
- [stars-href]: https://github.com/anthropics/claude-code/stargazers
407
+ [stars-href]: https://github.com/miounet11/ccjk/stargazers
package/README.ko.md CHANGED
@@ -348,7 +348,7 @@ ccjk init --lang ko # 한국어
348
348
 
349
349
  <div align="center">
350
350
 
351
- [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-333?style=for-the-badge&logo=github)](https://github.com/anthropics/claude-code/discussions)
351
+ [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-333?style=for-the-badge&logo=github)](https://github.com/miounet11/ccjk/discussions)
352
352
  [![Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord)](https://discord.gg/ccjk)
353
353
  [![Twitter](https://img.shields.io/badge/Twitter-Follow-1DA1F2?style=for-the-badge&logo=twitter)](https://twitter.com/anthropaboratory)
354
354
 
@@ -359,7 +359,7 @@ ccjk init --lang ko # 한국어
359
359
  ## 🤝 기여
360
360
 
361
361
  ```bash
362
- git clone https://github.com/anthropics/claude-code.git
362
+ git clone https://github.com/miounet11/ccjk.git
363
363
  cd ccjk
364
364
  pnpm install
365
365
  pnpm dev
@@ -371,7 +371,7 @@ pnpm dev
371
371
 
372
372
  ## 📄 라이선스
373
373
 
374
- MIT © [CCJK Team](https://github.com/anthropics/claude-code)
374
+ MIT © [CCJK Team](https://github.com/miounet11/ccjk)
375
375
 
376
376
  ---
377
377
 
@@ -401,6 +401,6 @@ CCJK가 더 나은 코드 작성에 도움이 된다면 별을 주세요!
401
401
  [npm-downloads-src]: https://img.shields.io/npm/dm/ccjk?style=flat&colorA=18181B&colorB=28CF8D
402
402
  [npm-downloads-href]: https://npmjs.com/package/ccjk
403
403
  [license-src]: https://img.shields.io/github/license/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
404
- [license-href]: https://github.com/anthropics/claude-code/blob/main/LICENSE
404
+ [license-href]: https://github.com/miounet11/ccjk/blob/main/LICENSE
405
405
  [stars-src]: https://img.shields.io/github/stars/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
406
- [stars-href]: https://github.com/anthropics/claude-code/stargazers
406
+ [stars-href]: https://github.com/miounet11/ccjk/stargazers
package/README.md CHANGED
@@ -19,7 +19,7 @@
19
19
  [![npm downloads][npm-downloads-src]][npm-downloads-href]
20
20
  [![License][license-src]][license-href]
21
21
  [![GitHub stars][stars-src]][stars-href]
22
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/anthropics/claude-code/pulls)
22
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/miounet11/ccjk/pulls)
23
23
 
24
24
  **[English](README.md)** | **[简体中文](README.zh-CN.md)** | **[日本語](README.ja.md)** | **[한국어](README.ko.md)**
25
25
 
@@ -102,6 +102,44 @@ claude
102
102
 
103
103
  ## ✨ Core Features
104
104
 
105
+ ### 🆕 NEW in v2.0.9: Multi-Dimensional Cloud Sync System
106
+
107
+ **Sync your configurations across devices and teams!**
108
+
109
+ <table>
110
+ <tr>
111
+ <td width="20%" align="center">
112
+ <h4>☁️ Skills Sync</h4>
113
+ <p>Bidirectional sync with conflict resolution</p>
114
+ </td>
115
+ <td width="20%" align="center">
116
+ <h4>📄 CLAUDE.md</h4>
117
+ <p>Template marketplace with 9+ templates</p>
118
+ </td>
119
+ <td width="20%" align="center">
120
+ <h4>🤖 Agents Sync</h4>
121
+ <p>6 pre-built agent templates</p>
122
+ </td>
123
+ <td width="20%" align="center">
124
+ <h4>🔗 Hooks Sync</h4>
125
+ <p>15 automation hook templates</p>
126
+ </td>
127
+ <td width="20%" align="center">
128
+ <h4>🎯 Smart Recommend</h4>
129
+ <p>AI-powered plugin recommendations</p>
130
+ </td>
131
+ </tr>
132
+ </table>
133
+
134
+ ```bash
135
+ # New cloud sync commands
136
+ ccjk skills-sync # Sync skills to/from cloud
137
+ ccjk claude-md templates # Browse CLAUDE.md templates
138
+ ccjk agents search # Search agent marketplace
139
+ ccjk hooks-sync # Manage automation hooks
140
+ ccjk plugins recommend # Get personalized plugin recommendations
141
+ ```
142
+
105
143
  ### ⚡ Zero-Configuration Setup
106
144
 
107
145
  Get started in seconds with intelligent defaults:
@@ -239,9 +277,17 @@ npx ccjk init --provider minimax --api-key YOUR_KEY
239
277
 
240
278
  ## 🗺️ Roadmap
241
279
 
242
- The following features are planned for future releases:
280
+ ### Recently Completed (v2.0.9)
281
+
282
+ #### ☁️ Multi-Dimensional Cloud Sync System
283
+ - **Skills Cloud Sync** - Bidirectional sync with 4 conflict resolution strategies
284
+ - **CLAUDE.md Sync** - Template marketplace with 9 project templates
285
+ - **Agents Sync** - 6 pre-built agent templates with version management
286
+ - **Hooks Sync** - 15 automation hook templates
287
+ - **Smart Plugin Recommendations** - AI-powered personalized recommendations
288
+ - **Status**: ✅ **COMPLETED** - 55+ tests passing, full i18n support
243
289
 
244
- ### 🔮 Planned Features (v2.0+)
290
+ ### 🔮 Planned Features (v2.1+)
245
291
 
246
292
  #### 🔥 Smart Skills Hot-Reload System
247
293
  - Real-time skill file watching and auto-reload
@@ -289,7 +335,7 @@ The following features are planned for future releases:
289
335
 
290
336
  Interested in these features? We welcome contributions!
291
337
 
292
- - Check our [GitHub Issues](https://github.com/anthropics/claude-code/issues) for feature discussions
338
+ - Check our [GitHub Issues](https://github.com/miounet11/ccjk/issues) for feature discussions
293
339
  - Join our [Discord](https://discord.gg/ccjk) to collaborate with the team
294
340
  - Submit PRs for features you'd like to see implemented
295
341
 
@@ -350,7 +396,7 @@ ccjk init --lang ko # 한국어 (coming soon)
350
396
 
351
397
  <div align="center">
352
398
 
353
- [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-333?style=for-the-badge&logo=github)](https://github.com/anthropics/claude-code/discussions)
399
+ [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-333?style=for-the-badge&logo=github)](https://github.com/miounet11/ccjk/discussions)
354
400
  [![Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=for-the-badge&logo=discord)](https://discord.gg/ccjk)
355
401
  [![Twitter](https://img.shields.io/badge/Twitter-Follow-1DA1F2?style=for-the-badge&logo=twitter)](https://twitter.com/anthropaboratory)
356
402
 
@@ -363,7 +409,7 @@ ccjk init --lang ko # 한국어 (coming soon)
363
409
  We welcome contributions! Here's how to get started:
364
410
 
365
411
  ```bash
366
- git clone https://github.com/anthropics/claude-code.git
412
+ git clone https://github.com/miounet11/ccjk.git
367
413
  cd ccjk
368
414
  pnpm install
369
415
  pnpm dev
@@ -375,7 +421,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
375
421
 
376
422
  ## 📄 License
377
423
 
378
- MIT © [CCJK Team](https://github.com/anthropics/claude-code)
424
+ MIT © [CCJK Team](https://github.com/miounet11/ccjk)
379
425
 
380
426
  ---
381
427
 
@@ -405,6 +451,6 @@ If CCJK helps you code better, please give us a star!
405
451
  [npm-downloads-src]: https://img.shields.io/npm/dm/ccjk?style=flat&colorA=18181B&colorB=28CF8D
406
452
  [npm-downloads-href]: https://npmjs.com/package/ccjk
407
453
  [license-src]: https://img.shields.io/github/license/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
408
- [license-href]: https://github.com/anthropics/claude-code/blob/main/LICENSE
454
+ [license-href]: https://github.com/miounet11/ccjk/blob/main/LICENSE
409
455
  [stars-src]: https://img.shields.io/github/stars/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
410
- [stars-href]: https://github.com/anthropics/claude-code/stargazers
456
+ [stars-href]: https://github.com/miounet11/ccjk/stargazers
package/README.zh-CN.md CHANGED
@@ -16,7 +16,7 @@
16
16
  [![npm downloads][npm-downloads-src]][npm-downloads-href]
17
17
  [![License][license-src]][license-href]
18
18
  [![GitHub stars][stars-src]][stars-href]
19
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/anthropics/claude-code/pulls)
19
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/miounet11/ccjk/pulls)
20
20
 
21
21
  **[English](README.md)** | **[简体中文](README.zh-CN.md)** | **[日本語](README.ja.md)** | **[한국어](README.ko.md)**
22
22
 
@@ -689,21 +689,21 @@ ccjk init --lang ko # 한국어
689
689
 
690
690
  <div align="center">
691
691
 
692
- [![GitHub Discussions](https://img.shields.io/badge/GitHub-讨论区-333?style=for-the-badge&logo=github)](https://github.com/anthropics/claude-code/discussions)
692
+ [![GitHub Discussions](https://img.shields.io/badge/GitHub-讨论区-333?style=for-the-badge&logo=github)](https://github.com/miounet11/ccjk/discussions)
693
693
  [![Discord](https://img.shields.io/badge/Discord-加入服务器-5865F2?style=for-the-badge&logo=discord)](https://discord.gg/ccjk)
694
- [![微信](https://img.shields.io/badge/微信-扫码加群-07C160?style=for-the-badge&logo=wechat)](https://github.com/anthropics/claude-code)
694
+ [![微信](https://img.shields.io/badge/微信-扫码加群-07C160?style=for-the-badge&logo=wechat)](https://github.com/miounet11/ccjk)
695
695
 
696
696
  </div>
697
697
 
698
- - 🐛 **Bug报告**: [GitHub Issues](https://github.com/anthropics/claude-code/issues)
699
- - 💡 **功能建议**: [GitHub Discussions](https://github.com/anthropics/claude-code/discussions)
698
+ - 🐛 **Bug报告**: [GitHub Issues](https://github.com/miounet11/ccjk/issues)
699
+ - 💡 **功能建议**: [GitHub Discussions](https://github.com/miounet11/ccjk/discussions)
700
700
 
701
701
  ---
702
702
 
703
703
  ## 🤝 参与贡献
704
704
 
705
705
  ```bash
706
- git clone https://github.com/anthropics/claude-code.git
706
+ git clone https://github.com/miounet11/ccjk.git
707
707
  cd ccjk
708
708
  pnpm install
709
709
  pnpm dev
@@ -715,7 +715,7 @@ pnpm dev
715
715
 
716
716
  ## 📄 许可证
717
717
 
718
- MIT © [CCJK Team](https://github.com/anthropics/claude-code)
718
+ MIT © [CCJK Team](https://github.com/miounet11/ccjk)
719
719
 
720
720
  ---
721
721
 
@@ -743,6 +743,6 @@ MIT © [CCJK Team](https://github.com/anthropics/claude-code)
743
743
  [npm-downloads-src]: https://img.shields.io/npm/dm/ccjk?style=flat&colorA=18181B&colorB=28CF8D
744
744
  [npm-downloads-href]: https://npmjs.com/package/ccjk
745
745
  [license-src]: https://img.shields.io/github/license/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
746
- [license-href]: https://github.com/anthropics/claude-code/blob/main/LICENSE
746
+ [license-href]: https://github.com/miounet11/ccjk/blob/main/LICENSE
747
747
  [stars-src]: https://img.shields.io/github/stars/anthropics/claude-code?style=flat&colorA=18181B&colorB=28CF8D
748
- [stars-href]: https://github.com/anthropics/claude-code/stargazers
748
+ [stars-href]: https://github.com/miounet11/ccjk/stargazers
@@ -1,13 +1,13 @@
1
1
  import dayjs from 'dayjs';
2
2
  import { join } from 'pathe';
3
- import { U as ZCF_CONFIG_FILE, Z as ZCF_CONFIG_DIR, cU as ensureDir, cV as readDefaultTomlConfig, cW as createDefaultTomlConfig, cX as exists, cB as readJsonConfig, cY as writeTomlConfig, z as SETTINGS_FILE, cZ as clearModelEnv, c_ as copyFile } from './simple-config.mjs';
3
+ import { a2 as ZCF_CONFIG_FILE, a1 as ZCF_CONFIG_DIR, cL as ensureDir, da as readDefaultTomlConfig, db as createDefaultTomlConfig, cN as exists, cT as readJsonConfig, dc as writeTomlConfig, B as SETTINGS_FILE, dd as clearModelEnv, de as copyFile } from './simple-config.mjs';
4
4
  import 'node:fs';
5
5
  import 'node:process';
6
6
  import 'ansis';
7
7
  import 'inquirer';
8
+ import 'node:os';
8
9
  import 'smol-toml';
9
10
  import 'node:child_process';
10
- import 'node:os';
11
11
  import 'node:util';
12
12
  import 'node:url';
13
13
  import 'inquirer-toggle';
@@ -185,15 +185,15 @@ class ClaudeCodeConfigManager {
185
185
  * Apply profile settings to Claude Code runtime
186
186
  */
187
187
  static async applyProfileSettings(profile) {
188
- const { ensureI18nInitialized, i18n } = await import('./simple-config.mjs').then(function (n) { return n.d6; });
188
+ const { ensureI18nInitialized, i18n } = await import('./simple-config.mjs').then(function (n) { return n.dm; });
189
189
  ensureI18nInitialized();
190
190
  try {
191
191
  if (!profile) {
192
- const { switchToOfficialLogin } = await import('./simple-config.mjs').then(function (n) { return n.da; });
192
+ const { switchToOfficialLogin } = await import('./simple-config.mjs').then(function (n) { return n.dr; });
193
193
  switchToOfficialLogin();
194
194
  return;
195
195
  }
196
- const { readJsonConfig: readJsonConfig2, writeJsonConfig } = await import('./simple-config.mjs').then(function (n) { return n.d8; });
196
+ const { readJsonConfig: readJsonConfig2, writeJsonConfig } = await import('./simple-config.mjs').then(function (n) { return n.dp; });
197
197
  const settings = readJsonConfig2(SETTINGS_FILE) || {};
198
198
  if (!settings.env)
199
199
  settings.env = {};
@@ -206,7 +206,7 @@ class ClaudeCodeConfigManager {
206
206
  settings.env.ANTHROPIC_AUTH_TOKEN = profile.apiKey;
207
207
  delete settings.env.ANTHROPIC_API_KEY;
208
208
  } else if (profile.authType === "ccr_proxy") {
209
- const { readCcrConfig } = await import('./simple-config.mjs').then(function (n) { return n.db; });
209
+ const { readCcrConfig } = await import('./simple-config.mjs').then(function (n) { return n.ds; });
210
210
  const ccrConfig = readCcrConfig();
211
211
  if (!ccrConfig) {
212
212
  throw new Error(i18n.t("ccr:ccrNotConfigured") || "CCR proxy configuration not found");
@@ -241,7 +241,7 @@ class ClaudeCodeConfigManager {
241
241
  clearModelEnv(settings.env);
242
242
  }
243
243
  writeJsonConfig(SETTINGS_FILE, settings);
244
- const { setPrimaryApiKey, addCompletedOnboarding } = await import('./simple-config.mjs').then(function (n) { return n.d9; });
244
+ const { setPrimaryApiKey, addCompletedOnboarding } = await import('./simple-config.mjs').then(function (n) { return n.dq; });
245
245
  setPrimaryApiKey();
246
246
  addCompletedOnboarding();
247
247
  if (shouldRestartCcr) {
@@ -602,7 +602,7 @@ class ClaudeCodeConfigManager {
602
602
  */
603
603
  static async syncCcrProfile() {
604
604
  try {
605
- const { readCcrConfig } = await import('./simple-config.mjs').then(function (n) { return n.db; });
605
+ const { readCcrConfig } = await import('./simple-config.mjs').then(function (n) { return n.ds; });
606
606
  const ccrConfig = readCcrConfig();
607
607
  if (!ccrConfig) {
608
608
  await this.ensureCcrProfileExists(ccrConfig);
@@ -1,14 +1,14 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
- import { cm as ensureI18nInitialized, ch as i18n, cx as addNumbersToChoices, cT as validateApiKey, cr as promptBoolean } from './simple-config.mjs';
3
+ import { cw as ensureI18nInitialized, i as i18n, cH as addNumbersToChoices, d9 as validateApiKey, cB as promptBoolean } from './simple-config.mjs';
4
4
  import { ClaudeCodeConfigManager } from './claude-code-config-manager.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:process';
7
+ import 'node:os';
7
8
  import 'pathe';
8
9
  import 'smol-toml';
9
10
  import 'dayjs';
10
11
  import 'node:child_process';
11
- import 'node:os';
12
12
  import 'node:util';
13
13
  import 'node:url';
14
14
  import 'inquirer-toggle';
@@ -1,14 +1,14 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
- import { cm as ensureI18nInitialized, b2 as detectConfigManagementMode, ch as i18n, cx as addNumbersToChoices, cr as promptBoolean, cB as readJsonConfig, H as CODEX_AUTH_FILE } from './simple-config.mjs';
3
+ import { cw as ensureI18nInitialized, bd as detectConfigManagementMode, i as i18n, cH as addNumbersToChoices, cB as promptBoolean, cT as readJsonConfig, I as CODEX_AUTH_FILE } from './simple-config.mjs';
4
4
  import { deleteProviders, addProviderToExisting, editExistingProvider } from './codex-provider-manager.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:process';
7
+ import 'node:os';
7
8
  import 'pathe';
8
9
  import 'smol-toml';
9
10
  import 'dayjs';
10
11
  import 'node:child_process';
11
- import 'node:os';
12
12
  import 'node:util';
13
13
  import 'node:url';
14
14
  import 'inquirer-toggle';
@@ -168,7 +168,7 @@ async function handleAddProvider() {
168
168
  defaultValue: true
169
169
  });
170
170
  if (setAsDefault) {
171
- const { switchToProvider } = await import('./simple-config.mjs').then(function (n) { return n.dd; });
171
+ const { switchToProvider } = await import('./simple-config.mjs').then(function (n) { return n.du; });
172
172
  const switched = await switchToProvider(provider.id);
173
173
  if (switched) {
174
174
  console.log(ansis.green(i18n.t("multi-config:profileSetAsDefault", { name: provider.name })));
@@ -363,7 +363,7 @@ ${i18n.t("codex:copyingProvider", { name: provider.name })}`));
363
363
  defaultValue: false
364
364
  });
365
365
  if (setAsDefault) {
366
- const { switchToProvider } = await import('./simple-config.mjs').then(function (n) { return n.dd; });
366
+ const { switchToProvider } = await import('./simple-config.mjs').then(function (n) { return n.du; });
367
367
  const switched = await switchToProvider(copiedProvider.id);
368
368
  if (switched) {
369
369
  console.log(ansis.green(i18n.t("multi-config:profileSetAsDefault", { name: copiedProvider.name })));
@@ -1,13 +1,13 @@
1
- import { cm as ensureI18nInitialized, aR as readCodexConfig, ch as i18n, ay as backupCodexComplete, b1 as writeCodexConfig, b0 as writeAuthFile } from './simple-config.mjs';
1
+ import { cw as ensureI18nInitialized, b0 as readCodexConfig, i as i18n, aJ as backupCodexComplete, bc as writeCodexConfig, bb as writeAuthFile } from './simple-config.mjs';
2
2
  import 'node:fs';
3
3
  import 'node:process';
4
4
  import 'ansis';
5
5
  import 'inquirer';
6
+ import 'node:os';
6
7
  import 'pathe';
7
8
  import 'smol-toml';
8
9
  import 'dayjs';
9
10
  import 'node:child_process';
10
- import 'node:os';
11
11
  import 'node:util';
12
12
  import 'node:url';
13
13
  import 'inquirer-toggle';
@@ -1,14 +1,14 @@
1
1
  import { pathExists } from 'fs-extra';
2
2
  import { join } from 'pathe';
3
- import { F as CODEX_DIR, G as CODEX_CONFIG_FILE, cD as moveToTrash, ch as i18n, H as CODEX_AUTH_FILE, I as CODEX_AGENTS_FILE, J as CODEX_PROMPTS_DIR } from './simple-config.mjs';
3
+ import { G as CODEX_DIR, H as CODEX_CONFIG_FILE, cV as moveToTrash, i as i18n, I as CODEX_AUTH_FILE, J as CODEX_AGENTS_FILE, K as CODEX_PROMPTS_DIR } from './simple-config.mjs';
4
4
  import 'node:fs';
5
5
  import 'node:process';
6
6
  import 'ansis';
7
7
  import 'inquirer';
8
+ import 'node:os';
8
9
  import 'smol-toml';
9
10
  import 'dayjs';
10
11
  import 'node:child_process';
11
- import 'node:os';
12
12
  import 'node:util';
13
13
  import 'node:url';
14
14
  import 'inquirer-toggle';
@@ -154,7 +154,7 @@ class CodexUninstaller {
154
154
  warnings: []
155
155
  };
156
156
  try {
157
- const { uninstallCodeTool } = await import('./simple-config.mjs').then(function (n) { return n.de; });
157
+ const { uninstallCodeTool } = await import('./simple-config.mjs').then(function (n) { return n.dv; });
158
158
  const success = await uninstallCodeTool("codex");
159
159
  if (success) {
160
160
  result.removed.push("@openai/codex");
@@ -1,14 +1,14 @@
1
1
  import { exec } from 'node:child_process';
2
2
  import { promisify } from 'node:util';
3
3
  import ansis from 'ansis';
4
- import { cm as ensureI18nInitialized, ch as i18n } from './simple-config.mjs';
4
+ import { cw as ensureI18nInitialized, i as i18n } from './simple-config.mjs';
5
5
  import 'node:fs';
6
6
  import 'node:process';
7
7
  import 'inquirer';
8
+ import 'node:os';
8
9
  import 'pathe';
9
10
  import 'smol-toml';
10
11
  import 'dayjs';
11
- import 'node:os';
12
12
  import 'node:url';
13
13
  import 'inquirer-toggle';
14
14
  import 'ora';
@@ -1,13 +1,13 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
- import { ch as i18n, cm as ensureI18nInitialized, a3 as SUPPORTED_LANGS, cx as addNumbersToChoices, a4 as LANG_LABELS, cE as updateZcfConfig, cS as changeLanguage, cA as readZcfConfig, cr as promptBoolean, x as openSettingsJson, w as importRecommendedPermissions, u as importRecommendedEnv, bu as applyAiLanguageDirective, c$ as configureOutputStyle, bs as getExistingModelConfig, bp as updateCustomModel, bq as updateDefaultModel, d0 as isWindows, am as readMcpConfig, ar as fixWindowsMcpConfig, an as writeMcpConfig, d1 as selectMcpServices, ao as backupMcpConfig, d2 as getMcpServices, aq as buildMcpServerConfig, ap as mergeMcpServers, co as isCcrInstalled, cp as installCcr, d3 as setupCcrConfiguration, bt as getExistingApiConfig, bw as promptApiConfigurationAction, d4 as modifyApiConfigPartially, cT as validateApiKey, bn as configureApi, d5 as formatApiKeyDisplay, bv as switchToOfficialLogin } from './simple-config.mjs';
3
+ import { i as i18n, cw as ensureI18nInitialized, ac as SUPPORTED_LANGS, cH as addNumbersToChoices, ad as LANG_LABELS, cW as updateZcfConfig, d8 as changeLanguage, cK as readZcfConfig, cB as promptBoolean, y as openSettingsJson, x as importRecommendedPermissions, w as importRecommendedEnv, bF as applyAiLanguageDirective, dg as configureOutputStyle, bD as getExistingModelConfig, bA as updateCustomModel, bB as updateDefaultModel, cQ as isWindows, ax as readMcpConfig, aC as fixWindowsMcpConfig, ay as writeMcpConfig, dh as selectMcpServices, az as backupMcpConfig, di as getMcpServices, aB as buildMcpServerConfig, aA as mergeMcpServers, cy as isCcrInstalled, cz as installCcr, dj as setupCcrConfiguration, bE as getExistingApiConfig, bH as promptApiConfigurationAction, dk as modifyApiConfigPartially, d9 as validateApiKey, by as configureApi, dl as formatApiKeyDisplay, bG as switchToOfficialLogin } from './simple-config.mjs';
4
4
  import 'node:fs';
5
5
  import 'node:process';
6
+ import 'node:os';
6
7
  import 'pathe';
7
8
  import 'smol-toml';
8
9
  import 'dayjs';
9
10
  import 'node:child_process';
10
- import 'node:os';
11
11
  import 'node:util';
12
12
  import 'node:url';
13
13
  import 'inquirer-toggle';
@@ -353,7 +353,7 @@ ${ansis.blue(`\u2139 ${i18n.t("configuration:existingLanguageConfig") || "Existi
353
353
  return;
354
354
  }
355
355
  }
356
- const { selectAiOutputLanguage } = await import('./simple-config.mjs').then(function (n) { return n.dc; });
356
+ const { selectAiOutputLanguage } = await import('./simple-config.mjs').then(function (n) { return n.dt; });
357
357
  const aiOutputLang = await selectAiOutputLanguage();
358
358
  applyAiLanguageDirective(aiOutputLang);
359
359
  updateZcfConfig({ aiOutputLang });
@@ -386,7 +386,7 @@ async function changeScriptLanguageFeature(currentLang) {
386
386
  }
387
387
  async function configureCodexDefaultModelFeature() {
388
388
  ensureI18nInitialized();
389
- const { readCodexConfig } = await import('./simple-config.mjs').then(function (n) { return n.dd; });
389
+ const { readCodexConfig } = await import('./simple-config.mjs').then(function (n) { return n.du; });
390
390
  const existingConfig = readCodexConfig();
391
391
  const currentModel = existingConfig?.model;
392
392
  if (currentModel) {
@@ -487,7 +487,7 @@ ${ansis.blue(`\u2139 ${i18n.t("configuration:existingLanguageConfig") || "Existi
487
487
  return;
488
488
  }
489
489
  }
490
- const { selectAiOutputLanguage } = await import('./simple-config.mjs').then(function (n) { return n.dc; });
490
+ const { selectAiOutputLanguage } = await import('./simple-config.mjs').then(function (n) { return n.dt; });
491
491
  const aiOutputLang = await selectAiOutputLanguage();
492
492
  await updateCodexLanguageDirective(aiOutputLang);
493
493
  updateZcfConfig({ aiOutputLang });
@@ -495,14 +495,14 @@ ${ansis.blue(`\u2139 ${i18n.t("configuration:existingLanguageConfig") || "Existi
495
495
  } else if (option === "systemPrompt") {
496
496
  const zcfConfig = readZcfConfig();
497
497
  const currentLang = zcfConfig?.aiOutputLang || "English";
498
- const { runCodexSystemPromptSelection } = await import('./simple-config.mjs').then(function (n) { return n.dd; });
498
+ const { runCodexSystemPromptSelection } = await import('./simple-config.mjs').then(function (n) { return n.du; });
499
499
  await runCodexSystemPromptSelection();
500
500
  await ensureLanguageDirectiveInAgents(currentLang);
501
501
  console.log(ansis.green(`\u2714 ${i18n.t("configuration:systemPromptConfigured")}`));
502
502
  }
503
503
  }
504
504
  async function updateCodexModelProvider(modelProvider) {
505
- const { readCodexConfig, writeCodexConfig, backupCodexConfig, getBackupMessage } = await import('./simple-config.mjs').then(function (n) { return n.dd; });
505
+ const { readCodexConfig, writeCodexConfig, backupCodexConfig, getBackupMessage } = await import('./simple-config.mjs').then(function (n) { return n.du; });
506
506
  const backupPath = backupCodexConfig();
507
507
  if (backupPath) {
508
508
  console.log(ansis.gray(getBackupMessage(backupPath)));
@@ -523,7 +523,7 @@ async function updateCodexModelProvider(modelProvider) {
523
523
  writeCodexConfig(updatedConfig);
524
524
  }
525
525
  async function ensureLanguageDirectiveInAgents(aiOutputLang) {
526
- const { readFile, writeFile, exists } = await import('./simple-config.mjs').then(function (n) { return n.d7; });
526
+ const { readFile, writeFile, exists } = await import('./simple-config.mjs').then(function (n) { return n.dn; });
527
527
  const { homedir } = await import('node:os');
528
528
  const { join } = await import('pathe');
529
529
  const CODEX_AGENTS_FILE = join(homedir(), ".codex", "AGENTS.md");
@@ -541,7 +541,7 @@ async function ensureLanguageDirectiveInAgents(aiOutputLang) {
541
541
  const langLabel = languageLabels[aiOutputLang] || aiOutputLang;
542
542
  const hasLanguageDirective = /\*\*Most Important:\s*Always respond in [^*]+\*\*/i.test(content);
543
543
  if (!hasLanguageDirective) {
544
- const { backupCodexAgents, getBackupMessage } = await import('./simple-config.mjs').then(function (n) { return n.dd; });
544
+ const { backupCodexAgents, getBackupMessage } = await import('./simple-config.mjs').then(function (n) { return n.du; });
545
545
  const backupPath = backupCodexAgents();
546
546
  if (backupPath) {
547
547
  console.log(ansis.gray(getBackupMessage(backupPath)));
@@ -558,8 +558,8 @@ async function ensureLanguageDirectiveInAgents(aiOutputLang) {
558
558
  }
559
559
  }
560
560
  async function updateCodexLanguageDirective(aiOutputLang) {
561
- const { readFile, writeFile, exists } = await import('./simple-config.mjs').then(function (n) { return n.d7; });
562
- const { backupCodexAgents, getBackupMessage } = await import('./simple-config.mjs').then(function (n) { return n.dd; });
561
+ const { readFile, writeFile, exists } = await import('./simple-config.mjs').then(function (n) { return n.dn; });
562
+ const { backupCodexAgents, getBackupMessage } = await import('./simple-config.mjs').then(function (n) { return n.du; });
563
563
  const { homedir } = await import('node:os');
564
564
  const { join } = await import('pathe');
565
565
  const CODEX_AGENTS_FILE = join(homedir(), ".codex", "AGENTS.md");