ccjk 12.0.0 → 12.0.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 (161) hide show
  1. package/dist/chunks/agent-teams.mjs +17 -18
  2. package/dist/chunks/agent.mjs +105 -102
  3. package/dist/chunks/agents.mjs +87 -77
  4. package/dist/chunks/api-cli.mjs +41 -27
  5. package/dist/chunks/api-providers.mjs +2 -4
  6. package/dist/chunks/api.mjs +22 -11
  7. package/dist/chunks/auto-bootstrap.mjs +3 -5
  8. package/dist/chunks/auto-init.mjs +3 -4
  9. package/dist/chunks/auto-updater.mjs +103 -91
  10. package/dist/chunks/banner.mjs +41 -42
  11. package/dist/chunks/boost.mjs +30 -31
  12. package/dist/chunks/ccjk-agents.mjs +6 -9
  13. package/dist/chunks/ccjk-all.mjs +703 -85
  14. package/dist/chunks/ccjk-config.mjs +6 -6
  15. package/dist/chunks/ccjk-hooks.mjs +20 -9
  16. package/dist/chunks/ccjk-mcp.mjs +64 -52
  17. package/dist/chunks/ccjk-setup.mjs +35 -25
  18. package/dist/chunks/ccjk-skills.mjs +51 -41
  19. package/dist/chunks/ccr.mjs +42 -32
  20. package/dist/chunks/ccu.mjs +16 -12
  21. package/dist/chunks/check-updates.mjs +30 -19
  22. package/dist/chunks/claude-code-config-manager.mjs +25 -10
  23. package/dist/chunks/claude-code-incremental-manager.mjs +65 -51
  24. package/dist/chunks/claude-config.mjs +2 -2
  25. package/dist/chunks/claude-wrapper.mjs +9 -6
  26. package/dist/chunks/cleanup-migration.mjs +1 -1
  27. package/dist/chunks/cli-hook.mjs +10 -3
  28. package/dist/chunks/cloud-sync.mjs +1 -1
  29. package/dist/chunks/codex-config-switch.mjs +58 -45
  30. package/dist/chunks/codex-provider-manager.mjs +29 -16
  31. package/dist/chunks/codex-uninstaller.mjs +5 -6
  32. package/dist/chunks/codex.mjs +89 -89
  33. package/dist/chunks/commands.mjs +28 -29
  34. package/dist/chunks/commands2.mjs +4 -3
  35. package/dist/chunks/commit.mjs +42 -23
  36. package/dist/chunks/completion.mjs +46 -47
  37. package/dist/chunks/config-consolidator.mjs +12 -13
  38. package/dist/chunks/config-switch.mjs +66 -53
  39. package/dist/chunks/config.mjs +10 -10
  40. package/dist/chunks/config2.mjs +53 -42
  41. package/dist/chunks/config3.mjs +107 -93
  42. package/dist/chunks/constants.mjs +2 -4
  43. package/dist/chunks/context-loader.mjs +5 -4
  44. package/dist/chunks/context.mjs +77 -76
  45. package/dist/chunks/convoy-manager.mjs +4 -4
  46. package/dist/chunks/dashboard.mjs +28 -29
  47. package/dist/chunks/doctor.mjs +68 -54
  48. package/dist/chunks/evolution.mjs +37 -38
  49. package/dist/chunks/features.mjs +103 -92
  50. package/dist/chunks/fs-operations.mjs +1 -1
  51. package/dist/chunks/health-alerts.mjs +1 -1
  52. package/dist/chunks/health-check.mjs +1 -1
  53. package/dist/chunks/help.mjs +117 -116
  54. package/dist/chunks/hook-installer.mjs +3 -2
  55. package/dist/chunks/index.mjs +20 -6
  56. package/dist/chunks/index10.mjs +1171 -0
  57. package/dist/chunks/index11.mjs +1008 -0
  58. package/dist/chunks/index12.mjs +193 -0
  59. package/dist/chunks/index13.mjs +218 -0
  60. package/dist/chunks/index14.mjs +663 -0
  61. package/dist/chunks/index2.mjs +19 -10
  62. package/dist/chunks/index3.mjs +19079 -164
  63. package/dist/chunks/index4.mjs +8 -1171
  64. package/dist/chunks/index5.mjs +7479 -884
  65. package/dist/chunks/index6.mjs +160 -184
  66. package/dist/chunks/index7.mjs +3573 -653
  67. package/dist/chunks/index8.mjs +19 -0
  68. package/dist/chunks/index9.mjs +616 -0
  69. package/dist/chunks/init.mjs +173 -173
  70. package/dist/chunks/installer.mjs +92 -82
  71. package/dist/chunks/installer2.mjs +3 -2
  72. package/dist/chunks/interview.mjs +118 -107
  73. package/dist/chunks/json-config.mjs +3 -2
  74. package/dist/chunks/linux.mjs +3863 -0
  75. package/dist/chunks/macos.mjs +69 -0
  76. package/dist/chunks/main.mjs +635 -0
  77. package/dist/chunks/marketplace.mjs +69 -66
  78. package/dist/chunks/mcp-cli.mjs +61 -48
  79. package/dist/chunks/mcp.mjs +140 -127
  80. package/dist/chunks/menu.mjs +85 -85
  81. package/dist/chunks/metrics-display.mjs +41 -40
  82. package/dist/chunks/migrator.mjs +4 -5
  83. package/dist/chunks/monitor.mjs +95 -95
  84. package/dist/chunks/notification.mjs +151 -141
  85. package/dist/chunks/onboarding.mjs +26 -15
  86. package/dist/chunks/package.mjs +1 -1
  87. package/dist/chunks/paradigm.mjs +24 -23
  88. package/dist/chunks/permission-manager.mjs +10 -11
  89. package/dist/chunks/permissions.mjs +72 -57
  90. package/dist/chunks/persistence-manager.mjs +97 -84
  91. package/dist/chunks/persistence.mjs +1 -1
  92. package/dist/chunks/platform.mjs +29 -29
  93. package/dist/chunks/plugin.mjs +104 -105
  94. package/dist/chunks/prompts.mjs +36 -25
  95. package/dist/chunks/providers.mjs +68 -69
  96. package/dist/chunks/quick-actions.mjs +71 -72
  97. package/dist/chunks/quick-provider.mjs +56 -40
  98. package/dist/chunks/quick-setup.mjs +71 -60
  99. package/dist/chunks/remote.mjs +21 -12
  100. package/dist/chunks/session.mjs +116 -103
  101. package/dist/chunks/sessions.mjs +29 -28
  102. package/dist/chunks/silent-updater.mjs +8 -10
  103. package/dist/chunks/simple-config.mjs +13 -10
  104. package/dist/chunks/skill.mjs +8560 -103
  105. package/dist/chunks/skills-sync.mjs +5212 -79
  106. package/dist/chunks/skills.mjs +105 -94
  107. package/dist/chunks/slash-commands.mjs +36 -37
  108. package/dist/chunks/smart-defaults.mjs +7 -3
  109. package/dist/chunks/smart-guide.mjs +1 -1
  110. package/dist/chunks/startup.mjs +2 -4
  111. package/dist/chunks/stats.mjs +41 -42
  112. package/dist/chunks/status.mjs +49 -50
  113. package/dist/chunks/team.mjs +24 -12
  114. package/dist/chunks/thinking.mjs +74 -63
  115. package/dist/chunks/trace.mjs +20 -19
  116. package/dist/chunks/uninstall.mjs +69 -56
  117. package/dist/chunks/update.mjs +39 -28
  118. package/dist/chunks/upgrade-manager.mjs +24 -18
  119. package/dist/chunks/version-checker.mjs +45 -41
  120. package/dist/chunks/vim.mjs +81 -69
  121. package/dist/chunks/windows.mjs +14 -0
  122. package/dist/chunks/workflows.mjs +15 -15
  123. package/dist/chunks/wsl.mjs +129 -0
  124. package/dist/chunks/zero-config.mjs +45 -34
  125. package/dist/cli.mjs +20 -20
  126. package/dist/index.mjs +41 -31
  127. package/dist/shared/ccjk.BAGoDD49.mjs +36 -0
  128. package/dist/shared/ccjk.BBtCGd_g.mjs +899 -0
  129. package/dist/shared/{ccjk.CGcy7cNM.mjs → ccjk.BDKUdmLk.mjs} +1 -1
  130. package/dist/shared/{ccjk.DtMBiwVG.mjs → ccjk.BFxsJM0k.mjs} +1 -1
  131. package/dist/shared/{ccjk.j4uut26D.mjs → ccjk.BIxuVL3_.mjs} +5 -5
  132. package/dist/shared/ccjk.BRZ9ww8S.mjs +142 -0
  133. package/dist/shared/{ccjk.CN0edl87.mjs → ccjk.BSYWk9ML.mjs} +1 -1
  134. package/dist/shared/{ccjk.Dk1HDseQ.mjs → ccjk.BnpWvs9V.mjs} +75 -75
  135. package/dist/shared/ccjk.BoApaI4j.mjs +28 -0
  136. package/dist/shared/{ccjk.DKojSRzw.mjs → ccjk.BrPUmTqm.mjs} +1 -1
  137. package/dist/shared/{ccjk.C10pepYx.mjs → ccjk.BxSmJ8B7.mjs} +1 -1
  138. package/dist/shared/ccjk.Bx_rmYfN.mjs +69 -0
  139. package/dist/shared/ccjk.COweQ1RR.mjs +5 -0
  140. package/dist/shared/{ccjk.BN90X6oc.mjs → ccjk.CePkJq2S.mjs} +17 -17
  141. package/dist/shared/{ccjk.Bvoex4TZ.mjs → ccjk.CfKKcvWy.mjs} +1 -1
  142. package/dist/shared/ccjk.Cjgrln_h.mjs +297 -0
  143. package/dist/shared/ccjk.CxpGa6MC.mjs +2724 -0
  144. package/dist/shared/{ccjk.DfwJOEok.mjs → ccjk.D5MFQT7w.mjs} +1 -1
  145. package/dist/shared/{ccjk.cChAaGgT.mjs → ccjk.DG_o24cZ.mjs} +6 -6
  146. package/dist/shared/{ccjk.bhFAMRyc.mjs → ccjk.DLLw-h4Y.mjs} +32 -32
  147. package/dist/shared/ccjk.DOwtZMk8.mjs +4019 -0
  148. package/dist/shared/{ccjk.BsXQugfY.mjs → ccjk.DTdjs-qK.mjs} +13 -13
  149. package/dist/shared/{ccjk.Bdhyg3X-.mjs → ccjk.DsYaCCx4.mjs} +1 -1
  150. package/dist/shared/ccjk.KfSWcGlE.mjs +38 -0
  151. package/dist/shared/ccjk.RyizuzOI.mjs +21 -0
  152. package/dist/shared/{ccjk.h7_W-wTs.mjs → ccjk.SPoXMvZD.mjs} +1 -1
  153. package/dist/shared/ccjk.T_cX87dY.mjs +15 -0
  154. package/dist/shared/{ccjk.CrB6OYHv.mjs → ccjk._dESH4Rk.mjs} +2 -2
  155. package/dist/shared/ccjk.bQ7Dh1g4.mjs +249 -0
  156. package/dist/shared/{ccjk.CBhIZiPz.mjs → ccjk.hoqrwWdN.mjs} +1 -1
  157. package/dist/shared/{ccjk.BNwRnWYx.mjs → ccjk.s7OCVzdd.mjs} +1230 -33
  158. package/dist/shared/{ccjk.BOIUTf5z.mjs → ccjk.waa2ikKJ.mjs} +8 -9
  159. package/package.json +31 -30
  160. package/dist/shared/ccjk.DHbrGcgg.mjs +0 -13
  161. package/dist/shared/ccjk.DntgA8fQ.mjs +0 -42
