ccjk 5.2.0 → 5.2.2

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 (53) hide show
  1. package/dist/chunks/api.mjs +6 -6
  2. package/dist/chunks/auto-updater.mjs +80 -133
  3. package/dist/chunks/ccm.mjs +7 -7
  4. package/dist/chunks/ccr.mjs +7 -4
  5. package/dist/chunks/ccu.mjs +6 -6
  6. package/dist/chunks/check-updates.mjs +3 -3
  7. package/dist/chunks/claude-code-incremental-manager.mjs +38 -38
  8. package/dist/chunks/cloud-v5.mjs +1651 -0
  9. package/dist/chunks/codex.mjs +70 -70
  10. package/dist/chunks/commands.mjs +25 -25
  11. package/dist/chunks/commit.mjs +16 -16
  12. package/dist/chunks/config-consolidator.mjs +9 -9
  13. package/dist/chunks/config-switch.mjs +39 -39
  14. package/dist/chunks/config.mjs +5 -5
  15. package/dist/chunks/config2.mjs +85 -85
  16. package/dist/chunks/context.mjs +2 -2
  17. package/dist/chunks/doctor.mjs +31 -31
  18. package/dist/chunks/features.mjs +84 -83
  19. package/dist/chunks/help.mjs +116 -116
  20. package/dist/chunks/index4.mjs +46 -46
  21. package/dist/chunks/init.mjs +214 -191
  22. package/dist/chunks/interview.mjs +102 -102
  23. package/dist/chunks/manager.mjs +238 -0
  24. package/dist/chunks/marketplace.mjs +59 -59
  25. package/dist/chunks/mcp.mjs +82 -82
  26. package/dist/chunks/menu.mjs +441 -379
  27. package/dist/chunks/notification.mjs +112 -112
  28. package/dist/chunks/onboarding.mjs +7 -7
  29. package/dist/chunks/package.mjs +1 -1
  30. package/dist/chunks/permission-manager.mjs +8 -8
  31. package/dist/chunks/plugin.mjs +100 -100
  32. package/dist/chunks/prompts.mjs +15 -15
  33. package/dist/chunks/providers.mjs +65 -65
  34. package/dist/chunks/session.mjs +83 -83
  35. package/dist/chunks/skills-sync.mjs +72 -72
  36. package/dist/chunks/skills.mjs +88 -88
  37. package/dist/chunks/team.mjs +6 -6
  38. package/dist/chunks/uninstall.mjs +35 -35
  39. package/dist/chunks/update.mjs +6 -6
  40. package/dist/chunks/upgrade-manager.mjs +4 -4
  41. package/dist/chunks/workflows2.mjs +13 -13
  42. package/dist/cli.mjs +21 -0
  43. package/dist/i18n/locales/en/menu.json +16 -1
  44. package/dist/i18n/locales/en/skills.json +29 -0
  45. package/dist/i18n/locales/zh-CN/menu.json +16 -1
  46. package/dist/i18n/locales/zh-CN/skills.json +29 -0
  47. package/dist/index.mjs +4 -4
  48. package/dist/shared/{ccjk.f40us0yY.mjs → ccjk.BiJujy5w.mjs} +4 -4
  49. package/dist/shared/{ccjk.CQzwtnZ1.mjs → ccjk.C_3BYaWc.mjs} +50 -50
  50. package/dist/shared/{ccjk.Zwx-YR_P.mjs → ccjk.DjD9Rzxq.mjs} +32 -32
  51. package/dist/shared/{ccjk.DtWIPt8E.mjs → ccjk.XgW1H2t3.mjs} +68 -68
  52. package/dist/shared/{ccjk.BlPCiSHj.mjs → ccjk.tI4PJA0c.mjs} +30 -30
  53. package/package.json +3 -3
@@ -1,13 +1,13 @@
1
1
  import { existsSync } from 'node:fs';
2
- import ansis from 'ansis';
2
+ import ansis__default from 'ansis';
3
3
  import { version } from './package.mjs';
4
4
  import { SETTINGS_FILE, DEFAULT_CODE_TOOL_TYPE, resolveCodeToolType as resolveCodeToolType$1, isCodeToolType } from './constants.mjs';
5
5
  import { i18n } from './index2.mjs';
6
- import { d as displayBanner } from '../shared/ccjk.Zwx-YR_P.mjs';
6
+ import { d as displayBanner } from '../shared/ccjk.DjD9Rzxq.mjs';
7
7
  import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
8
8
  import { d as runCodexUpdate } from './codex.mjs';
9
- import { n as needsMigration, a as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration, u as updatePromptOnly, s as selectAndInstallWorkflows } from '../shared/ccjk.DtWIPt8E.mjs';
10
- import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.f40us0yY.mjs';
9
+ import { n as needsMigration, a as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration, u as updatePromptOnly, s as selectAndInstallWorkflows } from '../shared/ccjk.XgW1H2t3.mjs';
10
+ import { a as handleExitPromptError, h as handleGeneralError } from '../shared/ccjk.BiJujy5w.mjs';
11
11
  import { resolveAiOutputLanguage } from './prompts.mjs';
12
12
  import { checkClaudeCodeVersionAndPrompt } from './version-checker.mjs';
13
13
  import 'node:os';
