@jsonstudio/rcc 0.89.1562 → 0.89.1800

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.
Files changed (220) hide show
  1. package/README.md +97 -13
  2. package/configsamples/config.json +8 -8
  3. package/configsamples/config.reference.json +1 -1
  4. package/configsamples/provider/crs/config.v1.json +1 -1
  5. package/configsamples/provider/glm/config.v1.json +1 -1
  6. package/configsamples/provider/glm-anthropic/config.v1.json +1 -1
  7. package/configsamples/provider/kimi/config.v1.json +1 -1
  8. package/configsamples/provider/lmstudio/config.v1.json +2 -1
  9. package/configsamples/provider/mimo/config.v1.json +1 -1
  10. package/configsamples/provider/modelscope/config.v1.json +1 -1
  11. package/configsamples/provider/qwen/config.v1.json +1 -1
  12. package/configsamples/provider/tab/config.v1.json +2 -1
  13. package/configsamples/provider/tabglm/config.v1.json +1 -1
  14. package/dist/build-info.js +3 -3
  15. package/dist/build-info.js.map +1 -1
  16. package/dist/cli/commands/config.js +8 -9
  17. package/dist/cli/commands/config.js.map +1 -1
  18. package/dist/cli/commands/restart.d.ts +4 -12
  19. package/dist/cli/commands/restart.js +226 -120
  20. package/dist/cli/commands/restart.js.map +1 -1
  21. package/dist/cli/commands/start.d.ts +1 -0
  22. package/dist/cli/commands/start.js +28 -1
  23. package/dist/cli/commands/start.js.map +1 -1
  24. package/dist/cli/commands/status.js +12 -6
  25. package/dist/cli/commands/status.js.map +1 -1
  26. package/dist/cli/config/init-provider-catalog.js +12 -11
  27. package/dist/cli/config/init-provider-catalog.js.map +1 -1
  28. package/dist/cli.js +3 -14
  29. package/dist/cli.js.map +1 -1
  30. package/dist/client/anthropic/anthropic-protocol-client.d.ts +1 -0
  31. package/dist/client/anthropic/anthropic-protocol-client.js +25 -0
  32. package/dist/client/anthropic/anthropic-protocol-client.js.map +1 -1
  33. package/dist/commands/oauth.js +185 -9
  34. package/dist/commands/oauth.js.map +1 -1
  35. package/dist/commands/token-daemon.js +12 -2
  36. package/dist/commands/token-daemon.js.map +1 -1
  37. package/dist/docs/daemon-admin-ui.html +1242 -234
  38. package/dist/index.js +119 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/manager/index.d.ts +2 -0
  41. package/dist/manager/index.js +39 -2
  42. package/dist/manager/index.js.map +1 -1
  43. package/dist/manager/modules/quota/antigravity-quota-manager.d.ts +29 -5
  44. package/dist/manager/modules/quota/antigravity-quota-manager.js +369 -113
  45. package/dist/manager/modules/quota/antigravity-quota-manager.js.map +1 -1
  46. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.d.ts +7 -0
  47. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.js +61 -0
  48. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.js.map +1 -1
  49. package/dist/manager/modules/quota/provider-quota-daemon.d.ts +1 -0
  50. package/dist/manager/modules/quota/provider-quota-daemon.events.js +134 -5
  51. package/dist/manager/modules/quota/provider-quota-daemon.events.js.map +1 -1
  52. package/dist/manager/modules/quota/provider-quota-daemon.js +19 -13
  53. package/dist/manager/modules/quota/provider-quota-daemon.js.map +1 -1
  54. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.d.ts +1 -0
  55. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js +8 -3
  56. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js.map +1 -1
  57. package/dist/manager/modules/token/index.js +2 -2
  58. package/dist/manager/modules/token/index.js.map +1 -1
  59. package/dist/manager/quota/provider-quota-center.d.ts +9 -0
  60. package/dist/manager/quota/provider-quota-center.js +19 -2
  61. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  62. package/dist/modules/llmswitch/bridge.d.ts +33 -1
  63. package/dist/modules/llmswitch/bridge.js +170 -2
  64. package/dist/modules/llmswitch/bridge.js.map +1 -1
  65. package/dist/modules/llmswitch/core-loader.js +64 -11
  66. package/dist/modules/llmswitch/core-loader.js.map +1 -1
  67. package/dist/modules/pipeline/utils/debug-logger.d.ts +1 -0
  68. package/dist/modules/pipeline/utils/debug-logger.js +50 -3
  69. package/dist/modules/pipeline/utils/debug-logger.js.map +1 -1
  70. package/dist/providers/auth/apikey-auth.js +15 -3
  71. package/dist/providers/auth/apikey-auth.js.map +1 -1
  72. package/dist/providers/auth/oauth-lifecycle.d.ts +13 -1
  73. package/dist/providers/auth/oauth-lifecycle.js +346 -45
  74. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  75. package/dist/providers/auth/oauth-repair-cooldown.d.ts +21 -0
  76. package/dist/providers/auth/oauth-repair-cooldown.js +100 -0
  77. package/dist/providers/auth/oauth-repair-cooldown.js.map +1 -0
  78. package/dist/providers/auth/oauth-repair-env.d.ts +1 -0
  79. package/dist/providers/auth/oauth-repair-env.js +79 -0
  80. package/dist/providers/auth/oauth-repair-env.js.map +1 -0
  81. package/dist/providers/auth/qwen-userinfo-helper.d.ts +2 -0
  82. package/dist/providers/auth/qwen-userinfo-helper.js +72 -40
  83. package/dist/providers/auth/qwen-userinfo-helper.js.map +1 -1
  84. package/dist/providers/auth/tokenfile-auth.js +148 -17
  85. package/dist/providers/auth/tokenfile-auth.js.map +1 -1
  86. package/dist/providers/core/api/provider-types.d.ts +10 -0
  87. package/dist/providers/core/config/camoufox-launcher.d.ts +3 -0
  88. package/dist/providers/core/config/camoufox-launcher.js +190 -3
  89. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  90. package/dist/providers/core/config/oauth-flows.js +50 -19
  91. package/dist/providers/core/config/oauth-flows.js.map +1 -1
  92. package/dist/providers/core/config/provider-oauth-configs.js +1 -1
  93. package/dist/providers/core/config/provider-oauth-configs.js.map +1 -1
  94. package/dist/providers/core/runtime/gemini-cli-http-provider.d.ts +5 -0
  95. package/dist/providers/core/runtime/gemini-cli-http-provider.js +172 -15
  96. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  97. package/dist/providers/core/runtime/gemini-http-provider.d.ts +11 -0
  98. package/dist/providers/core/runtime/gemini-http-provider.js +281 -3
  99. package/dist/providers/core/runtime/gemini-http-provider.js.map +1 -1
  100. package/dist/providers/core/runtime/http-request-executor.js +55 -0
  101. package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
  102. package/dist/providers/core/runtime/http-transport-provider.js +10 -14
  103. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  104. package/dist/providers/core/runtime/provider-factory.d.ts +1 -0
  105. package/dist/providers/core/runtime/provider-factory.js +40 -2
  106. package/dist/providers/core/runtime/provider-factory.js.map +1 -1
  107. package/dist/providers/core/strategies/oauth-auth-code-flow.js +45 -2
  108. package/dist/providers/core/strategies/oauth-auth-code-flow.js.map +1 -1
  109. package/dist/providers/core/strategies/oauth-device-flow.js +13 -2
  110. package/dist/providers/core/strategies/oauth-device-flow.js.map +1 -1
  111. package/dist/providers/core/strategies/oauth-refresh-errors.d.ts +1 -0
  112. package/dist/providers/core/strategies/oauth-refresh-errors.js +26 -0
  113. package/dist/providers/core/strategies/oauth-refresh-errors.js.map +1 -0
  114. package/dist/providers/core/utils/snapshot-writer.d.ts +4 -2
  115. package/dist/providers/core/utils/snapshot-writer.js +86 -23
  116. package/dist/providers/core/utils/snapshot-writer.js.map +1 -1
  117. package/dist/scripts/camoufox/launch-auth.mjs +545 -49
  118. package/dist/server/handlers/chat-handler.js +1 -1
  119. package/dist/server/handlers/chat-handler.js.map +1 -1
  120. package/dist/server/handlers/handler-utils.d.ts +1 -0
  121. package/dist/server/handlers/handler-utils.js +231 -3
  122. package/dist/server/handlers/handler-utils.js.map +1 -1
  123. package/dist/server/handlers/messages-handler.js +1 -1
  124. package/dist/server/handlers/messages-handler.js.map +1 -1
  125. package/dist/server/handlers/responses-handler.js +17 -5
  126. package/dist/server/handlers/responses-handler.js.map +1 -1
  127. package/dist/server/handlers/sse-dispatcher.js +10 -1
  128. package/dist/server/handlers/sse-dispatcher.js.map +1 -1
  129. package/dist/server/runtime/http-server/daemon-admin/control-handler.d.ts +3 -0
  130. package/dist/server/runtime/http-server/daemon-admin/control-handler.js +389 -0
  131. package/dist/server/runtime/http-server/daemon-admin/control-handler.js.map +1 -0
  132. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +190 -5
  133. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  134. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +2 -1
  135. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  136. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js +116 -14
  137. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js.map +1 -1
  138. package/dist/server/runtime/http-server/daemon-admin/routing-policy.d.ts +30 -0
  139. package/dist/server/runtime/http-server/daemon-admin/routing-policy.js +133 -0
  140. package/dist/server/runtime/http-server/daemon-admin/routing-policy.js.map +1 -0
  141. package/dist/server/runtime/http-server/daemon-admin/status-handler.js +40 -1
  142. package/dist/server/runtime/http-server/daemon-admin/status-handler.js.map +1 -1
  143. package/dist/server/runtime/http-server/daemon-admin-routes.d.ts +5 -0
  144. package/dist/server/runtime/http-server/daemon-admin-routes.js +3 -0
  145. package/dist/server/runtime/http-server/daemon-admin-routes.js.map +1 -1
  146. package/dist/server/runtime/http-server/executor-pipeline.d.ts +10 -0
  147. package/dist/server/runtime/http-server/executor-pipeline.js +6 -0
  148. package/dist/server/runtime/http-server/executor-pipeline.js.map +1 -1
  149. package/dist/server/runtime/http-server/executor-response.js +26 -0
  150. package/dist/server/runtime/http-server/executor-response.js.map +1 -1
  151. package/dist/server/runtime/http-server/hub-shadow-compare.js +41 -3
  152. package/dist/server/runtime/http-server/hub-shadow-compare.js.map +1 -1
  153. package/dist/server/runtime/http-server/index.d.ts +9 -0
  154. package/dist/server/runtime/http-server/index.js +337 -91
  155. package/dist/server/runtime/http-server/index.js.map +1 -1
  156. package/dist/server/runtime/http-server/middleware.js +27 -1
  157. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  158. package/dist/server/runtime/http-server/request-executor.js +159 -24
  159. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  160. package/dist/server/runtime/http-server/routes.d.ts +1 -0
  161. package/dist/server/runtime/http-server/routes.js +36 -3
  162. package/dist/server/runtime/http-server/routes.js.map +1 -1
  163. package/dist/server/runtime/http-server/server-id.d.ts +1 -0
  164. package/dist/server/runtime/http-server/server-id.js +18 -0
  165. package/dist/server/runtime/http-server/server-id.js.map +1 -0
  166. package/dist/server/runtime/http-server/stats-manager.d.ts +2 -0
  167. package/dist/server/runtime/http-server/stats-manager.js +63 -7
  168. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  169. package/dist/server/runtime/http-server/types.d.ts +2 -0
  170. package/dist/server/utils/stage-logger.js +54 -9
  171. package/dist/server/utils/stage-logger.js.map +1 -1
  172. package/dist/token-daemon/history-store.d.ts +8 -3
  173. package/dist/token-daemon/history-store.js +41 -20
  174. package/dist/token-daemon/history-store.js.map +1 -1
  175. package/dist/token-daemon/index.d.ts +5 -1
  176. package/dist/token-daemon/index.js +191 -11
  177. package/dist/token-daemon/index.js.map +1 -1
  178. package/dist/token-daemon/quota-auth-issue.d.ts +7 -0
  179. package/dist/token-daemon/quota-auth-issue.js +231 -0
  180. package/dist/token-daemon/quota-auth-issue.js.map +1 -0
  181. package/dist/token-daemon/token-daemon.d.ts +2 -0
  182. package/dist/token-daemon/token-daemon.js +177 -14
  183. package/dist/token-daemon/token-daemon.js.map +1 -1
  184. package/dist/token-portal/local-token-portal.js +6 -0
  185. package/dist/token-portal/local-token-portal.js.map +1 -1
  186. package/docs/ANTIGRAVITY_IDE_FORWARD_PROXY.md +61 -0
  187. package/docs/ANTIGRAVITY_THOUGHT_SIGNATURE_BOOTSTRAP_429.md +80 -0
  188. package/docs/CLOCK.md +94 -0
  189. package/docs/DAEMON_CONTROL_PLANE.md +34 -0
  190. package/docs/OAUTH.md +172 -0
  191. package/docs/PROVIDERS_BUILTIN.md +5 -3
  192. package/docs/PROVIDER_TYPES.md +6 -4
  193. package/docs/QUOTA_MANAGER_V3.md +54 -0
  194. package/docs/ROUTING_POLICY_SCHEMA.md +47 -0
  195. package/docs/ROUTING_POLICY_UI.md +11 -0
  196. package/docs/SERVERTOOL_CLOCK_DESIGN.md +56 -25
  197. package/docs/antigravity-routing-contract.md +17 -11
  198. package/docs/config-secrets.md +49 -0
  199. package/docs/daemon-admin-ui.html +1242 -234
  200. package/docs/oauth-authentication-guide.md +4 -0
  201. package/docs/oauth-iflow-implementation.md +4 -0
  202. package/docs/provider-quota-design.md +11 -0
  203. package/docs/providers/antigravity-gemini-provider-compat.md +1 -0
  204. package/docs/providers/antigravity-thought-signature.md +127 -0
  205. package/docs/providers/tabglm-claude-code-compat.md +11 -3
  206. package/docs/refactoring/host-sharedmodule-safe-migration-plan.md +164 -0
  207. package/docs/token-daemon-preview.html +2 -2
  208. package/docs/token-refresh-daemon-plan.md +6 -6
  209. package/package.json +4 -3
  210. package/scripts/antigravity-ide-forward-proxy.mjs +362 -0
  211. package/scripts/backfill-apply-patch-exec-errorsamples.mjs +19 -0
  212. package/scripts/camoufox/launch-auth.mjs +545 -49
  213. package/scripts/ci/repo-sanity.mjs +2 -0
  214. package/scripts/install-global.sh +46 -0
  215. package/scripts/migrate-antigravity-session-signatures-alias.mjs +193 -0
  216. package/scripts/migrate-antigravity-session-signatures.mjs +165 -0
  217. package/scripts/tests/blackbox-rcc-vs-routecodex-antigravity.mjs +44 -9
  218. package/scripts/tests/ci-jest.mjs +3 -0
  219. package/scripts/verify-client-headers.mjs +33 -5
  220. package/scripts/virtual-router-dryrun.mjs +333 -0
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-lifecycle.js","sourceRoot":"","sources":["../../../src/providers/auth/oauth-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-lifecycle.js","sourceRoot":"","sources":["../../../src/providers/auth/oauth-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type OAuthRepairCooldownReason = 'google_verify' | 'generic';
2
+ export type OAuthRepairCooldownRecord = {
3
+ providerType: string;
4
+ tokenFile: string;
5
+ reason: OAuthRepairCooldownReason;
6
+ updatedAt: number;
7
+ };
8
+ export declare function shouldSkipInteractiveOAuthRepair(args: {
9
+ providerType: string;
10
+ tokenFile: string;
11
+ reason: OAuthRepairCooldownReason;
12
+ }): Promise<{
13
+ skip: boolean;
14
+ msLeft?: number;
15
+ record?: OAuthRepairCooldownRecord | null;
16
+ }>;
17
+ export declare function markInteractiveOAuthRepairAttempt(args: {
18
+ providerType: string;
19
+ tokenFile: string;
20
+ reason: OAuthRepairCooldownReason;
21
+ }): Promise<void>;
@@ -0,0 +1,100 @@
1
+ import fs from 'node:fs/promises';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ function getStateFilePath() {
5
+ const home = (process.env.HOME || '').trim() || os.homedir();
6
+ return path.join(home, '.routecodex', 'state', 'oauth-repair-cooldown.json');
7
+ }
8
+ function normalizeProviderType(providerType) {
9
+ return typeof providerType === 'string' ? providerType.trim().toLowerCase() : '';
10
+ }
11
+ function normalizeTokenFile(tokenFile) {
12
+ return typeof tokenFile === 'string' ? tokenFile.trim() : '';
13
+ }
14
+ function buildKey(providerType, tokenFile) {
15
+ const pt = normalizeProviderType(providerType);
16
+ const tf = normalizeTokenFile(tokenFile);
17
+ return `${pt}::${tf}`;
18
+ }
19
+ async function readState() {
20
+ const filePath = getStateFilePath();
21
+ try {
22
+ const raw = await fs.readFile(filePath, 'utf8');
23
+ const parsed = raw.trim() ? JSON.parse(raw) : null;
24
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
25
+ return { version: 1, updatedAt: Date.now(), records: {} };
26
+ }
27
+ const obj = parsed;
28
+ const records = obj.records && typeof obj.records === 'object' && !Array.isArray(obj.records) ? obj.records : {};
29
+ return {
30
+ version: 1,
31
+ updatedAt: typeof obj.updatedAt === 'number' && Number.isFinite(obj.updatedAt) ? obj.updatedAt : Date.now(),
32
+ records: records
33
+ };
34
+ }
35
+ catch {
36
+ return { version: 1, updatedAt: Date.now(), records: {} };
37
+ }
38
+ }
39
+ async function writeState(next) {
40
+ const filePath = getStateFilePath();
41
+ try {
42
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
43
+ await fs.writeFile(filePath, `${JSON.stringify(next, null, 2)}\n`, 'utf8');
44
+ }
45
+ catch {
46
+ // best-effort: cooldown is a guardrail, should never block requests
47
+ }
48
+ }
49
+ function resolveCooldownMs(reason) {
50
+ if (reason === 'google_verify') {
51
+ const raw = String(process.env.ROUTECODEX_OAUTH_GOOGLE_VERIFY_COOLDOWN_MS ||
52
+ process.env.RCC_OAUTH_GOOGLE_VERIFY_COOLDOWN_MS ||
53
+ '1800000').trim();
54
+ const parsed = Number.parseInt(raw, 10);
55
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 30 * 60_000;
56
+ }
57
+ const raw = String(process.env.ROUTECODEX_OAUTH_INTERACTIVE_COOLDOWN_MS ||
58
+ process.env.RCC_OAUTH_INTERACTIVE_COOLDOWN_MS ||
59
+ // 默认 30 分钟:避免“持续 401/403 导致无限弹窗/无限认证”。
60
+ '1800000').trim();
61
+ const parsed = Number.parseInt(raw, 10);
62
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 30 * 60_000;
63
+ }
64
+ export async function shouldSkipInteractiveOAuthRepair(args) {
65
+ const pt = normalizeProviderType(args.providerType);
66
+ const tokenFile = normalizeTokenFile(args.tokenFile);
67
+ if (!pt || !tokenFile) {
68
+ return { skip: false };
69
+ }
70
+ const key = buildKey(pt, tokenFile);
71
+ const state = await readState();
72
+ const record = state.records[key];
73
+ if (!record || typeof record.updatedAt !== 'number' || !Number.isFinite(record.updatedAt)) {
74
+ return { skip: false, record: null };
75
+ }
76
+ const cooldownMs = resolveCooldownMs(args.reason);
77
+ const elapsed = Date.now() - record.updatedAt;
78
+ if (elapsed < cooldownMs) {
79
+ return { skip: true, msLeft: Math.max(0, cooldownMs - elapsed), record };
80
+ }
81
+ return { skip: false, record };
82
+ }
83
+ export async function markInteractiveOAuthRepairAttempt(args) {
84
+ const pt = normalizeProviderType(args.providerType);
85
+ const tokenFile = normalizeTokenFile(args.tokenFile);
86
+ if (!pt || !tokenFile) {
87
+ return;
88
+ }
89
+ const key = buildKey(pt, tokenFile);
90
+ const state = await readState();
91
+ state.records[key] = {
92
+ providerType: pt,
93
+ tokenFile,
94
+ reason: args.reason,
95
+ updatedAt: Date.now()
96
+ };
97
+ state.updatedAt = Date.now();
98
+ await writeState(state);
99
+ }
100
+ //# sourceMappingURL=oauth-repair-cooldown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-repair-cooldown.js","sourceRoot":"","sources":["../../../src/providers/auth/oauth-repair-cooldown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function withOAuthRepairEnv<T>(providerType: string, fn: () => Promise<T>): Promise<T>;
@@ -0,0 +1,79 @@
1
+ function setEnvScoped(next) {
2
+ const prev = {};
3
+ for (const [key, value] of Object.entries(next)) {
4
+ prev[key] = process.env[key];
5
+ if (value === undefined) {
6
+ delete process.env[key];
7
+ }
8
+ else {
9
+ process.env[key] = value;
10
+ }
11
+ }
12
+ return () => {
13
+ for (const [key, value] of Object.entries(prev)) {
14
+ if (value === undefined) {
15
+ delete process.env[key];
16
+ }
17
+ else {
18
+ process.env[key] = value;
19
+ }
20
+ }
21
+ };
22
+ }
23
+ export async function withOAuthRepairEnv(providerType, fn) {
24
+ const pt = providerType.toLowerCase();
25
+ if (pt === 'antigravity') {
26
+ const restore = setEnvScoped({
27
+ ROUTECODEX_OAUTH_BROWSER: 'camoufox',
28
+ ROUTECODEX_CAMOUFOX_AUTO_MODE: 'antigravity',
29
+ ROUTECODEX_OAUTH_AUTO_CONFIRM: '1'
30
+ });
31
+ try {
32
+ return await fn();
33
+ }
34
+ finally {
35
+ restore();
36
+ }
37
+ }
38
+ if (pt === 'iflow') {
39
+ const restore = setEnvScoped({
40
+ ROUTECODEX_OAUTH_BROWSER: 'camoufox',
41
+ ROUTECODEX_CAMOUFOX_AUTO_MODE: 'iflow',
42
+ ROUTECODEX_OAUTH_AUTO_CONFIRM: '1'
43
+ });
44
+ try {
45
+ return await fn();
46
+ }
47
+ finally {
48
+ restore();
49
+ }
50
+ }
51
+ if (pt === 'qwen') {
52
+ const restore = setEnvScoped({
53
+ ROUTECODEX_OAUTH_BROWSER: 'camoufox',
54
+ ROUTECODEX_CAMOUFOX_AUTO_MODE: 'qwen',
55
+ ROUTECODEX_OAUTH_AUTO_CONFIRM: '1'
56
+ });
57
+ try {
58
+ return await fn();
59
+ }
60
+ finally {
61
+ restore();
62
+ }
63
+ }
64
+ if (pt === 'gemini' || pt === 'gemini-cli') {
65
+ const restore = setEnvScoped({
66
+ ROUTECODEX_OAUTH_BROWSER: 'camoufox',
67
+ ROUTECODEX_CAMOUFOX_AUTO_MODE: 'gemini',
68
+ ROUTECODEX_OAUTH_AUTO_CONFIRM: '1'
69
+ });
70
+ try {
71
+ return await fn();
72
+ }
73
+ finally {
74
+ restore();
75
+ }
76
+ }
77
+ return fn();
78
+ }
79
+ //# sourceMappingURL=oauth-repair-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-repair-env.js","sourceRoot":"","sources":["../../../src/providers/auth/oauth-repair-env.ts"],"names":[],"mappings":"AAEA,SAAS,YAAY,CAAC,IAAwC;IAC5D,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,EAAE;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAI,YAAoB,EAAE,EAAoB;IACpF,MAAM,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,wBAAwB,EAAE,UAAU;YACpC,6BAA6B,EAAE,aAAa;YAC5C,6BAA6B,EAAE,GAAG;SACnC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,wBAAwB,EAAE,UAAU;YACpC,6BAA6B,EAAE,OAAO;YACtC,6BAA6B,EAAE,GAAG;SACnC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,wBAAwB,EAAE,UAAU;YACpC,6BAA6B,EAAE,MAAM;YACrC,6BAA6B,EAAE,GAAG;SACnC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,wBAAwB,EAAE,UAAU;YACpC,6BAA6B,EAAE,QAAQ;YACvC,6BAA6B,EAAE,GAAG;SACnC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,CAAC;AACd,CAAC"}
@@ -18,8 +18,10 @@ export interface QwenTokenData {
18
18
  expires_at?: number;
19
19
  expired?: string;
20
20
  api_key?: string;
21
+ apiKey?: string;
21
22
  email?: string;
22
23
  type?: string;
24
+ norefresh?: boolean;
23
25
  }
