@kaitranntt/ccs 8.10.0-dev.10 → 8.10.0-dev.11

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 (110) hide show
  1. package/README.md +3 -2
  2. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts +1 -1
  3. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -1
  4. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +16 -20
  5. package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -1
  6. package/dist/cliproxy/ai-providers/schema-sanitizer.d.ts +3 -1
  7. package/dist/cliproxy/ai-providers/schema-sanitizer.d.ts.map +1 -1
  8. package/dist/cliproxy/ai-providers/schema-sanitizer.js +3 -1
  9. package/dist/cliproxy/ai-providers/schema-sanitizer.js.map +1 -1
  10. package/dist/cliproxy/config/generator.d.ts +7 -0
  11. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  12. package/dist/cliproxy/config/generator.js +148 -7
  13. package/dist/cliproxy/config/generator.js.map +1 -1
  14. package/dist/cliproxy/executor/proxy-chain-builder.d.ts.map +1 -1
  15. package/dist/cliproxy/executor/proxy-chain-builder.js +4 -0
  16. package/dist/cliproxy/executor/proxy-chain-builder.js.map +1 -1
  17. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  18. package/dist/cliproxy/model-catalog.js +18 -1
  19. package/dist/cliproxy/model-catalog.js.map +1 -1
  20. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts +6 -1
  21. package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
  22. package/dist/cliproxy/proxy/tool-sanitization-proxy.js +24 -27
  23. package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
  24. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts +13 -0
  25. package/dist/cliproxy/proxy/upstream-response-timeout.d.ts.map +1 -1
  26. package/dist/cliproxy/proxy/upstream-response-timeout.js +19 -1
  27. package/dist/cliproxy/proxy/upstream-response-timeout.js.map +1 -1
  28. package/dist/cliproxy/services/stats-fetcher.d.ts +4 -0
  29. package/dist/cliproxy/services/stats-fetcher.d.ts.map +1 -1
  30. package/dist/cliproxy/services/stats-fetcher.js +14 -1
  31. package/dist/cliproxy/services/stats-fetcher.js.map +1 -1
  32. package/dist/cliproxy/services/usage-compatibility-transformer.d.ts +5 -0
  33. package/dist/cliproxy/services/usage-compatibility-transformer.d.ts.map +1 -1
  34. package/dist/cliproxy/services/usage-compatibility-transformer.js +77 -6
  35. package/dist/cliproxy/services/usage-compatibility-transformer.js.map +1 -1
  36. package/dist/config/schemas/cliproxy.d.ts +1 -1
  37. package/dist/cursor/cursor-daemon-entry.d.ts.map +1 -1
  38. package/dist/cursor/cursor-daemon-entry.js +11 -49
  39. package/dist/cursor/cursor-daemon-entry.js.map +1 -1
  40. package/dist/glmt/glmt-proxy.d.ts +0 -4
  41. package/dist/glmt/glmt-proxy.d.ts.map +1 -1
  42. package/dist/glmt/glmt-proxy.js +6 -21
  43. package/dist/glmt/glmt-proxy.js.map +1 -1
  44. package/dist/management/shared-manager/shared-dir-linker.d.ts.map +1 -1
  45. package/dist/management/shared-manager/shared-dir-linker.js +5 -0
  46. package/dist/management/shared-manager/shared-dir-linker.js.map +1 -1
  47. package/dist/proxy/server/http-helpers.d.ts +6 -1
  48. package/dist/proxy/server/http-helpers.d.ts.map +1 -1
  49. package/dist/proxy/server/http-helpers.js +19 -77
  50. package/dist/proxy/server/http-helpers.js.map +1 -1
  51. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  52. package/dist/proxy/server/messages-route.js +11 -5
  53. package/dist/proxy/server/messages-route.js.map +1 -1
  54. package/dist/shared/provider-preset-catalog.d.ts +1 -1
  55. package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
  56. package/dist/shared/provider-preset-catalog.js +28 -0
  57. package/dist/shared/provider-preset-catalog.js.map +1 -1
  58. package/dist/ui/assets/{Trans-lb7IJ7fS.js → Trans-DH_0k3_n.js} +1 -1
  59. package/dist/ui/assets/{accounts-BmdjkRdd.js → accounts-CVP2-Njk.js} +1 -1
  60. package/dist/ui/assets/{alert-dialog-QI7ssXmW.js → alert-dialog-DncbCG0_.js} +1 -1
  61. package/dist/ui/assets/{api-yR-jnOTk.js → api-CQi3CVcl.js} +1 -1
  62. package/dist/ui/assets/{auth-section-UKobnpsa.js → auth-section-Mv8KHvVM.js} +1 -1
  63. package/dist/ui/assets/{backups-section-Bje38hdS.js → backups-section-Vm_gBBHv.js} +1 -1
  64. package/dist/ui/assets/{channels-CIcZH84-.js → channels-CqC51WOc.js} +1 -1
  65. package/dist/ui/assets/{checkbox-kTCwj4DC.js → checkbox-CPnaepmT.js} +1 -1
  66. package/dist/ui/assets/{claude-extension-DFIM_obP.js → claude-extension-fsZuoafg.js} +1 -1
  67. package/dist/ui/assets/{cliproxy-CnK8Pxlp.js → cliproxy-Ci2yqAqv.js} +3 -3
  68. package/dist/ui/assets/{cliproxy-ai-providers-CrszOINU.js → cliproxy-ai-providers-UyvtToHe.js} +1 -1
  69. package/dist/ui/assets/{cliproxy-control-panel-DkZ0lSNm.js → cliproxy-control-panel-CvnXQRoG.js} +1 -1
  70. package/dist/ui/assets/{codex-BhDm5zRh.js → codex-yYkmgvBc.js} +1 -1
  71. package/dist/ui/assets/{confirm-dialog-60zCksm4.js → confirm-dialog-C1R4FuKd.js} +1 -1
  72. package/dist/ui/assets/{copilot-DYNOTCn0.js → copilot-BjjH_cxF.js} +1 -1
  73. package/dist/ui/assets/{cursor-Cf9xEm7_.js → cursor-C73hLg6J.js} +1 -1
  74. package/dist/ui/assets/{droid-D-hRvXnW.js → droid-Dqg2rtFl.js} +1 -1
  75. package/dist/ui/assets/{globalenv-section-CiMNWxaM.js → globalenv-section-IRGdEiDn.js} +1 -1
  76. package/dist/ui/assets/{health-SNz-VyXt.js → health-Cx6BKtXL.js} +1 -1
  77. package/dist/ui/assets/{index-eT0MCNwt.js → index--oj-5HjW.js} +1 -1
  78. package/dist/ui/assets/{index-OcUP97hO.js → index-BCHIKzFf.js} +1 -1
  79. package/dist/ui/assets/{index-D4duw9yj.js → index-ChrMTCdJ.js} +1 -1
  80. package/dist/ui/assets/{index-B2-0piAo.js → index-CvGHvolS.js} +1 -1
  81. package/dist/ui/assets/{index-BFVDO-nS.js → index-D4x8qKjE.js} +1 -1
  82. package/dist/ui/assets/{index-CHFm1Cvg.js → index-DzZjiVVk.js} +1 -1
  83. package/dist/ui/assets/{index-BFSwIiWI.js → index-rkHleSof.js} +26 -26
  84. package/dist/ui/assets/{logs-CMuCN17Z.js → logs-D_yb-nke.js} +1 -1
  85. package/dist/ui/assets/{masked-input-BwaApqdO.js → masked-input-CAzxkfDz.js} +1 -1
  86. package/dist/ui/assets/{proxy-status-widget-BeAaBd0j.js → proxy-status-widget-BwQT11fb.js} +1 -1
  87. package/dist/ui/assets/{raw-json-settings-editor-panel-QE0I9KQE.js → raw-json-settings-editor-panel-DNR2XVKt.js} +1 -1
  88. package/dist/ui/assets/{searchable-select-C_K2MS5j.js → searchable-select-Bog5jhDi.js} +1 -1
  89. package/dist/ui/assets/{separator-D7Dw51fp.js → separator-CSIkt-8K.js} +1 -1
  90. package/dist/ui/assets/{shared-CaL1210c.js → shared-Te8ciIIT.js} +1 -1
  91. package/dist/ui/assets/{table-BTmymca2.js → table-C_bsTTOc.js} +1 -1
  92. package/dist/ui/assets/{updates-QvH7D5Ap.js → updates-CKJCmW7s.js} +1 -1
  93. package/dist/ui/assets/{use-accounts-Cgk1IgNc.js → use-accounts-CKVEXfmz.js} +1 -1
  94. package/dist/ui/index.html +1 -1
  95. package/dist/utils/request-body.d.ts +40 -0
  96. package/dist/utils/request-body.d.ts.map +1 -0
  97. package/dist/utils/request-body.js +142 -0
  98. package/dist/utils/request-body.js.map +1 -0
  99. package/dist/web-server/model-pricing.d.ts.map +1 -1
  100. package/dist/web-server/model-pricing.js +22 -0
  101. package/dist/web-server/model-pricing.js.map +1 -1
  102. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts +6 -0
  103. package/dist/web-server/usage/cliproxy-usage-transformer.d.ts.map +1 -1
  104. package/dist/web-server/usage/cliproxy-usage-transformer.js +57 -1
  105. package/dist/web-server/usage/cliproxy-usage-transformer.js.map +1 -1
  106. package/dist/web-server/usage/codex-native-usage-collector.d.ts.map +1 -1
  107. package/dist/web-server/usage/codex-native-usage-collector.js +7 -4
  108. package/dist/web-server/usage/codex-native-usage-collector.js.map +1 -1
  109. package/package.json +1 -1
  110. package/scripts/run-test-bucket.js +1 -0
