@kaitranntt/ccs 7.67.0 → 7.68.0-dev.1
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/dist/api/services/index.d.ts +1 -0
- package/dist/api/services/index.d.ts.map +1 -1
- package/dist/api/services/index.js +3 -1
- package/dist/api/services/index.js.map +1 -1
- package/dist/api/services/local-runtime-readiness.d.ts +14 -0
- package/dist/api/services/local-runtime-readiness.d.ts.map +1 -0
- package/dist/api/services/local-runtime-readiness.js +89 -0
- package/dist/api/services/local-runtime-readiness.js.map +1 -0
- package/dist/cliproxy/accounts/types.d.ts +1 -1
- package/dist/cliproxy/accounts/types.d.ts.map +1 -1
- package/dist/cliproxy/auth-utils.d.ts +2 -1
- package/dist/cliproxy/auth-utils.d.ts.map +1 -1
- package/dist/cliproxy/auth-utils.js +32 -7
- package/dist/cliproxy/auth-utils.js.map +1 -1
- package/dist/cliproxy/catalog-routing.d.ts +12 -0
- package/dist/cliproxy/catalog-routing.d.ts.map +1 -0
- package/dist/cliproxy/catalog-routing.js +19 -0
- package/dist/cliproxy/catalog-routing.js.map +1 -0
- package/dist/cliproxy/gemini-cli-quota-normalizer.js +1 -1
- package/dist/cliproxy/gemini-cli-quota-normalizer.js.map +1 -1
- package/dist/cliproxy/managed-model-prefixes.d.ts +7 -0
- package/dist/cliproxy/managed-model-prefixes.d.ts.map +1 -0
- package/dist/cliproxy/managed-model-prefixes.js +116 -0
- package/dist/cliproxy/managed-model-prefixes.js.map +1 -0
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +19 -4
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/provider-entitlement-evidence.d.ts +17 -0
- package/dist/cliproxy/provider-entitlement-evidence.d.ts.map +1 -0
- package/dist/cliproxy/provider-entitlement-evidence.js +55 -0
- package/dist/cliproxy/provider-entitlement-evidence.js.map +1 -0
- package/dist/cliproxy/provider-entitlement-types.d.ts +16 -0
- package/dist/cliproxy/provider-entitlement-types.d.ts.map +1 -0
- package/dist/cliproxy/provider-entitlement-types.js +3 -0
- package/dist/cliproxy/provider-entitlement-types.js.map +1 -0
- package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +1 -1
- package/dist/cliproxy/quota-fetcher-gemini-cli.js +64 -19
- package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +1 -1
- package/dist/cliproxy/quota-fetcher.d.ts +10 -0
- package/dist/cliproxy/quota-fetcher.d.ts.map +1 -1
- package/dist/cliproxy/quota-fetcher.js +116 -21
- package/dist/cliproxy/quota-fetcher.js.map +1 -1
- package/dist/cliproxy/quota-types.d.ts +3 -0
- package/dist/cliproxy/quota-types.d.ts.map +1 -1
- package/dist/commands/api-command/create-command.d.ts +3 -0
- package/dist/commands/api-command/create-command.d.ts.map +1 -1
- package/dist/commands/api-command/create-command.js +20 -6
- package/dist/commands/api-command/create-command.js.map +1 -1
- package/dist/commands/api-command/help.d.ts.map +1 -1
- package/dist/commands/api-command/help.js +1 -0
- package/dist/commands/api-command/help.js.map +1 -1
- package/dist/commands/cliproxy/catalog-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/catalog-subcommand.js +60 -6
- package/dist/commands/cliproxy/catalog-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/help-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/help-subcommand.js +3 -2
- package/dist/commands/cliproxy/help-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand.d.ts +2 -0
- package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand.js +8 -1
- package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/variant-subcommand.js +44 -3
- package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
- package/dist/commands/update-command.d.ts +20 -5
- package/dist/commands/update-command.d.ts.map +1 -1
- package/dist/commands/update-command.js +169 -119
- package/dist/commands/update-command.js.map +1 -1
- package/dist/docker/supervisord-lifecycle.d.ts +17 -0
- package/dist/docker/supervisord-lifecycle.d.ts.map +1 -0
- package/dist/docker/supervisord-lifecycle.js +58 -0
- package/dist/docker/supervisord-lifecycle.js.map +1 -0
- package/dist/shared/agy-gemini-pro-compatibility.d.ts +15 -0
- package/dist/shared/agy-gemini-pro-compatibility.d.ts.map +1 -0
- package/dist/shared/agy-gemini-pro-compatibility.js +18 -0
- package/dist/shared/agy-gemini-pro-compatibility.js.map +1 -0
- package/dist/shared/cliproxy-model-routing.d.ts +45 -0
- package/dist/shared/cliproxy-model-routing.d.ts.map +1 -0
- package/dist/shared/cliproxy-model-routing.js +144 -0
- package/dist/shared/cliproxy-model-routing.js.map +1 -0
- package/dist/shared/provider-preset-catalog.d.ts +3 -1
- package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
- package/dist/shared/provider-preset-catalog.js +16 -0
- package/dist/shared/provider-preset-catalog.js.map +1 -1
- package/dist/ui/assets/{accounts-DeuJFkg9.js → accounts-DjL3iVZW.js} +1 -1
- package/dist/ui/assets/{alert-dialog-CIh7avyK.js → alert-dialog-Tc_D1a_B.js} +1 -1
- package/dist/ui/assets/api-CUtkvXmX.js +4 -0
- package/dist/ui/assets/{auth-section-Byn3WNlt.js → auth-section-CuKWQHC7.js} +1 -1
- package/dist/ui/assets/{backups-section-Cjxu2uP0.js → backups-section-BKW2pbb9.js} +1 -1
- package/dist/ui/assets/{channels-m4LEUo20.js → channels-DvWJMdaq.js} +1 -1
- package/dist/ui/assets/{checkbox-BTiURiLD.js → checkbox-B0hZxMK5.js} +1 -1
- package/dist/ui/assets/{claude-extension-HVw0lW0B.js → claude-extension-Dfqu-rev.js} +1 -1
- package/dist/ui/assets/cliproxy-C9RxW-I8.js +3 -0
- package/dist/ui/assets/cliproxy-ai-providers-BXLuuxNf.js +15 -0
- package/dist/ui/assets/{cliproxy-control-panel-Bk9j_L8D.js → cliproxy-control-panel-aQ7cCc2U.js} +1 -1
- package/dist/ui/assets/{codex-DwZ2fgSg.js → codex-aq4RI6_n.js} +9 -9
- package/dist/ui/assets/{confirm-dialog-DEH0IxeO.js → confirm-dialog-CpDk6eu4.js} +1 -1
- package/dist/ui/assets/{copilot-CvVEiVk4.js → copilot-CQRpGXvY.js} +2 -2
- package/dist/ui/assets/{cursor-bUhF-L0e.js → cursor-BpXPf6qi.js} +1 -1
- package/dist/ui/assets/{droid-DclUJQm-.js → droid-Cgx-yLjy.js} +2 -2
- package/dist/ui/assets/{globalenv-section-CHrVYu4k.js → globalenv-section-DsNqG1yB.js} +1 -1
- package/dist/ui/assets/{health-DPxgprcp.js → health-BY-O-JcA.js} +1 -1
- package/dist/ui/assets/icons-KVCk4_U8.js +1 -0
- package/dist/ui/assets/index-BmSzf0T9.js +72 -0
- package/dist/ui/assets/{index-M221tenZ.js → index-CLGiPB3A.js} +1 -1
- package/dist/ui/assets/{index-CH9d--NX.js → index-Cet36v1V.js} +1 -1
- package/dist/ui/assets/{index-9Wrepw_v.js → index-DH6L6ybH.js} +1 -1
- package/dist/ui/assets/{index-Dqu-oUnM.js → index-DsCjnpco.js} +1 -1
- package/dist/ui/assets/{index-CKV57-q1.js → index-TQFuDZdB.js} +1 -1
- package/dist/ui/assets/index-teLjoh2T.css +1 -0
- package/dist/ui/assets/{logs-BLqOqsjV.js → logs-D5ro-pc7.js} +1 -1
- package/dist/ui/assets/{masked-input-CkL1uaIV.js → masked-input-h0XkMSwB.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-vDbXAa_g.js → proxy-status-widget-yBdrFeb7.js} +1 -1
- package/dist/ui/assets/{raw-json-settings-editor-panel-DnWe1yut.js → raw-json-settings-editor-panel-Cb7ZInQV.js} +1 -1
- package/dist/ui/assets/{searchable-select-Cxn-MaXd.js → searchable-select-D4xr5xKS.js} +1 -1
- package/dist/ui/assets/{separator-D8AC7pKi.js → separator-gw5BjIpP.js} +1 -1
- package/dist/ui/assets/{shared-BICn93Rc.js → shared-C-VeA1Z9.js} +1 -1
- package/dist/ui/assets/{table-ClzIn68q.js → table-Bd4isC18.js} +1 -1
- package/dist/ui/assets/{updates-2-RYxjjV.js → updates-DiK8I67C.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/utils/hooks/image-analysis-runtime-status.d.ts.map +1 -1
- package/dist/utils/hooks/image-analysis-runtime-status.js +5 -1
- package/dist/utils/hooks/image-analysis-runtime-status.js.map +1 -1
- package/dist/utils/package-manager-detector.d.ts +30 -4
- package/dist/utils/package-manager-detector.d.ts.map +1 -1
- package/dist/utils/package-manager-detector.js +247 -60
- package/dist/utils/package-manager-detector.js.map +1 -1
- package/dist/utils/update-checker.d.ts +1 -1
- package/dist/utils/update-checker.d.ts.map +1 -1
- package/dist/web-server/index.d.ts.map +1 -1
- package/dist/web-server/index.js +9 -0
- package/dist/web-server/index.js.map +1 -1
- package/dist/web-server/routes/catalog-routes.d.ts.map +1 -1
- package/dist/web-server/routes/catalog-routes.js +3 -2
- package/dist/web-server/routes/catalog-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.js +23 -2
- package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js +8 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
- package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
- package/dist/web-server/routes/profile-routes.js +8 -0
- package/dist/web-server/routes/profile-routes.js.map +1 -1
- package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts.map +1 -1
- package/dist/web-server/services/cliproxy-dashboard-install-service.js +14 -0
- package/dist/web-server/services/cliproxy-dashboard-install-service.js.map +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/api-C12eUocD.js +0 -4
- package/dist/ui/assets/cliproxy-N6hlFUnC.js +0 -3
- package/dist/ui/assets/cliproxy-ai-providers-Dx1wGLH_.js +0 -21
- package/dist/ui/assets/icons-C4EMu2PL.js +0 -1
- package/dist/ui/assets/index-Cmt79H00.js +0 -69
- package/dist/ui/assets/index-XjzGg2Bk.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisord-lifecycle.d.ts","sourceRoot":"","sources":["../../src/docker/supervisord-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,gEAAgE;AAChE,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,+EAA+E;AAC/E,wBAAgB,6BAA6B,IAAI;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CASA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Supervisord lifecycle helpers for Docker deployments (`ccs docker up`).
|
|
4
|
+
*
|
|
5
|
+
* In Docker, supervisord owns the CLIProxy process lifecycle. Direct
|
|
6
|
+
* stop+start via session-tracker / service-manager creates orphaned
|
|
7
|
+
* processes and causes supervisord to enter FATAL state (EADDRINUSE).
|
|
8
|
+
* All restart operations must delegate to `supervisorctl` instead.
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
27
|
+
if (mod && mod.__esModule) return mod;
|
|
28
|
+
var result = {};
|
|
29
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
30
|
+
__setModuleDefault(result, mod);
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.restartCliproxyViaSupervisord = exports.isRunningUnderSupervisord = void 0;
|
|
35
|
+
const fs = __importStar(require("fs"));
|
|
36
|
+
const child_process_1 = require("child_process");
|
|
37
|
+
const port_manager_1 = require("../cliproxy/config/port-manager");
|
|
38
|
+
const SUPERVISOR_SOCK = '/var/run/supervisor.sock';
|
|
39
|
+
const SUPERVISOR_CONF = '/etc/supervisord.conf';
|
|
40
|
+
/** True when running inside a supervisord-managed container. */
|
|
41
|
+
function isRunningUnderSupervisord() {
|
|
42
|
+
return fs.existsSync(SUPERVISOR_SOCK);
|
|
43
|
+
}
|
|
44
|
+
exports.isRunningUnderSupervisord = isRunningUnderSupervisord;
|
|
45
|
+
/** Restart the cliproxy program via supervisorctl. Returns port on success. */
|
|
46
|
+
function restartCliproxyViaSupervisord() {
|
|
47
|
+
try {
|
|
48
|
+
(0, child_process_1.execSync)(`supervisorctl -c ${SUPERVISOR_CONF} restart cliproxy`, { timeout: 15000 });
|
|
49
|
+
return { success: true, port: port_manager_1.CLIPROXY_DEFAULT_PORT };
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
53
|
+
console.error(`[cliproxy] supervisorctl restart failed: ${detail}`);
|
|
54
|
+
return { success: false, error: 'supervisorctl restart failed' };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.restartCliproxyViaSupervisord = restartCliproxyViaSupervisord;
|
|
58
|
+
//# sourceMappingURL=supervisord-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisord-lifecycle.js","sourceRoot":"","sources":["../../src/docker/supervisord-lifecycle.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,iDAAyC;AACzC,kEAAwE;AAExE,MAAM,eAAe,GAAG,0BAA0B,CAAC;AACnD,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD,gEAAgE;AAChE,SAAgB,yBAAyB;IACvC,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACxC,CAAC;AAFD,8DAEC;AAED,+EAA+E;AAC/E,SAAgB,6BAA6B;IAK3C,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,oBAAoB,eAAe,mBAAmB,EAAE,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC,CAAC;QACtF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,oCAAqB,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;IACnE,CAAC;AACH,CAAC;AAbD,sEAaC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const AGY_GEMINI_PRO_HIGH_ID = "gemini-3.1-pro-high";
|
|
2
|
+
export declare const AGY_GEMINI_PRO_LOW_ID = "gemini-3.1-pro-low";
|
|
3
|
+
export declare const AGY_GEMINI_PRO_COMPATIBILITY_IDS: Readonly<{
|
|
4
|
+
'gemini-3-pro-high': string;
|
|
5
|
+
'gemini-3.1-pro-high': string;
|
|
6
|
+
'gemini-3-pro-low': string;
|
|
7
|
+
'gemini-3.1-pro-low': string;
|
|
8
|
+
'gemini-3-pro-preview': string;
|
|
9
|
+
'gemini-3-pro-preview-customtools': string;
|
|
10
|
+
'gemini-3.1-pro-preview': string;
|
|
11
|
+
'gemini-3.1-pro-preview-customtools': string;
|
|
12
|
+
'gemini-3-1-pro-preview': string;
|
|
13
|
+
'gemini-3-1-pro-preview-customtools': string;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=agy-gemini-pro-compatibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agy-gemini-pro-compatibility.d.ts","sourceRoot":"","sources":["../../src/shared/agy-gemini-pro-compatibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAC5D,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,eAAO,MAAM,gCAAgC;;;;;;;;;;;EAWV,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AGY_GEMINI_PRO_COMPATIBILITY_IDS = exports.AGY_GEMINI_PRO_LOW_ID = exports.AGY_GEMINI_PRO_HIGH_ID = void 0;
|
|
4
|
+
exports.AGY_GEMINI_PRO_HIGH_ID = 'gemini-3.1-pro-high';
|
|
5
|
+
exports.AGY_GEMINI_PRO_LOW_ID = 'gemini-3.1-pro-low';
|
|
6
|
+
exports.AGY_GEMINI_PRO_COMPATIBILITY_IDS = Object.freeze({
|
|
7
|
+
'gemini-3-pro-high': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
8
|
+
'gemini-3.1-pro-high': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
9
|
+
'gemini-3-pro-low': exports.AGY_GEMINI_PRO_LOW_ID,
|
|
10
|
+
'gemini-3.1-pro-low': exports.AGY_GEMINI_PRO_LOW_ID,
|
|
11
|
+
'gemini-3-pro-preview': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
12
|
+
'gemini-3-pro-preview-customtools': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
13
|
+
'gemini-3.1-pro-preview': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
14
|
+
'gemini-3.1-pro-preview-customtools': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
15
|
+
'gemini-3-1-pro-preview': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
16
|
+
'gemini-3-1-pro-preview-customtools': exports.AGY_GEMINI_PRO_HIGH_ID,
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=agy-gemini-pro-compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agy-gemini-pro-compatibility.js","sourceRoot":"","sources":["../../src/shared/agy-gemini-pro-compatibility.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,qBAAqB,CAAC;AAC/C,QAAA,qBAAqB,GAAG,oBAAoB,CAAC;AAE7C,QAAA,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5D,mBAAmB,EAAE,8BAAsB;IAC3C,qBAAqB,EAAE,8BAAsB;IAC7C,kBAAkB,EAAE,6BAAqB;IACzC,oBAAoB,EAAE,6BAAqB;IAC3C,sBAAsB,EAAE,8BAAsB;IAC9C,kCAAkC,EAAE,8BAAsB;IAC1D,wBAAwB,EAAE,8BAAsB;IAChD,oCAAoC,EAAE,8BAAsB;IAC5D,wBAAwB,EAAE,8BAAsB;IAChD,oCAAoC,EAAE,8BAAsB;CAC5B,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const MANAGED_MODEL_PREFIXES: {
|
|
2
|
+
readonly gemini: "gcli";
|
|
3
|
+
readonly agy: "agy";
|
|
4
|
+
};
|
|
5
|
+
export type ManagedModelPrefixProvider = keyof typeof MANAGED_MODEL_PREFIXES;
|
|
6
|
+
export type ModelRoutingStatus = 'safe' | 'shadowed' | 'prefix-only';
|
|
7
|
+
export interface CatalogLikeModel {
|
|
8
|
+
id: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface CatalogLikeProvider {
|
|
12
|
+
provider: string;
|
|
13
|
+
displayName: string;
|
|
14
|
+
models: CatalogLikeModel[];
|
|
15
|
+
}
|
|
16
|
+
export interface MergedModelLike {
|
|
17
|
+
id: string;
|
|
18
|
+
owned_by?: string;
|
|
19
|
+
type?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CliproxyModelRoutingHint {
|
|
22
|
+
modelId: string;
|
|
23
|
+
modelName: string;
|
|
24
|
+
prefix: string;
|
|
25
|
+
pinnedModelId: string;
|
|
26
|
+
recommendedModelId: string;
|
|
27
|
+
pinnedAvailable: boolean;
|
|
28
|
+
unprefixedStatus: ModelRoutingStatus;
|
|
29
|
+
effectiveProvider: string | null;
|
|
30
|
+
effectiveDisplayName: string | null;
|
|
31
|
+
effectiveOwnedBy: string | null;
|
|
32
|
+
summary: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CliproxyProviderRoutingHints {
|
|
35
|
+
provider: string;
|
|
36
|
+
displayName: string;
|
|
37
|
+
prefix: string;
|
|
38
|
+
safeCount: number;
|
|
39
|
+
shadowedCount: number;
|
|
40
|
+
prefixOnlyCount: number;
|
|
41
|
+
models: CliproxyModelRoutingHint[];
|
|
42
|
+
}
|
|
43
|
+
export declare function buildCliproxyRoutingHints(catalogs: Partial<Record<string, CatalogLikeProvider>>, mergedModels: MergedModelLike[]): Partial<Record<string, CliproxyProviderRoutingHints>>;
|
|
44
|
+
export declare function getManagedModelPrefix(provider: string): string | null;
|
|
45
|
+
//# sourceMappingURL=cliproxy-model-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliproxy-model-routing.d.ts","sourceRoot":"","sources":["../../src/shared/cliproxy-model-routing.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,sBAAsB,CAAC;AAC7E,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAkFD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,EACtD,YAAY,EAAE,eAAe,EAAE,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAiFvD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErE"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getManagedModelPrefix = exports.buildCliproxyRoutingHints = exports.MANAGED_MODEL_PREFIXES = void 0;
|
|
4
|
+
exports.MANAGED_MODEL_PREFIXES = {
|
|
5
|
+
gemini: 'gcli',
|
|
6
|
+
agy: 'agy',
|
|
7
|
+
};
|
|
8
|
+
const PROVIDER_OWNER_HINTS = {
|
|
9
|
+
gemini: ['google'],
|
|
10
|
+
agy: ['antigravity'],
|
|
11
|
+
claude: ['anthropic'],
|
|
12
|
+
codex: ['openai'],
|
|
13
|
+
qwen: ['alibaba', 'qwen'],
|
|
14
|
+
iflow: ['iflow'],
|
|
15
|
+
kimi: ['kimi', 'moonshot'],
|
|
16
|
+
kiro: ['kiro', 'aws'],
|
|
17
|
+
ghcp: ['github', 'copilot'],
|
|
18
|
+
};
|
|
19
|
+
function normalize(value) {
|
|
20
|
+
return typeof value === 'string' ? value.trim().toLowerCase() : '';
|
|
21
|
+
}
|
|
22
|
+
function getManagedPrefix(provider) {
|
|
23
|
+
const normalizedProvider = normalize(provider);
|
|
24
|
+
if (normalizedProvider in exports.MANAGED_MODEL_PREFIXES) {
|
|
25
|
+
return exports.MANAGED_MODEL_PREFIXES[normalizedProvider];
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
function getDisplayName(provider, catalogs) {
|
|
30
|
+
const normalizedProvider = normalize(provider);
|
|
31
|
+
const catalog = catalogs[normalizedProvider];
|
|
32
|
+
return catalog?.displayName?.trim() || null;
|
|
33
|
+
}
|
|
34
|
+
function inferProvider(model) {
|
|
35
|
+
const type = normalize(model.type);
|
|
36
|
+
const owner = normalize(model.owned_by);
|
|
37
|
+
const directMatches = {
|
|
38
|
+
antigravity: 'agy',
|
|
39
|
+
'github-copilot': 'ghcp',
|
|
40
|
+
copilot: 'ghcp',
|
|
41
|
+
anthropic: 'claude',
|
|
42
|
+
'gemini-cli': 'gemini',
|
|
43
|
+
};
|
|
44
|
+
if (type && directMatches[type]) {
|
|
45
|
+
return directMatches[type];
|
|
46
|
+
}
|
|
47
|
+
for (const [provider, hints] of Object.entries(PROVIDER_OWNER_HINTS)) {
|
|
48
|
+
if (hints.some((hint) => type.includes(hint) || owner.includes(hint))) {
|
|
49
|
+
return provider;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
function buildSummary(providerDisplayName, hint) {
|
|
55
|
+
if (!hint.pinnedAvailable) {
|
|
56
|
+
return `${hint.modelId} does not currently advertise a live pinned route for ${hint.pinnedModelId}. Reconnect or refresh managed prefixes before treating it as pinned.`;
|
|
57
|
+
}
|
|
58
|
+
if (hint.unprefixedStatus === 'safe') {
|
|
59
|
+
return `${hint.modelId} currently resolves to ${providerDisplayName}. Use ${hint.pinnedModelId} to keep it pinned.`;
|
|
60
|
+
}
|
|
61
|
+
if (hint.unprefixedStatus === 'shadowed' && hint.effectiveDisplayName) {
|
|
62
|
+
return `${hint.modelId} currently resolves to ${hint.effectiveDisplayName}. Use ${hint.pinnedModelId} to force ${providerDisplayName}.`;
|
|
63
|
+
}
|
|
64
|
+
return `${hint.modelId} is not advertised unprefixed right now. Use ${hint.pinnedModelId} to target ${providerDisplayName}.`;
|
|
65
|
+
}
|
|
66
|
+
function buildCliproxyRoutingHints(catalogs, mergedModels) {
|
|
67
|
+
const mergedModelMap = new Map();
|
|
68
|
+
for (const model of mergedModels) {
|
|
69
|
+
const key = normalize(model.id);
|
|
70
|
+
if (key && !mergedModelMap.has(key)) {
|
|
71
|
+
mergedModelMap.set(key, model);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const result = {};
|
|
75
|
+
for (const [providerKey, catalog] of Object.entries(catalogs)) {
|
|
76
|
+
if (!catalog) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const prefix = getManagedPrefix(providerKey);
|
|
80
|
+
if (!prefix) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
let safeCount = 0;
|
|
84
|
+
let shadowedCount = 0;
|
|
85
|
+
let prefixOnlyCount = 0;
|
|
86
|
+
const models = catalog.models.map((model) => {
|
|
87
|
+
const pinnedCandidates = mergedModels
|
|
88
|
+
.filter((candidate) => normalize(candidate.id).endsWith(`/${normalize(model.id)}`))
|
|
89
|
+
.filter((candidate) => inferProvider(candidate) === providerKey)
|
|
90
|
+
.map((candidate) => candidate.id)
|
|
91
|
+
.sort((left, right) => left.localeCompare(right));
|
|
92
|
+
const managedPinnedId = `${prefix}/${model.id}`;
|
|
93
|
+
const pinnedAvailable = pinnedCandidates.includes(managedPinnedId);
|
|
94
|
+
const mergedModel = mergedModelMap.get(normalize(model.id));
|
|
95
|
+
const effectiveProvider = mergedModel ? inferProvider(mergedModel) : null;
|
|
96
|
+
const effectiveDisplayName = effectiveProvider && getDisplayName(effectiveProvider, catalogs)
|
|
97
|
+
? getDisplayName(effectiveProvider, catalogs)
|
|
98
|
+
: mergedModel?.owned_by?.trim() || null;
|
|
99
|
+
let unprefixedStatus = 'prefix-only';
|
|
100
|
+
if (!mergedModel) {
|
|
101
|
+
prefixOnlyCount += 1;
|
|
102
|
+
}
|
|
103
|
+
else if (effectiveProvider === providerKey) {
|
|
104
|
+
unprefixedStatus = 'safe';
|
|
105
|
+
safeCount += 1;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
unprefixedStatus = 'shadowed';
|
|
109
|
+
shadowedCount += 1;
|
|
110
|
+
}
|
|
111
|
+
const hint = {
|
|
112
|
+
modelId: model.id,
|
|
113
|
+
modelName: model.name?.trim() || model.id,
|
|
114
|
+
prefix,
|
|
115
|
+
pinnedModelId: managedPinnedId,
|
|
116
|
+
recommendedModelId: managedPinnedId,
|
|
117
|
+
pinnedAvailable,
|
|
118
|
+
unprefixedStatus,
|
|
119
|
+
effectiveProvider,
|
|
120
|
+
effectiveDisplayName,
|
|
121
|
+
effectiveOwnedBy: mergedModel?.owned_by?.trim() || null,
|
|
122
|
+
summary: '',
|
|
123
|
+
};
|
|
124
|
+
hint.summary = buildSummary(catalog.displayName, hint);
|
|
125
|
+
return hint;
|
|
126
|
+
});
|
|
127
|
+
result[providerKey] = {
|
|
128
|
+
provider: providerKey,
|
|
129
|
+
displayName: catalog.displayName,
|
|
130
|
+
prefix,
|
|
131
|
+
safeCount,
|
|
132
|
+
shadowedCount,
|
|
133
|
+
prefixOnlyCount,
|
|
134
|
+
models,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return result;
|
|
138
|
+
}
|
|
139
|
+
exports.buildCliproxyRoutingHints = buildCliproxyRoutingHints;
|
|
140
|
+
function getManagedModelPrefix(provider) {
|
|
141
|
+
return getManagedPrefix(provider);
|
|
142
|
+
}
|
|
143
|
+
exports.getManagedModelPrefix = getManagedModelPrefix;
|
|
144
|
+
//# sourceMappingURL=cliproxy-model-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliproxy-model-routing.js","sourceRoot":"","sources":["../../src/shared/cliproxy-model-routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* backend and UI can import the same source of truth.
|
|
6
6
|
*/
|
|
7
7
|
export type PresetCategory = 'recommended' | 'alternative';
|
|
8
|
-
export
|
|
8
|
+
export type ProviderPresetTarget = 'claude' | 'droid';
|
|
9
|
+
export declare const PROVIDER_PRESET_IDS: readonly ["openrouter", "alibaba-coding-plan", "huggingface", "ollama", "llamacpp", "anthropic", "glm", "km", "foundry", "mm", "deepseek", "qwen", "ollama-cloud", "novita"];
|
|
9
10
|
export type ProviderPresetId = (typeof PROVIDER_PRESET_IDS)[number];
|
|
10
11
|
export interface ProviderPresetDefinition {
|
|
11
12
|
id: ProviderPresetId;
|
|
@@ -18,6 +19,7 @@ export interface ProviderPresetDefinition {
|
|
|
18
19
|
apiKeyHint: string;
|
|
19
20
|
category: PresetCategory;
|
|
20
21
|
requiresApiKey: boolean;
|
|
22
|
+
defaultTarget?: ProviderPresetTarget;
|
|
21
23
|
/** Additional env vars for thinking mode, etc. */
|
|
22
24
|
extraEnv?: Record<string, string>;
|
|
23
25
|
/** Enable always thinking mode. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-preset-catalog.d.ts","sourceRoot":"","sources":["../../src/shared/provider-preset-catalog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-preset-catalog.d.ts","sourceRoot":"","sources":["../../src/shared/provider-preset-catalog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD,eAAO,MAAM,mBAAmB,8KAetB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,gBAAgB,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mCAAmC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAM7E,CAAC;AAyQH,eAAO,MAAM,2BAA2B,EAAE,SAAS,wBAAwB,EAE1E,CAAC;AAEF,wBAAgB,+BAA+B,IAAI,wBAAwB,EAAE,CAE5E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG5D"}
|
|
@@ -10,6 +10,7 @@ exports.normalizeProviderPresetId = exports.createProviderPresetDefinitions = ex
|
|
|
10
10
|
exports.PROVIDER_PRESET_IDS = [
|
|
11
11
|
'openrouter',
|
|
12
12
|
'alibaba-coding-plan',
|
|
13
|
+
'huggingface',
|
|
13
14
|
'ollama',
|
|
14
15
|
'llamacpp',
|
|
15
16
|
'anthropic',
|
|
@@ -32,6 +33,7 @@ exports.PROVIDER_PRESET_ALIASES = Object.freeze({
|
|
|
32
33
|
kimi: 'km',
|
|
33
34
|
alibaba: 'alibaba-coding-plan',
|
|
34
35
|
acp: 'alibaba-coding-plan',
|
|
36
|
+
hf: 'huggingface',
|
|
35
37
|
});
|
|
36
38
|
const RAW_PROVIDER_PRESET_DEFINITIONS = [
|
|
37
39
|
{
|
|
@@ -109,6 +111,20 @@ const RAW_PROVIDER_PRESET_DEFINITIONS = [
|
|
|
109
111
|
featured: true,
|
|
110
112
|
icon: '/assets/providers/claude.svg',
|
|
111
113
|
},
|
|
114
|
+
{
|
|
115
|
+
id: 'huggingface',
|
|
116
|
+
name: 'Hugging Face',
|
|
117
|
+
description: 'Inference Providers router via OpenAI-compatible chat completions',
|
|
118
|
+
baseUrl: 'https://router.huggingface.co/v1',
|
|
119
|
+
defaultProfileName: 'hf',
|
|
120
|
+
defaultModel: 'openai/gpt-oss-120b:fastest',
|
|
121
|
+
apiKeyPlaceholder: 'hf_...',
|
|
122
|
+
apiKeyHint: 'Create a User Access Token at hf.co/settings/tokens',
|
|
123
|
+
category: 'alternative',
|
|
124
|
+
requiresApiKey: true,
|
|
125
|
+
defaultTarget: 'droid',
|
|
126
|
+
badge: 'Router',
|
|
127
|
+
},
|
|
112
128
|
{
|
|
113
129
|
id: 'glm',
|
|
114
130
|
name: 'GLM',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-preset-catalog.js","sourceRoot":"","sources":["../../src/shared/provider-preset-catalog.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"provider-preset-catalog.js","sourceRoot":"","sources":["../../src/shared/provider-preset-catalog.ts"],"names":[],"mappings":"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"}
|