24
26
  /**
25
27
  * 使用access_token调用Qwen的userInfo接口获取API Key
@@ -6,45 +6,70 @@ export async function fetchQwenUserInfo(accessToken) {
6
6
  if (!accessToken?.trim()) {
7
7
  throw new Error('fetchQwenUserInfo: access token is empty');
8
8
  }
9
- const endpoint = `https://portal.qwen.ai/api/v1/user/info?access_token=${encodeURIComponent(accessToken)}`;
9
+ const configured = String(process.env.ROUTECODEX_QWEN_USERINFO_URL || process.env.RCC_QWEN_USERINFO_URL || '').trim();
10
+ // 经验值:chat.qwen.ai 的 user/info 路径可用;portal.qwen.ai 同路径在部分地区/时期会返回 404。
11
+ const baseUrls = configured
12
+ ? [configured]
13
+ : [
14
+ 'https://chat.qwen.ai/api/v1/user/info',
15
+ 'https://portal.qwen.ai/api/v1/user/info'
16
+ ];
10
17
  try {
11
- const response = await fetch(endpoint, {
12
- method: 'GET',
13
- headers: {
14
- 'Accept': 'application/json',
15
- 'User-Agent': 'google-api-nodejs-client/9.15.1',
16
- 'X-Goog-Api-Client': 'gl-node/22.17.0',
17
- 'Client-Metadata': 'ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI'
18
- }
19
- });
20
- if (!response.ok) {
21
- const text = await response.text().catch(() => 'unknown error');
22
- throw new Error(`fetchQwenUserInfo: HTTP ${response.status} ${response.statusText} - ${text}`);
23
- }
24
- const result = await response.json();
25
- // 解析响应格式,处理不同的可能格式
26
- if (!result) {
27
- throw new Error(`fetchQwenUserInfo: empty response`);
28
- }
29
- // Qwen的userInfo接口可能返回不同格式
30
- let data = result;
31
- if (result.data) {
32
- data = result.data;
18
+ const commonHeaders = {
19
+ 'Accept': 'application/json',
20
+ 'User-Agent': 'google-api-nodejs-client/9.15.1',
21
+ 'X-Goog-Api-Client': 'gl-node/22.17.0',
22
+ 'Client-Metadata': 'ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI'
23
+ };
24
+ const candidates = [];
25
+ for (const baseUrl of baseUrls) {
26
+ // Prefer Authorization header (avoid leaking tokens in URLs).
27
+ candidates.push({
28
+ url: baseUrl,
29
+ headers: { ...commonHeaders, Authorization: `Bearer ${accessToken.trim()}` }
30
+ });
31
+ // Backward-compat: some endpoints may accept token via query param.
32
+ const sep = baseUrl.includes('?') ? '&' : '?';
33
+ candidates.push({ url: `${baseUrl}${sep}accessToken=${encodeURIComponent(accessToken)}`, headers: commonHeaders });
34
+ candidates.push({ url: `${baseUrl}${sep}access_token=${encodeURIComponent(accessToken)}`, headers: commonHeaders });
33
35
  }
34
- if (result.user) {
35
- data = result.user;
36
+ let lastStatus = null;
37
+ let lastStatusText = '';
38
+ let lastBody = '';
39
+ for (const candidate of candidates) {
40
+ const response = await fetch(candidate.url, { method: 'GET', headers: candidate.headers });
41
+ if (!response.ok) {
42
+ lastStatus = response.status;
43
+ lastStatusText = response.statusText;
44
+ lastBody = await response.text().catch(() => 'unknown error');
45
+ continue;
46
+ }
47
+ const result = await response.json();
48
+ // 解析响应格式,处理不同的可能格式
49
+ if (!result) {
50
+ throw new Error(`fetchQwenUserInfo: empty response`);
51
+ }
52
+ // Qwen的userInfo接口可能返回不同格式
53
+ let data = result;
54
+ if (result.data) {
55
+ data = result.data;
56
+ }
57
+ if (result.user) {
58
+ data = result.user;
59
+ }
60
+ const apiKey = String(data.apiKey || data.api_key || '').trim();
61
+ const email = String(data.email || data.mail || '').trim();
62
+ const phone = String(data.phone || data.mobile || '').trim();
63
+ const name = String(data.name || data.displayName || '').trim();
64
+ // Qwen可能不返回API Key,这种情况下我们仍然接受用户信息
65
+ return {
66
+ apiKey: apiKey || undefined,
67
+ email: email || undefined,
68
+ phone: phone || undefined,
69
+ name: name || undefined
70
+ };
36
71
  }
37
- const apiKey = String(data.apiKey || data.api_key || '').trim();
38
- const email = String(data.email || data.mail || '').trim();
39
- const phone = String(data.phone || data.mobile || '').trim();
40
- const name = String(data.name || data.displayName || '').trim();
41
- // Qwen可能不返回API Key,这种情况下我们仍然接受用户信息
42
- return {
43
- apiKey: apiKey || undefined,
44
- email: email || undefined,
45
- phone: phone || undefined,
46
- name: name || undefined
47
- };
72
+ throw new Error(`fetchQwenUserInfo: HTTP ${lastStatus ?? 0} ${lastStatusText} - ${lastBody}`);
48
73
  }
49
74
  catch (error) {
50
75
  if (error instanceof Error) {
@@ -73,12 +98,18 @@ export function mergeQwenTokenData(oauthToken, userInfo) {
73
98
  }
74
99
  return undefined;
75
100
  };
76
- return {
101
+ const accessToken = asString(oauthToken.access_token);
102
+ const apiKeyRaw = typeof userInfo.apiKey === 'string' ? userInfo.apiKey.trim() : '';
103
+ const hasStableApiKey = Boolean(apiKeyRaw) && apiKeyRaw !== accessToken;
104
+ const merged = {
77
105
  ...oauthToken,
78
- api_key: userInfo.apiKey,
79
- email: userInfo.email,
106
+ // Keep API keys consistent across readers.
107
+ ...(apiKeyRaw ? { api_key: apiKeyRaw } : {}),
108
+ ...(apiKeyRaw ? { apiKey: apiKeyRaw } : {}),
109
+ ...(hasStableApiKey ? { norefresh: true } : {}),
110
+ ...(userInfo.email ? { email: userInfo.email } : {}),
80
111
  type: 'qwen',
81
- access_token: asString(oauthToken.access_token),
112
+ access_token: accessToken,
82
113
  token_type: asString(oauthToken.token_type, 'bearer'),
83
114
  refresh_token: asOptionalString(oauthToken.refresh_token),
84
115
  expires_in: asNumber(oauthToken.expires_in),
@@ -86,6 +117,7 @@ export function mergeQwenTokenData(oauthToken, userInfo) {
86
117
  expires_at: asNumber(oauthToken.expires_at),
87
118
  expired: asOptionalString(oauthToken.expired)
88
119
  };
120
+ return merged;
89
121
  }
90
122
  /**
91
123
  * 检查Qwen token是否包含API Key
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-userinfo-helper.js","sourceRoot":"","sources":["../../../src/providers/auth/qwen-userinfo-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qwen-userinfo-helper.js","sourceRoot":"","sources":["../../../src/providers/auth/qwen-userinfo-helper.ts"],"names":[],"mappings":"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"}