ccjk 13.3.11 → 13.3.13

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.
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- import { n as needsMigration, m as migrateSettingsForTokenRetrieval } from '../shared/ccjk.j_kFuqW1.mjs';
4
+ import { n as needsMigration, m as migrateSettingsForTokenRetrieval } from '../shared/ccjk.DZ4ehAHg.mjs';
5
5
  import './index2.mjs';
6
6
  import '../shared/ccjk.BAGoDD49.mjs';
7
7
  import './constants.mjs';
@@ -342,16 +342,22 @@ async function checkAndUpdateTools(skipPrompt = false) {
342
342
  console.error(a.red(`\u274C ${format(i18n.t("updater:updateFailed"), { tool: "CCometixLine" })}: ${errorMessage}`));
343
343
  results.push({ tool: "CCometixLine", success: false, error: errorMessage });
344
344
  }
345
- if (skipPrompt) {
346
- console.log(a.bold.cyan(`
345
+ console.log(a.bold.cyan(`
347
346
  \u{1F4CB} ${i18n.t("updater:updateSummary")}`));
348
- for (const result of results) {
349
- if (result.success) {
350
- console.log(a.green(`\u2714 ${result.tool}: ${i18n.t("updater:success")}`));
351
- } else {
352
- console.log(a.red(`\u274C ${result.tool}: ${i18n.t("updater:failed")} ${result.error ? `(${result.error})` : ""}`));
353
- }
347
+ let ccjkUpdated = false;
348
+ for (const result of results) {
349
+ if (result.tool === "CCJK" && result.success) {
350
+ ccjkUpdated = true;
354
351
  }
352
+ if (result.success) {
353
+ console.log(a.green(`\u2714 ${result.tool}: ${i18n.t("updater:success")}`));
354
+ } else {
355
+ console.log(a.red(`\u274C ${result.tool}: ${i18n.t("updater:failed")} ${result.error ? `(${result.error})` : ""}`));
356
+ }
357
+ }
358
+ if (ccjkUpdated) {
359
+ console.log(a.yellow("\n\u26A0 Please run ccjk again to use the new version"));
360
+ process.exit(0);
355
361
  }
356
362
  }
357
363
  async function checkCcjkVersionAndPrompt(skipPrompt) {
@@ -371,21 +377,7 @@ async function checkCcjkVersionAndPrompt(skipPrompt) {
371
377
  console.log(a.green(`\u2713 ${i18n.t("updater:alreadyLatest")}`));
372
378
  return;
373
379
  }
374
- if (!skipPrompt) {
375
- const inquirer = (await import('./index3.mjs').then(function (n) { return n.c; })).default;
376
- const { shouldUpdate } = await inquirer.prompt([
377
- {
378
- type: "confirm",
379
- name: "shouldUpdate",
380
- message: format(i18n.t("updater:updatePrompt"), { tool: "CCJK", version: latestVersion }),
381
- default: true
382
- }
383
- ]);
384
- if (!shouldUpdate) {
385
- console.log(a.gray(i18n.t("updater:updateSkipped")));
386
- return;
387
- }
388
- }
380
+ console.log(a.green(`\u2714 ${i18n.t("updater:updatePrompt")} Yes`));
389
381
  console.log(a.dim("Clearing npx cache..."));
390
382
  try {
391
383
  await q("npm", ["cache", "clean", "--force"]);
@@ -396,8 +388,6 @@ async function checkCcjkVersionAndPrompt(skipPrompt) {
396
388
  try {
397
389
  await execWithSudoIfNeeded("npm", ["install", "-g", "ccjk@latest", "--force"]);
398
390
  updateSpinner.succeed(a.green(`\u2713 CCJK updated to v${latestVersion}`));
399
- console.log(a.yellow("\n\u26A0 Please restart ccjk to use the new version"));
400
- process.exit(0);
401
391
  } catch (error) {
402
392
  updateSpinner.fail(a.red("\u2717 CCJK update failed"));
403
393
  console.error(a.red(error instanceof Error ? error.message : String(error)));
@@ -55,7 +55,7 @@ import './init.mjs';
55
55
  import '../shared/ccjk.DfZKjHvG.mjs';
56
56
  import './auto-updater.mjs';
57
57
  import './version-checker.mjs';
58
- import '../shared/ccjk.j_kFuqW1.mjs';
58
+ import '../shared/ccjk.DZ4ehAHg.mjs';
59
59
  import './installer.mjs';
60
60
  import '../shared/ccjk._dESH4Rk.mjs';
61
61
  import './simple-config.mjs';
@@ -248,8 +248,10 @@ class ClaudeCodeConfigManager {
248
248
  if (hasModelConfig) {
249
249
  if (profile.primaryModel)
250
250
  settings.env.ANTHROPIC_MODEL = profile.primaryModel;
251
- if (profile.defaultHaikuModel)
251
+ if (profile.defaultHaikuModel) {
252
+ settings.env.ANTHROPIC_SMALL_FAST_MODEL = profile.defaultHaikuModel;
252
253
  settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = profile.defaultHaikuModel;
254
+ }
253
255
  if (profile.defaultSonnetModel)
254
256
  settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL = profile.defaultSonnetModel;
255
257
  if (profile.defaultOpusModel)
@@ -161,8 +161,10 @@ function updateCustomModel(primaryModel, haikuModel, sonnetModel, opusModel) {
161
161
  if (primaryModel?.trim()) {
162
162
  settings.env.ANTHROPIC_MODEL = primaryModel.trim();
163
163
  }
164
- if (haikuModel?.trim())
164
+ if (haikuModel?.trim()) {
165
+ settings.env.ANTHROPIC_SMALL_FAST_MODEL = haikuModel.trim();
165
166
  settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = haikuModel.trim();
167
+ }
166
168
  if (sonnetModel?.trim())
167
169
  settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL = sonnetModel.trim();
168
170
  if (opusModel?.trim())
@@ -270,6 +272,7 @@ function getExistingCustomModelConfig() {
270
272
  }
271
273
  const {
272
274
  ANTHROPIC_MODEL,
275
+ ANTHROPIC_SMALL_FAST_MODEL,
273
276
  ANTHROPIC_DEFAULT_HAIKU_MODEL,
274
277
  ANTHROPIC_DEFAULT_SONNET_MODEL,
275
278
  ANTHROPIC_DEFAULT_OPUS_MODEL
@@ -279,7 +282,7 @@ function getExistingCustomModelConfig() {
279
282
  }
280
283
  return {
281
284
  primaryModel: ANTHROPIC_MODEL,
282
- haikuModel: ANTHROPIC_DEFAULT_HAIKU_MODEL,
285
+ haikuModel: ANTHROPIC_DEFAULT_HAIKU_MODEL || ANTHROPIC_SMALL_FAST_MODEL,
283
286
  sonnetModel: ANTHROPIC_DEFAULT_SONNET_MODEL,
284
287
  opusModel: ANTHROPIC_DEFAULT_OPUS_MODEL
285
288
  };
@@ -18,7 +18,7 @@ import { r as resolveCodeType } from '../shared/ccjk.Cjj8SVrn.mjs';
18
18
  import { exists } from './fs-operations.mjs';
19
19
  import { readJsonConfig, writeJsonConfig } from './json-config.mjs';
20
20
  import { p as promptApiConfigurationAction, j as ensureClaudeDir, g as getExistingApiConfig, s as switchToOfficialLogin, b as backupExistingConfig, c as copyConfigFiles, e as applyAiLanguageDirective, d as configureApi } from './config.mjs';
21
- import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.j_kFuqW1.mjs';
21
+ import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.DZ4ehAHg.mjs';
22
22
  import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.BIxuVL3_.mjs';
23
23
  import { getInstallationStatus, installClaudeCode } from './installer.mjs';
24
24
  import { p as parseOrchestrationLevel, w as writeOrchestrationPolicy } from './smart-defaults.mjs';
@@ -55,7 +55,7 @@ import './init.mjs';
55
55
  import '../shared/ccjk.DfZKjHvG.mjs';
56
56
  import './auto-updater.mjs';
57
57
  import './version-checker.mjs';
58
- import '../shared/ccjk.j_kFuqW1.mjs';
58
+ import '../shared/ccjk.DZ4ehAHg.mjs';
59
59
  import './installer.mjs';
60
60
  import '../shared/ccjk._dESH4Rk.mjs';
61
61
  import './simple-config.mjs';
@@ -38,11 +38,8 @@ async function ensureModelConfigPriority() {
38
38
  const settings = readJsonConfig(SETTINGS_FILE);
39
39
  if (!settings)
40
40
  return;
41
- const hasCustomModels = Boolean(
42
- settings.env?.ANTHROPIC_MODEL || settings.env?.ANTHROPIC_DEFAULT_HAIKU_MODEL || settings.env?.ANTHROPIC_DEFAULT_SONNET_MODEL || settings.env?.ANTHROPIC_DEFAULT_OPUS_MODEL
43
- );
44
- if (hasCustomModels && settings.model) {
45
- delete settings.model;
41
+ if (settings.env?.ANTHROPIC_DEFAULT_HAIKU_MODEL && settings.env.ANTHROPIC_SMALL_FAST_MODEL !== settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL) {
42
+ settings.env.ANTHROPIC_SMALL_FAST_MODEL = settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
46
43
  writeJsonConfig(SETTINGS_FILE, settings);
47
44
  }
48
45
  }
@@ -1,3 +1,3 @@
1
- const version = "13.3.11";
1
+ const version = "13.3.13";
2
2
 
3
3
  export { version };
@@ -53,7 +53,7 @@ import './config2.mjs';
53
53
  import './auto-updater.mjs';
54
54
  import './version-checker.mjs';
55
55
  import '../shared/ccjk.Cjj8SVrn.mjs';
56
- import '../shared/ccjk.j_kFuqW1.mjs';
56
+ import '../shared/ccjk.DZ4ehAHg.mjs';
57
57
  import '../shared/ccjk.BIxuVL3_.mjs';
58
58
  import './installer.mjs';
59
59
  import '../shared/ccjk._dESH4Rk.mjs';
@@ -8,7 +8,7 @@ import { displayBanner } from './banner.mjs';
8
8
  import { readZcfConfig, updateZcfConfig } from './ccjk-config.mjs';
9
9
  import { r as readMcpConfig } from './claude-config.mjs';
10
10
  import { c as copyConfigFiles } from './config.mjs';
11
- import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.j_kFuqW1.mjs';
11
+ import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.DZ4ehAHg.mjs';
12
12
  import { u as updatePromptOnly, s as selectAndInstallWorkflows } from '../shared/ccjk.DfZKjHvG.mjs';
13
13
  import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.BIxuVL3_.mjs';
14
14
  import { a as installMcpServices } from '../shared/ccjk.KpFl2RDA.mjs';
@@ -25,6 +25,11 @@ function migrateSettingsForTokenRetrieval() {
25
25
  }
26
26
  let modified = false;
27
27
  if (settings.env) {
28
+ if (settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL && !settings.env.ANTHROPIC_SMALL_FAST_MODEL) {
29
+ settings.env.ANTHROPIC_SMALL_FAST_MODEL = settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
30
+ result.changes.push("Restored ANTHROPIC_SMALL_FAST_MODEL from ANTHROPIC_DEFAULT_HAIKU_MODEL for Haiku fast-path compatibility");
31
+ modified = true;
32
+ }
28
33
  if ("CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC" in settings.env) {
29
34
  delete settings.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC;
30
35
  result.changes.push("Removed CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC (was blocking token retrieval)");
@@ -69,7 +74,10 @@ function needsMigration() {
69
74
  }
70
75
  const hasProblematicVar = "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC" in settings.env;
71
76
  const hasExcessiveTimeout = settings.env.MCP_TIMEOUT && Number.parseInt(settings.env.MCP_TIMEOUT, 10) > 2e4;
72
- return Boolean(hasProblematicVar || hasExcessiveTimeout);
77
+ const hasMissingHaikuFastCompat = Boolean(
78
+ settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL && !settings.env.ANTHROPIC_SMALL_FAST_MODEL
79
+ );
80
+ return Boolean(hasProblematicVar || hasExcessiveTimeout || hasMissingHaikuFastCompat);
73
81
  } catch {
74
82
  return false;
75
83
  }
@@ -4,6 +4,7 @@
4
4
  "model": "default",
5
5
  "env": {
6
6
  "ANTHROPIC_MODEL": "",
7
+ "ANTHROPIC_SMALL_FAST_MODEL": "",
7
8
  "ANTHROPIC_DEFAULT_HAIKU_MODEL": "",
8
9
  "ANTHROPIC_DEFAULT_SONNET_MODEL": "",
9
10
  "ANTHROPIC_DEFAULT_OPUS_MODEL": ""
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ccjk",
3
3
  "type": "module",
4
- "version": "13.3.11",
4
+ "version": "13.3.13",
5
5
  "packageManager": "pnpm@10.17.1",
6
6
  "description": "Turn Claude Code into a production-ready AI dev environment with one-command setup, persistent memory, MCP automation, cloud sync, and zero-config browser workflows.",
7
7
  "author": {
@@ -4,6 +4,7 @@
4
4
  "model": "default",
5
5
  "env": {
6
6
  "ANTHROPIC_MODEL": "",
7
+ "ANTHROPIC_SMALL_FAST_MODEL": "",
7
8
  "ANTHROPIC_DEFAULT_HAIKU_MODEL": "",
8
9
  "ANTHROPIC_DEFAULT_SONNET_MODEL": "",
9
10
  "ANTHROPIC_DEFAULT_OPUS_MODEL": ""