@kaitranntt/ccs 7.37.1 → 7.38.0-dev.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.
- package/config/base-qwen.settings.json +2 -2
- package/dist/api/services/provider-presets.js +1 -1
- package/dist/api/services/provider-presets.js.map +1 -1
- package/dist/cliproxy/catalog-cache.d.ts +39 -0
- package/dist/cliproxy/catalog-cache.d.ts.map +1 -0
- package/dist/cliproxy/catalog-cache.js +246 -0
- package/dist/cliproxy/catalog-cache.js.map +1 -0
- package/dist/cliproxy/config/extended-context-config.d.ts +39 -0
- package/dist/cliproxy/config/extended-context-config.d.ts.map +1 -0
- package/dist/cliproxy/config/extended-context-config.js +114 -0
- package/dist/cliproxy/config/extended-context-config.js.map +1 -0
- package/dist/cliproxy/config/generator.d.ts +3 -2
- package/dist/cliproxy/config/generator.d.ts.map +1 -1
- package/dist/cliproxy/config/generator.js +87 -5
- package/dist/cliproxy/config/generator.js.map +1 -1
- package/dist/cliproxy/config/index.d.ts +1 -0
- package/dist/cliproxy/config/index.d.ts.map +1 -1
- package/dist/cliproxy/config/index.js +1 -0
- package/dist/cliproxy/config/index.js.map +1 -1
- package/dist/cliproxy/executor/env-resolver.d.ts +2 -0
- package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
- package/dist/cliproxy/executor/env-resolver.js +5 -1
- package/dist/cliproxy/executor/env-resolver.js.map +1 -1
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +22 -0
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/index.d.ts +2 -1
- package/dist/cliproxy/index.d.ts.map +1 -1
- package/dist/cliproxy/index.js +10 -1
- package/dist/cliproxy/index.js.map +1 -1
- package/dist/cliproxy/management-api-client.d.ts +6 -1
- package/dist/cliproxy/management-api-client.d.ts.map +1 -1
- package/dist/cliproxy/management-api-client.js +9 -0
- package/dist/cliproxy/management-api-client.js.map +1 -1
- package/dist/cliproxy/management-api-types.d.ts +30 -0
- package/dist/cliproxy/management-api-types.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts +12 -0
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +53 -3
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/platform-detector.d.ts +4 -4
- package/dist/cliproxy/platform-detector.d.ts.map +1 -1
- package/dist/cliproxy/platform-detector.js +2 -2
- package/dist/cliproxy/platform-detector.js.map +1 -1
- package/dist/commands/cliproxy/catalog-subcommand.d.ts +7 -0
- package/dist/commands/cliproxy/catalog-subcommand.d.ts.map +1 -0
- package/dist/commands/cliproxy/catalog-subcommand.js +123 -0
- package/dist/commands/cliproxy/catalog-subcommand.js.map +1 -0
- package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/help-subcommand.js +8 -0
- package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/index.d.ts.map +1 -1
- package/dist/commands/cliproxy/index.js +15 -0
- package/dist/commands/cliproxy/index.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +13 -0
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/version-command.js +1 -1
- package/dist/commands/version-command.js.map +1 -1
- package/dist/ui/assets/{accounts-D0KU1a-4.js → accounts-ResKjvou.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BNRDV_Kh.js → alert-dialog-BnSvEwhd.js} +1 -1
- package/dist/ui/assets/{api-ClkFu9LY.js → api-ClPWraVr.js} +1 -1
- package/dist/ui/assets/{auth-section-CNhNN1Jp.js → auth-section-CZmgtezT.js} +1 -1
- package/dist/ui/assets/{backups-section-CZ721HIu.js → backups-section-CcQsXemH.js} +1 -1
- package/dist/ui/assets/cliproxy-C0JgtLfO.js +3 -0
- package/dist/ui/assets/{cliproxy-control-panel-T9i_Ldh0.js → cliproxy-control-panel-CBO7xTqe.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-Cy1__gRc.js → confirm-dialog-Cjs1FPCy.js} +1 -1
- package/dist/ui/assets/{copilot-Cdqs2Jbh.js → copilot-DCA0pQV3.js} +2 -2
- package/dist/ui/assets/{globalenv-section-BEKtYN6I.js → globalenv-section-D_GVHsDN.js} +1 -1
- package/dist/ui/assets/{health-BaHazGgS.js → health-riN3OSz-.js} +1 -1
- package/dist/ui/assets/{index-CiULLjNI.js → index-7gcYb5Oq.js} +3 -3
- package/dist/ui/assets/{index-PjscK1jS.js → index-BXTtPkoG.js} +1 -1
- package/dist/ui/assets/{index-BZn6kF0u.js → index-BjiZGSfI.js} +1 -1
- package/dist/ui/assets/{index-BTBpI5th.js → index-CK0URaBN.js} +1 -1
- package/dist/ui/assets/{index-C2MS84sf.js → index-sdtPg8Gr.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-BY6Lnr80.js → proxy-status-widget-B-LQxeOH.js} +1 -1
- package/dist/ui/assets/{shared-dZGNvBe9.js → shared-PuUIRrgy.js} +1 -1
- package/dist/ui/assets/{switch-BCFbehJz.js → switch-CCYYFslZ.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/utils/shell-executor.d.ts +6 -0
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +42 -4
- package/dist/utils/shell-executor.js.map +1 -1
- package/dist/utils/ui/init.d.ts +1 -1
- package/dist/utils/ui/init.d.ts.map +1 -1
- package/dist/utils/ui/init.js +25 -36
- package/dist/utils/ui/init.js.map +1 -1
- package/dist/web-server/routes/catalog-routes.d.ts +3 -0
- package/dist/web-server/routes/catalog-routes.d.ts.map +1 -0
- package/dist/web-server/routes/catalog-routes.js +27 -0
- package/dist/web-server/routes/catalog-routes.js.map +1 -0
- package/dist/web-server/routes/index.d.ts.map +1 -1
- package/dist/web-server/routes/index.js +2 -0
- package/dist/web-server/routes/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/code-reviewer.ts +1 -1
- package/dist/ui/assets/cliproxy-DeGucfVg.js +0 -3
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8317/api/provider/qwen",
|
|
4
4
|
"ANTHROPIC_AUTH_TOKEN": "ccs-internal-managed",
|
|
5
5
|
"ANTHROPIC_MODEL": "qwen3-coder-plus",
|
|
6
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3-
|
|
6
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3-max",
|
|
7
7
|
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3-coder-plus",
|
|
8
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-
|
|
8
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-coder-flash"
|
|
9
9
|
}
|
|
10
10
|
}
|
|
@@ -125,7 +125,7 @@ exports.PROVIDER_PRESETS = [
|
|
|
125
125
|
{
|
|
126
126
|
id: 'qwen',
|
|
127
127
|
name: 'Qwen',
|
|
128
|
-
description: 'Alibaba Cloud -
|
|
128
|
+
description: 'Alibaba Cloud - Qwen3 models (256K-1M context, thinking support)',
|
|
129
129
|
baseUrl: 'https://dashscope-intl.aliyuncs.com/apps/anthropic',
|
|
130
130
|
defaultProfileName: 'qwen',
|
|
131
131
|
defaultModel: 'qwen3-coder-plus',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-presets.js","sourceRoot":"","sources":["../../../src/api/services/provider-presets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider-presets.js","sourceRoot":"","sources":["../../../src/api/services/provider-presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { CLIProxyProvider } from './types';
|
|
2
|
+
import type { ProviderCatalog } from './model-catalog';
|
|
3
|
+
import type { RemoteModelInfo } from './management-api-types';
|
|
4
|
+
/** Cache structure stored on disk */
|
|
5
|
+
interface CatalogCacheData {
|
|
6
|
+
providers: Record<string, RemoteModelInfo[]>;
|
|
7
|
+
fetchedAt: number;
|
|
8
|
+
}
|
|
9
|
+
/** CCS provider → channel name mapping (reverse) */
|
|
10
|
+
export declare const PROVIDER_TO_CHANNEL: Record<string, string>;
|
|
11
|
+
/** Providers to sync from CLIProxyAPI */
|
|
12
|
+
export declare const SYNCABLE_PROVIDERS: CLIProxyProvider[];
|
|
13
|
+
/** Read cached catalog data, null if expired or missing */
|
|
14
|
+
export declare function getCachedCatalog(): CatalogCacheData | null;
|
|
15
|
+
/** Save catalog data to cache */
|
|
16
|
+
export declare function setCachedCatalog(providers: Record<string, RemoteModelInfo[]>): void;
|
|
17
|
+
/** Delete cache file */
|
|
18
|
+
export declare function clearCatalogCache(): boolean;
|
|
19
|
+
/** Get cache age in human-readable format, or null if no cache */
|
|
20
|
+
export declare function getCacheAge(): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Merge remote models with static catalog for a provider.
|
|
23
|
+
* Remote fields override static where present.
|
|
24
|
+
* Static-only fields preserved: broken, deprecated, deprecationReason, issueUrl, tier.
|
|
25
|
+
* Models in static but not in remote → kept.
|
|
26
|
+
* Models in remote but not in static → added.
|
|
27
|
+
*/
|
|
28
|
+
export declare function mergeCatalog(provider: CLIProxyProvider, remoteModels: RemoteModelInfo[]): ProviderCatalog | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Get resolved catalog for a provider.
|
|
31
|
+
* Uses cached remote data if available, falls back to static.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getResolvedCatalog(provider: CLIProxyProvider): ProviderCatalog | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Get all resolved catalogs (for Dashboard).
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAllResolvedCatalogs(): Partial<Record<CLIProxyProvider, ProviderCatalog>>;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=catalog-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-cache.d.ts","sourceRoot":"","sources":["../../src/cliproxy/catalog-cache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAc,eAAe,EAAmB,MAAM,iBAAiB,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,wBAAwB,CAAC;AAKrF,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;CACnB;AAYD,oDAAoD;AACpD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEtD,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAAyC,CAAC;AAM3F,2DAA2D;AAC3D,wBAAgB,gBAAgB,IAAI,gBAAgB,GAAG,IAAI,CAU1D;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,GAAG,IAAI,CASnF;AAED,wBAAwB;AACxB,wBAAgB,iBAAiB,IAAI,OAAO,CAW3C;AAED,kEAAkE;AAClE,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAa3C;AAyCD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,eAAe,EAAE,GAC9B,eAAe,GAAG,SAAS,CAuD7B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAM1F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAiB3F"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.getAllResolvedCatalogs = exports.getResolvedCatalog = exports.mergeCatalog = exports.getCacheAge = exports.clearCatalogCache = exports.setCachedCatalog = exports.getCachedCatalog = exports.SYNCABLE_PROVIDERS = exports.PROVIDER_TO_CHANNEL = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const config_manager_1 = require("../utils/config-manager");
|
|
30
|
+
const model_catalog_1 = require("./model-catalog");
|
|
31
|
+
const CACHE_FILE_NAME = 'model-catalog-cache.json';
|
|
32
|
+
const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
33
|
+
/** Channel name → CCS provider mapping */
|
|
34
|
+
const CHANNEL_TO_PROVIDER = {
|
|
35
|
+
antigravity: 'agy',
|
|
36
|
+
claude: 'claude',
|
|
37
|
+
gemini: 'gemini',
|
|
38
|
+
codex: 'codex',
|
|
39
|
+
qwen: 'qwen',
|
|
40
|
+
iflow: 'iflow',
|
|
41
|
+
};
|
|
42
|
+
/** CCS provider → channel name mapping (reverse) */
|
|
43
|
+
exports.PROVIDER_TO_CHANNEL = Object.fromEntries(Object.entries(CHANNEL_TO_PROVIDER).map(([k, v]) => [v, k]));
|
|
44
|
+
/** Providers to sync from CLIProxyAPI */
|
|
45
|
+
exports.SYNCABLE_PROVIDERS = ['agy', 'gemini', 'codex', 'claude'];
|
|
46
|
+
function getCacheFilePath() {
|
|
47
|
+
return path.join((0, config_manager_1.getCcsDir)(), CACHE_FILE_NAME);
|
|
48
|
+
}
|
|
49
|
+
/** Read cached catalog data, null if expired or missing */
|
|
50
|
+
function getCachedCatalog() {
|
|
51
|
+
try {
|
|
52
|
+
const filePath = getCacheFilePath();
|
|
53
|
+
if (!fs.existsSync(filePath))
|
|
54
|
+
return null;
|
|
55
|
+
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
56
|
+
if (Date.now() - data.fetchedAt > CACHE_TTL_MS)
|
|
57
|
+
return null;
|
|
58
|
+
return data;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.getCachedCatalog = getCachedCatalog;
|
|
65
|
+
/** Save catalog data to cache */
|
|
66
|
+
function setCachedCatalog(providers) {
|
|
67
|
+
try {
|
|
68
|
+
const filePath = getCacheFilePath();
|
|
69
|
+
const dir = path.dirname(filePath);
|
|
70
|
+
if (!fs.existsSync(dir))
|
|
71
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
72
|
+
fs.writeFileSync(filePath, JSON.stringify({ providers, fetchedAt: Date.now() }));
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Ignore cache write errors
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.setCachedCatalog = setCachedCatalog;
|
|
79
|
+
/** Delete cache file */
|
|
80
|
+
function clearCatalogCache() {
|
|
81
|
+
try {
|
|
82
|
+
const filePath = getCacheFilePath();
|
|
83
|
+
if (fs.existsSync(filePath)) {
|
|
84
|
+
fs.unlinkSync(filePath);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.clearCatalogCache = clearCatalogCache;
|
|
94
|
+
/** Get cache age in human-readable format, or null if no cache */
|
|
95
|
+
function getCacheAge() {
|
|
96
|
+
try {
|
|
97
|
+
const filePath = getCacheFilePath();
|
|
98
|
+
if (!fs.existsSync(filePath))
|
|
99
|
+
return null;
|
|
100
|
+
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
101
|
+
const ageMs = Date.now() - data.fetchedAt;
|
|
102
|
+
const hours = Math.floor(ageMs / (60 * 60 * 1000));
|
|
103
|
+
const minutes = Math.floor((ageMs % (60 * 60 * 1000)) / (60 * 1000));
|
|
104
|
+
if (hours > 0)
|
|
105
|
+
return `${hours}h ${minutes}m ago`;
|
|
106
|
+
return `${minutes}m ago`;
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.getCacheAge = getCacheAge;
|
|
113
|
+
/** Map remote thinking support to CCS ThinkingSupport */
|
|
114
|
+
function mapThinking(remote) {
|
|
115
|
+
if (!remote)
|
|
116
|
+
return undefined;
|
|
117
|
+
// If levels are provided, it's a levels-type thinking
|
|
118
|
+
if (remote.levels && remote.levels.length > 0) {
|
|
119
|
+
return {
|
|
120
|
+
type: 'levels',
|
|
121
|
+
levels: remote.levels,
|
|
122
|
+
dynamicAllowed: remote.dynamic_allowed,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// If min/max budget are provided, it's budget-type
|
|
126
|
+
if (remote.min !== undefined || remote.max !== undefined) {
|
|
127
|
+
return {
|
|
128
|
+
type: 'budget',
|
|
129
|
+
min: remote.min,
|
|
130
|
+
max: remote.max,
|
|
131
|
+
zeroAllowed: remote.zero_allowed,
|
|
132
|
+
dynamicAllowed: remote.dynamic_allowed,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return { type: 'none' };
|
|
136
|
+
}
|
|
137
|
+
/** Map RemoteModelInfo to ModelEntry */
|
|
138
|
+
function mapRemoteToModelEntry(remote) {
|
|
139
|
+
const entry = {
|
|
140
|
+
id: remote.id,
|
|
141
|
+
name: remote.display_name || remote.id,
|
|
142
|
+
};
|
|
143
|
+
if (remote.description)
|
|
144
|
+
entry.description = remote.description;
|
|
145
|
+
if (remote.context_length && remote.context_length >= 1000000) {
|
|
146
|
+
entry.extendedContext = true;
|
|
147
|
+
}
|
|
148
|
+
const thinking = mapThinking(remote.thinking);
|
|
149
|
+
if (thinking)
|
|
150
|
+
entry.thinking = thinking;
|
|
151
|
+
return entry;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Merge remote models with static catalog for a provider.
|
|
155
|
+
* Remote fields override static where present.
|
|
156
|
+
* Static-only fields preserved: broken, deprecated, deprecationReason, issueUrl, tier.
|
|
157
|
+
* Models in static but not in remote → kept.
|
|
158
|
+
* Models in remote but not in static → added.
|
|
159
|
+
*/
|
|
160
|
+
function mergeCatalog(provider, remoteModels) {
|
|
161
|
+
const staticCatalog = model_catalog_1.MODEL_CATALOG[provider];
|
|
162
|
+
if (!staticCatalog && remoteModels.length === 0)
|
|
163
|
+
return undefined;
|
|
164
|
+
const displayName = staticCatalog?.displayName || provider;
|
|
165
|
+
const defaultModel = staticCatalog?.defaultModel || (remoteModels[0]?.id ?? '');
|
|
166
|
+
// Build map of static models by lowercase ID for fast lookup
|
|
167
|
+
const staticMap = new Map();
|
|
168
|
+
if (staticCatalog) {
|
|
169
|
+
for (const model of staticCatalog.models) {
|
|
170
|
+
staticMap.set(model.id.toLowerCase(), model);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// Process remote models: merge with static entries
|
|
174
|
+
const mergedIds = new Set();
|
|
175
|
+
const mergedModels = [];
|
|
176
|
+
for (const remote of remoteModels) {
|
|
177
|
+
const remoteEntry = mapRemoteToModelEntry(remote);
|
|
178
|
+
const staticEntry = staticMap.get(remote.id.toLowerCase());
|
|
179
|
+
mergedIds.add(remote.id.toLowerCase());
|
|
180
|
+
if (staticEntry) {
|
|
181
|
+
// Merge: remote overrides, static fills gaps
|
|
182
|
+
mergedModels.push({
|
|
183
|
+
...remoteEntry,
|
|
184
|
+
// Preserve static-only fields
|
|
185
|
+
tier: staticEntry.tier,
|
|
186
|
+
broken: staticEntry.broken,
|
|
187
|
+
issueUrl: staticEntry.issueUrl,
|
|
188
|
+
deprecated: staticEntry.deprecated,
|
|
189
|
+
deprecationReason: staticEntry.deprecationReason,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
mergedModels.push(remoteEntry);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// Add static-only models not in remote
|
|
197
|
+
if (staticCatalog) {
|
|
198
|
+
for (const model of staticCatalog.models) {
|
|
199
|
+
if (!mergedIds.has(model.id.toLowerCase())) {
|
|
200
|
+
mergedModels.push(model);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
provider,
|
|
206
|
+
displayName,
|
|
207
|
+
defaultModel,
|
|
208
|
+
models: mergedModels,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
exports.mergeCatalog = mergeCatalog;
|
|
212
|
+
/**
|
|
213
|
+
* Get resolved catalog for a provider.
|
|
214
|
+
* Uses cached remote data if available, falls back to static.
|
|
215
|
+
*/
|
|
216
|
+
function getResolvedCatalog(provider) {
|
|
217
|
+
const cached = getCachedCatalog();
|
|
218
|
+
if (cached && cached.providers[provider]) {
|
|
219
|
+
return mergeCatalog(provider, cached.providers[provider]);
|
|
220
|
+
}
|
|
221
|
+
return model_catalog_1.MODEL_CATALOG[provider];
|
|
222
|
+
}
|
|
223
|
+
exports.getResolvedCatalog = getResolvedCatalog;
|
|
224
|
+
/**
|
|
225
|
+
* Get all resolved catalogs (for Dashboard).
|
|
226
|
+
*/
|
|
227
|
+
function getAllResolvedCatalogs() {
|
|
228
|
+
const result = {};
|
|
229
|
+
const cached = getCachedCatalog();
|
|
230
|
+
// Get all known providers from both static and cache
|
|
231
|
+
const providers = new Set();
|
|
232
|
+
for (const p of Object.keys(model_catalog_1.MODEL_CATALOG))
|
|
233
|
+
providers.add(p);
|
|
234
|
+
if (cached) {
|
|
235
|
+
for (const p of Object.keys(cached.providers))
|
|
236
|
+
providers.add(p);
|
|
237
|
+
}
|
|
238
|
+
for (const provider of providers) {
|
|
239
|
+
const catalog = getResolvedCatalog(provider);
|
|
240
|
+
if (catalog)
|
|
241
|
+
result[provider] = catalog;
|
|
242
|
+
}
|
|
243
|
+
return result;
|
|
244
|
+
}
|
|
245
|
+
exports.getAllResolvedCatalogs = getAllResolvedCatalogs;
|
|
246
|
+
//# sourceMappingURL=catalog-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-cache.js","sourceRoot":"","sources":["../../src/cliproxy/catalog-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 =
|
|
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
|
|
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"}
|