@jsonstudio/rcc 0.89.1348 → 0.89.1457
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/README.md +51 -1427
- package/dist/build-info.js +2 -2
- package/dist/cli/commands/config.js +3 -0
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/init.js +3 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/config/bundled-docs.js +2 -2
- package/dist/cli/config/bundled-docs.js.map +1 -1
- package/dist/cli/config/init-config.d.ts +2 -1
- package/dist/cli/config/init-config.js +33 -1
- package/dist/cli/config/init-config.js.map +1 -1
- package/dist/client/gemini/gemini-protocol-client.js +2 -1
- package/dist/client/gemini/gemini-protocol-client.js.map +1 -1
- package/dist/client/gemini-cli/gemini-cli-protocol-client.js +39 -15
- package/dist/client/gemini-cli/gemini-cli-protocol-client.js.map +1 -1
- package/dist/client/openai/chat-protocol-client.js +2 -1
- package/dist/client/openai/chat-protocol-client.js.map +1 -1
- package/dist/client/responses/responses-protocol-client.js +2 -1
- package/dist/client/responses/responses-protocol-client.js.map +1 -1
- package/dist/error-handling/quiet-error-handling-center.js +46 -8
- package/dist/error-handling/quiet-error-handling-center.js.map +1 -1
- package/dist/manager/modules/quota/provider-quota-daemon.events.js +4 -2
- package/dist/manager/modules/quota/provider-quota-daemon.events.js.map +1 -1
- package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js +9 -6
- package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js.map +1 -1
- package/dist/providers/auth/antigravity-userinfo-helper.d.ts +2 -1
- package/dist/providers/auth/antigravity-userinfo-helper.js +25 -4
- package/dist/providers/auth/antigravity-userinfo-helper.js.map +1 -1
- package/dist/providers/auth/tokenfile-auth.d.ts +2 -0
- package/dist/providers/auth/tokenfile-auth.js +33 -1
- package/dist/providers/auth/tokenfile-auth.js.map +1 -1
- package/dist/providers/core/config/camoufox-launcher.d.ts +5 -0
- package/dist/providers/core/config/camoufox-launcher.js +5 -0
- package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
- package/dist/providers/core/config/service-profiles.js +7 -18
- package/dist/providers/core/config/service-profiles.js.map +1 -1
- package/dist/providers/core/runtime/base-provider.d.ts +0 -5
- package/dist/providers/core/runtime/base-provider.js +26 -112
- package/dist/providers/core/runtime/base-provider.js.map +1 -1
- package/dist/providers/core/runtime/gemini-cli-http-provider.d.ts +7 -0
- package/dist/providers/core/runtime/gemini-cli-http-provider.js +362 -93
- package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
- package/dist/providers/core/runtime/http-request-executor.d.ts +3 -0
- package/dist/providers/core/runtime/http-request-executor.js +110 -38
- package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
- package/dist/providers/core/runtime/http-transport-provider.d.ts +3 -0
- package/dist/providers/core/runtime/http-transport-provider.js +80 -37
- package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
- package/dist/providers/core/runtime/rate-limit-manager.d.ts +1 -12
- package/dist/providers/core/runtime/rate-limit-manager.js +4 -77
- package/dist/providers/core/runtime/rate-limit-manager.js.map +1 -1
- package/dist/providers/core/utils/http-client.js +20 -43
- package/dist/providers/core/utils/http-client.js.map +1 -1
- package/dist/server/handlers/handler-utils.js +5 -1
- package/dist/server/handlers/handler-utils.js.map +1 -1
- package/dist/server/handlers/responses-handler.js +1 -1
- package/dist/server/handlers/responses-handler.js.map +1 -1
- package/dist/server/runtime/http-server/index.js +68 -29
- package/dist/server/runtime/http-server/index.js.map +1 -1
- package/dist/server/runtime/http-server/request-executor.js +50 -6
- package/dist/server/runtime/http-server/request-executor.js.map +1 -1
- package/dist/server/runtime/http-server/routes.js +4 -1
- package/dist/server/runtime/http-server/routes.js.map +1 -1
- package/dist/utils/strip-internal-keys.d.ts +12 -0
- package/dist/utils/strip-internal-keys.js +28 -0
- package/dist/utils/strip-internal-keys.js.map +1 -0
- package/docs/CHAT_PROCESS_PROTOCOL_AND_PIPELINE.md +221 -0
- package/docs/antigravity-gemini-format-cleanup.md +102 -0
- package/docs/antigravity-routing-contract.md +31 -0
- package/docs/chat-semantic-expansion-plan.md +8 -6
- package/docs/glm-chat-completions.md +1 -1
- package/docs/servertool-framework.md +65 -0
- package/docs/v2-architecture/README.md +6 -8
- package/docs/verified-configs/README.md +60 -0
- package/docs/verified-configs/v0.45.0/README.md +244 -0
- package/docs/verified-configs/v0.45.0/lmstudio-5521-gpt-oss-20b-mlx.json +135 -0
- package/docs/verified-configs/v0.45.0/merged-config.5521.json +1205 -0
- package/docs/verified-configs/v0.45.0/merged-config.qwen-5522.json +1559 -0
- package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus-final.json +221 -0
- package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus-fixed.json +242 -0
- package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus.json +242 -0
- package/package.json +17 -11
- package/scripts/build-core.mjs +3 -1
- package/scripts/ci/repo-sanity.mjs +138 -0
- package/scripts/mock-provider/run-regressions.mjs +157 -1
- package/scripts/run-bg.sh +0 -14
- package/scripts/tests/ci-jest.mjs +119 -0
- package/scripts/tools-dev/responses-debug-client/README.md +23 -0
- package/scripts/tools-dev/responses-debug-client/payloads/poem.json +13 -0
- package/scripts/tools-dev/responses-debug-client/payloads/sample-no-tools.json +98 -0
- package/scripts/tools-dev/responses-debug-client/payloads/text.json +13 -0
- package/scripts/tools-dev/responses-debug-client/payloads/tool.json +27 -0
- package/scripts/tools-dev/responses-debug-client/run.mjs +65 -0
- package/scripts/tools-dev/responses-debug-client/src/index.ts +281 -0
- package/scripts/tools-dev/run-llmswitch-chat.mjs +53 -0
- package/scripts/tools-dev/server-tools-dev/run-web-fetch.mjs +65 -0
- package/scripts/vendor-core.mjs +13 -3
- package/scripts/test-fc-responses.mjs +0 -66
- package/scripts/test-guidance.mjs +0 -100
- package/scripts/test-iflow-web-search.mjs +0 -141
- package/scripts/test-iflow.mjs +0 -379
- package/scripts/test-tool-exec.mjs +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface StripInternalKeysOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Preserve specific internal keys (e.g. framework carriers).
|
|
4
|
+
* Keys must match exactly (no glob).
|
|
5
|
+
*/
|
|
6
|
+
preserveKeys?: ReadonlySet<string>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Removes keys that start with "__" from any object/array tree.
|
|
10
|
+
* Intended for enforcing the E1 boundary rule (no internal env vars reach client/provider payloads).
|
|
11
|
+
*/
|
|
12
|
+
export declare function stripInternalKeysDeep<T>(value: T, options?: StripInternalKeysOptions): T;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function isPlainObject(value) {
|
|
2
|
+
return Boolean(value && typeof value === 'object' && !Array.isArray(value));
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Removes keys that start with "__" from any object/array tree.
|
|
6
|
+
* Intended for enforcing the E1 boundary rule (no internal env vars reach client/provider payloads).
|
|
7
|
+
*/
|
|
8
|
+
export function stripInternalKeysDeep(value, options = {}) {
|
|
9
|
+
const preserve = options.preserveKeys ?? new Set();
|
|
10
|
+
if (value === null || value === undefined) {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
if (Array.isArray(value)) {
|
|
14
|
+
return value.map((item) => stripInternalKeysDeep(item, options));
|
|
15
|
+
}
|
|
16
|
+
if (!isPlainObject(value)) {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
const out = {};
|
|
20
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
21
|
+
if (key.startsWith('__') && !preserve.has(key)) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
out[key] = stripInternalKeysDeep(entry, options);
|
|
25
|
+
}
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=strip-internal-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-internal-keys.js","sourceRoot":"","sources":["../../src/utils/strip-internal-keys.ts"],"names":[],"mappings":"AAgBA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAI,KAAQ,EAAE,UAAoC,EAAE;IACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,GAAG,EAAU,CAAC;IAC3D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Chat Process 协议与流水线契约(processMode=chat)
|
|
2
|
+
|
|
3
|
+
> 目的:把“请求/响应都必须进入 chat process(且只走 chat 扩展协议)”写成可执行、可 fail-fast 的契约,并给出**命名统一**与**修改点清单**,供审阅后再落地。
|
|
4
|
+
|
|
5
|
+
## 1) 术语(统一口径)
|
|
6
|
+
|
|
7
|
+
- **Chat 扩展协议(Chat Extension Protocol)**:llmswitch-core 内部的统一载体。
|
|
8
|
+
- 请求载体:`ChatEnvelope` / `StandardizedRequest`
|
|
9
|
+
- 响应载体:`ChatCompletionLike`(必须是 *OpenAI-chat-like*:`choices[0].message` 存在)
|
|
10
|
+
- **Chat Process**:对 chat 载体执行的“必经处理段”,包括但不限于:
|
|
11
|
+
- 工具治理/收割/规范化(tool governance + response tool harvesting)
|
|
12
|
+
- 路由选择(VirtualRouter)
|
|
13
|
+
- 兼容动作(compat actions)只能通过 Hub Pipeline 阶段触发
|
|
14
|
+
- **metadata**:仅允许承载**不可映射**的运行时提示/诊断信息;任何“可映射语义(mappable semantics)”严禁滞留在 metadata。
|
|
15
|
+
|
|
16
|
+
## 2) 刚性不变量(processMode=chat)
|
|
17
|
+
|
|
18
|
+
### 2.1 请求侧
|
|
19
|
+
|
|
20
|
+
在 `processMode=chat` 下,请求必须满足:
|
|
21
|
+
|
|
22
|
+
1. **inbound 必须产出 chat 扩展协议语义**(语义映射完成后才允许进入 chat process)。
|
|
23
|
+
2. **必须进入 chat process**(除非明确 `processMode=passthrough`)。
|
|
24
|
+
3. **outbound 仅使用白名单语义重建客户端协议**(clientRemap),不允许把“可映射语义”回塞到 metadata/透传到客户端。
|
|
25
|
+
|
|
26
|
+
代码事实(当前实现骨架):
|
|
27
|
+
- 正常入口:`sharedmodule/llmswitch-core/src/conversion/hub/pipeline/hub-pipeline.ts`(`executeRequestStagePipeline` 内部)
|
|
28
|
+
- servertool followup 重入入口:`sharedmodule/llmswitch-core/src/servertool/engine.ts:468`(`__hubEntry = 'chat_process'`,进入 `executeChatProcessEntryPipeline`)
|
|
29
|
+
|
|
30
|
+
### 2.2 响应侧
|
|
31
|
+
|
|
32
|
+
在 `processMode=chat` 下,响应必须满足:
|
|
33
|
+
|
|
34
|
+
1. **provider → compat → inbound → 语义映射(chat 形态)**是必经步骤。
|
|
35
|
+
2. **进入响应侧 chat process 前,必须是 canonical chat completion**(`choices[0].message` 存在)。
|
|
36
|
+
3. **outbound 仅产出客户端协议白名单字段**;内部 metadata 只用于转换过程,不可泄露到客户端 payload。
|
|
37
|
+
|
|
38
|
+
代码事实(当前实现骨架):
|
|
39
|
+
- `sharedmodule/llmswitch-core/src/conversion/hub/response/provider-response.ts:343`(resp inbound SSE decode)
|
|
40
|
+
- `sharedmodule/llmswitch-core/src/conversion/hub/response/provider-response.ts:401`(resp inbound semantic map → `chatResponse`)
|
|
41
|
+
- `sharedmodule/llmswitch-core/src/conversion/hub/response/provider-response.ts:426`(servertool orchestration)
|
|
42
|
+
- `sharedmodule/llmswitch-core/src/conversion/hub/response/provider-response.ts:464`(resp process tool governance)
|
|
43
|
+
- canonical chat completion 强制归一(hard gate):`sharedmodule/llmswitch-core/src/conversion/hub/response/provider-response.ts`(servertool orchestration 后、resp process 前)
|
|
44
|
+
- canonical chat completion 兜底归一(best-effort bridge):`sharedmodule/llmswitch-core/src/conversion/hub/pipeline/stages/resp_process/resp_process_stage1_tool_governance/index.ts`
|
|
45
|
+
|
|
46
|
+
## 3) “强制语义映射”规则(进入 chat process 前)
|
|
47
|
+
|
|
48
|
+
### 3.1 原则
|
|
49
|
+
|
|
50
|
+
- **同一语义在不同协议出现 → 必须映射到同一 chat 字段**(而不是塞进 metadata)。
|
|
51
|
+
- **chat 本身已有字段**(如 `messages/tools/toolOutputs/parameters`)→ 直接落入这些字段。
|
|
52
|
+
- **chat 没有但属于“跨协议可复用语义”** → 进入 `ChatSemantics` 的稳定字段(优先 `semantics.session/system/tools`,其次协议命名空间 `semantics.responses/anthropic/gemini`)。
|
|
53
|
+
- **仅“暂时无法映射/无语义对齐”的残余**,才允许进入 `semantics.providerExtras`(并要求逐步清空)。
|
|
54
|
+
|
|
55
|
+
### 3.2 禁入字段(fail-fast)
|
|
56
|
+
|
|
57
|
+
进入 chat process 的最后一刻,必须 fail-fast 校验:任何**可映射语义**不得存在于 metadata。
|
|
58
|
+
|
|
59
|
+
代码事实:当前请求侧在 chat_process entry 有 strict gate:
|
|
60
|
+
- `sharedmodule/llmswitch-core/src/conversion/hub/pipeline/hub-pipeline.ts:1714`(`assertNoMappableSemanticsInMetadata`)
|
|
61
|
+
- 当前禁入键(含 snake_case 同义键):`responsesResume`, `clientToolsRaw`, `anthropicToolNameMap`, `responsesContext`, `responseFormat`, `systemInstructions`, `toolsFieldPresent`, `extraFields`
|
|
62
|
+
|
|
63
|
+
你拍板(A1):禁入采用“已知具体键枚举”,并持续把同义字段/旧字段补全进黑名单;不禁掉 legacy catch-all 容器本身。
|
|
64
|
+
|
|
65
|
+
> 落地要求:把 legacy `extraFields/*Context/*Format` 这种“同义字段/旧字段”逐条枚举到禁入表(而不是靠一个大范围禁掉容器)。
|
|
66
|
+
|
|
67
|
+
#### A1 协议扫描结果(第一版:哪些键属于“可映射语义”,因此应被纳入禁入枚举/或迁移出 metadata)
|
|
68
|
+
|
|
69
|
+
> 说明:这里把“可映射语义”按**来源协议**归类,并标出当前代码的落点(metadata vs semantics)。
|
|
70
|
+
> 目标是:最终 chat process 只读 chat 字段与 `chat.semantics`,而不是靠 metadata 透传语义。
|
|
71
|
+
|
|
72
|
+
**OpenAI Chat(openai-chat)**
|
|
73
|
+
- legacy `metadata.systemInstructions`:可映射 → `chat.semantics.system.textBlocks`(当前主路径不再依赖 metadata;若仍出现应视为 legacy 注入并被 fail-fast gate 拦截)。
|
|
74
|
+
- legacy `metadata.toolsFieldPresent`:可映射 → `chat.semantics.tools.explicitEmpty`(当前主路径不再依赖 metadata;若仍出现应视为 legacy 注入并被 fail-fast gate 拦截)。
|
|
75
|
+
- legacy `metadata.extraFields`:可映射 → `chat.semantics.providerExtras.openaiChat.extraFields`(当前主路径以 semantics 为准;若仍出现应视为 legacy 注入并被 fail-fast gate 拦截)。
|
|
76
|
+
|
|
77
|
+
**Gemini(gemini-chat)**
|
|
78
|
+
- legacy `metadata.toolsFieldPresent`:可映射 → `chat.semantics.tools.explicitEmpty`(当前主路径不再依赖 metadata;若仍出现应视为 legacy 注入并被 fail-fast gate 拦截)。
|
|
79
|
+
|
|
80
|
+
**Anthropic(anthropic-messages)**
|
|
81
|
+
- legacy `anthropicToolNameMap`:可映射 → `chat.semantics.tools.toolNameAliasMap`(当前主路径已写入 semantics,见 `.../anthropic-mapper.ts:176`;禁入枚举保留是为了阻止旧路径把它塞回 metadata)。
|
|
82
|
+
|
|
83
|
+
**Responses(openai-responses)**
|
|
84
|
+
- legacy `responsesContext` / `responseFormat`:可映射 → `chat.semantics.responses.context` / `chat.semantics.responses.responseFormat`(当前主路径已走 semantics;禁入枚举用于阻止旧路径回流到 metadata)。
|
|
85
|
+
- `responsesResume`(submit_tool_outputs resume):可映射 → `chat.semantics.responses.resume`(已落地到 inbound semantic gate,见 `.../req_inbound_stage2_semantic_map/index.ts:57`)。
|
|
86
|
+
|
|
87
|
+
### 3.3 已落地的语义映射(作为基线)
|
|
88
|
+
|
|
89
|
+
(当前代码已做,符合“可映射语义不得滞留 metadata”的方向)
|
|
90
|
+
|
|
91
|
+
- `/v1/responses` tool-loop 恢复语义:
|
|
92
|
+
- `responsesResume`(host side 临时注入)→ **必须**在 inbound semantic map 前提升为 `chat.semantics.responses.resume`
|
|
93
|
+
- 并在需要时提升为 `chat.toolOutputs`(统一工具输出面)
|
|
94
|
+
- 位置:`sharedmodule/llmswitch-core/src/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/index.ts:57`
|
|
95
|
+
|
|
96
|
+
- 客户端 tools raw schema:
|
|
97
|
+
- `tools` 原始数组 → `chat.semantics.tools.clientToolsRaw`
|
|
98
|
+
- 位置:`sharedmodule/llmswitch-core/src/conversion/hub/pipeline/stages/req_inbound/req_inbound_stage2_semantic_map/index.ts:51`
|
|
99
|
+
|
|
100
|
+
- Anthropic tool alias:
|
|
101
|
+
- `payload.tools` → `chat.semantics.tools.toolNameAliasMap`
|
|
102
|
+
- 位置:`sharedmodule/llmswitch-core/src/conversion/hub/operation-table/semantic-mappers/anthropic-mapper.ts:176`
|
|
103
|
+
|
|
104
|
+
## 4) ServerTool followup 契约(你选的方案:override → canonical chat)
|
|
105
|
+
|
|
106
|
+
目标:servertool followup **不允许破坏“响应进入 chat process 必须 canonical chat completion”** 的不变量。
|
|
107
|
+
|
|
108
|
+
### 4.1 请求重入(followup request)
|
|
109
|
+
|
|
110
|
+
代码事实:目前 followup 通过设置 `__hubEntry='chat_process'` 直接从 chat_process 入口重入:
|
|
111
|
+
- `sharedmodule/llmswitch-core/src/servertool/engine.ts:468`
|
|
112
|
+
|
|
113
|
+
你拍板(B):followup 重入入口仍为 `__hubEntry='chat_process'`,并明确 hop 编号:
|
|
114
|
+
|
|
115
|
+
- **H1**:第一次请求命中(例如图像 meta / web_search 关键词等)。
|
|
116
|
+
- **H2**:模型调用工具被截获后进入工具执行:
|
|
117
|
+
- web_search:发起工具请求;
|
|
118
|
+
- vision:直接路由到第二跳进行 vision 工具调用;
|
|
119
|
+
- 这里发生一次路由与一次 reenter(进 chat process)。
|
|
120
|
+
- **H3**:第二次请求的响应回来后拦截并注入结果,再次 reenter 到 chat process 继续请求。
|
|
121
|
+
|
|
122
|
+
### 4.2 响应 override(followup response)
|
|
123
|
+
|
|
124
|
+
你拍板(C):followup 对 provider 来说就是正常请求;响应回来后与正常响应一致:
|
|
125
|
+
- 成功/失败都按正常响应返回给客户端;
|
|
126
|
+
- 429 等错误按正常策略截获重发(reenter 处)/VirtualRouter 重试;不引入“followup 特判”的异常路径。
|
|
127
|
+
|
|
128
|
+
因此,这里所谓“响应 override”不是“在 Host/Provider 绕开响应流水线”,而是强调**响应侧统一约束**:
|
|
129
|
+
- 无论该响应来自 H1/H2/H3 中的哪一跳,只要进入响应侧 chat process(response tool harvesting/governance),就必须先完成 “provider→compat→inbound→semantic_map_to_chat→(必要时 canonicalize_chat_completion)” 的统一处理;
|
|
130
|
+
- canonicalize 失败时,按正常错误流返回(fail-fast / bubble up),而不是在 Host/Provider 做 payload 语义修补或旁路输出。
|
|
131
|
+
|
|
132
|
+
代码事实(当前实现的 canonicalize 约束点):
|
|
133
|
+
- servertool orchestration 后、进入 resp process 前:hard gate(必须 canonical,否则抛错):
|
|
134
|
+
- `sharedmodule/llmswitch-core/src/conversion/hub/response/provider-response.ts`
|
|
135
|
+
- resp process 内部保留 best-effort bridge(仅作为安全网;原则上不应再依赖它):
|
|
136
|
+
- `sharedmodule/llmswitch-core/src/conversion/hub/pipeline/stages/resp_process/resp_process_stage1_tool_governance/index.ts`
|
|
137
|
+
|
|
138
|
+
## 5) StageId 命名规范(你要求的点分风格)
|
|
139
|
+
|
|
140
|
+
### 5.1 新命名(提案)
|
|
141
|
+
|
|
142
|
+
> 你要求:`chat_process.req.stage1_*`(点分)——下面给出 request/response 的对齐命名。
|
|
143
|
+
|
|
144
|
+
**请求侧(direction=request)**
|
|
145
|
+
- `chat_process.req.stage1.format_parse`
|
|
146
|
+
- `chat_process.req.stage2.semantic_map`
|
|
147
|
+
- `chat_process.req.stage3.context_capture`
|
|
148
|
+
- `chat_process.req.stage4.tool_governance`
|
|
149
|
+
- `chat_process.req.stage5.route_select`
|
|
150
|
+
- `chat_process.req.stage6.outbound.semantic_map`
|
|
151
|
+
- `chat_process.req.stage7.outbound.format_build`
|
|
152
|
+
- `chat_process.req.stage8.outbound.compat`
|
|
153
|
+
|
|
154
|
+
**响应侧(direction=response)**
|
|
155
|
+
- `chat_process.resp.stage1.sse_decode`
|
|
156
|
+
- `chat_process.resp.stage2.format_parse`
|
|
157
|
+
- `chat_process.resp.stage3.compat`
|
|
158
|
+
- `chat_process.resp.stage4.semantic_map_to_chat`
|
|
159
|
+
- `chat_process.resp.stage5.servertool_orchestration`
|
|
160
|
+
- `chat_process.resp.stage6.canonicalize_chat_completion`
|
|
161
|
+
- `chat_process.resp.stage7.tool_governance`
|
|
162
|
+
- `chat_process.resp.stage8.finalize`
|
|
163
|
+
- `chat_process.resp.stage9.client_remap`
|
|
164
|
+
- `chat_process.resp.stage10.sse_stream`
|
|
165
|
+
|
|
166
|
+
### 5.2 现有命名 → 新命名(已落地)
|
|
167
|
+
|
|
168
|
+
你补充的约束:目前只有 **chat process 相关**命名会混淆,所以只改 chat process 范围内的 stageId/keys,不扩大到全链路。
|
|
169
|
+
|
|
170
|
+
下面这些已统一改名(stageId 仅用于 stageRecorder/snapshot,不更改目录结构):
|
|
171
|
+
|
|
172
|
+
- 请求 inbound:
|
|
173
|
+
- `req_inbound_stage1_format_parse` → `chat_process.req.stage1.format_parse`
|
|
174
|
+
- `req_inbound_stage2_semantic_map` → `chat_process.req.stage2.semantic_map`
|
|
175
|
+
- `req_inbound_stage3_context_capture` → `chat_process.req.stage3.context_capture`
|
|
176
|
+
- 请求 process/outbound:
|
|
177
|
+
- `req_process_stage1_tool_governance` → `chat_process.req.stage4.tool_governance`
|
|
178
|
+
- `req_process_stage2_route_select` → `chat_process.req.stage5.route_select`
|
|
179
|
+
- `req_outbound_stage1_semantic_map` → `chat_process.req.stage6.outbound.semantic_map`
|
|
180
|
+
- `req_outbound_stage2_format_build` → `chat_process.req.stage7.outbound.format_build`
|
|
181
|
+
- `req_outbound_stage3_compat` → `chat_process.req.stage8.outbound.compat`
|
|
182
|
+
- 响应 inbound/process/outbound:
|
|
183
|
+
- `resp_inbound_stage1_sse_decode` → `chat_process.resp.stage1.sse_decode`
|
|
184
|
+
- `resp_inbound_stage2_format_parse` → `chat_process.resp.stage2.format_parse`
|
|
185
|
+
- `resp_inbound_stage_compat` → `chat_process.resp.stage3.compat`
|
|
186
|
+
- `resp_inbound_stage3_semantic_map` → `chat_process.resp.stage4.semantic_map_to_chat`
|
|
187
|
+
- `resp_process_stage0_chat_normalize` → `chat_process.resp.stage6.canonicalize_chat_completion`
|
|
188
|
+
- `resp_process_stage1_tool_governance` → `chat_process.resp.stage7.tool_governance`
|
|
189
|
+
- `resp_process_stage2_finalize` → `chat_process.resp.stage8.finalize`
|
|
190
|
+
- `resp_outbound_stage1_client_remap` → `chat_process.resp.stage9.client_remap`
|
|
191
|
+
- `resp_outbound_stage2_sse_stream` → `chat_process.resp.stage10.sse_stream`
|
|
192
|
+
|
|
193
|
+
## 6) 待你审阅确认的“修改点清单”
|
|
194
|
+
|
|
195
|
+
已拍板项(A/B/C/D/E 的决议已合入上文)之外,剩余需要你继续拍板的只有两类“落地细节”:
|
|
196
|
+
|
|
197
|
+
1. **禁入字段清单的扩展范围**:以 A1 为原则,把哪些 legacy 同义字段逐条加入黑名单(给一个首批 list 即可)。
|
|
198
|
+
2. **环境相关 metadata 的清扫实现策略**:你不想维护名单,所以我建议采用“内部注入字段统一使用 `__*` 前缀,并在 provider/client 边界统一剥离 `__*`”的约束;你确认是否接受这个前缀约束(否则只能回到枚举清扫)。
|
|
199
|
+
|
|
200
|
+
metadata 生命周期决议(E,需落地到清扫点):
|
|
201
|
+
- protocol 相关的“可映射语义”:必须进入 chat 字段/`chat.semantics`,不得出现在 outbound 后(请求/响应都一样)。
|
|
202
|
+
- 环境相关的内部注入变量:到 provider 前与 client 前都必须清理掉,不允许出现在 provider request / client response。
|
|
203
|
+
|
|
204
|
+
你拍板(E1):环境相关内部注入变量采用 `__*` 前缀约束,并在 provider/client 边界统一剥离所有 `__*`。
|
|
205
|
+
|
|
206
|
+
实现约束(落地口径):所有内部 runtime/env 注入变量统一放入 `metadata.__rt`(`__rt` 作为唯一 runtime carrier,天然满足 `__*` 前缀规则),严禁散落为 `metadata.serverToolFollowup/webSearch/clock/...` 这类顶层键。
|
|
207
|
+
|
|
208
|
+
E1 落地点(已实现):
|
|
209
|
+
- client→provider(上游请求体):各协议 `*ProtocolClient.buildRequestBody(...)` 在返回 body 前统一执行 `__*` 剥离(同时这些 client 本身也会移除 `metadata` 字段)。
|
|
210
|
+
- `src/client/openai/chat-protocol-client.ts`
|
|
211
|
+
- `src/client/responses/responses-protocol-client.ts`
|
|
212
|
+
- `src/client/gemini/gemini-protocol-client.ts`
|
|
213
|
+
- `src/client/gemini-cli/gemini-cli-protocol-client.ts`
|
|
214
|
+
- server→client(JSON 响应体):HTTP handler 在 `res.json(...)` 前统一剥离 `__*`(SSE carrier `__sse_responses` 走专用分支,不会 JSON 编码)。
|
|
215
|
+
- `src/server/handlers/handler-utils.ts`
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
关联文档(现有):
|
|
220
|
+
- `docs/chat-semantic-expansion-plan.md`(语义扩展分阶段计划,和本契约的 3.x 规则一致)
|
|
221
|
+
- `docs/V3_INBOUND_OUTBOUND_DESIGN.md`(inbound/outbound 设计背景)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Antigravity Gemini 格式清理要求
|
|
3
|
+
date: 2026-01-25
|
|
4
|
+
tags:
|
|
5
|
+
- routecodex
|
|
6
|
+
- antigravity
|
|
7
|
+
- gemini
|
|
8
|
+
- claude
|
|
9
|
+
status: active
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Antigravity Gemini 格式清理要求(gcli2api 对齐)
|
|
13
|
+
|
|
14
|
+
> [!summary]
|
|
15
|
+
> 本文汇总当前 **antigravity** 走 Gemini 协议时的格式清理要求,覆盖 **Gemini 系列** 与 **Claude 系列** 的关键输出/请求规范、UA/Headers 规范、工具历史一致性要求等。
|
|
16
|
+
> 本次改动已生效:历史 `functionCall` 强制补 `thoughtSignature: "skip_thought_signature_validator"`。
|
|
17
|
+
|
|
18
|
+
## 1) 适用范围
|
|
19
|
+
- **Gemini 系列**:`gemini-3-pro-low / gemini-3-pro-high` 等 Gemini 协议模型。
|
|
20
|
+
- **Claude 系列**:`claude-*` 走 antigravity/兼容层的 Gemini 路由时的兼容字段统一。
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 2) UA 与 Headers(gcli2api 对齐)
|
|
25
|
+
- **User-Agent**:固定为 `gcloud-cli/1.11.3`(对齐 gcli2api 行为)。
|
|
26
|
+
- **Headers 关键项**:
|
|
27
|
+
- `x-goog-api-client`: `gl-go/1.0.0 gccl/1.11.3`
|
|
28
|
+
- `x-goog-user-project`: 使用 `project`(保持与 gcli2api 一致)
|
|
29
|
+
- `x-goog-request-params`: `model=...`
|
|
30
|
+
- `x-client-request-id` + `x-goog-request-id`(使用 requestId/requestType 组合)
|
|
31
|
+
- **Body 结构**:
|
|
32
|
+
- 仅保留 gcli2api 需要的最小字段集合
|
|
33
|
+
- **不带 sessionId**
|
|
34
|
+
- 保持 `contents / systemInstruction / safetySettings / generationConfig / tools` 的一致性顺序与结构
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3) 工具与历史一致性(核心要求)
|
|
39
|
+
|
|
40
|
+
> [!important]
|
|
41
|
+
> **历史中出现的工具调用必须与当前请求 tools 对齐**。历史中不得出现当前 tools 列表中不存在的工具调用。
|
|
42
|
+
|
|
43
|
+
- **历史工具清理**:
|
|
44
|
+
- 对 **history 中出现但当前 tools 不存在** 的 `functionCall`/`functionResponse` 做 **移除或降级为纯文本**。
|
|
45
|
+
- 保持 **tools 列表与历史工具调用**的 **一一对应**。
|
|
46
|
+
- **工具名合法性**:
|
|
47
|
+
- Gemini 对函数名字符集/形状严格校验;不合法名称需 **清理或过滤**。
|
|
48
|
+
- **工具 schema 对齐**:
|
|
49
|
+
- 历史 `functionCall.args` 必须与当前工具 schema 对齐。
|
|
50
|
+
- 对 `args` 做 **结构修正**:Gemini 期望 `functionCall.args` 为对象(Struct),非对象需包 `value`。
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 4) Gemini 协议的格式清理要点
|
|
55
|
+
|
|
56
|
+
### 4.1 functionCall 历史补签名
|
|
57
|
+
- **新增要求(已生效)**:
|
|
58
|
+
- 历史 `functionCall` **必须包含**:
|
|
59
|
+
- `thoughtSignature: "skip_thought_signature_validator"`
|
|
60
|
+
- 这是 gcli2api 的行为:即使没有真实签名,也需要该字段以通过 Cloud Code 严格校验。
|
|
61
|
+
|
|
62
|
+
### 4.2 工具 schema 输出
|
|
63
|
+
- **始终输出工具 schema**(Gemini 需要工具声明来校验 `functionCall`/`functionResponse`)。
|
|
64
|
+
- `toolConfig.functionCallingConfig`:
|
|
65
|
+
- `NONE / ANY / ALLOWED` 按 `tool_choice` 映射。
|
|
66
|
+
|
|
67
|
+
### 4.3 Content 清理
|
|
68
|
+
- 统一 `contents` 结构,确保每条 entry 的 parts 合法。
|
|
69
|
+
- 对无效 part 做降级或过滤,避免 Gemini 侧 malformed。
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 5) Claude 系列在 Antigravity 中的兼容统一
|
|
74
|
+
|
|
75
|
+
- Claude-thinking / 非 thinking 输出在 antigravity 侧 **统一形态**:
|
|
76
|
+
- 保证与 Gemini/OpenAI 响应结构一致的 **content 形状**。
|
|
77
|
+
- 保持 **history/tool 行为与 Gemini 同步**(同样遵循历史工具一致性要求)。
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 6) 当前已生效的关键修复
|
|
82
|
+
|
|
83
|
+
- ✅ **历史 functionCall 强制补 `thoughtSignature`**(gcli2api 行为一致)。
|
|
84
|
+
- ✅ **history/tool 对齐清理**:历史工具调用不再允许与当前 tools 不一致。
|
|
85
|
+
- ✅ **args 结构修正**:非对象 args 包装到 `{ value }`。
|
|
86
|
+
- ✅ **UA/Headers 与 gcli2api 对齐**(最小 body、requestId/requestType headers)。
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 7) 验证方式(建议)
|
|
91
|
+
|
|
92
|
+
- 对比两条请求(首条无历史、次条带历史):
|
|
93
|
+
- `provider-request.json` 中 **`functionCall` 必须带 `thoughtSignature`**。
|
|
94
|
+
- `tools` 与历史 functionCall **必须一一对齐**。
|
|
95
|
+
- `args` 必须为对象(Struct)。
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 8) 备注
|
|
100
|
+
|
|
101
|
+
> [!note]
|
|
102
|
+
> 本次修改已验证生效。若后续仍出现 429 或 Cloud Code 严格校验失败,优先检查 **history 中工具清理是否遗漏** 或 **functionCall/Response 的结构化字段是否存在差异**。
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Antigravity 429 + sticky-queue contract (standard behavior)
|
|
2
|
+
|
|
3
|
+
This document defines the *default* behavior for Antigravity routing under transient 429s. It is a hard requirement
|
|
4
|
+
for the "standard" execution path; any alternative behavior is considered legacy compatibility.
|
|
5
|
+
|
|
6
|
+
## Contract (3 rules)
|
|
7
|
+
|
|
8
|
+
1) **Success sticks**
|
|
9
|
+
Once an alias is selected for a `(providerId=antigravity, modelId)` group, routing keeps selecting that alias
|
|
10
|
+
until the alias becomes unavailable (error / cooldown / blacklist).
|
|
11
|
+
|
|
12
|
+
2) **429 cools down + rotates to tail**
|
|
13
|
+
For capacity-style 429s (e.g. upstream "model capacity exhausted"), routing:
|
|
14
|
+
- immediately applies a short cooldown to the failing `providerKey` (alias-level for Antigravity), and
|
|
15
|
+
- on retry, rotates the failing alias to the tail of the sticky-queue, so the next attempt prefers a different alias.
|
|
16
|
+
|
|
17
|
+
3) **Fallback only when exhausted**
|
|
18
|
+
Retrying stays within Antigravity for the same model as long as any usable alias remains.
|
|
19
|
+
Only when all aliases are excluded/cooling/blacklisted does routing fall back to other providers/routes.
|
|
20
|
+
|
|
21
|
+
## Where this is implemented
|
|
22
|
+
|
|
23
|
+
- **Retry hint plumbing (excludedProviderKeys)**: `src/server/runtime/http-server/request-executor.ts`
|
|
24
|
+
- **Sticky-queue selection + alias rotation**:
|
|
25
|
+
- `sharedmodule/llmswitch-core/src/router/virtual-router/engine-selection/alias-selection.ts`
|
|
26
|
+
- `sharedmodule/llmswitch-core/src/router/virtual-router/engine-selection/tier-selection.ts`
|
|
27
|
+
- `sharedmodule/llmswitch-core/src/router/virtual-router/engine-selection/tier-selection-select.ts`
|
|
28
|
+
- **Capacity-style 429 cooldown (alias-level for Antigravity)**:
|
|
29
|
+
- `src/manager/modules/quota/provider-quota-daemon.model-backoff.ts`
|
|
30
|
+
- `src/manager/modules/quota/provider-quota-daemon.events.ts`
|
|
31
|
+
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> 目标:让 llmswitch-core 中的 Chat Process / Standardized 桥承接四种协议的语义,不再依赖 metadata 透传 “raw payload”,并按顺序分阶段完成。
|
|
4
4
|
|
|
5
|
+
> 术语约定:本文中的 “chat process” 指代码层面的 `chat_process` 阶段(工具治理/路由/协议重建的必经处理段)。
|
|
6
|
+
|
|
5
7
|
### 阶段 0:现状确认
|
|
6
8
|
|
|
7
9
|
1. **协议扫描**
|
|
@@ -9,7 +11,7 @@
|
|
|
9
11
|
- `responses-mapper.ts`:resume/include/store 等通过 `metadata.responsesContext/responseFormat` 储存。
|
|
10
12
|
- `anthropic-mapper.ts`:system blocks、tool alias、内容 shape 等塞进 `metadata.extraFields`。
|
|
11
13
|
- `gemini-mapper.ts`:systemInstruction、safetySettings、generationConfig、toolConfig 均在 metadata/parameters。
|
|
12
|
-
2. **chat
|
|
14
|
+
2. **chat process / standardized 桥**
|
|
13
15
|
- 只理解 `messages/tools/toolOutputs/parameters`,其余通通进 `metadata.capturedContext`。
|
|
14
16
|
|
|
15
17
|
### 阶段 1:扩展 Chat Process + Standardized 桥
|
|
@@ -20,13 +22,13 @@
|
|
|
20
22
|
- **协议专属命名空间**:`semantics.responses` / `semantics.anthropic` / `semantics.gemini`。每个命名空间内定义稳定 contract,禁止随意往里塞 provider extras。
|
|
21
23
|
- **providerExtras** 仅用于临时透传,默认禁止业务逻辑读取,后续接线完成后应趋近于空。
|
|
22
24
|
- `chatEnvelopeToStandardized` / `standardizedToChatEnvelope` 深拷贝 `semantics`。
|
|
23
|
-
2. **chat
|
|
25
|
+
2. **chat process 适配**
|
|
24
26
|
- `runHubChatProcess`、工具治理、路由决策只读 `request.semantics`;除 mapper/bridge 外,任何模块不得写入 `semantics`。
|
|
25
27
|
- Metadata 退回诊断角色:仅保留 `missingFields/providerMetadata` 等调试字段,`capturedContext` 禁止再夹带业务语义。
|
|
26
28
|
3. **模块测试**
|
|
27
|
-
- 新增 spec:构造 `ChatEnvelope` (含 system/responses/anthropic/gemini),执行标准化→还原→chat
|
|
29
|
+
- 新增 spec:构造 `ChatEnvelope` (含 system/responses/anthropic/gemini),执行标准化→还原→chat process,断言 `semantics` 原样保留。
|
|
28
30
|
|
|
29
|
-
> 完成该阶段后,chat
|
|
31
|
+
> 完成该阶段后,chat process 成为“语义承接层”,为后续接线提供可靠落点。
|
|
30
32
|
|
|
31
33
|
### 阶段 2:协议语义接线(分批)
|
|
32
34
|
|
|
@@ -69,10 +71,10 @@
|
|
|
69
71
|
### 注意事项
|
|
70
72
|
|
|
71
73
|
- **严格顺序**:阶段 1 完成并通过黑盒测试后,才能启动阶段 2 的任何接线工作。
|
|
72
|
-
- **只读语义**:除 Semantic Mapper / Bridge 外,任何模块不得写 `semantics`; chat
|
|
74
|
+
- **只读语义**:除 Semantic Mapper / Bridge 外,任何模块不得写 `semantics`; chat process 之后的所有节点禁止从 metadata/raw 读取业务语义。
|
|
73
75
|
- **最小增量**:每个协议接线尽量独立 PR/commit,便于回滚。
|
|
74
76
|
- **兼容期双写**:阶段 2 中需维护 semantics & metadata 双写(写 semantics → 同步旧字段);读路径优先 semantics,metadata 仅保底兼容,直到阶段 3 清理完成。
|
|
75
|
-
- **验证方式**:所有语义字段必须能在 `StandardizedRequest.semantics` 中观测到,且 chat
|
|
77
|
+
- **验证方式**:所有语义字段必须能在 `StandardizedRequest.semantics` 中观测到,且 chat process/路由/工具治理仅依赖该结构。
|
|
76
78
|
|
|
77
79
|
### 审查建议
|
|
78
80
|
|