ccjk 11.1.2 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/chunks/agent-teams.mjs +1 -1
  2. package/dist/chunks/agent.mjs +1 -1
  3. package/dist/chunks/api-cli.mjs +118 -0
  4. package/dist/chunks/api-providers.mjs +1 -1
  5. package/dist/chunks/api.mjs +8 -759
  6. package/dist/chunks/auto-bootstrap.mjs +1 -1
  7. package/dist/chunks/auto-init.mjs +1 -1
  8. package/dist/chunks/auto-updater.mjs +1 -1
  9. package/dist/chunks/banner.mjs +1 -1
  10. package/dist/chunks/boost.mjs +1 -1
  11. package/dist/chunks/ccjk-agents.mjs +1 -1
  12. package/dist/chunks/ccjk-all.mjs +1 -1
  13. package/dist/chunks/ccjk-config.mjs +1 -1
  14. package/dist/chunks/ccjk-hooks.mjs +1 -1
  15. package/dist/chunks/ccjk-mcp.mjs +1 -1
  16. package/dist/chunks/ccjk-setup.mjs +1 -1
  17. package/dist/chunks/ccjk-skills.mjs +1 -1
  18. package/dist/chunks/ccr.mjs +6 -6
  19. package/dist/chunks/ccu.mjs +1 -1
  20. package/dist/chunks/check-updates.mjs +2 -2
  21. package/dist/chunks/claude-code-config-manager.mjs +2 -2
  22. package/dist/chunks/claude-code-incremental-manager.mjs +2 -2
  23. package/dist/chunks/claude-config.mjs +1 -1
  24. package/dist/chunks/claude-wrapper.mjs +1 -1
  25. package/dist/chunks/codex-config-switch.mjs +1 -1
  26. package/dist/chunks/codex-provider-manager.mjs +1 -1
  27. package/dist/chunks/codex-uninstaller.mjs +1 -1
  28. package/dist/chunks/codex.mjs +1 -1
  29. package/dist/chunks/commands.mjs +1 -1
  30. package/dist/chunks/completion.mjs +1 -1
  31. package/dist/chunks/config-consolidator.mjs +1 -1
  32. package/dist/chunks/config-switch.mjs +2 -2
  33. package/dist/chunks/config.mjs +1 -1
  34. package/dist/chunks/config2.mjs +1 -1
  35. package/dist/chunks/config3.mjs +1 -1
  36. package/dist/chunks/constants.mjs +1 -1
  37. package/dist/chunks/dashboard.mjs +1 -1
  38. package/dist/chunks/doctor.mjs +31 -7
  39. package/dist/chunks/evolution.mjs +1 -1
  40. package/dist/chunks/features.mjs +5 -5
  41. package/dist/chunks/index.mjs +7 -7
  42. package/dist/chunks/index2.mjs +10 -177
  43. package/dist/chunks/index3.mjs +168 -1162
  44. package/dist/chunks/index4.mjs +1076 -910
  45. package/dist/chunks/index5.mjs +947 -137
  46. package/dist/chunks/index6.mjs +167 -635
  47. package/dist/chunks/index7.mjs +663 -0
  48. package/dist/chunks/init.mjs +17 -17
  49. package/dist/chunks/installer.mjs +1 -1
  50. package/dist/chunks/interview.mjs +2 -2
  51. package/dist/chunks/marketplace.mjs +1 -1
  52. package/dist/chunks/mcp-cli.mjs +191 -0
  53. package/dist/chunks/mcp.mjs +2 -2
  54. package/dist/chunks/menu.mjs +3 -3
  55. package/dist/chunks/migrator.mjs +1 -1
  56. package/dist/chunks/monitor.mjs +1 -1
  57. package/dist/chunks/notification.mjs +1 -1
  58. package/dist/chunks/onboarding.mjs +1 -1
  59. package/dist/chunks/package.mjs +1 -1
  60. package/dist/chunks/permission-manager.mjs +1 -1
  61. package/dist/chunks/permissions.mjs +1 -1
  62. package/dist/chunks/persistence-manager.mjs +1 -1
  63. package/dist/chunks/plugin.mjs +1 -1
  64. package/dist/chunks/prompts.mjs +1 -1
  65. package/dist/chunks/providers.mjs +1 -1
  66. package/dist/chunks/quick-actions.mjs +1 -1
  67. package/dist/chunks/quick-setup.mjs +5 -5
  68. package/dist/chunks/remote.mjs +2 -2
  69. package/dist/chunks/silent-updater.mjs +1 -1
  70. package/dist/chunks/simple-config.mjs +1 -1
  71. package/dist/chunks/skill.mjs +1 -1
  72. package/dist/chunks/skills-sync.mjs +1 -1
  73. package/dist/chunks/skills.mjs +1 -1
  74. package/dist/chunks/slash-commands.mjs +2 -2
  75. package/dist/chunks/startup.mjs +1 -1
  76. package/dist/chunks/stats.mjs +1 -1
  77. package/dist/chunks/status.mjs +1 -1
  78. package/dist/chunks/team.mjs +1 -1
  79. package/dist/chunks/thinking.mjs +2 -2
  80. package/dist/chunks/uninstall.mjs +3 -3
  81. package/dist/chunks/update.mjs +4 -4
  82. package/dist/chunks/upgrade-manager.mjs +1 -1
  83. package/dist/chunks/version-checker.mjs +1 -1
  84. package/dist/chunks/vim.mjs +1 -1
  85. package/dist/chunks/zero-config.mjs +1 -1
  86. package/dist/cli.mjs +76 -16
  87. package/dist/index.d.mts +37 -10
  88. package/dist/index.d.ts +37 -10
  89. package/dist/index.mjs +2 -2
  90. package/dist/shared/{ccjk.DB2UYcq0.mjs → ccjk.BOIUTf5z.mjs} +2 -2
  91. package/dist/shared/ccjk.CL4Yat0G.mjs +303 -0
  92. package/dist/shared/{ccjk.CxtuJxaS.mjs → ccjk.CN0edl87.mjs} +1 -1
  93. package/dist/shared/{ccjk.BKoi8-Hy.mjs → ccjk.CrB6OYHv.mjs} +1 -1
  94. package/dist/shared/{ccjk.DVBW2wxp.mjs → ccjk.Dk1HDseQ.mjs} +1 -1
  95. package/dist/shared/ccjk.bhFAMRyc.mjs +460 -0
  96. package/dist/shared/ccjk.cChAaGgT.mjs +88 -0
  97. package/dist/shared/{ccjk.DrMygfCF.mjs → ccjk.j4uut26D.mjs} +1 -1
  98. package/package.json +2 -3
  99. package/dist/shared/ccjk.Cu_R2MbQ.mjs +0 -75
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, readFileSync } from 'node:fs';
2
2
  import ansis from 'ansis';