@@ -3,9 +3,22 @@ import { mkdir, writeFile, readFile, readdir, rm, stat } from 'node:fs/promises'
3
3
  import { homedir } from 'node:os';
4
4
  import { join as join$1 } from 'node:path';
5
5
  import process__default from 'node:process';
6
- import ansis from 'ansis';
7
- import inquirer from 'inquirer';
8
- import { join } from 'pathe';
6
+ import a from './index2.mjs';
7
+ import { i as inquirer } from './index3.mjs';
8
+ import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
9
+ import '../shared/ccjk.BAGoDD49.mjs';
10
+ import 'node:readline';
11
+ import 'stream';
12
+ import 'node:tty';
13
+ import 'node:async_hooks';
14
+ import '../shared/ccjk.Cjgrln_h.mjs';
15
+ import 'node:util';
16
+ import 'tty';
17
+ import 'fs';
18
+ import 'child_process';
19
+ import 'node:crypto';
20
+ import 'buffer';
21
+ import 'string_decoder';
9
22
 
10
23
  class SessionManager {
11
24
  sessionsDir;
@@ -318,12 +331,12 @@ async function saveSession() {
318
331
  }
319
332
  const sessionFile = join$1(SESSIONS_DIR, `${sessionId}.json`);
320
333
  await writeFile(sessionFile, JSON.stringify(metadata, null, 2));
321
- console.log(ansis.green(`\u2714 Session saved: ${sessionId}`));
334
+ console.log(a.green(`\u2714 Session saved: ${sessionId}`));
322
335
  if (description) {
323
- console.log(ansis.gray(` ${description}`));
336
+ console.log(a.gray(` ${description}`));
324
337
  }
325
338
  } catch (error) {
326
- console.error(ansis.red("Failed to save session:"), error);
339
+ console.error(a.red("Failed to save session:"), error);
327
340
  }
