@jsonstudio/rcc 0.89.1491 → 0.89.1502
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/configsamples/config.json +4 -12
- package/dist/build-info.js +2 -2
- package/dist/cli/commands/init.js +3 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/client/gemini-cli/gemini-cli-protocol-client.js +9 -13
- package/dist/client/gemini-cli/gemini-cli-protocol-client.js.map +1 -1
- package/dist/commands/oauth.js +20 -5
- package/dist/commands/oauth.js.map +1 -1
- package/dist/error-handling/quiet-error-handling-center.js +8 -46
- package/dist/error-handling/quiet-error-handling-center.js.map +1 -1
- package/dist/manager/modules/quota/antigravity-quota-manager.d.ts +2 -4
- package/dist/manager/modules/quota/antigravity-quota-manager.js +48 -137
- package/dist/manager/modules/quota/antigravity-quota-manager.js.map +1 -1
- package/dist/manager/modules/quota/provider-quota-daemon.events.js +2 -63
- package/dist/manager/modules/quota/provider-quota-daemon.events.js.map +1 -1
- package/dist/modules/llmswitch/bridge.js +4 -17
- package/dist/modules/llmswitch/bridge.js.map +1 -1
- package/dist/modules/llmswitch/core-loader.d.ts +1 -1
- package/dist/modules/llmswitch/core-loader.js +3 -15
- package/dist/modules/llmswitch/core-loader.js.map +1 -1
- package/dist/providers/auth/antigravity-userinfo-helper.d.ts +1 -3
- package/dist/providers/auth/antigravity-userinfo-helper.js +7 -41
- package/dist/providers/auth/antigravity-userinfo-helper.js.map +1 -1
- package/dist/providers/auth/gemini-cli-userinfo-helper.js +3 -3
- package/dist/providers/auth/gemini-cli-userinfo-helper.js.map +1 -1
- package/dist/providers/auth/oauth-lifecycle.js +175 -79
- package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
- package/dist/providers/auth/tokenfile-auth.d.ts +0 -12
- package/dist/providers/auth/tokenfile-auth.js +1 -92
- package/dist/providers/auth/tokenfile-auth.js.map +1 -1
- package/dist/providers/core/config/camoufox-launcher.d.ts +0 -5
- package/dist/providers/core/config/camoufox-launcher.js +43 -5
- package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
- package/dist/providers/core/config/oauth-flows.js +1 -1
- package/dist/providers/core/config/oauth-flows.js.map +1 -1
- package/dist/providers/core/config/service-profiles.js +17 -3
- package/dist/providers/core/config/service-profiles.js.map +1 -1
- package/dist/providers/core/runtime/base-provider.d.ts +5 -0
- package/dist/providers/core/runtime/base-provider.js +112 -26
- package/dist/providers/core/runtime/base-provider.js.map +1 -1
- package/dist/providers/core/runtime/gemini-cli-http-provider.d.ts +1 -3
- package/dist/providers/core/runtime/gemini-cli-http-provider.js +71 -370
- package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
- package/dist/providers/core/runtime/http-transport-provider.d.ts +0 -1
- package/dist/providers/core/runtime/http-transport-provider.js +5 -38
- package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
- package/dist/providers/core/runtime/provider-error-classifier.js +3 -1
- package/dist/providers/core/runtime/provider-error-classifier.js.map +1 -1
- package/dist/providers/core/runtime/rate-limit-manager.d.ts +12 -1
- package/dist/providers/core/runtime/rate-limit-manager.js +77 -4
- package/dist/providers/core/runtime/rate-limit-manager.js.map +1 -1
- package/dist/providers/core/strategies/oauth-auth-code-flow.js +10 -4
- package/dist/providers/core/strategies/oauth-auth-code-flow.js.map +1 -1
- package/dist/providers/core/strategies/oauth-device-flow.js +10 -4
- package/dist/providers/core/strategies/oauth-device-flow.js.map +1 -1
- package/dist/server/runtime/http-server/executor-pipeline.d.ts +1 -0
- package/dist/server/runtime/http-server/executor-provider.d.ts +2 -0
- package/dist/server/runtime/http-server/executor-provider.js +46 -0
- package/dist/server/runtime/http-server/executor-provider.js.map +1 -1
- package/dist/server/runtime/http-server/index.js +13 -55
- package/dist/server/runtime/http-server/index.js.map +1 -1
- package/dist/server/runtime/http-server/request-executor.js +12 -2
- package/dist/server/runtime/http-server/request-executor.js.map +1 -1
- package/dist/token-daemon/index.d.ts +1 -0
- package/dist/token-daemon/index.js +81 -1
- package/dist/token-daemon/index.js.map +1 -1
- package/package.json +3 -3
- package/scripts/run-bg.sh +14 -0
- package/scripts/tests/antigravity-codex-sample-pipeline-compare.mjs +221 -0
- package/scripts/tests/antigravity-gemini-dryrun-compare.mjs +222 -0
- package/scripts/tests/ci-jest.mjs +0 -5
- package/scripts/verify-e2e-toolcall.mjs +22 -6
- package/dist/runtime/wasm-runtime/wasm-config.d.ts +0 -73
- package/dist/runtime/wasm-runtime/wasm-config.js +0 -124
- package/dist/runtime/wasm-runtime/wasm-config.js.map +0 -1
- package/dist/runtime/wasm-runtime/wasm-loader.d.ts +0 -40
- package/dist/runtime/wasm-runtime/wasm-loader.js +0 -62
- package/dist/runtime/wasm-runtime/wasm-loader.js.map +0 -1
- package/docs/antigravity-gemini-format-cleanup.md +0 -143
- package/docs/llms-wasm-migration.md +0 -331
- package/docs/llms-wasm-module-boundaries.md +0 -588
- package/docs/llms-wasm-replay-baseline.md +0 -171
- package/docs/plans/llms-wasm-migration-plan.md +0 -401
- package/scripts/antigravity-token-bridge.mjs +0 -283
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/token-daemon/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/token-daemon/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsonstudio/rcc",
|
|
3
|
-
"version": "0.89.
|
|
3
|
+
"version": "0.89.1502",
|
|
4
4
|
"description": "Multi-provider OpenAI proxy server with anthropic/responses/chat support (release)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"test:ci": "npm run test:ci:jest && npm run mock:regressions",
|
|
45
45
|
"test:ci:coverage": "npm run test:ci:jest:coverage",
|
|
46
46
|
"verify:repo-sanity": "node scripts/ci/repo-sanity.mjs",
|
|
47
|
-
"test:routing-instructions": "npm run jest:run -- --runTestsByPath tests/server/runtime/request-executor.single-attempt.spec.ts tests/server/runtime/executor-provider.retryable.spec.ts tests/providers/auth/tokenfile-auth.iflow.spec.ts tests/providers/core/runtime/gemini-cli-http-provider.unit.test.ts tests/providers/core/runtime/antigravity-quota-client.unit.test.ts tests/manager/quota/provider-quota-center.spec.ts tests/manager/quota/provider-quota-store.spec.ts tests/manager/quota/quota-manager-refresh.spec.ts tests/manager/quota/provider-quota-daemon-module.spec.ts tests/manager/quota/provider-key-normalization.spec.ts tests/server/http-server/daemon-admin.e2e.spec.ts tests/server/http-server/quota-view-injection.spec.ts tests/server/http-server/quota-refresh-triggers.e2e.spec.ts tests/server/http-server/hub-policy-injection.spec.ts tests/server/http-server/session-header-injection.spec.ts tests/server/http-server/session-dir.spec.ts tests/server/handlers/sse-timeout.spec.ts tests/utils/is-direct-execution.test.ts tests/utils/windows-netstat.test.ts tests/servertool/virtual-router-context-fallback.spec.ts tests/servertool/virtual-router-longcontext-fallback.spec.ts tests/servertool/virtual-router-series-cooldown.spec.ts tests/servertool/recursive-detection-guard.spec.ts tests/servertool/routing-instructions.spec.ts tests/servertool/stop-message-auto.spec.ts tests/servertool/stopmessage-session-scope.spec.ts tests/servertool/stopmessage-anthropic-stop-sequence.spec.ts tests/servertool/servertool-progress-logging.spec.ts tests/servertool/servertool-clock.spec.ts tests/sharedmodule/
|
|
47
|
+
"test:routing-instructions": "npm run jest:run -- --runTestsByPath tests/server/runtime/request-executor.single-attempt.spec.ts tests/server/runtime/executor-provider.retryable.spec.ts tests/providers/auth/tokenfile-auth.iflow.spec.ts tests/providers/core/runtime/gemini-cli-http-provider.unit.test.ts tests/providers/core/runtime/antigravity-quota-client.unit.test.ts tests/manager/quota/provider-quota-center.spec.ts tests/manager/quota/provider-quota-store.spec.ts tests/manager/quota/quota-manager-refresh.spec.ts tests/manager/quota/provider-quota-daemon-module.spec.ts tests/manager/quota/provider-key-normalization.spec.ts tests/server/http-server/daemon-admin.e2e.spec.ts tests/server/http-server/quota-view-injection.spec.ts tests/server/http-server/quota-refresh-triggers.e2e.spec.ts tests/server/http-server/hub-policy-injection.spec.ts tests/server/http-server/session-header-injection.spec.ts tests/server/http-server/session-dir.spec.ts tests/server/handlers/sse-timeout.spec.ts tests/utils/is-direct-execution.test.ts tests/utils/windows-netstat.test.ts tests/servertool/virtual-router-context-fallback.spec.ts tests/servertool/virtual-router-longcontext-fallback.spec.ts tests/servertool/virtual-router-series-cooldown.spec.ts tests/servertool/recursive-detection-guard.spec.ts tests/servertool/routing-instructions.spec.ts tests/servertool/stop-message-auto.spec.ts tests/servertool/stopmessage-session-scope.spec.ts tests/servertool/stopmessage-anthropic-stop-sequence.spec.ts tests/servertool/servertool-progress-logging.spec.ts tests/servertool/servertool-clock.spec.ts tests/sharedmodule/mcp-tool-descriptions.spec.ts tests/unified-hub/hub-v1-single-path-imports.spec.ts",
|
|
48
48
|
"test:cli": "npm run jest:run -- --runTestsByPath tests/cli/clean-command.spec.ts tests/cli/code-command.spec.ts tests/cli/config-command.spec.ts tests/cli/env-command.spec.ts tests/cli/env-output.spec.ts tests/cli/examples-command.spec.ts tests/cli/port-command.spec.ts tests/cli/port-utils.spec.ts tests/cli/restart-command.spec.ts tests/cli/smoke.spec.ts tests/cli/start-command.spec.ts tests/cli/status-command.spec.ts tests/cli/stop-command.spec.ts",
|
|
49
49
|
"test:watch": "npm run jest:run -- --watch",
|
|
50
50
|
"test:coverage": "npm run jest:run -- --coverage",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
"dependencies": {
|
|
148
148
|
"@anthropic-ai/sdk": "^0.65.0",
|
|
149
|
-
"@jsonstudio/llms": "^0.6.
|
|
149
|
+
"@jsonstudio/llms": "^0.6.1402",
|
|
150
150
|
"@lmstudio/sdk": "^1.5.0",
|
|
151
151
|
"@radix-ui/react-switch": "^1.2.6",
|
|
152
152
|
"@types/socket.io": "^3.0.1",
|
package/scripts/run-bg.sh
CHANGED
|
@@ -40,6 +40,19 @@ if [[ -z "${CMD_STR}" ]]; then
|
|
|
40
40
|
exit 2
|
|
41
41
|
fi
|
|
42
42
|
|
|
43
|
+
cleanup_existing_servers() {
|
|
44
|
+
local killed=0
|
|
45
|
+
if [[ "${CMD_STR}" == *"dist/index.js"* || "${CMD_STR}" == *"routecodex"* ]]; then
|
|
46
|
+
echo "[run-bg] ensuring no previous RouteCodex server is running" >&2
|
|
47
|
+
pkill -f "/opt/homebrew/lib/node_modules/routecodex/dist/index.js" 2>/dev/null && killed=1 || true
|
|
48
|
+
pkill -f "$(pwd)/dist/index.js" 2>/dev/null && killed=1 || true
|
|
49
|
+
pkill -f "routecodex/dist/index.js" 2>/dev/null && killed=1 || true
|
|
50
|
+
if [[ "${killed}" -eq 1 ]]; then
|
|
51
|
+
sleep 1
|
|
52
|
+
fi
|
|
53
|
+
fi
|
|
54
|
+
}
|
|
55
|
+
|
|
43
56
|
detect_port() {
|
|
44
57
|
local p="${TARGET_PORT}"
|
|
45
58
|
if [[ -n "$p" ]]; then echo "$p"; return; fi
|
|
@@ -84,6 +97,7 @@ ensure_singleton() {
|
|
|
84
97
|
fi
|
|
85
98
|
}
|
|
86
99
|
|
|
100
|
+
cleanup_existing_servers
|
|
87
101
|
ensure_singleton
|
|
88
102
|
|
|
89
103
|
ts=$(date +%s)
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import os from 'node:os';
|
|
5
|
+
import { pathToFileURL } from 'node:url';
|
|
6
|
+
|
|
7
|
+
process.env.ROUTECODEX_HUB_SNAPSHOTS = '0';
|
|
8
|
+
process.env.ROUTECODEX_SNAPSHOT = '0';
|
|
9
|
+
|
|
10
|
+
function parseArgs(argv) {
|
|
11
|
+
const out = { _: [] };
|
|
12
|
+
for (let i = 2; i < argv.length; i += 1) {
|
|
13
|
+
const arg = argv[i];
|
|
14
|
+
if (!arg.startsWith('--')) {
|
|
15
|
+
out._.push(arg);
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const key = arg.slice(2);
|
|
19
|
+
const val = argv[i + 1] && !argv[i + 1].startsWith('--') ? argv[++i] : '1';
|
|
20
|
+
out[key] = val;
|
|
21
|
+
}
|
|
22
|
+
return out;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function readJson(file) {
|
|
26
|
+
return JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function extractResponsesBody(sampleDoc) {
|
|
30
|
+
const bodyNode = sampleDoc?.data?.body ?? sampleDoc?.body ?? sampleDoc;
|
|
31
|
+
if (bodyNode && typeof bodyNode === 'object' && typeof bodyNode.body === 'object' && bodyNode.body) {
|
|
32
|
+
return bodyNode.body;
|
|
33
|
+
}
|
|
34
|
+
if (bodyNode && typeof bodyNode === 'object') {
|
|
35
|
+
return bodyNode;
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function stripVolatile(value, dropKeys) {
|
|
41
|
+
if (!value || typeof value !== 'object') return value;
|
|
42
|
+
if (Array.isArray(value)) return value.map((entry) => stripVolatile(entry, dropKeys));
|
|
43
|
+
const out = {};
|
|
44
|
+
for (const [key, val] of Object.entries(value)) {
|
|
45
|
+
if (dropKeys.has(key)) continue;
|
|
46
|
+
out[key] = stripVolatile(val, dropKeys);
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function sortKeys(value) {
|
|
52
|
+
if (!value || typeof value !== 'object') return value;
|
|
53
|
+
if (Array.isArray(value)) return value.map(sortKeys);
|
|
54
|
+
const out = {};
|
|
55
|
+
for (const key of Object.keys(value).sort()) {
|
|
56
|
+
out[key] = sortKeys(value[key]);
|
|
57
|
+
}
|
|
58
|
+
return out;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function deepEqual(a, b) {
|
|
62
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function diffPaths(a, b, prefix = '', diffs = []) {
|
|
66
|
+
if (diffs.length >= 40) return diffs;
|
|
67
|
+
if (a === b) return diffs;
|
|
68
|
+
if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {
|
|
69
|
+
diffs.push(prefix || '(root)');
|
|
70
|
+
return diffs;
|
|
71
|
+
}
|
|
72
|
+
const keys = new Set([...Object.keys(a), ...Object.keys(b)]);
|
|
73
|
+
for (const key of keys) {
|
|
74
|
+
if (diffs.length >= 40) break;
|
|
75
|
+
diffPaths(a[key], b[key], prefix ? `${prefix}.${key}` : key, diffs);
|
|
76
|
+
}
|
|
77
|
+
return diffs;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
async function runPipeline(distRoot, sampleDoc, configPath, outputLabel) {
|
|
81
|
+
const bridgeUrl = pathToFileURL(path.join(distRoot, 'modules', 'llmswitch', 'bridge.js')).href;
|
|
82
|
+
const loaderUrl = pathToFileURL(path.join(distRoot, 'config', 'routecodex-config-loader.js')).href;
|
|
83
|
+
const metaUrl = pathToFileURL(path.join(distRoot, 'server', 'runtime', 'http-server', 'executor-metadata.js')).href;
|
|
84
|
+
const harnessUrl = pathToFileURL(path.join(distRoot, 'debug', 'harnesses', 'provider-harness.js')).href;
|
|
85
|
+
|
|
86
|
+
const bridge = await import(bridgeUrl);
|
|
87
|
+
const loader = await import(loaderUrl);
|
|
88
|
+
const meta = await import(metaUrl);
|
|
89
|
+
const harness = await import(harnessUrl);
|
|
90
|
+
|
|
91
|
+
const loaded = await loader.loadRouteCodexConfig(configPath);
|
|
92
|
+
const userConfig = loaded?.userConfig || {};
|
|
93
|
+
const artifacts = await bridge.bootstrapVirtualRouterConfig(userConfig.virtualrouter || userConfig.virtualRouter || {});
|
|
94
|
+
const virtualRouter = artifacts?.config || artifacts;
|
|
95
|
+
const HubPipelineCtor = await bridge.getHubPipelineCtor();
|
|
96
|
+
const pipeline = new HubPipelineCtor({ virtualRouter });
|
|
97
|
+
|
|
98
|
+
const payload = extractResponsesBody(sampleDoc);
|
|
99
|
+
if (!payload || typeof payload !== 'object') {
|
|
100
|
+
throw new Error(`[${outputLabel}] sample did not contain a JSON request body`);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const requestId = sampleDoc?.requestId || `dryrun_${Date.now()}_${outputLabel}`;
|
|
104
|
+
const input = {
|
|
105
|
+
entryEndpoint: sampleDoc?.endpoint || '/v1/responses',
|
|
106
|
+
method: 'POST',
|
|
107
|
+
requestId,
|
|
108
|
+
headers: sampleDoc?.headers || {},
|
|
109
|
+
query: {},
|
|
110
|
+
body: payload,
|
|
111
|
+
metadata: {
|
|
112
|
+
stream: payload?.stream === true,
|
|
113
|
+
providerProtocol: 'openai-responses',
|
|
114
|
+
processMode: 'passthrough'
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const metadata = meta.buildRequestMetadata(input);
|
|
119
|
+
const result = await pipeline.execute({
|
|
120
|
+
id: requestId,
|
|
121
|
+
endpoint: input.entryEndpoint,
|
|
122
|
+
payload,
|
|
123
|
+
metadata
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
const providerPayload = result?.providerPayload;
|
|
127
|
+
if (!providerPayload || typeof providerPayload !== 'object') {
|
|
128
|
+
throw new Error(`[${outputLabel}] HubPipeline did not produce providerPayload`);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const target = result?.target || {};
|
|
132
|
+
const providerKey = target.providerKey || '';
|
|
133
|
+
const runtime = (artifacts?.targetRuntime && providerKey && artifacts.targetRuntime[providerKey]) || null;
|
|
134
|
+
if (!runtime) {
|
|
135
|
+
throw new Error(`[${outputLabel}] missing runtime config for providerKey=${providerKey}`);
|
|
136
|
+
}
|
|
137
|
+
const providerIdHint = runtime.providerId || providerKey.split('.')[0];
|
|
138
|
+
const profile = loaded?.providerProfiles?.byId?.[providerIdHint];
|
|
139
|
+
if (profile?.moduleType) {
|
|
140
|
+
runtime.providerModule = profile.moduleType;
|
|
141
|
+
}
|
|
142
|
+
const routeName = result?.routingDecision?.routeName || 'default';
|
|
143
|
+
const ProviderPreprocessHarness = harness.ProviderPreprocessHarness;
|
|
144
|
+
const preprocessHarness = new ProviderPreprocessHarness();
|
|
145
|
+
const preprocessResult = await preprocessHarness.executeForward({
|
|
146
|
+
runtime,
|
|
147
|
+
request: providerPayload,
|
|
148
|
+
metadata: {
|
|
149
|
+
requestId,
|
|
150
|
+
providerId: providerIdHint,
|
|
151
|
+
providerKey,
|
|
152
|
+
providerType: runtime.providerType || target.providerType,
|
|
153
|
+
providerProtocol: target.outboundProfile || runtime.outboundProfile || target.providerProtocol || 'gemini-chat',
|
|
154
|
+
routeName,
|
|
155
|
+
target: {
|
|
156
|
+
providerKey,
|
|
157
|
+
providerType: runtime.providerType || target.providerType,
|
|
158
|
+
providerProtocol: target.outboundProfile || runtime.outboundProfile || target.providerProtocol,
|
|
159
|
+
runtimeKey: runtime.runtimeKey || target.runtimeKey,
|
|
160
|
+
routeName,
|
|
161
|
+
compatibilityProfile: runtime.compatibilityProfile || target.compatibilityProfile
|
|
162
|
+
},
|
|
163
|
+
compatibilityProfile: runtime.compatibilityProfile || target.compatibilityProfile
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
const finalizedPayload =
|
|
167
|
+
preprocessResult?.payload && typeof preprocessResult.payload === 'object'
|
|
168
|
+
? preprocessResult.payload
|
|
169
|
+
: providerPayload;
|
|
170
|
+
|
|
171
|
+
return {
|
|
172
|
+
providerPayload,
|
|
173
|
+
finalizedPayload,
|
|
174
|
+
target
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
async function main() {
|
|
179
|
+
const args = parseArgs(process.argv);
|
|
180
|
+
const samplePath = args.sample || args._[0];
|
|
181
|
+
if (!samplePath) throw new Error('Missing --sample <file.json>');
|
|
182
|
+
|
|
183
|
+
const configPath = args.config || path.join(os.homedir(), '.routecodex', 'config.json');
|
|
184
|
+
const outDir = args.out || path.join(process.cwd(), 'test-results', 'antigravity-pipeline-compare');
|
|
185
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
186
|
+
|
|
187
|
+
const leftDist = args.leftDist || path.join(process.cwd(), 'dist');
|
|
188
|
+
const rightDist = args.rightDist || '/opt/homebrew/lib/node_modules/@jsonstudio/rcc/dist';
|
|
189
|
+
|
|
190
|
+
const sampleDoc = readJson(samplePath);
|
|
191
|
+
const left = await runPipeline(leftDist, sampleDoc, configPath, 'left');
|
|
192
|
+
const right = await runPipeline(rightDist, sampleDoc, configPath, 'right');
|
|
193
|
+
|
|
194
|
+
const dropKeys = new Set(['requestId', 'metadata', 'action', 'session_id', 'sessionId']);
|
|
195
|
+
const normalizedLeft = sortKeys(stripVolatile(left.finalizedPayload, dropKeys));
|
|
196
|
+
const normalizedRight = sortKeys(stripVolatile(right.finalizedPayload, dropKeys));
|
|
197
|
+
|
|
198
|
+
const leftOut = path.join(outDir, 'left.finalized.json');
|
|
199
|
+
const rightOut = path.join(outDir, 'right.finalized.json');
|
|
200
|
+
fs.writeFileSync(leftOut, JSON.stringify(left.finalizedPayload, null, 2));
|
|
201
|
+
fs.writeFileSync(rightOut, JSON.stringify(right.finalizedPayload, null, 2));
|
|
202
|
+
|
|
203
|
+
if (!deepEqual(normalizedLeft, normalizedRight)) {
|
|
204
|
+
const diff = diffPaths(normalizedLeft, normalizedRight);
|
|
205
|
+
const diffPath = path.join(outDir, 'diff.json');
|
|
206
|
+
fs.writeFileSync(diffPath, JSON.stringify({ diff }, null, 2));
|
|
207
|
+
throw new Error(`pipeline mismatch; diff saved to ${diffPath}`);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
console.log('[pipeline-compare] ok');
|
|
211
|
+
console.log(' sample:', samplePath);
|
|
212
|
+
console.log(' left dist:', leftDist);
|
|
213
|
+
console.log(' right dist:', rightDist);
|
|
214
|
+
console.log(' left out:', leftOut);
|
|
215
|
+
console.log(' right out:', rightOut);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
main().catch((err) => {
|
|
219
|
+
console.error('[pipeline-compare] failed:', err?.message || err);
|
|
220
|
+
process.exit(1);
|
|
221
|
+
});
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import os from 'node:os';
|
|
5
|
+
import { pathToFileURL } from 'node:url';
|
|
6
|
+
|
|
7
|
+
process.env.ROUTECODEX_HUB_SNAPSHOTS = '0';
|
|
8
|
+
process.env.ROUTECODEX_SNAPSHOT = '0';
|
|
9
|
+
|
|
10
|
+
function parseArgs(argv) {
|
|
11
|
+
const out = { _: [] };
|
|
12
|
+
for (let i = 2; i < argv.length; i += 1) {
|
|
13
|
+
const arg = argv[i];
|
|
14
|
+
if (!arg.startsWith('--')) {
|
|
15
|
+
out._.push(arg);
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const key = arg.slice(2);
|
|
19
|
+
const val = argv[i + 1] && !argv[i + 1].startsWith('--') ? argv[++i] : '1';
|
|
20
|
+
out[key] = val;
|
|
21
|
+
}
|
|
22
|
+
return out;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function readJson(file) {
|
|
26
|
+
return JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function extractResponsesBody(sampleDoc) {
|
|
30
|
+
const bodyNode = sampleDoc?.data?.body ?? sampleDoc?.body ?? sampleDoc;
|
|
31
|
+
if (bodyNode && typeof bodyNode === 'object' && typeof bodyNode.body === 'object' && bodyNode.body) {
|
|
32
|
+
return bodyNode.body;
|
|
33
|
+
}
|
|
34
|
+
if (bodyNode && typeof bodyNode === 'object') {
|
|
35
|
+
return bodyNode;
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function stripVolatile(value, dropKeys) {
|
|
41
|
+
if (!value || typeof value !== 'object') return value;
|
|
42
|
+
if (Array.isArray(value)) return value.map((entry) => stripVolatile(entry, dropKeys));
|
|
43
|
+
const out = {};
|
|
44
|
+
for (const [key, val] of Object.entries(value)) {
|
|
45
|
+
if (dropKeys.has(key)) continue;
|
|
46
|
+
out[key] = stripVolatile(val, dropKeys);
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function sortKeys(value) {
|
|
52
|
+
if (!value || typeof value !== 'object') return value;
|
|
53
|
+
if (Array.isArray(value)) return value.map(sortKeys);
|
|
54
|
+
const out = {};
|
|
55
|
+
for (const key of Object.keys(value).sort()) {
|
|
56
|
+
out[key] = sortKeys(value[key]);
|
|
57
|
+
}
|
|
58
|
+
return out;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function deepEqual(a, b) {
|
|
62
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function diffPaths(a, b, prefix = '', diffs = []) {
|
|
66
|
+
if (diffs.length >= 20) return diffs;
|
|
67
|
+
if (a === b) return diffs;
|
|
68
|
+
if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {
|
|
69
|
+
diffs.push(prefix || '(root)');
|
|
70
|
+
return diffs;
|
|
71
|
+
}
|
|
72
|
+
const keys = new Set([...Object.keys(a), ...Object.keys(b)]);
|
|
73
|
+
for (const key of keys) {
|
|
74
|
+
if (diffs.length >= 20) break;
|
|
75
|
+
diffPaths(a[key], b[key], prefix ? `${prefix}.${key}` : key, diffs);
|
|
76
|
+
}
|
|
77
|
+
return diffs;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
async function main() {
|
|
81
|
+
const args = parseArgs(process.argv);
|
|
82
|
+
const samplePath = args.sample || args._[0];
|
|
83
|
+
if (!samplePath) throw new Error('Missing --sample <file.json>');
|
|
84
|
+
|
|
85
|
+
const baselinePath = args.baseline || args._[1];
|
|
86
|
+
if (!baselinePath) throw new Error('Missing --baseline <provider-request.json>');
|
|
87
|
+
|
|
88
|
+
const configPath = args.config || path.join(os.homedir(), '.routecodex', 'config.json');
|
|
89
|
+
const outDir = args.out || path.join(process.cwd(), 'test-results', 'antigravity-gemini-dryrun');
|
|
90
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
91
|
+
|
|
92
|
+
const distRoot = path.join(process.cwd(), 'dist');
|
|
93
|
+
const bridgeUrl = pathToFileURL(path.join(distRoot, 'modules', 'llmswitch', 'bridge.js')).href;
|
|
94
|
+
const loaderUrl = pathToFileURL(path.join(distRoot, 'config', 'routecodex-config-loader.js')).href;
|
|
95
|
+
const metaUrl = pathToFileURL(path.join(distRoot, 'server', 'runtime', 'http-server', 'executor-metadata.js')).href;
|
|
96
|
+
const harnessUrl = pathToFileURL(path.join(distRoot, 'debug', 'harnesses', 'provider-harness.js')).href;
|
|
97
|
+
|
|
98
|
+
const bridge = await import(bridgeUrl);
|
|
99
|
+
const loader = await import(loaderUrl);
|
|
100
|
+
const meta = await import(metaUrl);
|
|
101
|
+
const harness = await import(harnessUrl);
|
|
102
|
+
|
|
103
|
+
const loaded = await loader.loadRouteCodexConfig(configPath);
|
|
104
|
+
const userConfig = loaded?.userConfig || {};
|
|
105
|
+
const artifacts = await bridge.bootstrapVirtualRouterConfig(userConfig.virtualrouter || userConfig.virtualRouter || {});
|
|
106
|
+
const virtualRouter = artifacts?.config || artifacts;
|
|
107
|
+
const HubPipelineCtor = await bridge.getHubPipelineCtor();
|
|
108
|
+
const pipeline = new HubPipelineCtor({ virtualRouter });
|
|
109
|
+
|
|
110
|
+
const sampleDoc = readJson(samplePath);
|
|
111
|
+
const payload = extractResponsesBody(sampleDoc);
|
|
112
|
+
if (!payload || typeof payload !== 'object') throw new Error('Sample did not contain a JSON request body');
|
|
113
|
+
|
|
114
|
+
const requestId = sampleDoc?.requestId || `dryrun_${Date.now()}`;
|
|
115
|
+
const input = {
|
|
116
|
+
entryEndpoint: sampleDoc?.endpoint || '/v1/responses',
|
|
117
|
+
method: 'POST',
|
|
118
|
+
requestId,
|
|
119
|
+
headers: sampleDoc?.headers || {},
|
|
120
|
+
query: {},
|
|
121
|
+
body: payload,
|
|
122
|
+
metadata: {
|
|
123
|
+
stream: payload?.stream === true,
|
|
124
|
+
providerProtocol: 'openai-responses',
|
|
125
|
+
// Avoid servertool/tool injection during dry-run compare.
|
|
126
|
+
processMode: args.processMode || 'passthrough'
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
const metadata = meta.buildRequestMetadata(input);
|
|
130
|
+
const result = await pipeline.execute({
|
|
131
|
+
id: requestId,
|
|
132
|
+
endpoint: input.entryEndpoint,
|
|
133
|
+
payload,
|
|
134
|
+
metadata
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
const providerPayload = result?.providerPayload;
|
|
138
|
+
if (!providerPayload || typeof providerPayload !== 'object') {
|
|
139
|
+
throw new Error('HubPipeline did not produce providerPayload');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
const target = result?.target || {};
|
|
143
|
+
const providerKey = target.providerKey || '';
|
|
144
|
+
const runtime = (artifacts?.targetRuntime && providerKey && artifacts.targetRuntime[providerKey]) || null;
|
|
145
|
+
if (!runtime) {
|
|
146
|
+
throw new Error(`Missing runtime config for providerKey=${providerKey}`);
|
|
147
|
+
}
|
|
148
|
+
const providerIdHint = runtime.providerId || providerKey.split('.')[0];
|
|
149
|
+
const profile = loaded?.providerProfiles?.byId?.[providerIdHint];
|
|
150
|
+
if (profile?.moduleType) {
|
|
151
|
+
runtime.providerModule = profile.moduleType;
|
|
152
|
+
}
|
|
153
|
+
const routeName = result?.routingDecision?.routeName || 'default';
|
|
154
|
+
const ProviderPreprocessHarness = harness.ProviderPreprocessHarness;
|
|
155
|
+
const preprocessHarness = new ProviderPreprocessHarness();
|
|
156
|
+
const preprocessResult = await preprocessHarness.executeForward({
|
|
157
|
+
runtime,
|
|
158
|
+
request: providerPayload,
|
|
159
|
+
metadata: {
|
|
160
|
+
requestId,
|
|
161
|
+
providerId: providerIdHint,
|
|
162
|
+
providerKey,
|
|
163
|
+
providerType: runtime.providerType || target.providerType,
|
|
164
|
+
providerProtocol: target.outboundProfile || runtime.outboundProfile || target.providerProtocol || 'gemini-chat',
|
|
165
|
+
routeName,
|
|
166
|
+
target: {
|
|
167
|
+
providerKey,
|
|
168
|
+
providerType: runtime.providerType || target.providerType,
|
|
169
|
+
providerProtocol: target.outboundProfile || runtime.outboundProfile || target.providerProtocol,
|
|
170
|
+
runtimeKey: runtime.runtimeKey || target.runtimeKey,
|
|
171
|
+
routeName,
|
|
172
|
+
compatibilityProfile: runtime.compatibilityProfile || target.compatibilityProfile
|
|
173
|
+
},
|
|
174
|
+
compatibilityProfile: runtime.compatibilityProfile || target.compatibilityProfile
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
const finalizedPayload =
|
|
178
|
+
preprocessResult?.payload && typeof preprocessResult.payload === 'object'
|
|
179
|
+
? preprocessResult.payload
|
|
180
|
+
: providerPayload;
|
|
181
|
+
|
|
182
|
+
const outPayloadPath = path.join(outDir, `${requestId}.provider-payload.json`);
|
|
183
|
+
fs.writeFileSync(outPayloadPath, JSON.stringify(finalizedPayload, null, 2));
|
|
184
|
+
|
|
185
|
+
const baselineDoc = readJson(baselinePath);
|
|
186
|
+
const baselineBody = baselineDoc?.body || baselineDoc;
|
|
187
|
+
|
|
188
|
+
const requiredTopKeys = ['request'];
|
|
189
|
+
for (const key of requiredTopKeys) {
|
|
190
|
+
if (!(key in providerPayload)) {
|
|
191
|
+
throw new Error(`providerPayload missing required top-level key: ${key}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
const forbiddenTopKeys = ['contents', 'systemInstruction', 'tools', 'toolConfig', 'generationConfig', 'safetySettings'];
|
|
196
|
+
for (const key of forbiddenTopKeys) {
|
|
197
|
+
if (key in providerPayload) {
|
|
198
|
+
throw new Error(`providerPayload leaked ${key} at top-level (should be under request)`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
const dropKeys = new Set(['requestId', 'metadata', 'action']);
|
|
203
|
+
const normalizedActual = sortKeys(stripVolatile(finalizedPayload, dropKeys));
|
|
204
|
+
const normalizedBaseline = sortKeys(stripVolatile(baselineBody, dropKeys));
|
|
205
|
+
|
|
206
|
+
if (!deepEqual(normalizedActual, normalizedBaseline)) {
|
|
207
|
+
const diff = diffPaths(normalizedActual, normalizedBaseline);
|
|
208
|
+
const diffPath = path.join(outDir, `${requestId}.diff.json`);
|
|
209
|
+
fs.writeFileSync(diffPath, JSON.stringify({ diff }, null, 2));
|
|
210
|
+
throw new Error(`providerPayload mismatch; diff saved to ${diffPath}`);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
console.log('[dryrun-compare] ok');
|
|
214
|
+
console.log(' sample:', samplePath);
|
|
215
|
+
console.log(' baseline:', baselinePath);
|
|
216
|
+
console.log(' output:', outPayloadPath);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
main().catch((err) => {
|
|
220
|
+
console.error('[dryrun-compare] failed:', err?.message || err);
|
|
221
|
+
process.exit(1);
|
|
222
|
+
});
|
|
@@ -6,7 +6,6 @@ import process from 'node:process';
|
|
|
6
6
|
// - Prefer pure unit tests / mock-provider tests (no external network).
|
|
7
7
|
// - Expand coverage by adding more suites here (don’t run `jest --all` in CI).
|
|
8
8
|
const routingInstructionTests = [
|
|
9
|
-
'tests/client/gemini/gemini-cli-protocol-client.test.ts',
|
|
10
9
|
'tests/server/runtime/request-executor.single-attempt.spec.ts',
|
|
11
10
|
'tests/server/runtime/executor-provider.retryable.spec.ts',
|
|
12
11
|
'tests/providers/auth/tokenfile-auth.iflow.spec.ts',
|
|
@@ -61,11 +60,7 @@ const routingInstructionTests = [
|
|
|
61
60
|
'tests/servertool/exec-command-guard.spec.ts',
|
|
62
61
|
'tests/servertool/hub-pipeline-session-headers.spec.ts',
|
|
63
62
|
'tests/servertool/stopmessage-anthropic-stop-sequence.spec.ts',
|
|
64
|
-
'tests/servertool/stop-message-auto.spec.ts',
|
|
65
|
-
'tests/servertool/servertool-clock.spec.ts',
|
|
66
63
|
'tests/servertool/servertool-progress-logging.spec.ts',
|
|
67
|
-
'tests/sharedmodule/gemini-mapper-functioncall-args.spec.ts',
|
|
68
|
-
'tests/sharedmodule/mcp-tool-descriptions.spec.ts',
|
|
69
64
|
'tests/unified-hub/hub-v1-single-path-imports.spec.ts',
|
|
70
65
|
'tests/unified-hub/policy-errorsample-write.spec.ts',
|
|
71
66
|
'tests/unified-hub/policy-observe-shadow.spec.ts',
|
|
@@ -355,12 +355,16 @@ async function runGeminiCliStartupCheck() {
|
|
|
355
355
|
...process.env,
|
|
356
356
|
ROUTECODEX_CONFIG_PATH: GEMINI_CLI_CONFIG,
|
|
357
357
|
ROUTECODEX_PORT: '0',
|
|
358
|
-
ROUTECODEX_STAGE_LOG: '0'
|
|
358
|
+
ROUTECODEX_STAGE_LOG: '0',
|
|
359
|
+
// Avoid opening OAuth browser during build-time health checks.
|
|
360
|
+
ROUTECODEX_OAUTH_AUTO_OPEN: '0'
|
|
359
361
|
};
|
|
360
362
|
const child = spawn('node', ['dist/index.js'], {
|
|
361
363
|
env,
|
|
362
364
|
stdio: ['ignore', 'ignore', 'pipe']
|
|
363
365
|
});
|
|
366
|
+
// Prevent a stuck child process from keeping the verify task alive.
|
|
367
|
+
child.unref();
|
|
364
368
|
|
|
365
369
|
let stderr = '';
|
|
366
370
|
child.stderr.on('data', (chunk) => {
|
|
@@ -373,6 +377,14 @@ async function runGeminiCliStartupCheck() {
|
|
|
373
377
|
} catch {
|
|
374
378
|
// ignore
|
|
375
379
|
}
|
|
380
|
+
const hardKill = setTimeout(() => {
|
|
381
|
+
try {
|
|
382
|
+
child.kill('SIGKILL');
|
|
383
|
+
} catch {
|
|
384
|
+
// ignore
|
|
385
|
+
}
|
|
386
|
+
}, 1500);
|
|
387
|
+
hardKill.unref?.();
|
|
376
388
|
if (stderr) {
|
|
377
389
|
console.warn('[verify:e2e-toolcall] gemini-cli 启动日志(截断):', stderr.slice(0, 1000));
|
|
378
390
|
}
|
|
@@ -391,8 +403,12 @@ async function runGeminiCliStartupCheck() {
|
|
|
391
403
|
});
|
|
392
404
|
}
|
|
393
405
|
|
|
394
|
-
main()
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
406
|
+
main()
|
|
407
|
+
.then(() => {
|
|
408
|
+
process.exit(0);
|
|
409
|
+
})
|
|
410
|
+
.catch((error) => {
|
|
411
|
+
console.error(error);
|
|
412
|
+
console.error('❌ verify:e2e-toolcall 失败:', error?.message || error);
|
|
413
|
+
process.exit(1);
|
|
414
|
+
});
|