3
3
  import inquirer from 'inquirer';
4
4
  import { join } from 'pathe';
5
- import { i18n } from './index2.mjs';
5
+ import { i18n } from './index3.mjs';
6
6
  import { writeFileAtomic } from './fs-operations.mjs';
7
7
  import 'node:process';
8
8
  import 'node:url';
@@ -1,9 +1,9 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
3
  import { SETTINGS_FILE } from './constants.mjs';
4
- import { i18n } from './index2.mjs';
4
+ import { i18n } from './index3.mjs';
5
5
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
6
- import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.DrMygfCF.mjs';
6
+ import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.j4uut26D.mjs';
7
7
  import 'node:os';
8
8
  import 'pathe';
9
9
  import 'node:fs';
@@ -1,10 +1,10 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
3
  import { ZCF_CONFIG_FILE, DEFAULT_CODE_TOOL_TYPE, isCodeToolType } from './constants.mjs';
4
- import { i18n, ensureI18nInitialized } from './index2.mjs';
4
+ import { i18n, ensureI18nInitialized } from './index3.mjs';
5
5
  import { readZcfConfig } from './ccjk-config.mjs';
6
- import { r as resolveCodeType } from '../shared/ccjk.CxtuJxaS.mjs';
7
- import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.DrMygfCF.mjs';
6
+ import { r as resolveCodeType } from '../shared/ccjk.CN0edl87.mjs';
7
+ import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.j4uut26D.mjs';
8
8
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
9
9
  import { p as promptBoolean } from '../shared/ccjk.DHbrGcgg.mjs';
10
10
  import { promises } from 'node:fs';
@@ -4,14 +4,14 @@ import inquirer from 'inquirer';
4
4
  import { version } from './package.mjs';