@@ -83,7 +83,7 @@ async function update(options = {}) {
83
83
  const aiOutputLang = await resolveAiOutputLanguage(i18n.language, options.aiOutputLang, zcfConfig, options.skipPrompt);
84
84
  if (existsSync(SETTINGS_FILE) && needsMigration()) {
85
85
  if (options.skipPrompt) {
86
- console.log(ansis.yellow("\n\u26A0\uFE0F Problematic configuration detected. Auto-fixing...\n"));
86
+ console.log(ansis__default.yellow("\n\u26A0\uFE0F Problematic configuration detected. Auto-fixing...\n"));
87
87
  const result = migrateSettingsForTokenRetrieval();
88
88
  displayMigrationResult(result);
89
89
  } else {
@@ -94,7 +94,7 @@ async function update(options = {}) {
94
94
  }
95
95
  }
96
96
  }
97
- console.log(ansis.green(`
97
+ console.log(ansis__default.green(`
98
98
  ${i18n.t("configuration:updatingPrompts")}
99
99
  `));
100
100
  await updatePromptOnly(aiOutputLang);
@@ -1,10 +1,10 @@
1
1
  import process__default from 'node:process';
2
- import ansis from 'ansis';
2
+ import ansis__default from 'ansis';
3
3
  import ora from 'ora';
4
4
  import semver from 'semver';
5
5
  import { exec } from 'tinyexec';
6
6
  import { version } from './package.mjs';
7
- import { S as STATUS } from '../shared/ccjk.Zwx-YR_P.mjs';
7
+ import { S as STATUS } from '../shared/ccjk.DjD9Rzxq.mjs';
8
8
  import './index2.mjs';
9
9
  import 'node:fs';
10
10
  import 'node:url';
@@ -156,7 +156,7 @@ async function upgradeAllPlugins() {
156
156
  return results;
157
157
  }
158
158
  async function checkAllVersions() {
159
- console.log(ansis.green("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Version Check \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n"));
159
+ console.log(ansis__default.green("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Version Check \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n"));
160
160
  const claudeCode = await checkClaudeCodeVersion();
161
161
  if (claudeCode.updateAvailable) {
162
162
  console.log(STATUS.warning(`Claude Code: v${claudeCode.current} \u2192 v${claudeCode.latest} (update available)`));
@@ -183,7 +183,7 @@ async function checkAllVersions() {
183
183
  console.log("");
184
184
  }
185
185
  async function upgradeAll() {
186
- console.log(ansis.green("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Upgrading All \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n"));
186
+ console.log(ansis__default.green("\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Upgrading All \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n"));
187
187
  await upgradeClaudeCode();
188
188
  await upgradeCcjk();
189
189
  const pluginResults = await upgradeAllPlugins();
@@ -1,4 +1,4 @@
1
- import ansis from 'ansis';
1
+ import ansis__default from 'ansis';
2
2
  import 'inquirer';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'node:fs';
@@ -570,11 +570,11 @@ const PHASE_ICONS = {
570
570
  finishing: "\u2705"
571
571
  };
572
572
  const PHASE_COLORS = {
573
- brainstorming: ansis.magenta,
574
- planning: ansis.green,
575
- implementation: ansis.yellow,
576
- review: ansis.green,
577
- finishing: ansis.green
573
+ brainstorming: ansis__default.magenta,
574
+ planning: ansis__default.green,
575
+ implementation: ansis__default.yellow,
576
+ review: ansis__default.green,
577
+ finishing: ansis__default.green
578
578
  };
579
579
  const STATUS_ICONS = {
580
580
  active: "\u{1F504}",
@@ -603,22 +603,22 @@ async function listAllWorkflows(options = {}) {
603
603
  return;
604
604
  }
605
605
  if (workflows.length === 0) {
606
- console.log(ansis.yellow("\n \u26A0\uFE0F No workflows found\n"));
606
+ console.log(ansis__default.yellow("\n \u26A0\uFE0F No workflows found\n"));
607
607
  return;
608
608
  }
609
609
  console.log("");
610
- console.log(ansis.bold.cyan("\u2501".repeat(80)));
611
- console.log(ansis.bold(` ${"ID".padEnd(10)} ${"Name".padEnd(20)} ${"Phase".padEnd(15)} ${"Status".padEnd(10)} ${"Progress".padEnd(15)}`));
612
- console.log(ansis.bold.cyan("\u2501".repeat(80)));
610
+ console.log(ansis__default.bold.cyan("\u2501".repeat(80)));
611
+ console.log(ansis__default.bold(` ${"ID".padEnd(10)} ${"Name".padEnd(20)} ${"Phase".padEnd(15)} ${"Status".padEnd(10)} ${"Progress".padEnd(15)}`));
612
+ console.log(ansis__default.bold.cyan("\u2501".repeat(80)));
613
613
  for (const wf of workflows) {
614
614
  const counts = getTaskCounts(wf);
615
615
  const progress = `${counts.completed}/${counts.total}`;
616
616
  console.log(
617
- ` ${ansis.dim(wf.id.slice(0, 8).padEnd(10))} ${wf.name.slice(0, 18).padEnd(20)} ${formatPhase(wf.currentPhase).padEnd(25)} ${STATUS_ICONS[wf.status]} ${wf.status.padEnd(8)} ${progress}`
617
+ ` ${ansis__default.dim(wf.id.slice(0, 8).padEnd(10))} ${wf.name.slice(0, 18).padEnd(20)} ${formatPhase(wf.currentPhase).padEnd(25)} ${STATUS_ICONS[wf.status]} ${wf.status.padEnd(8)} ${progress}`
618
618
  );
619
619
  }
620
- console.log(ansis.bold.cyan("\u2501".repeat(80)));
621
- console.log(ansis.dim(` Total: ${workflows.length} workflows`));
620
+ console.log(ansis__default.bold.cyan("\u2501".repeat(80)));
621
+ console.log(ansis__default.dim(` Total: ${workflows.length} workflows`));
622
622
  console.log("");
623
623
  }
624
624
 
package/dist/cli.mjs CHANGED
@@ -717,6 +717,26 @@ const COMMANDS = [
717
717
  };
718
718
  }
719
719
  },
720
+ {
721
+ name: "cloud-v5 [subcommand]",
722
+ description: "CCJK Cloud v5.1.0-2026 (Agent Orchestrator, MCP Gateway, Memory)",
723
+ aliases: ["c5", "cloud5"],
724
+ tier: "extended",
725
+ options: [
726
+ { flags: "--endpoint, -e <url>", description: "Cloud service endpoint" },
727
+ { flags: "--token, -t <token>", description: "API authentication token" },
728
+ { flags: "--watch, -w", description: "Watch progress in real-time" },
729
+ { flags: "--query, -q <query>", description: "Search query" },
730
+ { flags: "--top, -n <number>", description: "Top N results" },
731
+ { flags: "--id <id>", description: "Resource ID" }
732
+ ],
733
+ loader: async () => {
734
+ const { cloudV5Command } = await import('./chunks/cloud-v5.mjs');
735
+ return async (options, subcommand) => {
736
+ await cloudV5Command(subcommand, options);
737
+ };
738
+ }
739
+ },
720
740
  // ==================== Postmortem System ====================
721
741
  {
722
742
  name: "postmortem <action> [...args]",
@@ -1256,6 +1276,7 @@ function customizeHelpLazy(_sections, version) {
1256
1276
  ` ${cyan("ccjk workflows")} ${gray("wf")} Manage workflows`,
1257
1277
  ` ${cyan("ccjk ccr")} CCR proxy management`,
1258
1278
  ` ${cyan("ccjk ccu")} Usage statistics`,
1279
+ ` ${cyan("ccjk cloud-v5")} ${gray("c5")} Cloud v5.1.0-2026 ${green("NEW")}`,
1259
1280
  ` ${cyan("ccjk uninstall")} Remove configurations`
1260
1281
  ].join("\n")
1261
1282
  });
@@ -280,5 +280,20 @@
280
280
  "newUser.pressEnter": "Press Enter to continue...",
281
281
 
282
282
  "extensionsHub.title": "🔌 Extensions Hub",
283
- "extensionsHub.markets": "📦 Markets"
283
+ "extensionsHub.markets": "📦 Markets",
284
+
285
+ "cloudV51.title": "☁️ CCJK Cloud v5.1.0-2026",
286
+ "cloudV51.desc": "2026 Edition Cloud Services (Agent Orchestrator / MCP Gateway / Memory)",
287
+ "cloudV51.orchestrator": "Agent Orchestrator",
288
+ "cloudV51.orchestratorDesc": "Multi-agent collaborative task execution (Cowork style)",
289
+ "cloudV51.mcpGateway": "MCP Gateway",
290
+ "cloudV51.mcpGatewayDesc": "Unified access to 10,000+ MCP servers",
291
+ "cloudV51.memorySystem": "Memory System",
292
+ "cloudV51.memorySystemDesc": "Recallium universal memory management",
293
+ "cloudV51.sessionTeleport": "Session Teleport",
294
+ "cloudV51.sessionTeleportDesc": "Cross-device session synchronization",
295
+ "cloudV51.skillsHotReload": "Skills Hot-Reload",
296
+ "cloudV51.skillsHotReloadDesc": "Real-time skill monitoring and reload",
297
+ "cloudV51.lifecycleHooks": "Lifecycle Hooks",
298
+ "cloudV51.lifecycleHooksDesc": "Workflow event handling"
284
299
  }
@@ -125,5 +125,34 @@
125
125
  "creating": "Creating skills",
126
126
  "created": "Successfully created {{count}} skill(s)",
127
127
  "failed": "Failed to create {{count}} skill(s)"
128
+ },
129
+ "skillDescriptions": {
130
+ "commit": {
131
+ "name": "Smart Commit",
132
+ "description": "Analyze code changes and generate conventional commit messages",
133
+ "usage": "Use /commit or /cm to generate smart commit messages",
134
+ "examples": [
135
+ "/commit - Analyze current changes and generate commit message",
136
+ "/cm --auto - Auto-generate and apply commit message"
137
+ ]
138
+ },
139
+ "review": {
140
+ "name": "Code Review",
141
+ "description": "Quick code quality analysis with improvement suggestions",
142
+ "usage": "Use /review or /rv to review current code",
143
+ "examples": [
144
+ "/review - Review current file",
145
+ "/rv --deep - Deep code review"
146
+ ]
147
+ },
148
+ "debug": {
149
+ "name": "Debug Assistant",
150
+ "description": "Intelligently analyze errors and provide fix suggestions",
151
+ "usage": "Use /debug or /db to diagnose issues",
152
+ "examples": [
153
+ "/debug - Analyze recent errors",
154
+ "/db \"error message\" - Diagnose specific error"
155
+ ]
156
+ }
128
157
  }
129
158
  }
@@ -280,5 +280,20 @@
280
280
  "newUser.pressEnter": "按 Enter 继续...",
281
281
 
282
282
  "extensionsHub.title": "🔌 扩展中心",
283
- "extensionsHub.markets": "📦 市场"
283
+ "extensionsHub.markets": "📦 市场",
284
+
285
+ "cloudV51.title": "☁️ CCJK Cloud v5.1.0-2026",
286
+ "cloudV51.desc": "2026 版云端服务(Agent 编排 / MCP Gateway / 记忆系统)",
287
+ "cloudV51.orchestrator": "Agent 编排器",
288
+ "cloudV51.orchestratorDesc": "多 Agent 协同任务执行(Cowork 风格)",
289
+ "cloudV51.mcpGateway": "MCP 网关",
290
+ "cloudV51.mcpGatewayDesc": "统一访问 10000+ MCP 服务器",
291
+ "cloudV51.memorySystem": "记忆系统",
292
+ "cloudV51.memorySystemDesc": "Recallium 通用记忆管理",
293
+ "cloudV51.sessionTeleport": "会话传送",
294
+ "cloudV51.sessionTeleportDesc": "跨设备会话同步",
295
+ "cloudV51.skillsHotReload": "技能热重载",
296
+ "cloudV51.skillsHotReloadDesc": "实时技能监控和重载",
297
+ "cloudV51.lifecycleHooks": "生命周期钩子",
298
+ "cloudV51.lifecycleHooksDesc": "工作流事件处理"
284
299
  }
@@ -125,5 +125,34 @@
125
125
  "creating": "正在创建技能",
126
126
  "created": "成功创建 {{count}} 个技能",
127
127
  "failed": "失败 {{count}} 个"
128
+ },
129
+ "skillDescriptions": {
130
+ "commit": {
131
+ "name": "智能提交",
132
+ "description": "自动分析代码变更,生成规范的 Git 提交信息",
133
+ "usage": "使用 /commit 或 /cm 来生成智能提交信息",
134
+ "examples": [
135
+ "/commit - 分析当前变更并生成提交信息",
136
+ "/cm --auto - 自动生成并应用提交信息"
137
+ ]
138
+ },
139
+ "review": {
140
+ "name": "代码审查",
141
+ "description": "快速分析代码质量,提供改进建议",
142
+ "usage": "使用 /review 或 /rv 来审查当前代码",
143
+ "examples": [
144
+ "/review - 审查当前文件",
145
+ "/rv --deep - 深度代码审查"
146
+ ]
147
+ },
148
+ "debug": {
149
+ "name": "问题诊断",
150
+ "description": "智能分析错误信息,诊断问题并提供修复方案",
151
+ "usage": "使用 /debug 或 /db 来诊断问题",
152
+ "examples": [
153
+ "/debug - 分析最近的错误",
154
+ "/db \"错误信息\" - 诊断特定错误"
155
+ ]
156
+ }
128
157
  }
129
158
  }
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  export { D as createHomebrewSymlink, x as detectInstalledVersion, E as displayVerificationResult, z as executeInstallMethod, p as getInstallationStatus, A as handleInstallFailure, e as init, m as installClaudeCode, o as installCodex, l as isClaudeCodeInstalled, n as isCodexInstalled, t as isLocalClaudeCodeInstalled, q as removeLocalClaudeCode, y as selectInstallMethod, w as setInstallMethod, v as uninstallCodeTool, B as verifyInstallation } from './chunks/init.mjs';
2
2
  export { AIDER_CONFIG_FILE, AIDER_DIR, AIDER_ENV_FILE, AI_OUTPUT_LANGUAGES, API_DEFAULT_URL, API_ENV_KEY, CCJK_CLOUD_API_URL, CCJK_CLOUD_PLUGINS_API, CCJK_CLOUD_PLUGINS_CACHE_DIR, CCJK_CLOUD_PLUGINS_CACHE_FILE, CCJK_CLOUD_PLUGINS_DIR, CCJK_CLOUD_PLUGINS_INSTALLED_DIR, CCJK_CONFIG_DIR, CCJK_CONFIG_FILE, CCJK_GROUPS_DIR, CCJK_PLUGINS_DIR, CCJK_SKILLS_DIR, CLAUDE_DIR, CLAUDE_MD_FILE, CLAUDE_VSC_CONFIG_FILE, CLINE_CONFIG_FILE, CLINE_DIR, CLOUD_PLUGINS_CACHE_TTL, CLOUD_PLUGINS_MAX_CACHE_SIZE, CODEX_AGENTS_FILE, CODEX_AUTH_FILE, CODEX_CONFIG_FILE, CODEX_DIR, CODEX_PROMPTS_DIR, CODE_TOOL_ALIASES, CODE_TOOL_BANNERS, CODE_TOOL_INFO, CODE_TOOL_TYPES, CONTINUE_CONFIG_FILE, CONTINUE_DIR, CURSOR_CONFIG_FILE, CURSOR_DIR, ClAUDE_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, LANG_LABELS, LEGACY_ZCF_CONFIG_DIR, LEGACY_ZCF_CONFIG_FILE, LEGACY_ZCF_CONFIG_FILES, SETTINGS_FILE, SUPPORTED_LANGS, ZCF_CONFIG_DIR, ZCF_CONFIG_FILE, getAiOutputLanguageLabel, isCodeToolType, resolveCodeToolType } from './chunks/constants.mjs';
3
- export { t as COLORS, S as STATUS, c as box, b as boxify, d as displayBanner, a as displayBannerWithInfo, e as divider, i as getDisplayWidth, h as header, m as menuItem, p as padToDisplayWidth, f as progress, r as renderProgressBar, s as sectionDivider, g as status, t as theme } from './shared/ccjk.Zwx-YR_P.mjs';
3
+ export { t as COLORS, S as STATUS, c as box, b as boxify, d as displayBanner, a as displayBannerWithInfo, e as divider, i as getDisplayWidth, h as header, m as menuItem, p as padToDisplayWidth, f as progress, r as renderProgressBar, s as sectionDivider, g as status, t as theme } from './shared/ccjk.DjD9Rzxq.mjs';
4
4
  export { n as addCompletedOnboarding, a as applyAiLanguageDirective, j as backupExistingConfig, d as backupMcpConfig, e as buildMcpServerConfig, t as cleanupPermissions, i as configureApi, q as copyConfigFiles, x as ensureApiKeyApproved, o as ensureClaudeDir, f as fixWindowsMcpConfig, h as getExistingApiConfig, g as getExistingModelConfig, v as getMcpConfigPath, z as manageApiKeyApproval, k as mergeAndCleanPermissions, A as mergeConfigs, m as mergeMcpServers, B as mergeSettingsFile, p as promptApiConfigurationAction, r as readMcpConfig, y as removeApiKeyFromRejected, l as setPrimaryApiKey, s as switchToOfficialLogin, u as updateCustomModel, b as updateDefaultModel, w as writeMcpConfig } from './chunks/config.mjs';
5
5
  export { compareConfigs, consolidateConfigs, detectAllConfigs, displayConfigScan, removeRedundantConfigs, writeConsolidatedConfig } from './chunks/config-consolidator.mjs';
6
6
  export { d as detectProjectContext, j as formatFileSize, f as generateContextContent, b as getApplicableRules, e as getContextFileTypeLabel, c as getContextFiles, k as getContextRules, g as getProjectTypeLabel, h as getRecommendedRules, a as importRecommendedEnv, i as importRecommendedPermissions, m as mergeContextContent, o as openSettingsJson, r as readContextFile, w as writeContextFile } from './shared/ccjk.BjUZt6kx.mjs';
@@ -9,7 +9,7 @@ export { exportProjectKnowledge, getProjectKnowledge, loadKnowledgeBase, quickSy
9
9
  export { PERMISSION_TEMPLATES, addAutoApprovePattern, applyTemplate, displayPermissions, exportPermissions, getCurrentTemplateId, importPermissions, isDirectoryTrusted, isPermissionAllowed, readPermissions, removeAutoApprovePattern, resetPermissions, trustDirectory, untrustDirectory, writePermissions } from './chunks/permission-manager.mjs';
10
10
  export { commandExists, getPlatform } from './chunks/platform.mjs';
11
11
  export { checkAllVersions, checkCcjkVersion, checkClaudeCodeVersion, checkPluginVersions, upgradeAll, upgradeAllPlugins, upgradeCcjk, upgradeClaudeCode, upgradePlugin } from './chunks/upgrade-manager.mjs';
12
- export { d as displayCurrentStatus, r as runConfigWizard } from './shared/ccjk.BlPCiSHj.mjs';
12
+ export { d as displayCurrentStatus, r as runConfigWizard } from './shared/ccjk.tI4PJA0c.mjs';
13
13
  export { addSkill, createBatchSkills, ensureSkillsDir, exportSkills, getAllSkills, getBatchCategories, getBuiltinSkill, getBuiltinSkills, getSkill, getRegistry as getSkillRegistry, importSkills, isBuiltinSkill, refreshRegistry as refreshSkillRegistry, removeSkill, searchSkills, setSkillEnabled } from './chunks/manager.mjs';
14
14
  export { e as detectBuildTools, h as detectCICDSystems, c as detectFrameworks, i as detectLanguages, b as detectPackageManager, d as detectProject, f as detectTestFrameworks, j as determineProjectType, a as generateSuggestions, g as getProjectSummary } from './shared/ccjk.CcGtObYC.mjs';
15
15
  export { f as applyCodexPlatformCommand, q as backupCodexAgents, n as backupCodexComplete, t as backupCodexConfig, u as backupCodexFiles, v as backupCodexPrompts, x as checkCodexUpdate, b as codexSwitchToOfficialLogin, j as configureCodexApi, i as configureCodexMcp, y as createBackupDirectory, p as detectConfigManagementMode, z as ensureEnvKeyMigration, P as getAvailableManagementActions, A as getBackupMessage, B as getCodexVersion, C as getCurrentCodexProvider, D as installCodexCli, E as isCodexCliInstalled, l as listCodexProviders, F as migrateEnvKeyInContent, G as migrateEnvKeyToTempEnvKey, H as needsEnvKeyMigration, I as parseCodexConfig, r as readCodexConfig, J as renderCodexConfig, m as runCodexFullInit, K as runCodexSystemPromptSelection, h as runCodexUninstall, d as runCodexUpdate, L as runCodexWorkflowImport, k as runCodexWorkflowImportWithLanguageSelection, N as runCodexWorkflowSelection, O as shouldShowManagementMode, a as switchCodexProvider, c as switchToProvider, o as writeAuthFile, w as writeCodexConfig } from './chunks/codex.mjs';
@@ -43,8 +43,8 @@ import './chunks/version-checker.mjs';
43
43
  import 'node:path';
44
44
  import 'semver';
45
45
  import './shared/ccjk.CUdzQluX.mjs';
46
- import './shared/ccjk.DtWIPt8E.mjs';
47
- import './shared/ccjk.f40us0yY.mjs';
46
+ import './shared/ccjk.XgW1H2t3.mjs';
47
+ import './shared/ccjk.BiJujy5w.mjs';
48
48
  import './chunks/prompts.mjs';
49
49
  import 'node:events';
50
50
  import '@clack/prompts';
@@ -1,12 +1,12 @@
1
1
  import process__default from 'node:process';
2
- import ansis from 'ansis';
2
+ import ansis__default from 'ansis';
3
3
  import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
4
4
 
5
5
  function handleExitPromptError(error) {
6
6
  const isExitError = error instanceof Error && (error.name === "ExitPromptError" || error.message?.includes("ExitPromptError") || error.message?.includes("User force closed the prompt"));
7
7
  if (isExitError) {
8
8
  ensureI18nInitialized();
9
- console.log(ansis.green(`
9
+ console.log(ansis__default.green(`
10
10
  ${i18n.t("common:goodbye")}
11
11
  `));
12
12
  process__default.exit(0);
@@ -15,9 +15,9 @@ ${i18n.t("common:goodbye")}
15
15
  }
16
16
  function handleGeneralError(error) {
17
17
  ensureI18nInitialized();
18
- console.error(ansis.red(`${i18n.t("errors:generalError")}:`), error);
18
+ console.error(ansis__default.red(`${i18n.t("errors:generalError")}:`), error);
19
19
  if (error instanceof Error) {
20
- console.error(ansis.gray(`${i18n.t("errors:stackTrace")}: ${error.stack}`));
20
+ console.error(ansis__default.gray(`${i18n.t("errors:stackTrace")}: ${error.stack}`));
21
21
  }
22
22
  process__default.exit(1);
23
23
  }
@@ -1,4 +1,4 @@
1
- import ansis from 'ansis';
1
+ import ansis__default from 'ansis';
2
2
  import inquirer from 'inquirer';
3
3
  import { e as getMcpService, r as readCodexConfig, f as applyCodexPlatformCommand, w as writeCodexConfig, M as MCP_SERVICE_CONFIGS } from '../chunks/codex.mjs';
4
4
  import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
@@ -758,19 +758,19 @@ async function displayInstalledMcpServices(tool) {
758
758
  const targetTool = tool || detectActiveTool();
759
759
  const services = await listInstalledMcpServices(targetTool);
760
760
  if (services.length === 0) {
761
- console.log(ansis.yellow(i18n.t("mcp:installer.noServicesInstalled")));
761
+ console.log(ansis__default.yellow(i18n.t("mcp:installer.noServicesInstalled")));
762
762
  return;
763
763
  }
764
- console.log(ansis.green.bold(`
764
+ console.log(ansis__default.green.bold(`
765
765
  ${i18n.t("mcp:installer.installedServices", { tool: targetTool })}
766
766
  `));
767
767
  services.forEach((service, idx) => {
768
- console.log(`${ansis.green(`${idx + 1}.`)} ${ansis.bold(service.name)} ${ansis.dim(`[${service.id}]`)}`);
768
+ console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(service.name)} ${ansis__default.dim(`[${service.id}]`)}`);
769
769
  if (service.command) {
770
- console.log(` ${ansis.dim(`Command: ${service.command}`)}`);
770
+ console.log(` ${ansis__default.dim(`Command: ${service.command}`)}`);
771
771
  }
772
772
  if (service.url) {
773
- console.log(` ${ansis.dim(`URL: ${service.url}`)}`);
773
+ console.log(` ${ansis__default.dim(`URL: ${service.url}`)}`);
774
774
  }
775
775
  console.log("");
776
776
  });
@@ -823,46 +823,46 @@ async function mcpSearch(keyword, options = {}) {
823
823
  };
824
824
  const result = await client.search(searchOptions);
825
825
  if (result.packages.length === 0) {
826
- console.log(ansis.yellow(`
826
+ console.log(ansis__default.yellow(`
827
827
  ${i18n.t("mcp:market.noResults", { keyword })}`));
828
828
  return;
829
829
  }
830
- console.log(ansis.green.bold(`
830
+ console.log(ansis__default.green.bold(`
831
831
  ${i18n.t("mcp:market.searchResults", { count: result.total, keyword })}
832
832
  `));
833
833
  result.packages.forEach((pkg, idx) => {
834
834
  const lang = i18n.language;
835
- const verifiedBadge = pkg.verified ? ansis.green("\u2713") : ansis.dim("\u25CB");
836
- console.log(`${ansis.green(`${idx + 1}.`)} ${ansis.bold(pkg.name)} ${verifiedBadge} ${ansis.dim(`[${pkg.category}]`)}`);
835
+ const verifiedBadge = pkg.verified ? ansis__default.green("\u2713") : ansis__default.dim("\u25CB");
836
+ console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(pkg.name)} ${verifiedBadge} ${ansis__default.dim(`[${pkg.category}]`)}`);
837
837
  console.log(` ${pkg.description[lang] || pkg.description.en}`);
838
- console.log(` ${ansis.dim(`\u{1F4E5} ${pkg.downloads.toLocaleString()} | \u2B50 ${pkg.rating.toFixed(1)}/5.0`)}`);
839
- console.log(` ${ansis.dim(pkg.id)}
838
+ console.log(` ${ansis__default.dim(`\u{1F4E5} ${pkg.downloads.toLocaleString()} | \u2B50 ${pkg.rating.toFixed(1)}/5.0`)}`);
839
+ console.log(` ${ansis__default.dim(pkg.id)}
840
840
  `);
841
841
  });
842
842
  if (result.hasMore) {
843
- console.log(ansis.dim(`
843
+ console.log(ansis__default.dim(`
844
844
  ${i18n.t("mcp:market.moreResults", { total: result.total, shown: result.packages.length })}`));
845
845
  }
846
846
  } catch {
847
- console.log(ansis.yellow(`
847
+ console.log(ansis__default.yellow(`
848
848
  ${i18n.t("mcp:market.apiUnavailable")}`));
849
- console.log(ansis.dim(i18n.t("mcp:market.usingLocalData")));
849
+ console.log(ansis__default.dim(i18n.t("mcp:market.usingLocalData")));
850
850
  const localServers = getLocalFallbackServices();
851
851
  const results = localServers.filter(
852
852
  (s) => s.name.toLowerCase().includes(keyword.toLowerCase()) || s.description.toLowerCase().includes(keyword.toLowerCase()) || s.category.toLowerCase().includes(keyword.toLowerCase())
853
853
  );
854
854
  if (results.length === 0) {
855
- console.log(ansis.yellow(`
855
+ console.log(ansis__default.yellow(`
856
856
  ${i18n.t("mcp:market.noResults", { keyword })}`));
857
857
  return;
858
858
  }
859
- console.log(ansis.green.bold(`
859
+ console.log(ansis__default.green.bold(`
860
860
  ${i18n.t("mcp:market.searchResults", { count: results.length, keyword })}
861
861
  `));
862
862
  results.forEach((server, idx) => {
863
- console.log(`${ansis.green(`${idx + 1}.`)} ${ansis.bold(server.name)} ${ansis.dim(`[${server.category}]`)}`);
863
+ console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(server.name)} ${ansis__default.dim(`[${server.category}]`)}`);
864
864
  console.log(` ${server.description}`);
865
- console.log(` ${ansis.dim(server.package)}
865
+ console.log(` ${ansis__default.dim(server.package)}
866
866
  `);
867
867
  });
868
868
  }
@@ -872,35 +872,35 @@ async function mcpTrending(options = {}) {
872
872
  try {
873
873
  const trending = await client.getTrending(options.limit || 10);
874
874
  if (trending.length === 0) {
875
- console.log(ansis.yellow(`
875
+ console.log(ansis__default.yellow(`
876
876
  ${i18n.t("mcp:market.noTrending")}`));
877
877
  return;
878
878
  }
879
- console.log(ansis.green.bold(`
879
+ console.log(ansis__default.green.bold(`
880
880
  ${i18n.t("mcp:market.trending")}
881
881
  `));
882
882
  trending.forEach((pkg, idx) => {
883
883
  const lang = i18n.language;
884
- const verifiedBadge = pkg.verified ? ansis.green("\u2713") : ansis.dim("\u25CB");
885
- console.log(`${ansis.green(`${idx + 1}.`)} ${ansis.bold(pkg.name)} ${verifiedBadge} ${ansis.dim(`[${pkg.category}]`)}`);
884
+ const verifiedBadge = pkg.verified ? ansis__default.green("\u2713") : ansis__default.dim("\u25CB");
885
+ console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(pkg.name)} ${verifiedBadge} ${ansis__default.dim(`[${pkg.category}]`)}`);
886
886
  console.log(` ${pkg.description[lang] || pkg.description.en}`);
887
- console.log(` ${ansis.dim(`\u{1F4E5} ${pkg.downloads.toLocaleString()} | \u2B50 ${pkg.rating.toFixed(1)}/5.0 (${pkg.ratingCount} ${i18n.t("mcp:market.ratings")})`)}`);
888
- console.log(` ${ansis.dim(pkg.id)}
887
+ console.log(` ${ansis__default.dim(`\u{1F4E5} ${pkg.downloads.toLocaleString()} | \u2B50 ${pkg.rating.toFixed(1)}/5.0 (${pkg.ratingCount} ${i18n.t("mcp:market.ratings")})`)}`);
888
+ console.log(` ${ansis__default.dim(pkg.id)}
889
889
  `);
890
890
  });
891
891
  } catch {
892
- console.log(ansis.yellow(`
892
+ console.log(ansis__default.yellow(`
893
893
  ${i18n.t("mcp:market.apiUnavailable")}`));
894
- console.log(ansis.dim(i18n.t("mcp:market.usingLocalData")));
895
- console.log(ansis.green.bold(`
894
+ console.log(ansis__default.dim(i18n.t("mcp:market.usingLocalData")));
895
+ console.log(ansis__default.green.bold(`
896
896
  ${i18n.t("mcp:market.trending")}
897
897
  `));
898
898
  const localServers = getLocalFallbackServices();
899
899
  const trending = localServers.slice(0, options.limit || 5);
900
900
  trending.forEach((server, idx) => {
901
- console.log(`${ansis.green(`${idx + 1}.`)} ${ansis.bold(server.name)} ${ansis.dim(`[${server.category}]`)}`);
901
+ console.log(`${ansis__default.green(`${idx + 1}.`)} ${ansis__default.bold(server.name)} ${ansis__default.dim(`[${server.category}]`)}`);
902
902
  console.log(` ${server.description}`);
903
- console.log(` ${ansis.dim(server.package)}
903
+ console.log(` ${ansis__default.dim(server.package)}
904
904
  `);
905
905
  });
906
906
  }
@@ -920,21 +920,21 @@ async function mcpInstall(serverName, options = {}) {
920
920
  }
921
921
  }
922
922
  if (!server) {
923
- console.log(ansis.red(`
923
+ console.log(ansis__default.red(`
924
924
  ${i18n.t("mcp:market.serverNotFound", { name: serverName })}`));
925
925
  return;
926
926
  }
927
927
  if (server.serviceId) {
928
928
  const isInstalled = await isMcpServiceInstalled(server.serviceId, options.tool);
929
929
  if (isInstalled) {
930
- console.log(ansis.yellow(`
930
+ console.log(ansis__default.yellow(`
931
931
  ${i18n.t("mcp:installer.alreadyInstalled", { name: server.name })}`));
932
932
  return;
933
933
  }
934
- console.log(ansis.green(`
934
+ console.log(ansis__default.green(`
935
935
  ${i18n.t("mcp:market.installing", { name: server.name })}`));
936
936
  if (server.requiresApiKey) {
937
- console.log(ansis.dim(i18n.t("mcp:installer.requiresApiKey")));
937
+ console.log(ansis__default.dim(i18n.t("mcp:installer.requiresApiKey")));
938
938
  }
939
939
  console.log("");
940
940
  const { confirm } = await inquirer.prompt([{
@@ -944,25 +944,25 @@ ${i18n.t("mcp:market.installing", { name: server.name })}`));
944
944
  default: true
945
945
  }]);
946
946
  if (!confirm) {
947
- console.log(ansis.yellow(i18n.t("mcp:market.cancelled")));
947
+ console.log(ansis__default.yellow(i18n.t("mcp:market.cancelled")));
948
948
  return;
949
949
  }
950
950
  const result = await installMcpService(server.serviceId, options.tool);
951
951
  if (result.success) {
952
- console.log(ansis.green(`
952
+ console.log(ansis__default.green(`
953
953
  ${i18n.t("mcp:market.installSuccess", { name: server.name })}`));
954
- console.log(ansis.dim(i18n.t("mcp:installer.restartRequired")));
954
+ console.log(ansis__default.dim(i18n.t("mcp:installer.restartRequired")));
955
955
  } else {
956
- console.log(ansis.red(`
956
+ console.log(ansis__default.red(`
957
957
  ${i18n.t("mcp:installer.installFailed", { name: server.name })}`));
958
958
  if (result.error) {
959
- console.log(ansis.dim(result.error));
959
+ console.log(ansis__default.dim(result.error));
960
960
  }
961
961
  }
962
962
  } else {
963
- console.log(ansis.green(`
963
+ console.log(ansis__default.green(`
964
964
  ${i18n.t("mcp:market.installing", { name: server.name })}`));
965
- console.log(ansis.dim(`Package: ${server.package}
965
+ console.log(ansis__default.dim(`Package: ${server.package}
966
966
  `));
967
967
  const { confirm } = await inquirer.prompt([{
968
968
  type: "confirm",
@@ -971,12 +971,12 @@ ${i18n.t("mcp:market.installing", { name: server.name })}`));
971
971
  default: true
972
972
  }]);
973
973
  if (!confirm) {
974
- console.log(ansis.yellow(i18n.t("mcp:market.cancelled")));
974
+ console.log(ansis__default.yellow(i18n.t("mcp:market.cancelled")));
975
975
  return;
976
976
  }
977
- console.log(ansis.green(`
977
+ console.log(ansis__default.green(`
978
978
  ${i18n.t("mcp:market.installSuccess", { name: server.name })}`));
979
- console.log(ansis.dim(i18n.t("mcp:market.manualConfig")));
979
+ console.log(ansis__default.dim(i18n.t("mcp:market.manualConfig")));
980
980
  }
981
981
  }
982
982
  async function mcpUninstall(serverName, options = {}) {
@@ -985,7 +985,7 @@ async function mcpUninstall(serverName, options = {}) {
985
985
  const serviceId = server?.serviceId || serverName;
986
986
  const isInstalled = await isMcpServiceInstalled(serviceId, options.tool);
987
987
  if (!isInstalled) {
988
- console.log(ansis.yellow(`
988
+ console.log(ansis__default.yellow(`
989
989
  ${i18n.t("mcp:installer.serviceNotInstalled", { id: serverName })}`));
990
990
  return;
991
991
  }
@@ -997,19 +997,19 @@ ${i18n.t("mcp:installer.serviceNotInstalled", { id: serverName })}`));
997
997
  default: false
998
998
  }]);
999
999
  if (!confirm) {
1000
- console.log(ansis.yellow(i18n.t("mcp:market.cancelled")));
1000
+ console.log(ansis__default.yellow(i18n.t("mcp:market.cancelled")));
1001
1001
  return;
1002
1002
  }
1003
1003
  const result = await uninstallMcpService(serviceId, options.tool);
1004
1004
  if (result.success) {
1005
- console.log(ansis.green(`
1005
+ console.log(ansis__default.green(`
1006
1006
  ${i18n.t("mcp:installer.uninstallSuccess", { name: displayName })}`));
1007
- console.log(ansis.dim(i18n.t("mcp:installer.restartRequired")));
1007
+ console.log(ansis__default.dim(i18n.t("mcp:installer.restartRequired")));
1008
1008
  } else {
1009
- console.log(ansis.red(`
1009
+ console.log(ansis__default.red(`
1010
1010
  ${i18n.t("mcp:installer.uninstallFailed", { name: displayName })}`));
1011
1011
  if (result.error) {
1012
- console.log(ansis.dim(result.error));
1012
+ console.log(ansis__default.dim(result.error));
1013
1013
  }
1014
1014
  }
1015
1015
  }