328
341
  }
329
342
  async function listSessions() {
@@ -331,52 +344,52 @@ async function listSessions() {
331
344
  const sessionManager = getSessionManager();
332
345
  const sessions = await sessionManager.listSessions();
333
346
  if (sessions.length === 0) {
334
- console.log(ansis.yellow("No sessions found"));
335
- console.log(ansis.gray(`
336
- Create a new session with: ${ansis.green("ccjk session create")}`));
347
+ console.log(a.yellow("No sessions found"));
348
+ console.log(a.gray(`
349
+ Create a new session with: ${a.green("ccjk session create")}`));
337
350
  return;
338
351
  }
339
- console.log(ansis.green.bold("\n\u{1F4CB} Saved Sessions:\n"));
352
+ console.log(a.green.bold("\n\u{1F4CB} Saved Sessions:\n"));
340
353
  const sortedSessions = [...sessions].sort((a, b) => {
341
354
  const aTime = a.lastUsedAt?.getTime() || a.createdAt.getTime();
342
355
  const bTime = b.lastUsedAt?.getTime() || b.createdAt.getTime();
343
356
  return bTime - aTime;
344
357
  });
345
358
  for (const session of sortedSessions) {
346
- const nameDisplay = session.name ? ansis.green(session.name) : ansis.gray("(unnamed)");
347
- const idDisplay = ansis.gray(`[${session.id.substring(0, 8)}]`);
359
+ const nameDisplay = session.name ? a.green(session.name) : a.gray("(unnamed)");
360
+ const idDisplay = a.gray(`[${session.id.substring(0, 8)}]`);
348
361
  console.log(` ${nameDisplay} ${idDisplay}`);
349
362
  if (session.provider) {
350
- console.log(ansis.gray(` Provider: ${session.provider}`));
363
+ console.log(a.gray(` Provider: ${session.provider}`));
351
364
  }
352
365
  const createdDate = session.createdAt.toLocaleString();
353
- console.log(ansis.gray(` Created: ${createdDate}`));
366
+ console.log(a.gray(` Created: ${createdDate}`));
354
367
  if (session.lastUsedAt) {
355
368
  const accessedDate = session.lastUsedAt.toLocaleString();
356
- console.log(ansis.gray(` Last accessed: ${accessedDate}`));
369
+ console.log(a.gray(` Last accessed: ${accessedDate}`));
357
370
  }
358
371
  if (session.history.length > 0) {
359
- console.log(ansis.gray(` History: ${session.history.length} entries`));
372
+ console.log(a.gray(` History: ${session.history.length} entries`));
360
373
  }
361
374
  console.log("");
362
375
  }
363
- console.log(ansis.gray(`Total: ${sessions.length} session(s)`));
364
- console.log(ansis.gray(`
365
- Use ${ansis.green("ccjk --resume <name|id>")} to resume a session`));
376
+ console.log(a.gray(`Total: ${sessions.length} session(s)`));
377
+ console.log(a.gray(`
378
+ Use ${a.green("ccjk --resume <name|id>")} to resume a session`));
366
379
  } catch (error) {
367
- console.error(ansis.red("Failed to list sessions:"), error);
380
+ console.error(a.red("Failed to list sessions:"), error);
368
381
  }
369
382
  }