5
5
  import { SETTINGS_FILE, DEFAULT_CODE_TOOL_TYPE, resolveCodeToolType as resolveCodeToolType$1, isCodeToolType } from './constants.mjs';
6
6
  import { r as runCodexUpdate, M as MCP_SERVICE_CONFIGS, g as getMcpServices } from './codex.mjs';
7
- import { i18n } from './index2.mjs';
7
+ import { i18n } from './index3.mjs';
8
8
  import { displayBanner } from './banner.mjs';
9
9
  import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
10
10
  import { r as readMcpConfig } from './claude-config.mjs';
11
11
  import { c as copyConfigFiles } from './config.mjs';
12
- import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration, u as updatePromptOnly, s as selectAndInstallWorkflows } from '../shared/ccjk.DVBW2wxp.mjs';
13
- import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.DrMygfCF.mjs';
14
- import { i as installMcpServices } from '../shared/ccjk.DB2UYcq0.mjs';
12
+ import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration, u as updatePromptOnly, s as selectAndInstallWorkflows } from '../shared/ccjk.Dk1HDseQ.mjs';
13
+ import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.j4uut26D.mjs';
14
+ import { a as installMcpServices } from '../shared/ccjk.BOIUTf5z.mjs';
15
15
  import { resolveAiOutputLanguage } from './prompts.mjs';
16
16
  import { checkClaudeCodeVersionAndPrompt } from './version-checker.mjs';
17
17
  import 'node:os';
@@ -5,7 +5,7 @@ import * as semver from 'semver';
5
5
  import { exec } from 'tinyexec';
6
6
  import { version } from './package.mjs';
7
7
  import { STATUS } from './banner.mjs';
8
- import './index2.mjs';
8
+ import './index3.mjs';
9
9
  import 'node:fs';
10
10
  import 'node:url';
11
11
  import 'i18next';
@@ -674,7 +674,7 @@ async function performNpmRemovalAndActivateHomebrew(_npmInstallation, homebrewIn
674
674
  }
675
675
  }