package/README.md CHANGED
@@ -64,8 +64,9 @@ CCS gives you one stable command surface while letting you switch between:
64
64
  - multiple Claude subscriptions and isolated account contexts
65
65
  - OAuth providers like Codex, xAI/Grok, Kiro, Claude, Kimi, and more, with legacy
66
66
  Copilot compatibility for existing setups
67
- - API and local-model profiles like GLM, Kimi, OpenRouter, Requesty, OrcaRouter,
68
- Ollama, llama.cpp, Novita, Fireworks AI, and Alibaba Coding Plan
67
+ - API and local-model profiles like GLM, Kimi, OpenRouter, Requesty,
68
+ Atlas Cloud, Cheaper Inference, OrcaRouter, Ollama, llama.cpp, Novita,
69
+ Fireworks AI, and Alibaba Coding Plan
69
70
 
70
71
  Qwen Code account linking is not available in the bundled CLIProxy runtime yet;
71
72
  use an API-key Qwen profile such as Alibaba Coding Plan for Qwen models.
@@ -47,6 +47,7 @@ export declare class CodexReasoningProxy {
47
47
  private readonly config;
48
48
  private readonly modelEffort;
49
49
  private readonly sessionFallbackByModel;
50
+ private readonly logger;
50
51
  private readonly recent;
51
52
  private readonly counts;
52
53
  constructor(config: CodexReasoningProxyConfig);
@@ -65,7 +66,6 @@ export declare class CodexReasoningProxy {
65
66
  private record;
66
67
  start(): Promise<number>;
67
68
  stop(): void;
68
- private readBody;
69
69
  private handleRequest;
70
70
  private buildForwardHeaders;
71
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"codex-reasoning-proxy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/codex-reasoning-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-reasoning-proxy.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/codex-reasoning-proxy.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AACpG,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAGtC,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAuED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAQ5D,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,cAAc,EAAE,oBAAoB,EAQhD,CAAC;AAKF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,oBAAoB,GAC3B,oBAAoB,CA0CtB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,aAAa,GAAE,oBAA+B,GAC7C,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAqBnC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,aAAa,EAAE,oBAAoB,GAClC,oBAAoB,CAMtB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAET;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,OAAO,EACb,MAAM,EAAE;IACN,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC,GACA,OAAO,CAoBT;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAY2C;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOf;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM,CAQrB;gBAEU,MAAM,EAAE,yBAAyB;IAe7C,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,oBAAoB;IAU5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,KAAK;IAyBb,OAAO,CAAC,MAAM;IAqBR,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB9B,IAAI,IAAI,IAAI;YAOE,aAAa;IAoI3B,OAAO,CAAC,mBAAmB;IAmC3B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,UAAU;IA6DlB,OAAO,CAAC,WAAW;CAqJpB"}
@@ -30,6 +30,8 @@ const url_1 = require("url");
30
30
  const codex_plan_compatibility_1 = require("./codex-plan-compatibility");
31
31
  const model_catalog_1 = require("../model-catalog");
32
32
  const upstream_response_timeout_1 = require("../proxy/upstream-response-timeout");
33
+ const logging_1 = require("../../services/logging");
34
+ const request_body_1 = require("../../utils/request-body");
33
35
  const EXTENDED_CONTEXT_SUFFIX_REGEX = /\[1m\]$/i;
34
36
  const CODEX_TUNING_SUFFIX_TOKEN_REGEX = /-(none|minimal|low|medium|high|xhigh|max|fast)$/i;
35
37
  const CODEX_SERVICE_TIER_REQUEST_VALUE = {
@@ -206,6 +208,7 @@ class CodexReasoningProxy {
206
208
  this.server = null;
207
209
  this.port = null;
208
210
  this.sessionFallbackByModel = new Map();
211
+ this.logger = (0, logging_1.createLogger)('cliproxy:codex-reasoning-proxy');
209
212
  this.recent = [];
210
213
  this.counts = {
211
214
  none: 0,
@@ -219,7 +222,7 @@ class CodexReasoningProxy {
219
222
  this.config = {
220
223
  upstreamBaseUrl: config.upstreamBaseUrl,
221
224
  verbose: config.verbose ?? false,
222
- timeoutMs: config.timeoutMs ?? 120000,
225
+ timeoutMs: config.timeoutMs ?? (0, upstream_response_timeout_1.resolveUpstreamTimeoutMs)(),
223
226
  modelMap: config.modelMap,
224
227
  defaultEffort: config.defaultEffort ?? 'medium',
225
228
  traceFilePath: config.traceFilePath ?? '',
@@ -338,24 +341,6 @@ class CodexReasoningProxy {
338
341
  this.server = null;
339
342
  this.port = null;
340
343
  }
341
- readBody(req) {
342
- return new Promise((resolve, reject) => {
343
- const chunks = [];
344
- const maxSize = 10 * 1024 * 1024; // 10MB
345
- let total = 0;
346
- req.on('data', (chunk) => {
347
- total += chunk.length;
348
- if (total > maxSize) {
349
- req.destroy(); // Signal client to stop sending
350
- reject(new Error('Request body too large (max 10MB)'));
351
- return;
352
- }
353
- chunks.push(chunk);
354
- });
355
- req.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
356
- req.on('error', reject);
357
- });
358
- }
359
344
  async handleRequest(req, res) {
360
345
  const method = req.method || 'GET';
361
346
  let requestPath = req.url || '/';
@@ -397,7 +382,7 @@ class CodexReasoningProxy {
397
382
  await this.forwardRaw(req, res, fullUpstreamUrl);
398
383
  return;
399
384
  }
400
- const rawBody = await this.readBody(req);
385
+ const rawBody = await (0, request_body_1.readRequestBody)(req);
401
386
  let parsed;
402
387
  try {
403
388
  parsed = rawBody.length ? JSON.parse(rawBody) : {};
@@ -450,7 +435,18 @@ class CodexReasoningProxy {
450
435
  });
451
436
  }
452
437
  catch (error) {
438
+ if (error instanceof request_body_1.RequestBodyTooLargeError) {
439
+ (0, request_body_1.respondRequestTooLarge)(req, res, error, this.logger);
440
+ return;
441
+ }
453
442
  const err = error;
443
+ this.logger.warn('codex-reasoning.proxy.request-error', `Error: ${err.message}`, {
444
+ error: err.message,
445
+ method,
446
+ path: requestPath,
447
+ });
448
+ if (res.writableEnded || res.destroyed || req.socket?.destroyed)
449
+ return;
454
450
  if (!res.headersSent) {
455
451
  res.writeHead(502, { 'Content-Type': 'application/json' });
456
452
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-reasoning-proxy.js","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/codex-reasoning-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-reasoning-proxy.js","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/codex-reasoning-proxy.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@
5
5
  * Gemini/Vertex AI function_declarations Schema object.
6
6
  *
7
7
  * This sanitizer runs exclusively in the CLIProxy execution path (Gemini, Codex,
8
- * Antigravity, etc.), never for direct Anthropic API requests.
8
+ * Antigravity, etc.), never for direct Anthropic API requests. Single-provider
9
+ * Claude profiles also reach Anthropic through CLIProxy, so they skip it (see
10
+ * `sanitizeSchemas` in proxy-chain-builder).
9
11
  *
10
12
  * Gemini supports a subset of OpenAPI 3.0 schema — fields outside this subset
11
13
  * (like "examples", "$ref", "oneOf", etc.) cause 400 errors.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-sanitizer.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/schema-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiDH,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AA8GD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACtD,wBAAwB,CA2B1B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,GAC7F;IACD,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC3D,CAkCA"}
1
+ {"version":3,"file":"schema-sanitizer.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/schema-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiDH,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AA8GD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACtD,wBAAwB,CA2B1B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,GAC7F;IACD,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC3D,CAkCA"}
@@ -6,7 +6,9 @@
6
6
  * Gemini/Vertex AI function_declarations Schema object.
7
7
  *
8
8
  * This sanitizer runs exclusively in the CLIProxy execution path (Gemini, Codex,
9
- * Antigravity, etc.), never for direct Anthropic API requests.
9
+ * Antigravity, etc.), never for direct Anthropic API requests. Single-provider
10
+ * Claude profiles also reach Anthropic through CLIProxy, so they skip it (see
11
+ * `sanitizeSchemas` in proxy-chain-builder).
10
12
  *
11
13
  * Gemini supports a subset of OpenAPI 3.0 schema — fields outside this subset
12
14
  * (like "examples", "$ref", "oneOf", etc.) cause 400 errors.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-sanitizer.js","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/schema-sanitizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-sanitizer.js","sourceRoot":"","sources":["../../../src/cliproxy/ai-providers/schema-sanitizer.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,11 @@ export declare const CCS_CONTROL_PANEL_SECRET = "ccs";
32
32
  * v21: Persist user-defined OAuth aliases and scoped payload override rules
33
33
  */
34
34
  export declare const CLIPROXY_CONFIG_VERSION = 21;
35
+ /**
36
+ * Default CLIProxy listen address: loopback only, so other machines on the network
37
+ * cannot reach the proxy. CLIProxyAPI treats an empty host as "all interfaces".
38
+ */
39
+ export declare const CLIPROXY_DEFAULT_HOST = "127.0.0.1";
35
40
  export declare const ORIGINAL_MANAGEMENT_PANEL_REPOSITORY = "https://github.com/router-for-me/Cli-Proxy-API-Management-Center";
36
41
  export declare const PLUS_MANAGEMENT_PANEL_REPOSITORY = "https://github.com/kaitranntt/Cli-Proxy-API-Management-Center";
37
42
  interface RegenerateConfigOptions {
@@ -61,6 +66,8 @@ export declare function parseUserApiKeys(content: string): string[];
61
66
  /**
62
67
  * Force regenerate config.yaml with latest settings.
63
68
  * Preserves user-added API keys, claude-api-key section, and port settings.
69
+ * For a config in CLIProxyAPI's v8 layout, also keeps the sections CCS doesn't
70
+ * generate (upstream, the api-keys upstream map, config-version, ...).
64
71
  *
65
72
  * @param port - Default port to use if not found in existing config
66
73
  * @returns Path to new config file
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwBlF,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,oCAAoC,qEACmB,CAAC;AACrE,eAAO,MAAM,gCAAgC,kEACoB,CAAC;AAElE,UAAU,uBAAuB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAU5E;AAqGD,wBAAgB,4BAA4B,IAAI,MAAM,CAMrD;AA2mBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAeR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqC1D;AA6BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE,MAA8B,EACpC,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAkFR;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAA8B,GAAG,OAAO,CAsBrF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAA8B,GAAG,OAAO,CAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwBlF,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD,eAAO,MAAM,oCAAoC,qEACmB,CAAC;AACrE,eAAO,MAAM,gCAAgC,kEACoB,CAAC;AAElE,UAAU,uBAAuB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAU5E;AAqGD,wBAAgB,4BAA4B,IAAI,MAAM,CAMrD;AA+nBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAeR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqC1D;AA8JD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE,MAA8B,EACpC,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAkGR;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAA8B,GAAG,OAAO,CAsBrF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAA8B,GAAG,OAAO,CAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
@@ -27,9 +27,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.deleteConfig = exports.deleteConfigForPort = exports.configExists = exports.configNeedsRegeneration = exports.regenerateConfig = exports.parseUserApiKeys = exports.generateConfig = exports.getManagementPanelRepository = exports.getProviderConfig = exports.PLUS_MANAGEMENT_PANEL_REPOSITORY = exports.ORIGINAL_MANAGEMENT_PANEL_REPOSITORY = exports.CLIPROXY_CONFIG_VERSION = exports.CCS_CONTROL_PANEL_SECRET = exports.CCS_INTERNAL_API_KEY = void 0;
30
+ exports.deleteConfig = exports.deleteConfigForPort = exports.configExists = exports.configNeedsRegeneration = exports.regenerateConfig = exports.parseUserApiKeys = exports.generateConfig = exports.getManagementPanelRepository = exports.getProviderConfig = exports.PLUS_MANAGEMENT_PANEL_REPOSITORY = exports.ORIGINAL_MANAGEMENT_PANEL_REPOSITORY = exports.CLIPROXY_DEFAULT_HOST = exports.CLIPROXY_CONFIG_VERSION = exports.CCS_CONTROL_PANEL_SECRET = exports.CCS_INTERNAL_API_KEY = void 0;
31
31
  const fs = __importStar(require("fs"));
32
32
  const path = __importStar(require("path"));
33
+ const yaml = __importStar(require("js-yaml"));
33
34
  const provider_capabilities_1 = require("../provider-capabilities");
34
35
  const base_config_loader_1 = require("../config/base-config-loader");
35
36
  const types_1 = require("../ai-providers/types");
@@ -71,6 +72,11 @@ exports.CCS_CONTROL_PANEL_SECRET = 'ccs';
71
72
  * v21: Persist user-defined OAuth aliases and scoped payload override rules
72
73
  */
73
74
  exports.CLIPROXY_CONFIG_VERSION = 21;
75
+ /**
76
+ * Default CLIProxy listen address: loopback only, so other machines on the network
77
+ * cannot reach the proxy. CLIProxyAPI treats an empty host as "all interfaces".
78
+ */
79
+ exports.CLIPROXY_DEFAULT_HOST = '127.0.0.1';
74
80
  exports.ORIGINAL_MANAGEMENT_PANEL_REPOSITORY = 'https://github.com/router-for-me/Cli-Proxy-API-Management-Center';
75
81
  exports.PLUS_MANAGEMENT_PANEL_REPOSITORY = 'https://github.com/kaitranntt/Cli-Proxy-API-Management-Center';
76
82
  const DEPRECATED_ANTIGRAVITY_ALIAS_PREFIX = 'gemini-claude-';
@@ -179,7 +185,7 @@ function getSessionAffinityTtl() {
179
185
  }
180
186
  /**
181
187
  * Number of times CLIProxy retries a request on a transient error
182
- * (403, 408, 500, 502, 503, 504). Opt-in via config.cliproxy.retry.request_retry;
188
+ * (403, 408, 429, 500, 502, 503, 504). Opt-in via config.cliproxy.retry.request_retry;
183
189
  * defaults to 0 (disabled) to avoid burning quota on multi-account pools.
184
190
  */
185
191
  function getRequestRetry() {
@@ -584,6 +590,19 @@ function generateOAuthModelAliasSection(existingAliases, configuredAliases) {
584
590
  const otherProviders = (0, oauth_model_alias_config_1.serializeOAuthModelAliasBody)(mergedAliasConfig);
585
591
  return `oauth-model-alias:\n antigravity:\n${entries}${otherProviders ? `\n${otherProviders}` : ''}`;
586
592
  }
593
+ /**
594
+ * Resolve the CLIProxy listen address.
595
+ * Precedence: CCS_CLIPROXY_HOST env (the Docker images set 0.0.0.0 so published ports
596
+ * reach the proxy) > host already set in config.yaml > CLIPROXY_DEFAULT_HOST.
597
+ * A blank env value counts as unset, because Compose passes "" for unset variables.
598
+ */
599
+ function resolveListenHost(existingHost) {
600
+ const envHost = process.env.CCS_CLIPROXY_HOST?.trim();
601
+ if (envHost) {
602
+ return envHost;
603
+ }
604
+ return existingHost ?? exports.CLIPROXY_DEFAULT_HOST;
605
+ }
587
606
  /**
588
607
  * Generate UNIFIED config.yaml content for ALL providers
589
608
  * This enables concurrent usage of gemini/codex/agy without config conflicts.
@@ -593,8 +612,10 @@ function generateOAuthModelAliasSection(existingAliases, configuredAliases) {
593
612
  * @param userApiKeys - User-added API keys to preserve (default: [])
594
613
  * @param existingAliases - Existing oauth-model-alias content to merge with defaults
595
614
  * @param existingPayload - Existing payload content to merge with structured CCS rules
615
+ * @param existingHost - Listen address found in the existing config, if any
596
616
  */
597
- function generateUnifiedConfigContent(port = port_manager_1.CLIPROXY_DEFAULT_PORT, userApiKeys = [], existingAliases, existingPayload) {
617
+ function generateUnifiedConfigContent(port = port_manager_1.CLIPROXY_DEFAULT_PORT, userApiKeys = [], existingAliases, existingPayload, existingHost) {
618
+ const host = resolveListenHost(existingHost);
598
619
  const authDir = (0, path_resolver_1.getAuthDir)(); // Base auth dir - CLIProxyAPI scans subdirectories
599
620
  // Convert Windows backslashes to forward slashes for YAML compatibility
600
621
  const authDirNormalized = authDir.split(path.sep).join('/');
@@ -651,6 +672,9 @@ routing:
651
672
  # Server Settings
652
673
  # =============================================================================
653
674
 
675
+ # Listen address. 127.0.0.1 keeps CLIProxy off the network; "" listens on all
676
+ # interfaces. Set CCS_CLIPROXY_HOST to override (the Docker images use 0.0.0.0).
677
+ host: ${quoteYamlString(host)}
654
678
  port: ${port}
655
679
  debug: false
656
680
 
@@ -693,7 +717,7 @@ remote-management:
693
717
  ${coolingComment}
694
718
  disable-cooling: ${disableCoolingValue}
695
719
 
696
- # Auto-retry on transient errors (403, 408, 500, 502, 503, 504)
720
+ # Auto-retry on transient errors (403, 408, 429, 500, 502, 503, 504)
697
721
  request-retry: ${requestRetry}
698
722
  max-retry-interval: ${maxRetryInterval}
699
723
  ${poolRoutingBlock}
@@ -806,9 +830,113 @@ function extractYamlSection(content, sectionKey) {
806
830
  // Strip leading/trailing blank lines but preserve indentation
807
831
  return sectionLines.join('\n').replace(/^\n+/, '').replace(/\n+$/, '');
808
832
  }
833
+ /**
834
+ * CLIProxyAPI v8 roots that hold settings CCS writes in the legacy layout (server.port,
835
+ * observability.logs.*, management.*, routing.*, access.api-keys, oauth.auth-dir,
836
+ * oauth.model-alias, requests.payload, quota-exceeded.*). Regeneration rewrites them;
837
+ * keeping them would let their stale v8 values override the legacy ones CCS writes,
838
+ * because the v8 loader prefers the v8 path when both exist.
839
+ */
840
+ const V8_REGENERATED_ROOTS = new Set([
841
+ 'server',
842
+ 'observability',
843
+ 'management',
844
+ 'routing',
845
+ 'access',
846
+ 'oauth',
847
+ 'requests',
848
+ 'quota-exceeded',
849
+ ]);
850
+ /** Top-level keys the template emits only in some cases, so never carried over. */
851
+ const CONDITIONALLY_GENERATED_KEYS = new Set(['max-retry-credentials', 'payload']);
852
+ function isPlainObject(value) {
853
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
854
+ }
855
+ /** Split YAML into top-level sections without parsing it, so comments and formatting survive. */
856
+ function splitTopLevelYamlSections(content) {
857
+ const sections = [];
858
+ for (const line of content.replace(/\r\n/g, '\n').split('\n')) {
859
+ const keyMatch = line.match(/^([^\s#][^:]*):/);
860
+ if (keyMatch) {
861
+ sections.push({ key: keyMatch[1], text: line });
862
+ }
863
+ else if (sections.length > 0) {
864
+ sections[sections.length - 1].text += `\n${line}`;
865
+ }
866
+ }
867
+ return sections.map((section) => ({ ...section, text: section.text.replace(/\s+$/, '') }));
868
+ }
869
+ /**
870
+ * Read a config that CLIProxyAPI v8 has migrated to its nested layout (it adds
871
+ * `config-version:`). The v8 loader also accepts legacy keys and prefers the v8 path
872
+ * when both exist; this does the same. Returns null for legacy configs and for files
873
+ * js-yaml can't parse, which keeps the legacy handling.
874
+ */
875
+ function readExistingV8Config(content) {
876
+ if (!/^config-version:/m.test(content)) {
877
+ return null;
878
+ }
879
+ let doc;
880
+ try {
881
+ doc = yaml.load(content);
882
+ }
883
+ catch {
884
+ return null;
885
+ }
886
+ if (!isPlainObject(doc)) {
887
+ return null;
888
+ }
889
+ const root = doc;
890
+ const child = (key) => {
891
+ const value = root[key];
892
+ return isPlainObject(value) ? value : {};
893
+ };
894
+ const server = child('server');
895
+ const clientKeys = child('access')['api-keys'] ?? root['api-keys'];
896
+ const view = {
897
+ host: server.host ?? root.host,
898
+ port: server.port ?? root.port,
899
+ 'api-keys': Array.isArray(clientKeys)
900
+ ? clientKeys.filter((key) => typeof key === 'string')
901
+ : undefined,
902
+ 'oauth-model-alias': child('oauth')['model-alias'] ?? root['oauth-model-alias'],
903
+ payload: child('requests').payload ?? root.payload,
904
+ };
905
+ const header = content.match(/^(?:#.*\r?\n)*/)?.[0] ?? '';
906
+ const definedView = Object.fromEntries(Object.entries(view).filter(([, value]) => value !== undefined && value !== null));
907
+ return {
908
+ legacyView: `${header}${yaml.dump(definedView, { lineWidth: -1, forceQuotes: true, quotingType: '"' })}`,
909
+ sections: splitTopLevelYamlSections(content),
910
+ hasUpstreamKeyMap: isPlainObject(root['api-keys']),
911
+ };
912
+ }
913
+ /**
914
+ * Move the generated client key list from top-level `api-keys` (legacy layout) to
915
+ * `access.api-keys` (v8 layout), leaving `api-keys` to the v8 upstream key map.
916
+ */
917
+ function nestClientApiKeysUnderAccess(configContent) {
918
+ return configContent.replace(/^api-keys:\n((?:[ \t]+-.*\n)*)/m, (_match, items) => `access:\n api-keys:\n${items.replace(/^(?=.)/gm, ' ')}`);
919
+ }
920
+ /** Append the existing v8 sections that the regenerated config doesn't produce. */
921
+ function appendKeptV8Sections(configContent, existing) {
922
+ let content = existing.hasUpstreamKeyMap
923
+ ? nestClientApiKeysUnderAccess(configContent)
924
+ : configContent;
925
+ const generatedKeys = new Set(splitTopLevelYamlSections(content).map((section) => section.key));
926
+ for (const section of existing.sections) {
927
+ if (!generatedKeys.has(section.key) &&
928
+ !V8_REGENERATED_ROOTS.has(section.key) &&
929
+ !CONDITIONALLY_GENERATED_KEYS.has(section.key)) {
930
+ content += `${section.text}\n`;
931
+ }
932
+ }
933
+ return content;
934
+ }
809
935
  /**
810
936
  * Force regenerate config.yaml with latest settings.
811
937
  * Preserves user-added API keys, claude-api-key section, and port settings.
938
+ * For a config in CLIProxyAPI's v8 layout, also keeps the sections CCS doesn't
939
+ * generate (upstream, the api-keys upstream map, config-version, ...).
812
940
  *
813
941
  * @param port - Default port to use if not found in existing config
814
942
  * @returns Path to new config file
@@ -818,18 +946,28 @@ function regenerateConfig(port = port_manager_1.CLIPROXY_DEFAULT_PORT, options)
818
946
  const authDir = options?.authDir ?? (0, path_resolver_1.getAuthDir)();
819
947
  // Preserve user settings from existing config
820
948
  let effectivePort = port;
949
+ let existingHost;
821
950
  let userApiKeys = [];
822
951
  let existingAliases = '';
823
952
  let existingPayload = '';
824
953
  const preservedSections = [];
954
+ let existingV8 = null;
825
955
  if (fs.existsSync(configPath)) {
826
956
  try {
827
- const content = fs.readFileSync(configPath, 'utf-8');
957
+ const rawContent = fs.readFileSync(configPath, 'utf-8');
958
+ // A v8-layout config is read through a legacy view; its other sections are kept below.
959
+ existingV8 = readExistingV8Config(rawContent);
960
+ const content = existingV8?.legacyView ?? rawContent;
828
961
  // Preserve port setting
829
962
  const portMatch = content.match(/^port:\s*(\d+)/m);
830
963
  if (portMatch) {
831
964
  effectivePort = parseInt(portMatch[1], 10);
832
965
  }
966
+ // Preserve host setting (older generated configs had none, so a host line is the user's)
967
+ const hostMatch = content.match(/^host:[ \t]*(?:"([^"]*)"|'([^']*)'|([^\s#]*))/m);
968
+ if (hostMatch) {
969
+ existingHost = hostMatch[1] ?? hostMatch[2] ?? hostMatch[3] ?? '';
970
+ }
833
971
  // Preserve user-added API keys (fix for issue #200)
834
972
  userApiKeys = parseUserApiKeys(content);
835
973
  // Preserve AI provider sections managed outside the generated defaults.
@@ -860,7 +998,7 @@ function regenerateConfig(port = port_manager_1.CLIPROXY_DEFAULT_PORT, options)
860
998
  existingAliases = (0, oauth_model_alias_config_1.serializeOAuthModelAliasBody)(preservedAliasConfig);
861
999
  existingPayload = extractYamlSection(content, 'payload');
862
1000
  if (preservedAliases.prunedLegacyAliasCount > 0) {
863
- writeLegacyGeminiAliasCleanupBackup(configPath, content);
1001
+ writeLegacyGeminiAliasCleanupBackup(configPath, rawContent);
864
1002
  }
865
1003
  }
866
1004
  catch {
@@ -873,11 +1011,14 @@ function regenerateConfig(port = port_manager_1.CLIPROXY_DEFAULT_PORT, options)
873
1011
  fs.mkdirSync(path.dirname(configPath), { recursive: true });
874
1012
  fs.mkdirSync(authDir, { recursive: true, mode: 0o700 });
875
1013
  // Generate fresh config with preserved user API keys and aliases
876
- let configContent = generateUnifiedConfigContent(effectivePort, userApiKeys, existingAliases, existingPayload);
1014
+ let configContent = generateUnifiedConfigContent(effectivePort, userApiKeys, existingAliases, existingPayload, existingHost);
877
1015
  // Re-append managed top-level sections that are not part of the generated defaults.
878
1016
  for (const section of preservedSections) {
879
1017
  configContent += `${section.key}:\n${section.body}\n`;
880
1018
  }
1019
+ if (existingV8) {
1020
+ configContent = appendKeptV8Sections(configContent, existingV8);
1021
+ }
881
1022
  fs.writeFileSync(configPath, configContent, { mode: 0o600 });
882
1023
  return configPath;
883
1024
  }