@eddyskywalker/dsh-chatgpt-subscription 0.43.0 → 0.43.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/CHANGELOG.md +8 -0
- package/lib/client.js +76 -38
- package/lib/client.js.map +1 -1
- package/lib/index.js +194 -22
- package/lib/types/client/locales-ru/qoder.d.ts.map +1 -1
- package/lib/types/client/qoder/QoderSection.d.ts.map +1 -1
- package/lib/types/client/qoder/locales.d.ts +9 -1
- package/lib/types/client/qoder/locales.d.ts.map +1 -1
- package/lib/types/client/qoder/styles.d.ts.map +1 -1
- package/lib/types/compat.d.ts +1 -1
- package/lib/types/host/qoder/client.d.ts.map +1 -1
- package/lib/types/host/qoder/mapper.d.ts +74 -2
- package/lib/types/host/qoder/mapper.d.ts.map +1 -1
- package/lib/types/shared/qoder-contracts.d.ts +10 -0
- package/lib/types/shared/qoder-contracts.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -141,7 +141,7 @@ const ROUTE_PREFIX$4 = "/api/dsh-chatgpt-subscription";
|
|
|
141
141
|
* `test/responses-client.test.ts` asserts the two agree, so a release that
|
|
142
142
|
* forgets this constant fails the suite instead of shipping quietly.
|
|
143
143
|
*/
|
|
144
|
-
const PLUGIN_VERSION = "0.43.
|
|
144
|
+
const PLUGIN_VERSION = "0.43.1";
|
|
145
145
|
const CODEX_CHATGPT_PROVIDER_ID = "codex-chatgpt";
|
|
146
146
|
const CODEX_API_BASE = "https://chatgpt.com/backend-api/codex";
|
|
147
147
|
const CODEX_RESPONSES_URL = `${CODEX_API_BASE}/responses`;
|
|
@@ -69902,11 +69902,15 @@ function normalizeQoderQuotaSnapshot(value, region, fetchedAt = Date.now()) {
|
|
|
69902
69902
|
if (addOn !== void 0) buckets.push(addOn);
|
|
69903
69903
|
const org = normalizeQoderBucket(value.orgResourcePackage, "org");
|
|
69904
69904
|
if (org !== void 0) buckets.push(org);
|
|
69905
|
-
|
|
69905
|
+
const quotaExceeded = value.isQuotaExceeded === true;
|
|
69906
|
+
const upgradeUrl = asText$1(value.upgradeUrl) ?? null;
|
|
69907
|
+
if (buckets.length === 0 && !quotaExceeded) return void 0;
|
|
69906
69908
|
const expiresRaw = asQuotaNumber(value.expiresAt) ?? null;
|
|
69907
69909
|
return {
|
|
69908
69910
|
buckets,
|
|
69909
69911
|
expiresAt: expiresRaw !== null && expiresRaw <= 864e13 ? expiresRaw : null,
|
|
69912
|
+
quotaExceeded,
|
|
69913
|
+
upgradeUrl,
|
|
69910
69914
|
fetchedAt,
|
|
69911
69915
|
region
|
|
69912
69916
|
};
|
|
@@ -70644,7 +70648,7 @@ function processQoderStreamLine(line, state) {
|
|
|
70644
70648
|
const envelope = safeJsonParse(payload);
|
|
70645
70649
|
if (!isRecord$6(envelope)) return [];
|
|
70646
70650
|
const statusCode = optionalNumber(envelope.statusCodeValue);
|
|
70647
|
-
if (statusCode !== void 0 && statusCode !== 200) throw
|
|
70651
|
+
if (statusCode !== void 0 && statusCode !== 200) throw classifyQoderEnvelopeFailure(statusCode, envelope);
|
|
70648
70652
|
const innerStr = asString$2(envelope.body);
|
|
70649
70653
|
if (innerStr === "[DONE]") {
|
|
70650
70654
|
state.done = true;
|
|
@@ -70655,7 +70659,11 @@ function processQoderStreamLine(line, state) {
|
|
|
70655
70659
|
if (!isRecord$6(inner)) return [];
|
|
70656
70660
|
const out = [];
|
|
70657
70661
|
const errorPayload = isRecord$6(inner.error) ? inner.error : void 0;
|
|
70658
|
-
if (errorPayload !== void 0)
|
|
70662
|
+
if (errorPayload !== void 0) {
|
|
70663
|
+
const innerFacts = qoderFailureFacts([errorPayload]);
|
|
70664
|
+
if (isQoderQuotaExhausted(innerFacts, void 0) || isQoderResourceLimited(innerFacts, void 0)) throw classifyQoderFailureFacts(void 0, "", innerFacts);
|
|
70665
|
+
throw new LlmError$1("Qoder(订阅) stream error: " + (asString$2(errorPayload.message) ?? "unknown error"), isContextOverflow(errorPayload) ? CONTEXT_OVERFLOW_CODE : "PROVIDER_ERROR");
|
|
70666
|
+
}
|
|
70659
70667
|
const usage = parseQoderUsage(inner.usage);
|
|
70660
70668
|
if (usage !== void 0) {
|
|
70661
70669
|
state.sawUsage = true;
|
|
@@ -70730,32 +70738,196 @@ function assertQoderStreamComplete(state) {
|
|
|
70730
70738
|
}
|
|
70731
70739
|
/** 错误体里引用回消息的最大长度。 */
|
|
70732
70740
|
const MAX_FAILURE_DETAIL_LENGTH = 600;
|
|
70733
|
-
/**
|
|
70734
|
-
|
|
70735
|
-
|
|
70736
|
-
|
|
70737
|
-
|
|
70738
|
-
|
|
70741
|
+
/** 事实扫描的深度与节点上限:上游的错误体很小,但别让它变成一次无界的走树。 */
|
|
70742
|
+
const FAILURE_FACT_MAX_DEPTH = 6;
|
|
70743
|
+
const FAILURE_FACT_MAX_NODES = 200;
|
|
70744
|
+
/** 一个码字段的值(字符串或数字)转成字符串。 */
|
|
70745
|
+
function qoderCodeText(value) {
|
|
70746
|
+
if (typeof value === "string") {
|
|
70747
|
+
const trimmed = value.trim();
|
|
70748
|
+
return trimmed === "" ? void 0 : trimmed;
|
|
70749
|
+
}
|
|
70750
|
+
if (typeof value === "number" && Number.isFinite(value)) return String(value);
|
|
70751
|
+
}
|
|
70752
|
+
/** 一个 URL 字段的值。 */
|
|
70753
|
+
function qoderUrlText(value) {
|
|
70754
|
+
return typeof value === "string" && value.trim() !== "" ? value.trim() : void 0;
|
|
70755
|
+
}
|
|
70756
|
+
/**
|
|
70757
|
+
* 扫一遍上游的失败载荷,把认得的字段收成事实。
|
|
70758
|
+
*
|
|
70759
|
+
* 为什么要扫而不是只取顶层:上游把这几个字段放在**不同层**(信封外层 / body /
|
|
70760
|
+
* body 里的 error 对象),而码是**一条链**(403 → 10605)。逐层找比猜位置可靠:
|
|
70761
|
+
* 猜错位置就等于把「排队」读成「凭据被拒」。
|
|
70762
|
+
*/
|
|
70763
|
+
function qoderFailureFacts(roots) {
|
|
70764
|
+
const facts = {
|
|
70765
|
+
codes: [],
|
|
70766
|
+
subCodes: []
|
|
70767
|
+
};
|
|
70768
|
+
const budget = { nodes: FAILURE_FACT_MAX_NODES };
|
|
70769
|
+
for (const root of roots) collectQoderFailureFacts(root, facts, 0, budget);
|
|
70770
|
+
return facts;
|
|
70771
|
+
}
|
|
70772
|
+
function collectQoderFailureFacts(node, facts, depth, budget) {
|
|
70773
|
+
if (depth > FAILURE_FACT_MAX_DEPTH || budget.nodes <= 0) return;
|
|
70774
|
+
if (Array.isArray(node)) {
|
|
70775
|
+
for (const item of node) collectQoderFailureFacts(item, facts, depth + 1, budget);
|
|
70776
|
+
return;
|
|
70777
|
+
}
|
|
70778
|
+
if (!isRecord$6(node)) return;
|
|
70779
|
+
budget.nodes -= 1;
|
|
70780
|
+
for (const [key, value] of Object.entries(node)) {
|
|
70781
|
+
switch (key) {
|
|
70782
|
+
case "code":
|
|
70783
|
+
case "errorCode":
|
|
70784
|
+
case "error_code": {
|
|
70785
|
+
const text = qoderCodeText(value);
|
|
70786
|
+
if (text !== void 0) facts.codes.push(text);
|
|
70787
|
+
break;
|
|
70788
|
+
}
|
|
70789
|
+
case "subCode":
|
|
70790
|
+
case "sub_code": {
|
|
70791
|
+
const text = qoderCodeText(value);
|
|
70792
|
+
if (text !== void 0) facts.subCodes.push(text);
|
|
70793
|
+
break;
|
|
70794
|
+
}
|
|
70795
|
+
case "queueCount":
|
|
70796
|
+
case "queue_count":
|
|
70797
|
+
facts.queueCount ??= optionalNumber(value);
|
|
70798
|
+
break;
|
|
70799
|
+
case "retryAfterSeconds":
|
|
70800
|
+
case "retry_after_seconds":
|
|
70801
|
+
facts.retryAfterSeconds ??= optionalNumber(value);
|
|
70802
|
+
break;
|
|
70803
|
+
case "serviceAvailable":
|
|
70804
|
+
case "service_available":
|
|
70805
|
+
if (typeof value === "boolean") facts.serviceAvailable ??= value;
|
|
70806
|
+
break;
|
|
70807
|
+
case "isQueued":
|
|
70808
|
+
case "is_queued":
|
|
70809
|
+
if (typeof value === "boolean") facts.isQueued ??= value;
|
|
70810
|
+
break;
|
|
70811
|
+
case "modelKey":
|
|
70812
|
+
case "model_key":
|
|
70813
|
+
facts.modelKey ??= qoderCodeText(value);
|
|
70814
|
+
break;
|
|
70815
|
+
case "pricingUrl":
|
|
70816
|
+
case "pricing_url":
|
|
70817
|
+
facts.pricingUrl ??= qoderUrlText(value);
|
|
70818
|
+
break;
|
|
70819
|
+
case "upgradeUrl":
|
|
70820
|
+
case "upgrade_url":
|
|
70821
|
+
facts.upgradeUrl ??= qoderUrlText(value);
|
|
70822
|
+
break;
|
|
70823
|
+
case "isQuotaExceeded":
|
|
70824
|
+
case "is_quota_exceeded":
|
|
70825
|
+
if (typeof value === "boolean") facts.quotaExceeded ??= value;
|
|
70826
|
+
break;
|
|
70827
|
+
default: break;
|
|
70828
|
+
}
|
|
70829
|
+
collectQoderFailureFacts(value, facts, depth + 1, budget);
|
|
70830
|
+
}
|
|
70831
|
+
}
|
|
70832
|
+
/**
|
|
70833
|
+
* 上游是不是在说「资源不足 / 排队中」。
|
|
70834
|
+
*
|
|
70835
|
+
* 认两种凭据:上游**点名**的(\`RESOURCE_LIMIT\` / 10605)与 403 搭配的容量信号
|
|
70836
|
+
* (服务不可用 / 这次在排队 / 前面排了人)。点名的凭据压过状态码——429 带上
|
|
70837
|
+
* RESOURCE_LIMIT 说的是「上游没容量」,不是「这个账号被限流」(与 kimi-code 把
|
|
70838
|
+
* 「引擎过载」从 429 里分出来是同一判断);只有排队人数这种弱信号时,429 的含义
|
|
70839
|
+
* 不变,号池照旧冷却账号并轮转。
|
|
70840
|
+
*/
|
|
70841
|
+
function isQoderResourceLimited(facts, status) {
|
|
70842
|
+
if (facts.subCodes.some((code) => code.toUpperCase() === "RESOURCE_LIMIT")) return true;
|
|
70843
|
+
if (facts.codes.includes("10605")) return true;
|
|
70844
|
+
if (status !== 403) return false;
|
|
70845
|
+
return facts.serviceAvailable === false || facts.isQueued === true || facts.queueCount !== void 0 && facts.queueCount > 0;
|
|
70846
|
+
}
|
|
70847
|
+
/**
|
|
70848
|
+
* 上游是不是在说「额度用尽」。
|
|
70849
|
+
*
|
|
70850
|
+
* 认两种凭据:业务码 112,以及 403 搭配的额度信号(\`isQuotaExceeded\` / 购买页)。
|
|
70851
|
+
* 额度用尽不是「这个账号坏了」,所以它归 QUOTA 而不是 AUTH——它只能等周期重置或加购。
|
|
70852
|
+
*/
|
|
70853
|
+
function isQoderQuotaExhausted(facts, status) {
|
|
70854
|
+
if (facts.codes.includes("112")) return true;
|
|
70855
|
+
if (status !== 403) return false;
|
|
70856
|
+
return facts.quotaExceeded === true || facts.pricingUrl !== void 0;
|
|
70857
|
+
}
|
|
70858
|
+
/** 上游排队 / 资源不足的文案:说清「不是凭据问题」,并带上上游给的排队事实。 */
|
|
70859
|
+
function qoderResourceLimitMessage(facts, status) {
|
|
70860
|
+
const details = [];
|
|
70861
|
+
const codes = [...facts.subCodes, ...facts.codes].filter((code) => code !== "" && code !== String(status));
|
|
70862
|
+
if (codes.length > 0) details.push("code " + codes.join(" / "));
|
|
70863
|
+
if (facts.queueCount !== void 0) details.push("队列 " + facts.queueCount + " 人");
|
|
70864
|
+
if (facts.retryAfterSeconds !== void 0) details.push("上游建议 " + facts.retryAfterSeconds + " 秒后再试");
|
|
70865
|
+
if (facts.modelKey !== void 0) details.push("modelKey " + facts.modelKey);
|
|
70866
|
+
return "Qoder(订阅) 上游资源不足,这个模型正在排队" + (details.length === 0 ? "" : ":" + details.join(",")) + "。这是上游容量问题,不是凭据问题——账号仍是登录状态,不需要重新登录;稍后重试即可。";
|
|
70867
|
+
}
|
|
70868
|
+
/** 上游额度用尽的文案:额度恢复前这一请求不会成功,并给出上游给的购买/升级页。 */
|
|
70869
|
+
function qoderQuotaExhaustedMessage(facts, status) {
|
|
70870
|
+
const details = [];
|
|
70871
|
+
const codes = facts.codes.filter((code) => code !== "" && code !== String(status));
|
|
70872
|
+
if (codes.length > 0) details.push("code " + codes.join(" / "));
|
|
70873
|
+
const url = facts.pricingUrl ?? facts.upgradeUrl;
|
|
70874
|
+
if (url !== void 0) details.push(url);
|
|
70875
|
+
return "Qoder(订阅) 额度已用尽,当前请求被上游拒绝" + (details.length === 0 ? "" : ":" + details.join(",")) + "。额度恢复之前这一请求不会成功;可以等周期重置,或在额度页升级套餐。";
|
|
70739
70876
|
}
|
|
70740
70877
|
/**
|
|
70741
70878
|
* 把一次失败(非 2xx 响应,或信封里的错误状态)分类成 DSH failure。
|
|
70742
70879
|
*
|
|
70743
70880
|
* 错误码是 harness 的共享词汇而不是本线路自己的:号池认得 \`AUTH\`
|
|
70744
70881
|
* (「这个账号必须重新登录」),而重试集合不会捡起一次套餐拒绝。
|
|
70745
|
-
* Qoder
|
|
70746
|
-
*
|
|
70882
|
+
* Qoder 的业务码各有归处:
|
|
70883
|
+
*
|
|
70884
|
+
* - \`103\`(重复 request_id)不是可安全自动重试的状态(qodercli2api §8 原话);
|
|
70885
|
+
* - \`105\`(Login expired)归 AUTH;
|
|
70886
|
+
* - \`10605\` / \`RESOURCE_LIMIT\`(上游排队、资源不足)归 **SERVER**——它描述的是
|
|
70887
|
+
* 上游容量,换账号与重新登录都救不了,退避重试才有意义(与 kimi-code 的
|
|
70888
|
+
* 「引擎过载」同一判断:过载不是账号被限流,所以不借 RATE_LIMIT 的语义);
|
|
70889
|
+
* - \`112\`(额度用尽,带 pricingUrl)归 **QUOTA**——额度恢复前这一请求不可能成功,
|
|
70890
|
+
* 而 DSH 正是用这个码显示「当前请求的额度已用尽」。
|
|
70891
|
+
*
|
|
70892
|
+
* 剩下认不出原因的 403 仍然归 AUTH:那时「凭据被拒」是上游最常见的那一种。
|
|
70893
|
+
* 但把一次排队误报成「API 密钥无效」会让人去重建一把根本没坏的令牌,
|
|
70894
|
+
* 所以上面两条必须先于它判掉。
|
|
70747
70895
|
*/
|
|
70748
70896
|
function classifyQoderFailure(status, detail) {
|
|
70749
|
-
|
|
70750
|
-
|
|
70751
|
-
|
|
70752
|
-
|
|
70753
|
-
|
|
70754
|
-
|
|
70755
|
-
|
|
70756
|
-
|
|
70757
|
-
|
|
70758
|
-
|
|
70897
|
+
return classifyQoderFailureFacts(status, detail.trim().slice(0, MAX_FAILURE_DETAIL_LENGTH), qoderFailureFacts([safeJsonParse(detail)]));
|
|
70898
|
+
}
|
|
70899
|
+
/**
|
|
70900
|
+
* 信封路径的失败分类。
|
|
70901
|
+
*
|
|
70902
|
+
* 上游把排队人数、\`subCode\` 这些事实放在**信封层**还是 body 里都可能(body 本身
|
|
70903
|
+
* 还是一段 JSON 字符串,要再解析一次),所以两处都扫:只读 body 会把「排队」读成
|
|
70904
|
+
* 「凭据被拒」。
|
|
70905
|
+
*/
|
|
70906
|
+
function classifyQoderEnvelopeFailure(status, envelope) {
|
|
70907
|
+
const bodyText = asString$2(envelope.body) ?? "";
|
|
70908
|
+
return classifyQoderFailureFacts(status, bodyText.trim().slice(0, MAX_FAILURE_DETAIL_LENGTH), qoderFailureFacts([envelope, safeJsonParse(bodyText)]));
|
|
70909
|
+
}
|
|
70910
|
+
/** 事实齐了以后的那次判定(AUTH / QUOTA / SERVER 的先后是硬要求)。 */
|
|
70911
|
+
function classifyQoderFailureFacts(status, detail, facts) {
|
|
70912
|
+
const suffix = detail === "" ? "" : ": " + detail;
|
|
70913
|
+
const code = facts.codes.length > 0 ? facts.codes[0] : void 0;
|
|
70914
|
+
const options = status === void 0 ? {} : { status };
|
|
70915
|
+
if (status === 401 || facts.codes.includes("105")) return new LlmError$1("Qoder(订阅) rejected the credential (" + (status ?? "no status") + (code === void 0 ? "" : ", code " + code) + "). Sign the account in again." + suffix, "AUTH", options);
|
|
70916
|
+
if (isQoderQuotaExhausted(facts, status)) return new LlmError$1(qoderQuotaExhaustedMessage(facts, status) + suffix, "QUOTA", options);
|
|
70917
|
+
if (isQoderResourceLimited(facts, status)) {
|
|
70918
|
+
const after = facts.retryAfterSeconds;
|
|
70919
|
+
return new LlmError$1(qoderResourceLimitMessage(facts, status) + suffix, "SERVER", after === void 0 || after <= 0 ? options : {
|
|
70920
|
+
...options,
|
|
70921
|
+
providerRetryAfterMs: after * 1e3
|
|
70922
|
+
});
|
|
70923
|
+
}
|
|
70924
|
+
if (status === 403) return new LlmError$1("Qoder(订阅) rejected the credential (" + status + (code === void 0 ? "" : ", code " + code) + "). Sign the account in again." + suffix, "AUTH", options);
|
|
70925
|
+
if (code === "103") return new LlmError$1("Qoder(订阅) rejected a duplicated request id (code 103)." + suffix, "PROVIDER_ERROR", options);
|
|
70926
|
+
if (status === 429) return new LlmError$1("Qoder(订阅) rate limit or plan limit (" + status + ")." + suffix, "RATE_LIMIT", options);
|
|
70927
|
+
if (status !== void 0 && isHttpContextOverflow(status, detail)) return new LlmError$1("Qoder(订阅) says the conversation no longer fits the model window." + suffix, CONTEXT_OVERFLOW_CODE, options);
|
|
70928
|
+
if (status === 404) return new LlmError$1("Qoder(订阅) does not know this model or route (" + status + ")." + suffix, "NOT_FOUND", options);
|
|
70929
|
+
if (status !== void 0 && status >= 500) return new LlmError$1("Qoder(订阅) upstream error (" + status + ")." + suffix, "SERVER", options);
|
|
70930
|
+
return new LlmError$1("Qoder(订阅) request failed (" + (status ?? "no status") + ")." + suffix, "PROVIDER_ERROR", options);
|
|
70759
70931
|
}
|
|
70760
70932
|
//#endregion
|
|
70761
70933
|
//#region src/host/qoder/adapter.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qoder.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/qoder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"qoder.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/qoder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAqIrD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QoderSection.d.ts","sourceRoot":"","sources":["../../../../src/client/qoder/QoderSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAIL,KAAK,gBAAgB,EAGtB,MAAM,iCAAiC,CAAA;AAKxC,OAAO,EAAgD,EAAE,EAAiC,MAAM,cAAc,CAAA;AAC9G,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AA6D9E;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC,GAAE,OAAO,EAAO,GAAG,MAAM,CAQpF;AAED,wBAAgB,YAAY,CAAC,EAAE,aAAa,EAAE,GAAE,iBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"QoderSection.d.ts","sourceRoot":"","sources":["../../../../src/client/qoder/QoderSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAIL,KAAK,gBAAgB,EAGtB,MAAM,iCAAiC,CAAA;AAKxC,OAAO,EAAgD,EAAE,EAAiC,MAAM,cAAc,CAAA;AAC9G,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AA6D9E;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC,GAAE,OAAO,EAAO,GAAG,MAAM,CAQpF;AAED,wBAAgB,YAAY,CAAC,EAAE,aAAa,EAAE,GAAE,iBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoezF"}
|
|
@@ -108,6 +108,10 @@ export declare const zh: {
|
|
|
108
108
|
quotaSignedOut: string;
|
|
109
109
|
quotaErrorLabel: string;
|
|
110
110
|
quotaNoUnit: string;
|
|
111
|
+
/** 上游明说额度用尽:它是账号层面的事实,三只桶全是 0 时只有它能说清为什么被拒。 */
|
|
112
|
+
quotaExceeded: string;
|
|
113
|
+
quotaExceededHint: string;
|
|
114
|
+
quotaUpgradeLink: string;
|
|
111
115
|
cacheSection: string;
|
|
112
116
|
cacheStatScope: string;
|
|
113
117
|
cacheDesc: string;
|
|
@@ -259,6 +263,10 @@ export declare const dictionaries: {
|
|
|
259
263
|
quotaSignedOut: string;
|
|
260
264
|
quotaErrorLabel: string;
|
|
261
265
|
quotaNoUnit: string;
|
|
266
|
+
/** 上游明说额度用尽:它是账号层面的事实,三只桶全是 0 时只有它能说清为什么被拒。 */
|
|
267
|
+
quotaExceeded: string;
|
|
268
|
+
quotaExceededHint: string;
|
|
269
|
+
quotaUpgradeLink: string;
|
|
262
270
|
cacheSection: string;
|
|
263
271
|
cacheStatScope: string;
|
|
264
272
|
cacheDesc: string;
|
|
@@ -304,7 +312,7 @@ export declare const dictionaries: {
|
|
|
304
312
|
modelRowNoEfforts: string;
|
|
305
313
|
modelRowOutput: string;
|
|
306
314
|
};
|
|
307
|
-
en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheRequests" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "moreNotes" | "region" | "regionCn" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopt" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptInvalidCredentials" | "adoptUnsupportedShape" | "adoptFallback" | "testFailedDetail" | "modelsHintExtra" | "modelsUnavailable" | "dismiss" | "enabledModelIdsSemantics" | "defaultEffort" | "defaultEffortHint" | "defaultEffortHintExtra" | "defaultEffortModel" | "effortMinimal" | "contextWindowHintExtra" | "invalidCapacity" | "quotaRefresh" | "quotaReadAt" | "quotaRegion" | "quotaRefreshingNote" | "quotaErrorLabel" | "cacheStatScope" | "cacheReadTokens" | "cacheMissedTokens" | "cacheHitRatioUnavailable" | "regionGlobal" | "regionHintExtra" | "adoptNotAQoderLogin" | "adoptRegionUnresolved" | "quotaBucketPersonal" | "quotaBucketAddOn" | "quotaBucketOrg" | "quotaRemaining" | "quotaTotal" | "quotaExpiresAt" | "quotaNoUnit" | "cacheWriteTokens" | "modelRowEfforts" | "modelRowNoEfforts" | "modelRowOutput", string>;
|
|
315
|
+
en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheRequests" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "moreNotes" | "region" | "regionCn" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopt" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptInvalidCredentials" | "adoptUnsupportedShape" | "adoptFallback" | "testFailedDetail" | "modelsHintExtra" | "modelsUnavailable" | "dismiss" | "enabledModelIdsSemantics" | "defaultEffort" | "defaultEffortHint" | "defaultEffortHintExtra" | "defaultEffortModel" | "effortMinimal" | "contextWindowHintExtra" | "invalidCapacity" | "quotaRefresh" | "quotaReadAt" | "quotaRegion" | "quotaRefreshingNote" | "quotaErrorLabel" | "cacheStatScope" | "cacheReadTokens" | "cacheMissedTokens" | "cacheHitRatioUnavailable" | "regionGlobal" | "regionHintExtra" | "adoptNotAQoderLogin" | "adoptRegionUnresolved" | "quotaBucketPersonal" | "quotaBucketAddOn" | "quotaBucketOrg" | "quotaRemaining" | "quotaTotal" | "quotaExpiresAt" | "quotaNoUnit" | "quotaExceeded" | "quotaExceededHint" | "quotaUpgradeLink" | "cacheWriteTokens" | "modelRowEfforts" | "modelRowNoEfforts" | "modelRowOutput", string>;
|
|
308
316
|
};
|
|
309
317
|
/** adopt 的失败原因(冻结契约的联合)。 */
|
|
310
318
|
export type AdoptReason = NonNullable<QoderAdoptResultDto['reason']>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/qoder/locales.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACZ,MAAM,iCAAiC,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,cAAc,CAAA;AAEnC,eAAO,MAAM,EAAE;;;;IAUb,uCAAuC;;;;;;;;;IAYvC,2DAA2D
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/qoder/locales.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACZ,MAAM,iCAAiC,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,cAAc,CAAA;AAEnC,eAAO,MAAM,EAAE;;;;IAUb,uCAAuC;;;;;;;;;IAYvC,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgG3D,+CAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBhD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,EAAE,CAAA;AAE5C,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAmI7C,CAAA;AAED,YAAY;AACZ,eAAO,MAAM,YAAY;;;;;QAxQvB,uCAAuC;;;;;;;;;QAYvC,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgG3D,+CAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JX,CAAA;AAEtC,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAWpE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,GACzC,MAAM,CAER;AAQD,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,GACzC,MAAM,CAER;AASD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,GACzC,MAAM,CAER"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/qoder/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,6BAA6B,CAAA;AAElD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/qoder/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,6BAA6B,CAAA;AAElD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CA0CzC"}
|
package/lib/types/compat.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export declare const ROUTE_PREFIX: "/api/dsh-chatgpt-subscription";
|
|
|
71
71
|
* `test/responses-client.test.ts` asserts the two agree, so a release that
|
|
72
72
|
* forgets this constant fails the suite instead of shipping quietly.
|
|
73
73
|
*/
|
|
74
|
-
export declare const PLUGIN_VERSION: "0.43.
|
|
74
|
+
export declare const PLUGIN_VERSION: "0.43.1";
|
|
75
75
|
export declare const CODEX_CHATGPT_PROVIDER_ID: "codex-chatgpt";
|
|
76
76
|
export { MINIMAX_CODE_PROVIDER_ID, MINIMAX_CODE_ROUTE_PREFIX } from './shared/minimax-code-contracts.ts';
|
|
77
77
|
export declare const CODEX_API_BASE: "https://chatgpt.com/backend-api/codex";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/qoder/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/qoder/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -223,13 +223,85 @@ export declare function closeQoderStream(state: QoderStreamState): StreamChunk[]
|
|
|
223
223
|
* 没有终止事件的流是被截断的回复,不是一份完整答案。
|
|
224
224
|
*/
|
|
225
225
|
export declare function assertQoderStreamComplete(state: QoderStreamState): void;
|
|
226
|
+
/**
|
|
227
|
+
* 上游「资源不足 / 排队中」的业务码与 subCode。
|
|
228
|
+
*
|
|
229
|
+
* 上游把它作为 **HTTP 200 + SSE 错误信封** 送达(\`statusCodeValue: 403\`),
|
|
230
|
+
* body 里带着 403 → 10605 的码链、\`subCode: RESOURCE_LIMIT\`、排队人数与
|
|
231
|
+
* \`retryAfterSeconds\`。它描述的是**上游容量**,不是凭据——把它分类成 AUTH
|
|
232
|
+
* 会把用户引向「重建令牌 / 重新登录」的死路,而那把令牌根本没坏。
|
|
233
|
+
*/
|
|
234
|
+
export declare const QODER_ERROR_RESOURCE_LIMIT = "10605";
|
|
235
|
+
/** 上游排队时的 subCode(与 {@link QODER_ERROR_RESOURCE_LIMIT} 成对出现)。 */
|
|
236
|
+
export declare const QODER_ERROR_SUB_RESOURCE_LIMIT = "RESOURCE_LIMIT";
|
|
237
|
+
/**
|
|
238
|
+
* 上游「额度用尽」的业务码(另一种 403,body 里带 \`pricingUrl\`)。
|
|
239
|
+
*
|
|
240
|
+
* 它与排队是**两回事**:排队等一会儿就好,额度用尽只能等周期重置或加购。
|
|
241
|
+
*/
|
|
242
|
+
export declare const QODER_ERROR_QUOTA_EXCEEDED = "112";
|
|
243
|
+
/**
|
|
244
|
+
* 一次失败里上游报出来的事实(信封层与 body 层都扫,所以字段在哪一层都不丢)。
|
|
245
|
+
*
|
|
246
|
+
* 这些字段是上游自己的词汇:\`queueCount\` / \`retryAfterSeconds\` /
|
|
247
|
+
* \`serviceAvailable\` / \`isQueued\` 描述的是上游当下的容量状态。
|
|
248
|
+
*/
|
|
249
|
+
export interface QoderFailureFacts {
|
|
250
|
+
/** 出现过的业务码(字符串化;码链可能不止一个,如 403 → 10605)。 */
|
|
251
|
+
codes: string[];
|
|
252
|
+
/** 出现过的 subCode。 */
|
|
253
|
+
subCodes: string[];
|
|
254
|
+
/** 排队人数(上游报「前面还有多少人在等」)。 */
|
|
255
|
+
queueCount?: number;
|
|
256
|
+
/** 上游建议的重试等待秒数。 */
|
|
257
|
+
retryAfterSeconds?: number;
|
|
258
|
+
/** 上游报的服务可用性。 */
|
|
259
|
+
serviceAvailable?: boolean;
|
|
260
|
+
/** 上游报「本次请求被排队」。 */
|
|
261
|
+
isQueued?: boolean;
|
|
262
|
+
/** 被排队的模型 key(上游的模型标识,不是 DSH 的公开 id)。 */
|
|
263
|
+
modelKey?: string;
|
|
264
|
+
/** 额度用尽时的购买页。 */
|
|
265
|
+
pricingUrl?: string;
|
|
266
|
+
/** 额度用尽时的升级页。 */
|
|
267
|
+
upgradeUrl?: string;
|
|
268
|
+
/** 上游报「额度已用尽」。 */
|
|
269
|
+
quotaExceeded?: boolean;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* 扫一遍上游的失败载荷,把认得的字段收成事实。
|
|
273
|
+
*
|
|
274
|
+
* 为什么要扫而不是只取顶层:上游把这几个字段放在**不同层**(信封外层 / body /
|
|
275
|
+
* body 里的 error 对象),而码是**一条链**(403 → 10605)。逐层找比猜位置可靠:
|
|
276
|
+
* 猜错位置就等于把「排队」读成「凭据被拒」。
|
|
277
|
+
*/
|
|
278
|
+
export declare function qoderFailureFacts(roots: readonly unknown[]): QoderFailureFacts;
|
|
226
279
|
/**
|
|
227
280
|
* 把一次失败(非 2xx 响应,或信封里的错误状态)分类成 DSH failure。
|
|
228
281
|
*
|
|
229
282
|
* 错误码是 harness 的共享词汇而不是本线路自己的:号池认得 \`AUTH\`
|
|
230
283
|
* (「这个账号必须重新登录」),而重试集合不会捡起一次套餐拒绝。
|
|
231
|
-
* Qoder
|
|
232
|
-
*
|
|
284
|
+
* Qoder 的业务码各有归处:
|
|
285
|
+
*
|
|
286
|
+
* - \`103\`(重复 request_id)不是可安全自动重试的状态(qodercli2api §8 原话);
|
|
287
|
+
* - \`105\`(Login expired)归 AUTH;
|
|
288
|
+
* - \`10605\` / \`RESOURCE_LIMIT\`(上游排队、资源不足)归 **SERVER**——它描述的是
|
|
289
|
+
* 上游容量,换账号与重新登录都救不了,退避重试才有意义(与 kimi-code 的
|
|
290
|
+
* 「引擎过载」同一判断:过载不是账号被限流,所以不借 RATE_LIMIT 的语义);
|
|
291
|
+
* - \`112\`(额度用尽,带 pricingUrl)归 **QUOTA**——额度恢复前这一请求不可能成功,
|
|
292
|
+
* 而 DSH 正是用这个码显示「当前请求的额度已用尽」。
|
|
293
|
+
*
|
|
294
|
+
* 剩下认不出原因的 403 仍然归 AUTH:那时「凭据被拒」是上游最常见的那一种。
|
|
295
|
+
* 但把一次排队误报成「API 密钥无效」会让人去重建一把根本没坏的令牌,
|
|
296
|
+
* 所以上面两条必须先于它判掉。
|
|
233
297
|
*/
|
|
234
298
|
export declare function classifyQoderFailure(status: number, detail: string): LlmError;
|
|
299
|
+
/**
|
|
300
|
+
* 信封路径的失败分类。
|
|
301
|
+
*
|
|
302
|
+
* 上游把排队人数、\`subCode\` 这些事实放在**信封层**还是 body 里都可能(body 本身
|
|
303
|
+
* 还是一段 JSON 字符串,要再解析一次),所以两处都扫:只读 body 会把「排队」读成
|
|
304
|
+
* 「凭据被拒」。
|
|
305
|
+
*/
|
|
306
|
+
export declare function classifyQoderEnvelopeFailure(status: number, envelope: Record<string, unknown>): LlmError;
|
|
235
307
|
//# sourceMappingURL=mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/qoder/mapper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/qoder/mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,16 @@ export interface QoderQuotaSnapshotDto {
|
|
|
100
100
|
buckets: QoderQuotaBucketDto[];
|
|
101
101
|
/** 账号周期截止(Unix 毫秒);上游未给出时为 null。 */
|
|
102
102
|
expiresAt: number | null;
|
|
103
|
+
/**
|
|
104
|
+
* 上游明说「额度已用尽」。
|
|
105
|
+
*
|
|
106
|
+
* 它是**账号层面的事实**,不是某只桶的数字:三只桶全是 0 时上游也会这么报,
|
|
107
|
+
* 而卡片此前只看得见 0/0,于是「额度看着还在」与「请求被拒」同时成立。
|
|
108
|
+
* 上游没报这个字段时为 false(快照里的桶仍然是事实)。
|
|
109
|
+
*/
|
|
110
|
+
quotaExceeded: boolean;
|
|
111
|
+
/** 额度用尽时的升级/购买页(上游给的);上游没给时为 null。 */
|
|
112
|
+
upgradeUrl: string | null;
|
|
103
113
|
/** 本次读取时刻(Unix 毫秒),卡片据此判断数据新旧。 */
|
|
104
114
|
fetchedAt: number;
|
|
105
115
|
/** 这份快照是在哪个区域读到的(额度跟着账号走,账号的区域即快照的区域)。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qoder-contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/qoder-contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qoder-contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/qoder-contracts.ts"],"names":[],"mappings":"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"}
|