676
676
  async function handleDuplicateInstallations(skipPrompt = false) {
677
- const { ensureI18nInitialized, format, i18n } = await import('./index2.mjs');
677
+ const { ensureI18nInitialized, format, i18n } = await import('./index3.mjs');
678
678
  const ansis = (await import('ansis')).default;
679
679
  ensureI18nInitialized();
680
680
  const duplicateInfo = await checkDuplicateInstallations();
@@ -1,6 +1,6 @@
1
1
  import ansis from 'ansis';
2
2
  import inquirer from 'inquirer';
3
- import { ensureI18nInitialized, i18n } from './index2.mjs';
3
+ import { ensureI18nInitialized, i18n } from './index3.mjs';
4
4
  import { existsSync, readFileSync } from 'node:fs';
5
5
  import { readFile, writeFile, mkdir } from 'node:fs/promises';
6
6
  import { homedir } from 'node:os';
@@ -2,7 +2,7 @@ import { existsSync, readFileSync } from 'node:fs';
2
2
  import ansis from 'ansis';
3
3
  import inquirer from 'inquirer';
4
4
  import { SETTINGS_FILE, CLAUDE_DIR } from './constants.mjs';
5
- import { i18n } from './index2.mjs';
5
+ import { i18n } from './index3.mjs';
6
6
  import { ensureDir, writeFileAtomic } from './fs-operations.mjs';
7
7
  import { m as mergeAndCleanPermissions } from '../shared/ccjk.BiCrMV5O.mjs';
8
8
  import { a as addNumbersToChoices } from '../shared/ccjk.BFQ7yr5S.mjs';
package/dist/cli.mjs CHANGED
@@ -88,7 +88,8 @@ const COMMANDS = [
88
88
  options: [
89
89
  { flags: "--check-providers", description: "Check API provider health" },
90
90
  { flags: "--code-type, -T <type>", description: "Code tool type" },
91
- { flags: "--fix-settings", description: "Fix settings.json validation issues" }
91
+ { flags: "--fix-settings", description: "Fix settings.json validation issues" },
92
+ { flags: "--json", description: "Output in JSON format" }
92
93
  ],
93
94
  loader: async () => {
94
95
  const { doctor } = await import('./chunks/doctor.mjs');
@@ -96,7 +97,8 @@ const COMMANDS = [
96
97
  await doctor({
97
98
  checkProviders: options.checkProviders,
98
99
  codeType: options.codeType,
99
- fixSettings: options.fixSettings
100
+ fixSettings: options.fixSettings,
101
+ json: options.json
100
102
  });
101
103
  };
102
104
  }
@@ -120,7 +122,10 @@ const COMMANDS = [
120
122
  tier: "extended",
121
123
  options: [
122
124
  { flags: "--verbose, -v", description: "Verbose output" },
123
- { flags: "--dry-run, -d", description: "Preview changes" }
125
+ { flags: "--dry-run, -d", description: "Preview changes" },
126
+ { flags: "--yes, -y", description: "Skip confirmation prompts" },
127
+ { flags: "--installed", description: "Show only installed services" },
128
+ { flags: "--json", description: "Output in JSON format" }
124
129
  ],
125
130
  loader: async () => {
126
131
  return async (options, action, args) => {
@@ -146,17 +151,46 @@ const COMMANDS = [
146
151
  const { mcpHelp } = await import('./chunks/mcp.mjs');
147
152
  mcpHelp(options);
148
153
  } else if (actionStr === "list") {
149
- const { mcpList } = await import('./chunks/mcp.mjs');
150
- await mcpList(options);
154
+ if (options.json || options.installed) {
155
+ const { mcpListCli } = await import('./chunks/mcp-cli.mjs');
156
+ await mcpListCli({
157
+ json: options.json,
158
+ installed: options.installed,
159
+ lang: options.lang
160
+ });
161
+ } else {
162
+ const { mcpList } = await import('./chunks/mcp.mjs');
163
+ await mcpList(options);
164
+ }
151
165
  } else if (actionStr === "search") {
152
166
  const { mcpSearch } = await import('./chunks/mcp.mjs');
153
167
  await mcpSearch(argsArr[0] || "", options);
154
168
  } else if (actionStr === "install") {
155
- const { mcpInstall } = await import('./chunks/mcp.mjs');
156
- await mcpInstall(argsArr[0] || "", options);
169
+ if (argsArr.length > 1 || options.yes) {
170
+ const { mcpInstallCli } = await import('./chunks/mcp-cli.mjs');
171
+ await mcpInstallCli({
172
+ services: argsArr,
173
+ yes: options.yes,
174
+ tool: options.tool,
175
+ lang: options.lang
176
+ });
177
+ } else {
178
+ const { mcpInstall } = await import('./chunks/mcp.mjs');
179
+ await mcpInstall(argsArr[0] || "", options);
180
+ }
157
181
  } else if (actionStr === "uninstall") {
158
- const { mcpUninstall } = await import('./chunks/mcp.mjs');
159
- await mcpUninstall(argsArr[0] || "", options);
182
+ if (argsArr.length > 1 || options.yes) {
183
+ const { mcpUninstallCli } = await import('./chunks/mcp-cli.mjs');
184
+ await mcpUninstallCli({
185
+ services: argsArr,
186
+ yes: options.yes,
187
+ tool: options.tool,
188
+ lang: options.lang
189
+ });
190
+ } else {
191
+ const { mcpUninstall } = await import('./chunks/mcp.mjs');
192
+ await mcpUninstall(argsArr[0] || "", options);
193
+ }
160
194
  } else {
161
195
  const { mcpHelp } = await import('./chunks/mcp.mjs');
162
196
  mcpHelp(options);
@@ -489,7 +523,7 @@ const COMMANDS = [
489
523
  ],
490
524
  loader: async () => {
491
525
  return async (options, action, args) => {
492
- const { initI18n } = await import('./chunks/index2.mjs');
526
+ const { initI18n } = await import('./chunks/index3.mjs');
493
527
  await initI18n(options.lang || "zh-CN");
494
528
  const actionStr = action;
495
529
  const argsArr = args;
@@ -741,12 +775,38 @@ const COMMANDS = [
741
775
  options: [
742
776
  { flags: "--provider, -p <provider>", description: "Provider ID" },
743
777
  { flags: "--key, -k <key>", description: "API key" },
778
+ { flags: "--url <url>", description: "API URL" },
779
+ { flags: "--model <model>", description: "Default model" },
780
+ { flags: "--fast-model <model>", description: "Fast model" },
781
+ { flags: "--yes, -y", description: "Skip confirmation prompts" },
782
+ { flags: "--json", description: "Output in JSON format" },
744
783
  { flags: "--test, -t", description: "Test connection" }
745
784
  ],
746
785
  loader: async () => {
747
- const { apiCommand } = await import('./chunks/api.mjs');
748
786
  return async (options, action, args) => {
749
- await apiCommand(action || "wizard", args || [], options);
787
+ const actionStr = action || "wizard";
788
+ const argsArr = args || [];
789
+ if (actionStr === "configure" || actionStr === "setup" && (options.provider || options.yes)) {
790
+ const { apiConfigure } = await import('./chunks/api-cli.mjs');
791
+ await apiConfigure({
792
+ provider: options.provider,
793
+ key: options.key,
794
+ url: options.url,
795
+ model: options.model,
796
+ fastModel: options.fastModel,
797
+ yes: options.yes,
798
+ lang: options.lang
799
+ });
800
+ } else if (actionStr === "list" && options.json) {
801
+ const { apiList } = await import('./chunks/api-cli.mjs');
802
+ await apiList({
803
+ json: options.json,
804
+ lang: options.lang
805
+ });
806
+ } else {
807
+ const { apiCommand } = await import('./chunks/api.mjs');
808
+ await apiCommand(actionStr, argsArr, options);
809
+ }
750
810
  };
751
811
  }
752
812
  },
@@ -822,7 +882,7 @@ const COMMANDS = [
822
882
  return async (options, action, args) => {
823
883
  const actionStr = action;
824
884
  const argsArr = args || [];
825
- const { getPostmortemManager } = await import('./chunks/index3.mjs');
885
+ const { getPostmortemManager } = await import('./chunks/index4.mjs');
826
886
  const manager = getPostmortemManager(process__default.cwd());
827
887
  if (actionStr === "init") {
828
888
  const ora = (await import('ora')).default;
@@ -1643,7 +1703,7 @@ ${ansis.yellow("By Status:")}`);
1643
1703
  { flags: "--lang, -l <lang>", description: "Display language (zh-CN, en)" }
1644
1704
  ],
1645
1705
  loader: async () => {
1646
- const { addCommand } = await import('./chunks/index4.mjs');
1706
+ const { addCommand } = await import('./chunks/index5.mjs');
1647
1707
  return async (options, source) => {
1648
1708
  await addCommand(source, {
1649
1709
  type: options.type,
@@ -1661,7 +1721,7 @@ let currentLang = "en";
1661
1721
  async function initI18nLazy(lang) {
1662
1722
  if (i18nInitialized && lang === currentLang)
1663
1723
  return;
1664
- const { initI18n, changeLanguage } = await import('./chunks/index2.mjs');
1724
+ const { initI18n, changeLanguage } = await import('./chunks/index3.mjs');
1665
1725
  if (!i18nInitialized) {
1666
1726
  await initI18n(lang || "en");
1667
1727
  i18nInitialized = true;
@@ -2120,7 +2180,7 @@ function bootstrapCloudServices() {
2120
2180
  await autoBootstrap();
2121
2181
  const { autoUpgrade } = await import('./chunks/silent-updater.mjs');
2122
2182
  await autoUpgrade();
2123
- const { activateSuperpowers } = await import('./chunks/index5.mjs');
2183
+ const { activateSuperpowers } = await import('./chunks/index6.mjs');
2124
2184
  await activateSuperpowers("zh-CN");
2125
2185
  const { setupBrainHook } = await import('./chunks/cli-hook.mjs');
2126
2186
  await setupBrainHook({
package/dist/index.d.mts CHANGED
@@ -1809,36 +1809,63 @@ declare namespace i18nHelpers {
1809
1809
  }
1810
1810
 
1811
1811
  /**
1812
- * CCJK Logger - MUD Style
1813
- *
1814
- * Structured logging with terminal green aesthetics
1812
+ * Logger Type Definitions
1815
1813
  */
1816
- type LogLevel$1 = 'debug' | 'info' | 'warn' | 'error';
1814
+ type LogLevel$1 = 'debug' | 'info' | 'success' | 'warn' | 'error';
1815
+ type OutputMode = 'text' | 'json' | 'silent';
1816
+ interface LogEntry {
1817
+ level: LogLevel$1;
1818
+ message: string;
1819
+ timestamp: string;
1820
+ data?: unknown;
1821
+ }
1817
1822
  interface LoggerOptions$1 {
1818
1823
  level?: LogLevel$1;
1824
+ mode?: OutputMode;
1819
1825
  silent?: boolean;
1820
1826
  }
1821
- declare class Logger$1 {
1827
+ interface ILogger {
1828
+ debug(message: string, data?: unknown): void;
1829
+ info(message: string, data?: unknown): void;
1830
+ success(message: string, data?: unknown): void;
1831
+ warn(message: string, data?: unknown): void;
1832
+ error(message: string, data?: unknown): void;
1833
+ setMode(mode: OutputMode): void;
1834
+ setLevel(level: LogLevel$1): void;
1835
+ }
1836
+
1837
+ /**
1838
+ * CCJK Logger - MUD Style
1839
+ *
1840
+ * Structured logging with terminal green aesthetics
1841
+ */
1842
+
1843
+ declare class Logger$1 implements ILogger {
1822
1844
  private level;
1823
- private silent;
1845
+ private mode;
1824
1846
  private levels;
1825
1847
  constructor(options?: LoggerOptions$1);
1826
1848
  private shouldLog;
1827
- private format;
1828
- /** MUD-style color scheme for log levels */
1829
- private colorize;
1849
+ private createEntry;
1850
+ private output;
1851
+ private colorizePrefix;
1830
1852
  debug(message: string, data?: unknown): void;
1831
1853
  info(message: string, data?: unknown): void;
1854
+ success(message: string, data?: unknown): void;
1832
1855
  warn(message: string, data?: unknown): void;
1833
1856
  error(message: string, data?: unknown): void;
1834
1857
  setLevel(level: LogLevel$1): void;
1858
+ setMode(mode: OutputMode): void;
1835
1859
  setSilent(silent: boolean): void;
1836
1860
  }
1837
1861
  declare const logger$1: Logger$1;
1838
1862
 
1863
+ type logger$2_ILogger = ILogger;
1864
+ type logger$2_LogEntry = LogEntry;
1865
+ type logger$2_OutputMode = OutputMode;
1839
1866
  declare namespace logger$2 {
1840
1867
  export { Logger$1 as Logger, logger$1 as logger };
1841
- export type { LogLevel$1 as LogLevel, LoggerOptions$1 as LoggerOptions };
1868
+ export type { logger$2_ILogger as ILogger, logger$2_LogEntry as LogEntry, LogLevel$1 as LogLevel, LoggerOptions$1 as LoggerOptions, logger$2_OutputMode as OutputMode };
1842
1869
  }
1843
1870
 
1844
1871
  /**
package/dist/index.d.ts CHANGED
@@ -1809,36 +1809,63 @@ declare namespace i18nHelpers {
1809
1809
  }
1810
1810
 
1811
1811
  /**
1812
- * CCJK Logger - MUD Style
1813
- *
1814
- * Structured logging with terminal green aesthetics
1812
+ * Logger Type Definitions
1815
1813
  */
1816
- type LogLevel$1 = 'debug' | 'info' | 'warn' | 'error';
1814
+ type LogLevel$1 = 'debug' | 'info' | 'success' | 'warn' | 'error';
1815
+ type OutputMode = 'text' | 'json' | 'silent';
1816
+ interface LogEntry {
1817
+ level: LogLevel$1;
1818
+ message: string;
1819
+ timestamp: string;
1820
+ data?: unknown;
1821
+ }
1817
1822
  interface LoggerOptions$1 {
1818
1823
  level?: LogLevel$1;
1824
+ mode?: OutputMode;
1819
1825
  silent?: boolean;
1820
1826
  }
1821
- declare class Logger$1 {
1827
+ interface ILogger {
1828
+ debug(message: string, data?: unknown): void;
1829
+ info(message: string, data?: unknown): void;
1830
+ success(message: string, data?: unknown): void;
1831
+ warn(message: string, data?: unknown): void;
1832
+ error(message: string, data?: unknown): void;
1833
+ setMode(mode: OutputMode): void;
1834
+ setLevel(level: LogLevel$1): void;
1835
+ }
1836
+
1837
+ /**
1838
+ * CCJK Logger - MUD Style
1839
+ *
1840
+ * Structured logging with terminal green aesthetics
1841
+ */
1842
+
1843
+ declare class Logger$1 implements ILogger {
1822
1844
  private level;
1823
- private silent;
1845
+ private mode;
1824
1846
  private levels;
1825
1847
  constructor(options?: LoggerOptions$1);
1826
1848
  private shouldLog;
1827
- private format;
1828
- /** MUD-style color scheme for log levels */
1829
- private colorize;
1849
+ private createEntry;
1850
+ private output;
1851
+ private colorizePrefix;
1830
1852
  debug(message: string, data?: unknown): void;
1831
1853
  info(message: string, data?: unknown): void;
1854
+ success(message: string, data?: unknown): void;
1832
1855
  warn(message: string, data?: unknown): void;
1833
1856
  error(message: string, data?: unknown): void;
1834
1857
  setLevel(level: LogLevel$1): void;
1858
+ setMode(mode: OutputMode): void;
1835
1859
  setSilent(silent: boolean): void;
1836
1860
  }
1837
1861
  declare const logger$1: Logger$1;
1838
1862
 
1863
+ type logger$2_ILogger = ILogger;
1864
+ type logger$2_LogEntry = LogEntry;
1865
+ type logger$2_OutputMode = OutputMode;
1839
1866
  declare namespace logger$2 {
1840
1867
  export { Logger$1 as Logger, logger$1 as logger };
1841
- export type { LogLevel$1 as LogLevel, LoggerOptions$1 as LoggerOptions };
1868
+ export type { logger$2_ILogger as ILogger, logger$2_LogEntry as LogEntry, LogLevel$1 as LogLevel, LoggerOptions$1 as LoggerOptions, logger$2_OutputMode as OutputMode };
1842
1869
  }
1843
1870
 
1844
1871
  /**
package/dist/index.mjs CHANGED
@@ -9,7 +9,7 @@ import { version } from './chunks/package.mjs';
9
9
  import { join as join$1 } from 'pathe';
10
10
  export { j as config } from './chunks/config.mjs';
11
11
  export { e as extractDisplayName, a as extractString, i as i18nHelpers, n as normalizeRecommendation, b as normalizeRecommendations } from './shared/ccjk.AqnXPAzw.mjs';
12
- export { a as loggerUtils } from './shared/ccjk.Cu_R2MbQ.mjs';
12
+ export { a as loggerUtils } from './shared/ccjk.cChAaGgT.mjs';
13
13
  export { p as platform } from './chunks/platform.mjs';
14
14
  import { Transform } from 'node:stream';
15
15
  import { pipeline } from 'node:stream/promises';
@@ -17,7 +17,7 @@ import 'node:url';
17
17
  import 'dayjs';
18
18
  import 'inquirer';
19
19
  import './chunks/constants.mjs';
20
- import './chunks/index2.mjs';
20
+ import './chunks/index3.mjs';
21
21
  import 'node:process';
22
22
  import 'i18next';
23
23
  import 'i18next-fs-backend';
@@ -6,7 +6,7 @@ import { SETTINGS_FILE, CLAUDE_DIR, ClAUDE_CONFIG_FILE, CODEX_CONFIG_FILE } from
6
6
  import { exists, ensureDir } from '../chunks/fs-operations.mjs';
7
7
  import { readJsonConfig, writeJsonConfig } from '../chunks/json-config.mjs';
8
8
  import { d as deepMerge, r as readMcpConfig, a as buildMcpServerConfig, w as writeMcpConfig } from '../chunks/claude-config.mjs';
9
- import { ensureI18nInitialized, i18n } from '../chunks/index2.mjs';
9
+ import { ensureI18nInitialized, i18n } from '../chunks/index3.mjs';
10
10
  import { i as isWindows, l as getSystemRoot } from '../chunks/platform.mjs';
11
11
 
12
12
  function readClaudeConfig(configPath = SETTINGS_FILE) {
@@ -349,4 +349,4 @@ async function removeAuthorizeMcpService(serviceId) {
349
349
  }
350
350
  }
351
351
 
352
- export { isMcpServiceInstalled as a, installMcpService as b, displayInstalledMcpServices as d, installMcpServices as i, uninstallMcpService as u };
352
+ export { installMcpServices as a, isMcpServiceInstalled as b, displayInstalledMcpServices as d, installMcpService as i, uninstallMcpService as u };