370
383
  async function restoreSession(sessionId) {
371
384
  try {
372
385
  if (!existsSync(SESSIONS_DIR)) {
373
- console.log(ansis.yellow("No sessions found"));
386
+ console.log(a.yellow("No sessions found"));
374
387
  return;
375
388
  }
376
389
  const files = await readdir(SESSIONS_DIR);
377
390
  const sessions = files.filter((f) => f.endsWith(".json"));
378
391
  if (sessions.length === 0) {
379
- console.log(ansis.yellow("No sessions found"));
392
+ console.log(a.yellow("No sessions found"));
380
393
  return;
381
394
  }
382
395
  if (!sessionId) {
@@ -401,29 +414,29 @@ async function restoreSession(sessionId) {
401
414
  }
402
415
  const sessionFile = join$1(SESSIONS_DIR, `${sessionId}.json`);
403
416
  if (!existsSync(sessionFile)) {
404
- console.log(ansis.red(`Session not found: ${sessionId}`));
417
+ console.log(a.red(`Session not found: ${sessionId}`));
405
418
  return;
406
419
  }
407
420
  const content = await readFile(sessionFile, "utf-8");
408
421
  const metadata = JSON.parse(content);
409
- console.log(ansis.green(`\u2714 Session restored: ${metadata.id}`));
422
+ console.log(a.green(`\u2714 Session restored: ${metadata.id}`));
410
423
  if (metadata.description) {
411
- console.log(ansis.gray(` ${metadata.description}`));
424
+ console.log(a.gray(` ${metadata.description}`));
412
425
  }
413
426
  } catch (error) {
414
- console.error(ansis.red("Failed to restore session:"), error);
427
+ console.error(a.red("Failed to restore session:"), error);
415
428
  }
416
429
  }
417
430
  async function exportSession(sessionId) {
418
431
  try {
419
432
  if (!existsSync(SESSIONS_DIR)) {
420
- console.log(ansis.yellow("No sessions found"));
433
+ console.log(a.yellow("No sessions found"));
421
434
  return;
422
435
  }
423
436
  const files = await readdir(SESSIONS_DIR);
424
437
  const sessions = files.filter((f) => f.endsWith(".json"));
425
438
  if (sessions.length === 0) {
426
- console.log(ansis.yellow("No sessions found"));
439
+ console.log(a.yellow("No sessions found"));
427
440
  return;
428
441
  }
429
442
  if (!sessionId) {
@@ -448,7 +461,7 @@ async function exportSession(sessionId) {
448
461
  }
449
462
  const sessionFile = join$1(SESSIONS_DIR, `${sessionId}.json`);
450
463
  if (!existsSync(sessionFile)) {
451
- console.log(ansis.red(`Session not found: ${sessionId}`));
464
+ console.log(a.red(`Session not found: ${sessionId}`));
452
465
  return;
453
466
  }
454
467
  const content = await readFile(sessionFile, "utf-8");
@@ -464,9 +477,9 @@ Session data would be exported here.
464
477
  `;
465
478
  const outputFile = join$1(process__default.cwd(), `${sessionId}.md`);
466
479
  await writeFile(outputFile, markdown);
467
- console.log(ansis.green(`\u2714 Session exported: ${outputFile}`));
480
+ console.log(a.green(`\u2714 Session exported: ${outputFile}`));
468
481
  } catch (error) {
469
- console.error(ansis.red("Failed to export session:"), error);
482
+ console.error(a.red("Failed to export session:"), error);
470
483
  }
471
484
  }
472
485
  function formatBytes(bytes) {
@@ -553,14 +566,14 @@ async function analyzeCleanupTargets() {
553
566
  }
554
567
  async function cleanupSession(options = {}) {
555
568
  try {
556
- console.log(ansis.green.bold("\n\u{1F9F9} Session & Cache Cleanup\n"));
557
- console.log(ansis.gray("Analyzing cleanup targets..."));
569
+ console.log(a.green.bold("\n\u{1F9F9} Session & Cache Cleanup\n"));
570
+ console.log(a.gray("Analyzing cleanup targets..."));
558
571
  const targets = await analyzeCleanupTargets();
559
572
  if (targets.length === 0) {
560
- console.log(ansis.green("\u2714 No cleanup needed - everything is clean!"));
573
+ console.log(a.green("\u2714 No cleanup needed - everything is clean!"));
561
574
  return;
562
575
  }
563
- console.log(ansis.white.bold("\nCleanup Targets:\n"));
576
+ console.log(a.white.bold("\nCleanup Targets:\n"));
564
577
  let totalSize = 0;
565
578
  let totalFiles = 0;
566
579
  for (const target of targets) {
@@ -568,13 +581,13 @@ async function cleanupSession(options = {}) {
568
581
  totalFiles += target.fileCount;
569
582
  const sizeStr = formatBytes(target.size).padStart(10);
570
583
  const filesStr = `${target.fileCount} files`.padStart(12);
571
- console.log(` ${ansis.yellow(sizeStr)} ${ansis.gray(filesStr)} ${ansis.white(target.name)}`);
572
- console.log(` ${ansis.gray(` ${target.description}`)}`);
573
- console.log(` ${ansis.gray(` ${target.path}`)}`);
584
+ console.log(` ${a.yellow(sizeStr)} ${a.gray(filesStr)} ${a.white(target.name)}`);
585
+ console.log(` ${a.gray(` ${target.description}`)}`);
586
+ console.log(` ${a.gray(` ${target.path}`)}`);
574
587
  console.log("");
575
588
  }
576
- console.log(ansis.white.bold("\u2500".repeat(50)));
577
- console.log(` ${ansis.green(formatBytes(totalSize).padStart(10))} ${ansis.gray(`${totalFiles} files`.padStart(12))} ${ansis.white.bold("Total")}`);
589
+ console.log(a.white.bold("\u2500".repeat(50)));
590
+ console.log(` ${a.green(formatBytes(totalSize).padStart(10))} ${a.gray(`${totalFiles} files`.padStart(12))} ${a.white.bold("Total")}`);
578
591
  console.log("");
579
592
  if (!options.force) {
580
593
  const { confirm } = await inquirer.prompt({
@@ -584,7 +597,7 @@ async function cleanupSession(options = {}) {
584
597
  default: false
585
598
  });
586
599
  if (!confirm) {
587
- console.log(ansis.yellow("Cleanup cancelled"));
600
+ console.log(a.yellow("Cleanup cancelled"));
588
601
  return;
589
602
  }
590
603
  }
@@ -603,10 +616,10 @@ async function cleanupSession(options = {}) {
603
616
  selectedTargets = targets.filter((t) => selected.includes(t.path));
604
617
  }
605
618
  if (selectedTargets.length === 0) {
606
- console.log(ansis.yellow("No targets selected"));
619
+ console.log(a.yellow("No targets selected"));
607
620
  return;
608
621
  }
609
- console.log(ansis.gray("\nCleaning up..."));
622
+ console.log(a.gray("\nCleaning up..."));
610
623
  let cleanedSize = 0;
611
624
  let cleanedFiles = 0;
612
625
  for (const target of selectedTargets) {
@@ -614,60 +627,60 @@ async function cleanupSession(options = {}) {
614
627
  await rm(target.path, { recursive: true, force: true });
615
628
  cleanedSize += target.size;
616
629
  cleanedFiles += target.fileCount;
617
- console.log(ansis.green(` \u2714 ${target.name}`));
630
+ console.log(a.green(` \u2714 ${target.name}`));
618
631
  } catch (error) {
619
- console.log(ansis.red(` \u2716 ${target.name}: ${error}`));
632
+ console.log(a.red(` \u2716 ${target.name}: ${error}`));
620
633
  }
621
634
  }
622
635
  console.log("");
623
- console.log(ansis.green.bold(`\u2714 Cleanup complete!`));
624
- console.log(ansis.gray(` Freed ${formatBytes(cleanedSize)} (${cleanedFiles} files)`));
636
+ console.log(a.green.bold(`\u2714 Cleanup complete!`));
637
+ console.log(a.gray(` Freed ${formatBytes(cleanedSize)} (${cleanedFiles} files)`));
625
638
  } catch (error) {
626
- console.error(ansis.red("Failed to cleanup:"), error);
639
+ console.error(a.red("Failed to cleanup:"), error);
627
640
  }
628
641
  }
629
642
  async function sessionStatus() {
630
643
  try {
631
- console.log(ansis.green.bold("\n\u{1F4CA} Session & Cache Status\n"));
644
+ console.log(a.green.bold("\n\u{1F4CA} Session & Cache Status\n"));
632
645
  const targets = await analyzeCleanupTargets();
633
646
  if (targets.length === 0) {
634
- console.log(ansis.green("\u2714 All clean - no cached data found"));
647
+ console.log(a.green("\u2714 All clean - no cached data found"));
635
648
  return;
636
649
  }
637
650
  let totalSize = 0;
638
651
  let totalFiles = 0;
639
- console.log(ansis.white.bold("Directory Size Files"));
640
- console.log(ansis.gray("\u2500".repeat(50)));
652
+ console.log(a.white.bold("Directory Size Files"));
653
+ console.log(a.gray("\u2500".repeat(50)));
641
654
  for (const target of targets) {
642
655
  totalSize += target.size;
643
656
  totalFiles += target.fileCount;
644
657
  const name = target.name.padEnd(24);
645
658
  const size = formatBytes(target.size).padStart(10);
646
659
  const files = String(target.fileCount).padStart(8);
647
- console.log(`${ansis.white(name)} ${ansis.yellow(size)} ${ansis.gray(files)}`);
660
+ console.log(`${a.white(name)} ${a.yellow(size)} ${a.gray(files)}`);
648
661
  }
649
- console.log(ansis.gray("\u2500".repeat(50)));
650
- console.log(`${ansis.white.bold("Total".padEnd(24))} ${ansis.green.bold(formatBytes(totalSize).padStart(10))} ${ansis.gray(String(totalFiles).padStart(8))}`);
662
+ console.log(a.gray("\u2500".repeat(50)));
663
+ console.log(`${a.white.bold("Total".padEnd(24))} ${a.green.bold(formatBytes(totalSize).padStart(10))} ${a.gray(String(totalFiles).padStart(8))}`);
651
664
  console.log("");
652
- console.log(ansis.gray(`Run ${ansis.green("ccjk session cleanup")} to free up space`));
665
+ console.log(a.gray(`Run ${a.green("ccjk session cleanup")} to free up space`));
653
666
  const sessionManager = getSessionManager();
654
667
  const stats = await sessionManager.getStatistics();
655
668
  if (stats.totalSessions > 0) {
656
- console.log(ansis.green.bold("\n\u{1F4DD} Session Statistics\n"));
657
- console.log(ansis.white(`Total Sessions: ${ansis.yellow(String(stats.totalSessions))}`));
658
- console.log(ansis.white(`Total History Entries: ${ansis.yellow(String(stats.totalHistoryEntries))}`));
669
+ console.log(a.green.bold("\n\u{1F4DD} Session Statistics\n"));
670
+ console.log(a.white(`Total Sessions: ${a.yellow(String(stats.totalSessions))}`));
671
+ console.log(a.white(`Total History Entries: ${a.yellow(String(stats.totalHistoryEntries))}`));
659
672
  if (stats.oldestSession) {
660
- console.log(ansis.white(`Oldest Session: ${ansis.gray(stats.oldestSession.toLocaleString())}`));
673
+ console.log(a.white(`Oldest Session: ${a.gray(stats.oldestSession.toLocaleString())}`));
661
674
  }
662
675
  if (stats.newestSession) {
663
- console.log(ansis.white(`Newest Session: ${ansis.gray(stats.newestSession.toLocaleString())}`));
676
+ console.log(a.white(`Newest Session: ${a.gray(stats.newestSession.toLocaleString())}`));
664
677
  }
665
678
  if (stats.mostRecentlyUsed) {
666
- console.log(ansis.white(`Most Recently Used: ${ansis.gray(stats.mostRecentlyUsed.toLocaleString())}`));
679
+ console.log(a.white(`Most Recently Used: ${a.gray(stats.mostRecentlyUsed.toLocaleString())}`));
667
680
  }
668
681
  }
669
682
  } catch (error) {
670
- console.error(ansis.red("Failed to get status:"), error);
683
+ console.error(a.red("Failed to get status:"), error);
671
684
  }
672
685
  }
673
686
  async function createSessionCommand(options) {
@@ -711,26 +724,26 @@ async function createSessionCommand(options) {
711
724
  const session = await sessionManager.createSession(name, provider, apiKey, {
712
725
  codeType: options.codeType
713
726
  });
714
- console.log(ansis.green(`
727
+ console.log(a.green(`
715
728
  \u2714 Session created successfully!`));
716
- console.log(ansis.white(` ID: ${ansis.green(session.id)}`));
729
+ console.log(a.white(` ID: ${a.green(session.id)}`));
717
730
  if (session.name) {
718
- console.log(ansis.white(` Name: ${ansis.green(session.name)}`));
731
+ console.log(a.white(` Name: ${a.green(session.name)}`));
719
732
  }
720
733
  if (session.provider) {
721
- console.log(ansis.white(` Provider: ${ansis.green(session.provider)}`));
734
+ console.log(a.white(` Provider: ${a.green(session.provider)}`));
722
735
  }
723
- console.log(ansis.gray(`
724
- Use ${ansis.green(`ccjk --resume ${session.name || session.id}`)} to resume this session`));
736
+ console.log(a.gray(`
737
+ Use ${a.green(`ccjk --resume ${session.name || session.id}`)} to resume this session`));
725
738
  } catch (error) {
726
- console.error(ansis.red("Failed to create session:"), error);
739
+ console.error(a.red("Failed to create session:"), error);
727
740
  }
728
741
  }
729
742
  async function renameSessionCommand(sessionId, options) {
730
743
  try {
731
744
  const sessionManager = getSessionManager();
732
745
  if (!sessionId) {
733
- console.log(ansis.red("Please provide a session ID or name"));
746
+ console.log(a.red("Please provide a session ID or name"));
734
747
  return;
735
748
  }
736
749
  let newName = options.name;
@@ -745,34 +758,34 @@ async function renameSessionCommand(sessionId, options) {
745
758
  }
746
759
  const success = await sessionManager.renameSession(sessionId, newName);
747
760
  if (success) {
748
- console.log(ansis.green(`\u2714 Session renamed to: ${ansis.green(newName)}`));
761
+ console.log(a.green(`\u2714 Session renamed to: ${a.green(newName)}`));
749
762
  } else {
750
- console.log(ansis.red(`Session not found: ${sessionId}`));
763
+ console.log(a.red(`Session not found: ${sessionId}`));
751
764
  }
752
765
  } catch (error) {
753
- console.error(ansis.red("Failed to rename session:"), error);
766
+ console.error(a.red("Failed to rename session:"), error);
754
767
  }
755
768
  }
756
769
  async function deleteSessionCommand(sessionId, options) {
757
770
  try {
758
771
  const sessionManager = getSessionManager();
759
772
  if (!sessionId) {
760
- console.log(ansis.red("Please provide a session ID or name"));
773
+ console.log(a.red("Please provide a session ID or name"));
761
774
  return;
762
775
  }
763
776
  const session = await sessionManager.loadSession(sessionId);
764
777
  if (!session) {
765
- console.log(ansis.red(`Session not found: ${sessionId}`));
778
+ console.log(a.red(`Session not found: ${sessionId}`));
766
779
  return;
767
780
  }
768
781
  if (!options.force) {
769
- console.log(ansis.yellow("\n\u26A0\uFE0F You are about to delete:"));
770
- console.log(ansis.white(` ID: ${ansis.green(session.id)}`));
782
+ console.log(a.yellow("\n\u26A0\uFE0F You are about to delete:"));
783
+ console.log(a.white(` ID: ${a.green(session.id)}`));
771
784
  if (session.name) {
772
- console.log(ansis.white(` Name: ${ansis.green(session.name)}`));
785
+ console.log(a.white(` Name: ${a.green(session.name)}`));
773
786
  }
774
- console.log(ansis.white(` Created: ${ansis.gray(session.createdAt.toLocaleString())}`));
775
- console.log(ansis.white(` History entries: ${ansis.gray(String(session.history.length))}`));
787
+ console.log(a.white(` Created: ${a.gray(session.createdAt.toLocaleString())}`));
788
+ console.log(a.white(` History entries: ${a.gray(String(session.history.length))}`));
776
789
  const { confirm } = await inquirer.prompt({
777
790
  type: "confirm",
778
791
  name: "confirm",
@@ -780,18 +793,18 @@ async function deleteSessionCommand(sessionId, options) {
780
793
  default: false
781
794
  });
782
795
  if (!confirm) {
783
- console.log(ansis.yellow("Deletion cancelled"));
796
+ console.log(a.yellow("Deletion cancelled"));
784
797
  return;
785
798
  }
786
799
  }
787
800
  const success = await sessionManager.deleteSession(sessionId);
788
801
  if (success) {
789
- console.log(ansis.green(`\u2714 Session deleted: ${sessionId}`));
802
+ console.log(a.green(`\u2714 Session deleted: ${sessionId}`));
790
803
  } else {
791
- console.log(ansis.red(`Failed to delete session: ${sessionId}`));
804
+ console.log(a.red(`Failed to delete session: ${sessionId}`));
792
805
  }
793
806
  } catch (error) {
794
- console.error(ansis.red("Failed to delete session:"), error);
807
+ console.error(a.red("Failed to delete session:"), error);
795
808
  }
796
809
  }
797
810
  async function handleSessionCommand(args) {
@@ -824,7 +837,7 @@ async function handleSessionCommand(args) {
824
837
  break;
825
838
  case "rename":
826
839
  if (!sessionId) {
827
- console.log(ansis.red("Please provide a session ID to rename"));
840
+ console.log(a.red("Please provide a session ID to rename"));
828
841
  return;
829
842
  }
830
843
  await renameSessionCommand(sessionId, {});
@@ -832,32 +845,32 @@ async function handleSessionCommand(args) {
832
845
  case "delete":
833
846
  case "rm":
834
847
  if (!sessionId) {
835
- console.log(ansis.red("Please provide a session ID to delete"));
848
+ console.log(a.red("Please provide a session ID to delete"));
836
849
  return;
837
850
  }
838
851
  await deleteSessionCommand(sessionId, {});
839
852
  break;
840
853
  default:
841
854
  console.log();
842
- console.log(ansis.cyan.bold("\u{1F4E6} Session Management Commands"));
855
+ console.log(a.cyan.bold("\u{1F4E6} Session Management Commands"));
843
856
  console.log();
844
- console.log(ansis.white("Usage: ccjk session <action> [id]"));
857
+ console.log(a.white("Usage: ccjk session <action> [id]"));
845
858
  console.log();
846
- console.log(ansis.white("Actions:"));
847
- console.log(`${ansis.gray(" save ")}Save current session`);
848
- console.log(`${ansis.gray(" list ")}List all sessions`);
849
- console.log(`${ansis.gray(" restore ")}Restore a session`);
850
- console.log(`${ansis.gray(" export ")}Export a session`);
851
- console.log(`${ansis.gray(" cleanup ")}Clean up old sessions`);
852
- console.log(`${ansis.gray(" status ")}Show session status`);
853
- console.log(`${ansis.gray(" create ")}Create a new session`);
854
- console.log(`${ansis.gray(" rename ")}Rename a session`);
855
- console.log(`${ansis.gray(" delete ")}Delete a session`);
859
+ console.log(a.white("Actions:"));
860
+ console.log(`${a.gray(" save ")}Save current session`);
861
+ console.log(`${a.gray(" list ")}List all sessions`);
862
+ console.log(`${a.gray(" restore ")}Restore a session`);
863
+ console.log(`${a.gray(" export ")}Export a session`);
864
+ console.log(`${a.gray(" cleanup ")}Clean up old sessions`);
865
+ console.log(`${a.gray(" status ")}Show session status`);
866
+ console.log(`${a.gray(" create ")}Create a new session`);
867
+ console.log(`${a.gray(" rename ")}Rename a session`);
868
+ console.log(`${a.gray(" delete ")}Delete a session`);
856
869
  console.log();
857
- console.log(ansis.white("Examples:"));
858
- console.log(ansis.gray(" ccjk session save"));
859
- console.log(ansis.gray(" ccjk session list"));
860
- console.log(ansis.gray(" ccjk session restore abc123"));
870
+ console.log(a.white("Examples:"));
871
+ console.log(a.gray(" ccjk session save"));
872
+ console.log(a.gray(" ccjk session list"));
873
+ console.log(a.gray(" ccjk session restore abc123"));
861
874
  break;
862
875
  }
863
876
  }
@@ -1,23 +1,24 @@
1
- import ansis from 'ansis';
2
- import { t as taskPersistence } from '../shared/ccjk.DtMBiwVG.mjs';
1
+ import a from './index2.mjs';
2
+ import { t as taskPersistence } from '../shared/ccjk.BFxsJM0k.mjs';
3
+ import '../shared/ccjk.BAGoDD49.mjs';
3
4
  import 'better-sqlite3';
4
5
  import 'node:fs';
5
- import 'pathe';
6
+ import '../shared/ccjk.bQ7Dh1g4.mjs';
6
7
 
7
8
  async function sessionsCommand(options = {}) {
8
9
  if (options.list) {
9
10
  const sessions = taskPersistence.listSessions(20);
10
11
  if (sessions.length === 0) {
11
- console.log(ansis.yellow("\n\u26A0\uFE0F No sessions found\n"));
12
+ console.log(a.yellow("\n\u26A0\uFE0F No sessions found\n"));
12
13
  return;
13
14
  }
14
- console.log(ansis.cyan.bold("\n\u{1F4CB} Brain Sessions\n"));
15
+ console.log(a.cyan.bold("\n\u{1F4CB} Brain Sessions\n"));
15
16
  for (const session of sessions) {
16
17
  const date = new Date(session.createdAt).toLocaleString();
17
- console.log(ansis.white(` ${session.id}`));
18
- console.log(ansis.gray(` Created: ${date}`));
18
+ console.log(a.white(` ${session.id}`));
19
+ console.log(a.gray(` Created: ${date}`));
19
20
  if (session.metadata.rootTask) {
20
- console.log(ansis.gray(` Task: ${session.metadata.rootTask}`));
21
+ console.log(a.gray(` Task: ${session.metadata.rootTask}`));
21
22
  }
22
23
  console.log();
23
24
  }
@@ -26,15 +27,15 @@ async function sessionsCommand(options = {}) {
26
27
  if (options.show) {
27
28
  const context = taskPersistence.restoreContext(options.show);
28
29
  if (!context) {
29
- console.log(ansis.red(`
30
+ console.log(a.red(`
30
31
  \u274C Session not found: ${options.show}
31
32
  `));
32
33
  return;
33
34
  }
34
- console.log(ansis.cyan.bold(`
35
+ console.log(a.cyan.bold(`
35
36
  \u{1F4CA} Session: ${context.sessionId}
36
37
  `));
37
- console.log(ansis.white(`Tasks: ${context.tasks.length}`));
38
+ console.log(a.white(`Tasks: ${context.tasks.length}`));
38
39
  console.log();
39
40
  for (const task of context.tasks) {
40
41
  const statusIcon = {
@@ -44,14 +45,14 @@ async function sessionsCommand(options = {}) {
44
45
  failed: "\u274C"
45
46
  }[task.status];
46
47
  console.log(` ${statusIcon} ${task.name}`);
47
- console.log(ansis.gray(` Status: ${task.status}`));
48
- console.log(ansis.gray(` Priority: ${task.priority}`));
48
+ console.log(a.gray(` Status: ${task.status}`));
49
+ console.log(a.gray(` Priority: ${task.priority}`));
49
50
  if (task.dependencies.length > 0) {
50
- console.log(ansis.gray(` Depends on: ${task.dependencies.join(", ")}`));
51
+ console.log(a.gray(` Depends on: ${task.dependencies.join(", ")}`));
51
52
  }
52
53
  if (task.error) {
53
54
  const error = JSON.parse(task.error);
54
- console.log(ansis.red(` Error: ${error.message}`));
55
+ console.log(a.red(` Error: ${error.message}`));
55
56
  }
56
57
  console.log();
57
58
  }
@@ -60,45 +61,45 @@ async function sessionsCommand(options = {}) {
60
61
  if (options.restore) {
61
62
  const context = taskPersistence.restoreContext(options.restore);
62
63
  if (!context) {
63
- console.log(ansis.red(`
64
+ console.log(a.red(`
64
65
  \u274C Session not found: ${options.restore}
65
66
  `));
66
67
  return;
67
68
  }
68
- console.log(ansis.cyan.bold(`
69
+ console.log(a.cyan.bold(`
69
70
  \u{1F504} Restoring session: ${context.sessionId}
70
71
  `));
71
72
  const incompleteTasks = context.tasks.filter(
72
73
  (t) => t.status === "pending" || t.status === "running"
73
74
  );
74
75
  if (incompleteTasks.length === 0) {
75
- console.log(ansis.green("\u2705 All tasks completed, nothing to restore\n"));
76
+ console.log(a.green("\u2705 All tasks completed, nothing to restore\n"));
76
77
  return;
77
78
  }
78
- console.log(ansis.yellow(`Found ${incompleteTasks.length} incomplete tasks:
79
+ console.log(a.yellow(`Found ${incompleteTasks.length} incomplete tasks:
79
80
  `));
80
81
  for (const task of incompleteTasks) {
81
82
  console.log(` \u23F3 ${task.name}`);
82
83
  }
83
84
  console.log();
84
- console.log(ansis.gray("\u{1F4A1} To resume execution, use:"));
85
- console.log(ansis.cyan(` ccjk brain execute --session ${context.sessionId}`));
85
+ console.log(a.gray("\u{1F4A1} To resume execution, use:"));
86
+ console.log(a.cyan(` ccjk brain execute --session ${context.sessionId}`));
86
87
  console.log();
87
88
  return;
88
89
  }
89
90
  if (options.cleanup) {
90
91
  const deleted = taskPersistence.cleanup(7);
91
- console.log(ansis.green(`
92
+ console.log(a.green(`
92
93
  \u2705 Cleaned up ${deleted} old records (kept last 7 days)
93
94
  `));
94
95
  return;
95
96
  }
96
- console.log(ansis.cyan.bold("\n\u{1F4CB} Brain Sessions Management\n"));
97
- console.log(ansis.white("Usage:"));
98
- console.log(ansis.gray(" ccjk sessions --list # List all sessions"));
99
- console.log(ansis.gray(" ccjk sessions --show <id> # Show session details"));
100
- console.log(ansis.gray(" ccjk sessions --restore <id> # Restore incomplete session"));
101
- console.log(ansis.gray(" ccjk sessions --cleanup # Clean up old sessions"));
97
+ console.log(a.cyan.bold("\n\u{1F4CB} Brain Sessions Management\n"));
98
+ console.log(a.white("Usage:"));
99
+ console.log(a.gray(" ccjk sessions --list # List all sessions"));
100
+ console.log(a.gray(" ccjk sessions --show <id> # Show session details"));
101
+ console.log(a.gray(" ccjk sessions --restore <id> # Restore incomplete session"));
102
+ console.log(a.gray(" ccjk sessions --cleanup # Clean up old sessions"));
102
103
  console.log();
103
104
  }
104
105
 
@@ -2,12 +2,10 @@ import { existsSync, readFileSync, writeFileSync, appendFileSync, unlinkSync, mk
2
2
  import { platform } from 'node:os';
3
3
  import process__default from 'node:process';
4
4
  import { fileURLToPath } from 'node:url';
5
- import { join, dirname } from 'pathe';
6
5
  import { CCJK_CONFIG_DIR } from './constants.mjs';
7
6
  import { getCloudState, updateCloudState } from './auto-bootstrap.mjs';
8
- import './index3.mjs';
9
- import 'i18next';
10
- import 'i18next-fs-backend';
7
+ import { j as join, d as dirname } from '../shared/ccjk.bQ7Dh1g4.mjs';
8
+ import './index5.mjs';
11
9
  import 'node:crypto';
12
10
 
13
11
  const __filename = fileURLToPath(import.meta.url);
@@ -52,7 +50,7 @@ async function checkCcjkVersion() {
52
50
  }
53
51
  async function checkClaudeCodeVersion() {
54
52
  try {
55
- const { exec } = await import('tinyexec');
53
+ const { exec } = await import('./main.mjs');
56
54
  const result = await exec("claude", ["--version"], { timeout: 5e3 });
57
55
  if (result.exitCode !== 0) {
58
56
  return {
@@ -88,7 +86,7 @@ async function checkClaudeCodeVersion() {
88
86
  }
89
87
  async function checkCcrVersion() {
90
88
  try {
91
- const { exec } = await import('tinyexec');
89
+ const { exec } = await import('./main.mjs');
92
90
  const result = await exec("ccr", ["--version"], { timeout: 5e3 });
93
91
  if (result.exitCode !== 0) {
94
92
  return {
@@ -151,7 +149,7 @@ async function fetchLatestNpmVersion(packageName) {
151
149
  }
152
150
  async function detectClaudeCodeInstallMethod() {
153
151
  try {
154
- const { exec } = await import('tinyexec');
152
+ const { exec } = await import('./main.mjs');
155
153
  if (platform() === "darwin") {
156
154
  const brewResult = await exec("brew", ["list", "--cask", "claude-code"], { timeout: 5e3 });
157
155
  if (brewResult.exitCode === 0) {
@@ -264,7 +262,7 @@ async function upgradeTool(info) {
264
262
  }
265
263
  }
266
264
  async function upgradeCcjk(info, startTime) {
267
- const { exec } = await import('tinyexec');
265
+ const { exec } = await import('./main.mjs');
268
266
  const result = await exec("npm", ["update", "-g", "ccjk"], {
269
267
  timeout: UPGRADE_TIMEOUT
270
268
  });
@@ -279,7 +277,7 @@ async function upgradeCcjk(info, startTime) {
279
277
  };
280
278
  }
281
279
  async function upgradeClaudeCode(info, startTime) {
282
- const { exec } = await import('tinyexec');
280
+ const { exec } = await import('./main.mjs');
283
281
  let result;
284
282
  switch (info.installMethod) {
285
283
  case "homebrew":
@@ -310,7 +308,7 @@ async function upgradeClaudeCode(info, startTime) {
310
308
  };
311
309
  }
312
310
  async function upgradeCcr(info, startTime) {
313
- const { exec } = await import('tinyexec');
311
+ const { exec } = await import('./main.mjs');
314
312
  const result = await exec("npm", ["update", "-g", "@musistudio/claude-code-router"], {
315
313
  timeout: UPGRADE_TIMEOUT
316
314
  });