@kaitranntt/ccs 7.37.1-dev.4 → 7.37.1-dev.6

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 (52) hide show
  1. package/dist/cliproxy/config/extended-context-config.d.ts +39 -0
  2. package/dist/cliproxy/config/extended-context-config.d.ts.map +1 -0
  3. package/dist/cliproxy/config/extended-context-config.js +114 -0
  4. package/dist/cliproxy/config/extended-context-config.js.map +1 -0
  5. package/dist/cliproxy/config/generator.d.ts +3 -2
  6. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  7. package/dist/cliproxy/config/generator.js +87 -5
  8. package/dist/cliproxy/config/generator.js.map +1 -1
  9. package/dist/cliproxy/config/index.d.ts +1 -0
  10. package/dist/cliproxy/config/index.d.ts.map +1 -1
  11. package/dist/cliproxy/config/index.js +1 -0
  12. package/dist/cliproxy/config/index.js.map +1 -1
  13. package/dist/cliproxy/executor/env-resolver.d.ts +2 -0
  14. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  15. package/dist/cliproxy/executor/env-resolver.js +5 -1
  16. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  17. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  18. package/dist/cliproxy/executor/index.js +22 -0
  19. package/dist/cliproxy/executor/index.js.map +1 -1
  20. package/dist/cliproxy/model-catalog.d.ts +12 -0
  21. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  22. package/dist/cliproxy/model-catalog.js +53 -3
  23. package/dist/cliproxy/model-catalog.js.map +1 -1
  24. package/dist/cliproxy/platform-detector.d.ts +4 -4
  25. package/dist/cliproxy/platform-detector.d.ts.map +1 -1
  26. package/dist/cliproxy/platform-detector.js +2 -2
  27. package/dist/cliproxy/platform-detector.js.map +1 -1
  28. package/dist/commands/help-command.d.ts.map +1 -1
  29. package/dist/commands/help-command.js +13 -0
  30. package/dist/commands/help-command.js.map +1 -1
  31. package/dist/ui/assets/{accounts-KKnpJgSm.js → accounts-ResKjvou.js} +1 -1
  32. package/dist/ui/assets/{alert-dialog--o3IMwNA.js → alert-dialog-BnSvEwhd.js} +1 -1
  33. package/dist/ui/assets/{api-DPXZuNLG.js → api-ClPWraVr.js} +1 -1
  34. package/dist/ui/assets/{auth-section-BvKiQ90u.js → auth-section-CZmgtezT.js} +1 -1
  35. package/dist/ui/assets/{backups-section-Oa5tPHhr.js → backups-section-CcQsXemH.js} +1 -1
  36. package/dist/ui/assets/cliproxy-C0JgtLfO.js +3 -0
  37. package/dist/ui/assets/{cliproxy-control-panel-dMdmQan0.js → cliproxy-control-panel-CBO7xTqe.js} +1 -1
  38. package/dist/ui/assets/{confirm-dialog-B3_kcO03.js → confirm-dialog-Cjs1FPCy.js} +1 -1
  39. package/dist/ui/assets/{copilot-CH4pWqh9.js → copilot-DCA0pQV3.js} +2 -2
  40. package/dist/ui/assets/{globalenv-section-p1HSDmYd.js → globalenv-section-D_GVHsDN.js} +1 -1
  41. package/dist/ui/assets/{health-Derb0pin.js → health-riN3OSz-.js} +1 -1
  42. package/dist/ui/assets/{index-kxaA8CDk.js → index-7gcYb5Oq.js} +2 -2
  43. package/dist/ui/assets/{index-gPRSR-UL.js → index-BXTtPkoG.js} +1 -1
  44. package/dist/ui/assets/{index-BjufZKGh.js → index-BjiZGSfI.js} +1 -1
  45. package/dist/ui/assets/{index-DaNar9ag.js → index-CK0URaBN.js} +1 -1
  46. package/dist/ui/assets/{index-iV1oqdC4.js → index-sdtPg8Gr.js} +1 -1
  47. package/dist/ui/assets/{proxy-status-widget-Dw9CXnhM.js → proxy-status-widget-B-LQxeOH.js} +1 -1
  48. package/dist/ui/assets/{shared-DZbSLiNl.js → shared-PuUIRrgy.js} +1 -1
  49. package/dist/ui/assets/{switch-DjrWWwTm.js → switch-CCYYFslZ.js} +1 -1
  50. package/dist/ui/index.html +1 -1
  51. package/package.json +1 -1
  52. package/dist/ui/assets/cliproxy-Bcil6EPw.js +0 -3
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Extended Context Configuration
3
+ *
4
+ * Handles the [1m] suffix for models supporting 1M token context window.
5
+ * Claude Code recognizes this suffix to enable extended context.
6
+ *
7
+ * Behavior:
8
+ * - Gemini family (gemini-* but NOT gemini-claude-*): Auto-enabled by default
9
+ * - Claude (Anthropic): Opt-in via --1m flag
10
+ */
11
+ /// <reference types="node" />
12
+ import { CLIProxyProvider } from '../types';
13
+ /**
14
+ * Apply extended context suffix to model name.
15
+ * Appends [1m] suffix if not already present.
16
+ *
17
+ * @param model - Model name (may include thinking suffix like "model(high)")
18
+ * @returns Model name with [1m] suffix, e.g., "gemini-2.5-pro[1m]" or "gemini-2.5-pro(high)[1m]"
19
+ */
20
+ export declare function applyExtendedContextSuffix(model: string): string;
21
+ /**
22
+ * Determine if extended context should be applied to a model.
23
+ *
24
+ * @param provider - CLIProxy provider
25
+ * @param modelId - Base model ID (without suffixes)
26
+ * @param extendedContextOverride - CLI override (true = force on, false = force off, undefined = auto)
27
+ * @returns Whether to apply extended context suffix
28
+ */
29
+ export declare function shouldApplyExtendedContext(provider: CLIProxyProvider, modelId: string, extendedContextOverride?: boolean): boolean;
30
+ /**
31
+ * Apply extended context configuration to env vars.
32
+ * Modifies ANTHROPIC_MODEL and tier models with [1m] suffix.
33
+ *
34
+ * @param envVars - Environment variables to modify (mutated in place)
35
+ * @param provider - CLIProxy provider
36
+ * @param extendedContextOverride - CLI override (true = force on, false = force off, undefined = auto)
37
+ */
38
+ export declare function applyExtendedContextConfig(envVars: NodeJS.ProcessEnv, provider: CLIProxyProvider, extendedContextOverride?: boolean): void;
39
+ //# sourceMappingURL=extended-context-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-context-config.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/extended-context-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAO5C;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACf,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAsBT;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,UAAU,EAC1B,QAAQ,EAAE,gBAAgB,EAC1B,uBAAuB,CAAC,EAAE,OAAO,GAChC,IAAI,CA8BN"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ /**
3
+ * Extended Context Configuration
4
+ *
5
+ * Handles the [1m] suffix for models supporting 1M token context window.
6
+ * Claude Code recognizes this suffix to enable extended context.
7
+ *
8
+ * Behavior:
9
+ * - Gemini family (gemini-* but NOT gemini-claude-*): Auto-enabled by default
10
+ * - Claude (Anthropic): Opt-in via --1m flag
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.applyExtendedContextConfig = exports.shouldApplyExtendedContext = exports.applyExtendedContextSuffix = void 0;
14
+ const model_catalog_1 = require("../model-catalog");
15
+ const ui_1 = require("../../utils/ui");
16
+ /** Extended context suffix recognized by Claude Code */
17
+ const EXTENDED_CONTEXT_SUFFIX = '[1m]';
18
+ /**
19
+ * Apply extended context suffix to model name.
20
+ * Appends [1m] suffix if not already present.
21
+ *
22
+ * @param model - Model name (may include thinking suffix like "model(high)")
23
+ * @returns Model name with [1m] suffix, e.g., "gemini-2.5-pro[1m]" or "gemini-2.5-pro(high)[1m]"
24
+ */
25
+ function applyExtendedContextSuffix(model) {
26
+ if (!model)
27
+ return model;
28
+ // Case-insensitive check to avoid double suffix (handles [1M], [1m], etc.)
29
+ if (model.toLowerCase().endsWith(EXTENDED_CONTEXT_SUFFIX.toLowerCase())) {
30
+ return model;
31
+ }
32
+ return `${model}${EXTENDED_CONTEXT_SUFFIX}`;
33
+ }
34
+ exports.applyExtendedContextSuffix = applyExtendedContextSuffix;
35
+ /**
36
+ * Determine if extended context should be applied to a model.
37
+ *
38
+ * @param provider - CLIProxy provider
39
+ * @param modelId - Base model ID (without suffixes)
40
+ * @param extendedContextOverride - CLI override (true = force on, false = force off, undefined = auto)
41
+ * @returns Whether to apply extended context suffix
42
+ */
43
+ function shouldApplyExtendedContext(provider, modelId, extendedContextOverride) {
44
+ // Explicit override takes priority
45
+ if (extendedContextOverride === true) {
46
+ // User explicitly requested --1m
47
+ const supported = (0, model_catalog_1.supportsExtendedContext)(provider, modelId);
48
+ if (!supported) {
49
+ console.error((0, ui_1.warn)(`Model "${modelId}" does not support 1M extended context. Flag ignored.`));
50
+ }
51
+ return supported;
52
+ }
53
+ if (extendedContextOverride === false) {
54
+ // User explicitly disabled with --no-1m
55
+ return false;
56
+ }
57
+ // Auto behavior: enable for native Gemini models only
58
+ if ((0, model_catalog_1.isNativeGeminiModel)(modelId)) {
59
+ return (0, model_catalog_1.supportsExtendedContext)(provider, modelId);
60
+ }
61
+ // For other models (Claude, etc.), default to off - require explicit --1m
62
+ return false;
63
+ }
64
+ exports.shouldApplyExtendedContext = shouldApplyExtendedContext;
65
+ /**
66
+ * Apply extended context configuration to env vars.
67
+ * Modifies ANTHROPIC_MODEL and tier models with [1m] suffix.
68
+ *
69
+ * @param envVars - Environment variables to modify (mutated in place)
70
+ * @param provider - CLIProxy provider
71
+ * @param extendedContextOverride - CLI override (true = force on, false = force off, undefined = auto)
72
+ */
73
+ function applyExtendedContextConfig(envVars, provider, extendedContextOverride) {
74
+ // Get base model to check support (strip any existing suffixes for lookup)
75
+ const baseModel = envVars.ANTHROPIC_MODEL || '';
76
+ const cleanModelId = stripModelSuffixes(baseModel);
77
+ if (!shouldApplyExtendedContext(provider, cleanModelId, extendedContextOverride)) {
78
+ return;
79
+ }
80
+ // Apply suffix to main model
81
+ if (envVars.ANTHROPIC_MODEL) {
82
+ envVars.ANTHROPIC_MODEL = applyExtendedContextSuffix(envVars.ANTHROPIC_MODEL);
83
+ }
84
+ // Apply to tier models if they support extended context
85
+ const tierModels = [
86
+ 'ANTHROPIC_DEFAULT_OPUS_MODEL',
87
+ 'ANTHROPIC_DEFAULT_SONNET_MODEL',
88
+ 'ANTHROPIC_DEFAULT_HAIKU_MODEL',
89
+ ];
90
+ for (const tierVar of tierModels) {
91
+ const model = envVars[tierVar];
92
+ if (model) {
93
+ const tierCleanId = stripModelSuffixes(model);
94
+ if (shouldApplyExtendedContext(provider, tierCleanId, extendedContextOverride)) {
95
+ envVars[tierVar] = applyExtendedContextSuffix(model);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ exports.applyExtendedContextConfig = applyExtendedContextConfig;
101
+ /**
102
+ * Strip thinking and extended context suffixes from model ID for catalog lookup.
103
+ * Examples:
104
+ * "gemini-2.5-pro(high)[1m]" -> "gemini-2.5-pro"
105
+ * "gemini-2.5-pro(8192)" -> "gemini-2.5-pro"
106
+ * "gemini-2.5-pro" -> "gemini-2.5-pro"
107
+ */
108
+ function stripModelSuffixes(modelId) {
109
+ return modelId
110
+ .trim()
111
+ .replace(/\[1m\]$/i, '') // Remove [1m] suffix
112
+ .replace(/\([^)]+\)$/, ''); // Remove thinking suffix like (high) or (8192)
113
+ }
114
+ //# sourceMappingURL=extended-context-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-context-config.js","sourceRoot":"","sources":["../../../src/cliproxy/config/extended-context-config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAGH,oDAAgF;AAChF,uCAAsC;AAEtC,wDAAwD;AACxD,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAC,KAAa;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,2EAA2E;IAC3E,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,GAAG,KAAK,GAAG,uBAAuB,EAAE,CAAC;AAC9C,CAAC;AAPD,gEAOC;AAED;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CACxC,QAA0B,EAC1B,OAAe,EACf,uBAAiC;IAEjC,mCAAmC;IACnC,IAAI,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACrC,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAA,uCAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,UAAU,OAAO,uDAAuD,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,uBAAuB,KAAK,KAAK,EAAE,CAAC;QACtC,wCAAwC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sDAAsD;IACtD,IAAI,IAAA,mCAAmB,EAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,IAAA,uCAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,0EAA0E;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AA1BD,gEA0BC;AAED;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CACxC,OAA0B,EAC1B,QAA0B,EAC1B,uBAAiC;IAEjC,2EAA2E;IAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,YAAY,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACjF,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,eAAe,GAAG,0BAA0B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChF,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG;QACjB,8BAA8B;QAC9B,gCAAgC;QAChC,+BAA+B;KACvB,CAAC;IAEX,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,0BAA0B,CAAC,QAAQ,EAAE,WAAW,EAAE,uBAAuB,CAAC,EAAE,CAAC;gBAC/E,OAAO,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAlCD,gEAkCC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,OAAO;SACX,IAAI,EAAE;SACN,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,qBAAqB;SAC7C,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,+CAA+C;AAC/E,CAAC"}
@@ -14,8 +14,9 @@ export declare const CCS_CONTROL_PANEL_SECRET = "ccs";
14
14
  * v3: Logging disabled by default (user opt-in via ~/.ccs/config.yaml)
15
15
  * v4: Added Kiro (AWS) and GitHub Copilot providers
16
16
  * v5: Added disable-cooling: true for stability
17
+ * v6: Added oauth-model-alias with Opus 4.6 support
17
18
  */
18
- export declare const CLIPROXY_CONFIG_VERSION = 5;
19
+ export declare const CLIPROXY_CONFIG_VERSION = 6;
19
20
  /**
20
21
  * Get provider configuration
21
22
  * Model mappings are loaded from config/base-{provider}.settings.json
@@ -37,7 +38,7 @@ export declare function generateConfig(provider: CLIProxyProvider, port?: number
37
38
  export declare function parseUserApiKeys(content: string): string[];
38
39
  /**
39
40
  * Force regenerate config.yaml with latest settings.
40
- * Preserves user-added API keys and port settings.
41
+ * Preserves user-added API keys, claude-api-key section, and port settings.
41
42
  *
42
43
  * @param port - Default port to use if not found in existing config
43
44
  * @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,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO5D,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAczC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAe5E;AAwHD;;;;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;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAA8B,GAAG,MAAM,CAmC7E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAoBjD;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;AAIH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO5D,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AA8BzC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAe5E;AA4JD;;;;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,CAAC,IAAI,GAAE,MAA8B,GAAG,MAAM,CAiD7E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAoBjD;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"}
@@ -46,8 +46,24 @@ exports.CCS_CONTROL_PANEL_SECRET = 'ccs';
46
46
  * v3: Logging disabled by default (user opt-in via ~/.ccs/config.yaml)
47
47
  * v4: Added Kiro (AWS) and GitHub Copilot providers
48
48
  * v5: Added disable-cooling: true for stability
49
+ * v6: Added oauth-model-alias with Opus 4.6 support
49
50
  */
50
- exports.CLIPROXY_CONFIG_VERSION = 5;
51
+ exports.CLIPROXY_CONFIG_VERSION = 6;
52
+ /**
53
+ * Default Antigravity oauth-model-alias entries.
54
+ * Maps user-facing model names to Antigravity internal model names.
55
+ * Must stay in sync with CLIProxyAPIPlus defaultAntigravityAliases().
56
+ */
57
+ const DEFAULT_ANTIGRAVITY_ALIASES = [
58
+ { name: 'rev19-uic3-1p', alias: 'gemini-2.5-computer-use-preview-10-2025' },
59
+ { name: 'gemini-3-pro-image', alias: 'gemini-3-pro-image-preview' },
60
+ { name: 'gemini-3-pro-high', alias: 'gemini-3-pro-preview' },
61
+ { name: 'gemini-3-flash', alias: 'gemini-3-flash-preview' },
62
+ { name: 'claude-sonnet-4-5', alias: 'gemini-claude-sonnet-4-5' },
63
+ { name: 'claude-sonnet-4-5-thinking', alias: 'gemini-claude-sonnet-4-5-thinking' },
64
+ { name: 'claude-opus-4-5-thinking', alias: 'gemini-claude-opus-4-5-thinking' },
65
+ { name: 'claude-opus-4-6-thinking', alias: 'gemini-claude-opus-4-6-thinking' },
66
+ ];
51
67
  /** Provider display names (static metadata) */
52
68
  const PROVIDER_DISPLAY_NAMES = {
53
69
  gemini: 'Gemini',
@@ -89,6 +105,36 @@ function getLoggingSettings() {
89
105
  requestLog: config.cliproxy.logging?.request_log ?? false,
90
106
  };
91
107
  }
108
+ /**
109
+ * Generate oauth-model-alias YAML section.
110
+ * Merges default Antigravity aliases with any user-added custom aliases.
111
+ */
112
+ function generateOAuthModelAliasSection(existingAliases) {
113
+ // Start with default aliases
114
+ const aliasEntries = [...DEFAULT_ANTIGRAVITY_ALIASES];
115
+ // Parse and merge existing user aliases if provided
116
+ if (existingAliases) {
117
+ const existingNames = new Set(aliasEntries.map((a) => a.name));
118
+ const lines = existingAliases.split('\n');
119
+ let currentName = '';
120
+ for (const line of lines) {
121
+ const nameMatch = line.match(/^\s+-\s*name:\s*(.+)/);
122
+ const aliasMatch = line.match(/^\s+alias:\s*(.+)/);
123
+ if (nameMatch) {
124
+ currentName = nameMatch[1].trim();
125
+ }
126
+ else if (aliasMatch && currentName && !existingNames.has(currentName)) {
127
+ aliasEntries.push({ name: currentName, alias: aliasMatch[1].trim() });
128
+ existingNames.add(currentName);
129
+ currentName = '';
130
+ }
131
+ }
132
+ }
133
+ const entries = aliasEntries
134
+ .map((a) => ` - name: ${a.name}\n alias: ${a.alias}`)
135
+ .join('\n');
136
+ return `oauth-model-alias:\n antigravity:\n${entries}`;
137
+ }
92
138
  /**
93
139
  * Generate UNIFIED config.yaml content for ALL providers
94
140
  * This enables concurrent usage of gemini/codex/agy without config conflicts.
@@ -96,8 +142,9 @@ function getLoggingSettings() {
96
142
  *
97
143
  * @param port - Server port (default: 8317)
98
144
  * @param userApiKeys - User-added API keys to preserve (default: [])
145
+ * @param existingAliases - Existing oauth-model-alias content to merge with defaults
99
146
  */
100
- function generateUnifiedConfigContent(port = port_manager_1.CLIPROXY_DEFAULT_PORT, userApiKeys = []) {
147
+ function generateUnifiedConfigContent(port = port_manager_1.CLIPROXY_DEFAULT_PORT, userApiKeys = [], existingAliases) {
101
148
  const authDir = (0, path_resolver_1.getAuthDir)(); // Base auth dir - CLIProxyAPI scans subdirectories
102
149
  // Convert Windows backslashes to forward slashes for YAML compatibility
103
150
  const authDirNormalized = authDir.split(path.sep).join('/');
@@ -183,6 +230,7 @@ ${apiKeysYaml}
183
230
 
184
231
  # OAuth tokens directory (auto-discovered by CLIProxyAPI)
185
232
  auth-dir: "${authDirNormalized}"
233
+ ${generateOAuthModelAliasSection(existingAliases)}
186
234
  `;
187
235
  return config;
188
236
  }
@@ -247,9 +295,33 @@ function parseUserApiKeys(content) {
247
295
  return userKeys;
248
296
  }
249
297
  exports.parseUserApiKeys = parseUserApiKeys;
298
+ /**
299
+ * Extract a YAML section from config content by key name.
300
+ * Returns the raw lines (including indented children) or empty string.
301
+ */
302
+ function extractYamlSection(content, sectionKey) {
303
+ const lines = content.split('\n');
304
+ const sectionLines = [];
305
+ let inSection = false;
306
+ for (const line of lines) {
307
+ if (line.startsWith(`${sectionKey}:`)) {
308
+ inSection = true;
309
+ continue; // Skip the key line itself
310
+ }
311
+ if (inSection) {
312
+ // Section ends at next top-level key (skip comments and blank lines)
313
+ if (line.match(/^\S/) && !line.startsWith('#') && line.trim().length > 0) {
314
+ break;
315
+ }
316
+ sectionLines.push(line);
317
+ }
318
+ }
319
+ // Strip leading/trailing blank lines but preserve indentation
320
+ return sectionLines.join('\n').replace(/^\n+/, '').replace(/\n+$/, '');
321
+ }
250
322
  /**
251
323
  * Force regenerate config.yaml with latest settings.
252
- * Preserves user-added API keys and port settings.
324
+ * Preserves user-added API keys, claude-api-key section, and port settings.
253
325
  *
254
326
  * @param port - Default port to use if not found in existing config
255
327
  * @returns Path to new config file
@@ -259,6 +331,8 @@ function regenerateConfig(port = port_manager_1.CLIPROXY_DEFAULT_PORT) {
259
331
  // Preserve user settings from existing config
260
332
  let effectivePort = port;
261
333
  let userApiKeys = [];
334
+ let claudeApiKeySection = '';
335
+ let existingAliases = '';
262
336
  if (fs.existsSync(configPath)) {
263
337
  try {
264
338
  const content = fs.readFileSync(configPath, 'utf-8');
@@ -269,6 +343,10 @@ function regenerateConfig(port = port_manager_1.CLIPROXY_DEFAULT_PORT) {
269
343
  }
270
344
  // Preserve user-added API keys (fix for issue #200)
271
345
  userApiKeys = parseUserApiKeys(content);
346
+ // Preserve claude-api-key section (managed via dashboard/API)
347
+ claudeApiKeySection = extractYamlSection(content, 'claude-api-key');
348
+ // Preserve existing oauth-model-alias user customizations
349
+ existingAliases = extractYamlSection(content, 'oauth-model-alias');
272
350
  }
273
351
  catch {
274
352
  // Use defaults if reading fails
@@ -279,8 +357,12 @@ function regenerateConfig(port = port_manager_1.CLIPROXY_DEFAULT_PORT) {
279
357
  // Ensure directories exist
280
358
  fs.mkdirSync(path.dirname(configPath), { recursive: true });
281
359
  fs.mkdirSync((0, path_resolver_1.getAuthDir)(), { recursive: true, mode: 0o700 });
282
- // Generate fresh config with preserved user API keys
283
- const configContent = generateUnifiedConfigContent(effectivePort, userApiKeys);
360
+ // Generate fresh config with preserved user API keys and aliases
361
+ let configContent = generateUnifiedConfigContent(effectivePort, userApiKeys, existingAliases);
362
+ // Re-append claude-api-key section if it existed
363
+ if (claudeApiKeySection) {
364
+ configContent += `claude-api-key:\n${claudeApiKeySection}\n`;
365
+ }
284
366
  fs.writeFileSync(configPath, configContent, { mode: 0o600 });
285
367
  return configPath;
286
368
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/cliproxy/config/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/cliproxy/config/generator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,8DAAkE;AAClE,8EAA+E;AAC/E,8DAAyF;AACzF,mDAAuF;AACvF,iDAAuD;AAEvD,gDAAgD;AACnC,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,8DAA8D;AACjD,QAAA,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;;;;;;;GAQG;AACU,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;;;GAIG;AACH,MAAM,2BAA2B,GAA2C;IAC1E,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,yCAAyC,EAAE;IAC3E,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,4BAA4B,EAAE;IACnE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC5D,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,wBAAwB,EAAE;IAC3D,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,0BAA0B,EAAE;IAChE,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,mCAAmC,EAAE;IAClF,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,iCAAiC,EAAE;IAC9E,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,iCAAiC,EAAE;CAC/E,CAAC;AAEF,+CAA+C;AAC/C,MAAM,sBAAsB,GAAqC;IAC/D,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,oBAAoB;CAC7B,CAAC;AAEF;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,QAA0B;IAC1D,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,oCAAoC;IACpC,MAAM,MAAM,GAAG,IAAA,8CAAyB,EAAC,QAAQ,CAAC,CAAC;IAEnD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW;QACX,MAAM;QACN,aAAa,EAAE,IAAI,EAAE,uCAAuC;KAC7D,CAAC;AACJ,CAAC;AAfD,8CAeC;AAED;;;GAGG;AACH,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,IAAA,iDAAyB,GAAE,CAAC;IAC3C,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK;QACxD,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,IAAI,KAAK;KAC1D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,8BAA8B,CAAC,eAAwB;IAC9D,6BAA6B;IAC7B,MAAM,YAAY,GAAG,CAAC,GAAG,2BAA2B,CAAC,CAAC;IAEtD,oDAAoD;IACpD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,CAAC;iBAAM,IAAI,UAAU,IAAI,WAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtE,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/B,WAAW,GAAG,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,YAAY;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;SAC5D,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,uCAAuC,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,4BAA4B,CACnC,OAAe,oCAAqB,EACpC,cAAwB,EAAE,EAC1B,eAAwB;IAExB,MAAM,OAAO,GAAG,IAAA,0BAAU,GAAE,CAAC,CAAC,mDAAmD;IACjF,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,8DAA8D;IAC9D,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE3D,0DAA0D;IAC1D,MAAM,eAAe,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAA,iDAA4B,GAAE,CAAC;IAEvD,iEAAiE;IACjE,MAAM,UAAU,GAAG,CAAC,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvE,oDAAoD;IACpD,MAAM,MAAM,GAAG,0CAA0C,+BAAuB;;eAEnE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;;;QAS/B,IAAI;;;;;;;;;;;;;;;;mBAgBO,aAAa;;;eAGjB,UAAU;;;;;;;;;;;;iBAYR,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B9B,WAAW;;;aAGA,iBAAiB;EAC5B,8BAA8B,CAAC,eAAe,CAAC;CAChD,CAAC;IAEA,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAC5B,QAA0B,EAC1B,OAAe,oCAAqB;IAEpC,MAAM,UAAU,GAAG,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAC;IAE9C,wCAAwC;IACxC,MAAM,OAAO,GAAG,IAAA,kCAAkB,EAAC,QAAQ,CAAC,CAAC;IAC7C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAExD,iFAAiF;IACjF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACzD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAlBD,wCAkBC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,wFAAwF;IACxF,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEzD,iEAAiE;IACjE,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,iDAAiD;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjC,gBAAgB,GAAG,IAAI,CAAC;YACxB,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,gBAAgB,EAAE,CAAC;YACrB,kDAAkD;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxB,iDAAiD;gBACjD,IAAI,GAAG,IAAI,GAAG,KAAK,4BAAoB,EAAE,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,2EAA2E;gBAC3E,MAAM;YACR,CAAC;YACD,qDAAqD;QACvD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AArCD,4CAqCC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,UAAkB;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;YACtC,SAAS,GAAG,IAAI,CAAC;YACjB,SAAS,CAAC,2BAA2B;QACvC,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,qEAAqE;YACrE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzE,MAAM;YACR,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,OAAe,oCAAqB;IACnE,MAAM,UAAU,GAAG,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAC;IAE9C,8CAA8C;IAC9C,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAErD,wBAAwB;YACxB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;YAED,oDAAoD;YACpD,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAExC,8DAA8D;YAC9D,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAEpE,0DAA0D;YAC1D,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QACD,yBAAyB;QACzB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,2BAA2B;IAC3B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,EAAE,CAAC,SAAS,CAAC,IAAA,0BAAU,GAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7D,iEAAiE;IACjE,IAAI,aAAa,GAAG,4BAA4B,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAE9F,iDAAiD;IACjD,IAAI,mBAAmB,EAAE,CAAC;QACxB,aAAa,IAAI,oBAAoB,mBAAmB,IAAI,CAAC;IAC/D,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7D,OAAO,UAAU,CAAC;AACpB,CAAC;AAjDD,4CAiDC;AAED;;;GAGG;AACH,SAAgB,uBAAuB;IACrC,MAAM,UAAU,GAAG,IAAA,oCAAoB,EAAC,oCAAqB,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,+BAA+B;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErD,2BAA2B;QAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,CAAC,iCAAiC;QAChD,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,aAAa,GAAG,+BAAuB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,6BAA6B;IAC5C,CAAC;AACH,CAAC;AApBD,0DAoBC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,OAAe,oCAAqB;IAC/D,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,MAAM,UAAU,GAAG,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AALD,kDAKC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,mBAAmB,CAAC,oCAAqB,CAAC,CAAC;AAC7C,CAAC;AAFD,oCAEC"}
@@ -6,5 +6,6 @@ export * from './generator';
6
6
  export * from './port-manager';
7
7
  export * from './env-builder';
8
8
  export * from './thinking-config';
9
+ export * from './extended-context-config';
9
10
  export * from './path-resolver';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
@@ -22,5 +22,6 @@ __exportStar(require("./generator"), exports);
22
22
  __exportStar(require("./port-manager"), exports);
23
23
  __exportStar(require("./env-builder"), exports);
24
24
  __exportStar(require("./thinking-config"), exports);
25
+ __exportStar(require("./extended-context-config"), exports);
25
26
  __exportStar(require("./path-resolver"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cliproxy/config/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,oDAAkC;AAClC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cliproxy/config/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,oDAAkC;AAClC,4DAA0C;AAC1C,kDAAgC"}
@@ -31,6 +31,8 @@ export interface ProxyChainConfig {
31
31
  localPort: number;
32
32
  customSettingsPath?: string;
33
33
  thinkingOverride?: string | number;
34
+ /** Extended context override: true = force on, false = force off, undefined = auto */
35
+ extendedContextOverride?: boolean;
34
36
  verbose: boolean;
35
37
  }
36
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"env-resolver.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/env-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkGvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,OAAO,EAAE,OAAO,GACf,IAAI,CAgBN"}
1
+ {"version":3,"file":"env-resolver.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/env-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,sFAAsF;IACtF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuGvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,OAAO,EAAE,OAAO,GACf,IAAI,CAgBN"}
@@ -12,6 +12,7 @@
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.logEnvironment = exports.buildClaudeEnvironment = void 0;
14
14
  const config_generator_1 = require("../config-generator");
15
+ const extended_context_config_1 = require("../config/extended-context-config");
15
16
  const websearch_manager_1 = require("../../utils/websearch-manager");
16
17
  const get_image_analysis_hook_env_1 = require("../../utils/hooks/get-image-analysis-hook-env");
17
18
  /**
@@ -19,7 +20,7 @@ const get_image_analysis_hook_env_1 = require("../../utils/hooks/get-image-analy
19
20
  * Handles proxy chain ordering and integration with hooks
20
21
  */
21
22
  function buildClaudeEnvironment(config) {
22
- const { provider, useRemoteProxy, remoteConfig, httpsTunnel, tunnelPort, localPort, customSettingsPath, thinkingOverride, codexReasoningPort, toolSanitizationPort, } = config;
23
+ const { provider, useRemoteProxy, remoteConfig, httpsTunnel, tunnelPort, localPort, customSettingsPath, thinkingOverride, extendedContextOverride, codexReasoningPort, toolSanitizationPort, } = config;
23
24
  // Build base env vars - remote or local
24
25
  let envVars;
25
26
  if (useRemoteProxy && remoteConfig) {
@@ -56,6 +57,9 @@ function buildClaudeEnvironment(config) {
56
57
  }
57
58
  // Apply thinking configuration to model (auto tier-based or manual override)
58
59
  (0, config_generator_1.applyThinkingConfig)(envVars, provider, thinkingOverride);
60
+ // Apply extended context suffix for 1M token context window
61
+ // Auto-enabled for Gemini, opt-in for Claude (--1m flag)
62
+ (0, extended_context_config_1.applyExtendedContextConfig)(envVars, provider, extendedContextOverride);
59
63
  // Determine the final ANTHROPIC_BASE_URL based on active proxies
60
64
  // Chain order: Claude CLI → [CodexReasoningProxy] → [ToolSanitizationProxy] → CLIProxy
61
65
  let finalBaseUrl = envVars.ANTHROPIC_BASE_URL;
@@ -1 +1 @@
1
- {"version":3,"file":"env-resolver.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/env-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-resolver.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/env-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EAAE,gBAAgB,EAAwC,cAAc,EAAE,MAAM,UAAU,CAAC;AA2ClG;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CA+pBf;AAGD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EAAE,gBAAgB,EAAwC,cAAc,EAAE,MAAM,UAAU,CAAC;AA2ClG;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CAsrBf;AAGD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAe,sBAAsB,CAAC"}
@@ -282,6 +282,22 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
282
282
  }
283
283
  }
284
284
  }
285
+ // Parse --1m / --no-1m flags for extended context (1M token window)
286
+ let extendedContextOverride;
287
+ const has1mFlag = argsWithoutProxy.includes('--1m') || argsWithoutProxy.some((arg) => arg.startsWith('--1m='));
288
+ const hasNo1mFlag = argsWithoutProxy.includes('--no-1m') ||
289
+ argsWithoutProxy.some((arg) => arg.startsWith('--no-1m='));
290
+ if (has1mFlag && hasNo1mFlag) {
291
+ console.error((0, ui_1.fail)('Cannot use both --1m and --no-1m flags'));
292
+ process.exit(1);
293
+ }
294
+ else if (has1mFlag) {
295
+ extendedContextOverride = true;
296
+ }
297
+ else if (hasNo1mFlag) {
298
+ extendedContextOverride = false;
299
+ }
300
+ // undefined = auto behavior (Gemini: on, others: off)
285
301
  // Handle --accounts
286
302
  if (showAccounts) {
287
303
  const accounts = (0, account_manager_1.getProviderAccounts)(provider);
@@ -516,6 +532,7 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
516
532
  localPort: cfg.port,
517
533
  customSettingsPath: cfg.customSettingsPath,
518
534
  thinkingOverride,
535
+ extendedContextOverride,
519
536
  verbose,
520
537
  });
521
538
  if (initialEnvVars.ANTHROPIC_BASE_URL) {
@@ -599,6 +616,7 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
599
616
  localPort: cfg.port,
600
617
  customSettingsPath: cfg.customSettingsPath,
601
618
  thinkingOverride,
619
+ extendedContextOverride,
602
620
  verbose,
603
621
  });
604
622
  const webSearchEnv = (0, websearch_manager_2.getWebSearchHookEnv)();
@@ -616,6 +634,8 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
616
634
  '--use',
617
635
  '--nickname',
618
636
  '--thinking',
637
+ '--1m',
638
+ '--no-1m',
619
639
  '--incognito',
620
640
  '--no-incognito',
621
641
  '--import',
@@ -627,6 +647,8 @@ async function execClaudeWithCLIProxy(claudeCli, provider, args, config = {}) {
627
647
  return false;
628
648
  if (arg.startsWith('--thinking='))
629
649
  return false;
650
+ if (arg.startsWith('--1m=') || arg.startsWith('--no-1m='))
651
+ return false;
630
652
  if (argsWithoutProxy[idx - 1] === '--use' ||
631
653
  argsWithoutProxy[idx - 1] === '--nickname' ||
632
654
  argsWithoutProxy[idx - 1] === '--thinking')