@jsonstudio/rcc 0.89.683 → 0.89.873

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 (191) hide show
  1. package/dist/build-info.js +2 -2
  2. package/dist/cli.js +164 -116
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/anthropic/anthropic-protocol-client.js +42 -1
  5. package/dist/client/anthropic/anthropic-protocol-client.js.map +1 -1
  6. package/dist/client/gemini-cli/gemini-cli-protocol-client.js +4 -1
  7. package/dist/client/gemini-cli/gemini-cli-protocol-client.js.map +1 -1
  8. package/dist/commands/camoufox-backfill.d.ts +2 -0
  9. package/dist/commands/camoufox-backfill.js +33 -0
  10. package/dist/commands/camoufox-backfill.js.map +1 -0
  11. package/dist/commands/camoufox-fp.d.ts +2 -0
  12. package/dist/commands/camoufox-fp.js +86 -0
  13. package/dist/commands/camoufox-fp.js.map +1 -0
  14. package/dist/commands/oauth.d.ts +2 -0
  15. package/dist/commands/oauth.js +170 -0
  16. package/dist/commands/oauth.js.map +1 -0
  17. package/dist/commands/provider-update.js +439 -2
  18. package/dist/commands/provider-update.js.map +1 -1
  19. package/dist/commands/quota-status.d.ts +2 -0
  20. package/dist/commands/quota-status.js +80 -0
  21. package/dist/commands/quota-status.js.map +1 -0
  22. package/dist/commands/token-daemon.js +12 -1
  23. package/dist/commands/token-daemon.js.map +1 -1
  24. package/dist/config/provider-v2-loader.d.ts +16 -0
  25. package/dist/config/provider-v2-loader.js +84 -0
  26. package/dist/config/provider-v2-loader.js.map +1 -0
  27. package/dist/config/routecodex-config-loader.js +27 -4
  28. package/dist/config/routecodex-config-loader.js.map +1 -1
  29. package/dist/config/system-prompts/codex-cli.txt +1 -0
  30. package/dist/config/virtual-router-builder.d.ts +9 -0
  31. package/dist/config/virtual-router-builder.js +34 -0
  32. package/dist/config/virtual-router-builder.js.map +1 -0
  33. package/dist/config/virtual-router-types.d.ts +25 -0
  34. package/dist/config/virtual-router-types.js +30 -0
  35. package/dist/config/virtual-router-types.js.map +1 -0
  36. package/dist/manager/index.d.ts +10 -0
  37. package/dist/manager/index.js +27 -0
  38. package/dist/manager/index.js.map +1 -0
  39. package/dist/manager/modules/health/index.d.ts +22 -0
  40. package/dist/manager/modules/health/index.js +82 -0
  41. package/dist/manager/modules/health/index.js.map +1 -0
  42. package/dist/manager/modules/quota/index.d.ts +57 -0
  43. package/dist/manager/modules/quota/index.js +426 -0
  44. package/dist/manager/modules/quota/index.js.map +1 -0
  45. package/dist/manager/modules/routing/index.d.ts +17 -0
  46. package/dist/manager/modules/routing/index.js +61 -0
  47. package/dist/manager/modules/routing/index.js.map +1 -0
  48. package/dist/manager/modules/token/index.d.ts +10 -0
  49. package/dist/manager/modules/token/index.js +58 -0
  50. package/dist/manager/modules/token/index.js.map +1 -0
  51. package/dist/manager/storage/base-store.d.ts +6 -0
  52. package/dist/manager/storage/base-store.js +2 -0
  53. package/dist/manager/storage/base-store.js.map +1 -0
  54. package/dist/manager/storage/file-store.d.ts +25 -0
  55. package/dist/manager/storage/file-store.js +117 -0
  56. package/dist/manager/storage/file-store.js.map +1 -0
  57. package/dist/manager/types.d.ts +9 -0
  58. package/dist/manager/types.js +2 -0
  59. package/dist/manager/types.js.map +1 -0
  60. package/dist/message-center/index.d.ts +5 -0
  61. package/dist/message-center/index.js +6 -0
  62. package/dist/message-center/index.js.map +1 -0
  63. package/dist/message-center/message-center.d.ts +93 -0
  64. package/dist/message-center/message-center.js +189 -0
  65. package/dist/message-center/message-center.js.map +1 -0
  66. package/dist/providers/auth/antigravity-userinfo-helper.d.ts +2 -0
  67. package/dist/providers/auth/antigravity-userinfo-helper.js +102 -0
  68. package/dist/providers/auth/antigravity-userinfo-helper.js.map +1 -1
  69. package/dist/providers/auth/iflow-cookie-auth.d.ts +27 -0
  70. package/dist/providers/auth/iflow-cookie-auth.js +209 -0
  71. package/dist/providers/auth/iflow-cookie-auth.js.map +1 -0
  72. package/dist/providers/auth/oauth-lifecycle.js +29 -22
  73. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  74. package/dist/providers/auth/token-scanner/index.js +16 -1
  75. package/dist/providers/auth/token-scanner/index.js.map +1 -1
  76. package/dist/providers/core/config/camoufox-launcher.d.ts +16 -0
  77. package/dist/providers/core/config/camoufox-launcher.js +314 -0
  78. package/dist/providers/core/config/camoufox-launcher.js.map +1 -0
  79. package/dist/providers/core/config/oauth-flows.d.ts +9 -0
  80. package/dist/providers/core/config/oauth-flows.js +50 -19
  81. package/dist/providers/core/config/oauth-flows.js.map +1 -1
  82. package/dist/providers/core/config/provider-oauth-configs.d.ts +6 -0
  83. package/dist/providers/core/config/provider-oauth-configs.js +12 -0
  84. package/dist/providers/core/config/provider-oauth-configs.js.map +1 -1
  85. package/dist/providers/core/config/service-profiles.js +26 -3
  86. package/dist/providers/core/config/service-profiles.js.map +1 -1
  87. package/dist/providers/core/runtime/antigravity-quota-client.d.ts +10 -0
  88. package/dist/providers/core/runtime/antigravity-quota-client.js +88 -0
  89. package/dist/providers/core/runtime/antigravity-quota-client.js.map +1 -0
  90. package/dist/providers/core/runtime/base-provider.d.ts +2 -1
  91. package/dist/providers/core/runtime/base-provider.js +93 -34
  92. package/dist/providers/core/runtime/base-provider.js.map +1 -1
  93. package/dist/providers/core/runtime/gemini-cli-http-provider.js +42 -10
  94. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  95. package/dist/providers/core/runtime/http-request-executor.js +24 -0
  96. package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
  97. package/dist/providers/core/runtime/http-transport-provider.d.ts +0 -3
  98. package/dist/providers/core/runtime/http-transport-provider.js +32 -136
  99. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  100. package/dist/providers/core/runtime/provider-error-classifier.js +18 -10
  101. package/dist/providers/core/runtime/provider-error-classifier.js.map +1 -1
  102. package/dist/providers/core/runtime/rate-limit-manager.d.ts +6 -0
  103. package/dist/providers/core/runtime/rate-limit-manager.js +23 -0
  104. package/dist/providers/core/runtime/rate-limit-manager.js.map +1 -1
  105. package/dist/providers/core/strategies/oauth-auth-code-flow.d.ts +1 -0
  106. package/dist/providers/core/strategies/oauth-auth-code-flow.js +3 -2
  107. package/dist/providers/core/strategies/oauth-auth-code-flow.js.map +1 -1
  108. package/dist/providers/core/strategies/oauth-device-flow.d.ts +1 -0
  109. package/dist/providers/core/strategies/oauth-device-flow.js +3 -2
  110. package/dist/providers/core/strategies/oauth-device-flow.js.map +1 -1
  111. package/dist/providers/core/strategies/oauth-hybrid-flow.d.ts +1 -0
  112. package/dist/providers/core/strategies/oauth-hybrid-flow.js +3 -2
  113. package/dist/providers/core/strategies/oauth-hybrid-flow.js.map +1 -1
  114. package/dist/providers/core/utils/http-client.js +43 -1
  115. package/dist/providers/core/utils/http-client.js.map +1 -1
  116. package/dist/providers/mock/mock-provider-runtime.js +4 -4
  117. package/dist/providers/mock/mock-provider-runtime.js.map +1 -1
  118. package/dist/providers/profile/provider-profile-loader.js +13 -1
  119. package/dist/providers/profile/provider-profile-loader.js.map +1 -1
  120. package/dist/providers/profile/provider-profile.d.ts +5 -0
  121. package/dist/scripts/camoufox/gen-fingerprint-env.py +171 -0
  122. package/dist/scripts/camoufox/launch-auth.mjs +617 -0
  123. package/dist/server/runtime/http-server/executor-provider.d.ts +1 -0
  124. package/dist/server/runtime/http-server/executor-provider.js +26 -0
  125. package/dist/server/runtime/http-server/executor-provider.js.map +1 -1
  126. package/dist/server/runtime/http-server/executor-response.d.ts +16 -0
  127. package/dist/server/runtime/http-server/executor-response.js +164 -0
  128. package/dist/server/runtime/http-server/executor-response.js.map +1 -0
  129. package/dist/server/runtime/http-server/index.d.ts +1 -0
  130. package/dist/server/runtime/http-server/index.js +88 -53
  131. package/dist/server/runtime/http-server/index.js.map +1 -1
  132. package/dist/server/runtime/http-server/request-executor.js +5 -19
  133. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  134. package/dist/server/runtime/http-server/routes.d.ts +2 -0
  135. package/dist/server/runtime/http-server/routes.js +33 -1
  136. package/dist/server/runtime/http-server/routes.js.map +1 -1
  137. package/dist/server/runtime/http-server/types.d.ts +1 -0
  138. package/dist/server/utils/client-connection-state.d.ts +8 -0
  139. package/dist/server/utils/client-connection-state.js +52 -0
  140. package/dist/server/utils/client-connection-state.js.map +1 -0
  141. package/dist/server/utils/request-id-manager.js +21 -3
  142. package/dist/server/utils/request-id-manager.js.map +1 -1
  143. package/dist/token-daemon/history-store.d.ts +2 -0
  144. package/dist/token-daemon/history-store.js +6 -2
  145. package/dist/token-daemon/history-store.js.map +1 -1
  146. package/dist/token-daemon/index.js +36 -5
  147. package/dist/token-daemon/index.js.map +1 -1
  148. package/dist/token-daemon/leader-lock.d.ts +11 -0
  149. package/dist/token-daemon/leader-lock.js +79 -0
  150. package/dist/token-daemon/leader-lock.js.map +1 -0
  151. package/dist/token-daemon/message-bus-integrator.d.ts +98 -0
  152. package/dist/token-daemon/message-bus-integrator.js +144 -0
  153. package/dist/token-daemon/message-bus-integrator.js.map +1 -0
  154. package/dist/token-daemon/provider-registry.d.ts +22 -0
  155. package/dist/token-daemon/provider-registry.js +201 -0
  156. package/dist/token-daemon/provider-registry.js.map +1 -0
  157. package/dist/token-daemon/token-daemon.d.ts +8 -0
  158. package/dist/token-daemon/token-daemon.js +196 -11
  159. package/dist/token-daemon/token-daemon.js.map +1 -1
  160. package/dist/token-portal/local-token-portal.d.ts +1 -0
  161. package/dist/token-portal/local-token-portal.js +18 -0
  162. package/dist/token-portal/local-token-portal.js.map +1 -1
  163. package/dist/token-portal/render.js +1 -0
  164. package/dist/token-portal/render.js.map +1 -1
  165. package/dist/tools/error-log.d.ts +31 -0
  166. package/dist/tools/error-log.js +117 -0
  167. package/dist/tools/error-log.js.map +1 -0
  168. package/dist/tools/stats-request-events.d.ts +2 -0
  169. package/dist/tools/stats-request-events.js +16 -0
  170. package/dist/tools/stats-request-events.js.map +1 -0
  171. package/dist/tools/stats-usage.d.ts +31 -0
  172. package/dist/tools/stats-usage.js +206 -0
  173. package/dist/tools/stats-usage.js.map +1 -0
  174. package/package.json +8 -4
  175. package/scripts/analyze-codex-error-failures.mjs +109 -0
  176. package/scripts/camoufox/gen-fingerprint-env.py +171 -0
  177. package/scripts/camoufox/launch-auth.mjs +617 -0
  178. package/scripts/classify-codex-samples.mjs +251 -0
  179. package/scripts/cleanup-codex-error-samples.mjs +88 -0
  180. package/scripts/compare-codex-rccx.mjs +268 -0
  181. package/scripts/copy-compat-assets.mjs +18 -0
  182. package/scripts/install-release.sh +1 -1
  183. package/scripts/local-replay-openai-response.mjs +1 -2
  184. package/scripts/pack-mode.mjs +16 -6
  185. package/scripts/replay-codex-sample.mjs +24 -2
  186. package/scripts/responses-compare-server.mjs +119 -0
  187. package/scripts/verify-apply-patch.mjs +28 -17
  188. package/scripts/verify-codex-error-samples.mjs +99 -0
  189. package/scripts/verify-e2e-toolcall.mjs +19 -4
  190. package/scripts/virtual-router-shadow-v2-real.mjs +143 -0
  191. package/scripts/virtual-router-shadow-v2.mjs +122 -0
@@ -0,0 +1,164 @@
1
+ import { mapProviderProtocol, asRecord } from './provider-utils.js';
2
+ import { extractAnthropicToolAliasMap } from './anthropic-tool-alias.js';
3
+ import { convertProviderResponse as bridgeConvertProviderResponse, createSnapshotRecorder as bridgeCreateSnapshotRecorder } from '../../../modules/llmswitch/bridge.js';
4
+ import { applyClientConnectionStateToContext } from '../../utils/client-connection-state.js';
5
+ function extractClientModelId(metadata, originalRequest) {
6
+ const candidates = [
7
+ metadata.clientModelId,
8
+ metadata.originalModelId,
9
+ (metadata.target && typeof metadata.target === 'object'
10
+ ? metadata.target.clientModelId
11
+ : undefined),
12
+ originalRequest && typeof originalRequest === 'object'
13
+ ? originalRequest.model
14
+ : undefined,
15
+ originalRequest && typeof originalRequest === 'object'
16
+ ? originalRequest.originalModelId
17
+ : undefined
18
+ ];
19
+ for (const candidate of candidates) {
20
+ if (typeof candidate === 'string' && candidate.trim()) {
21
+ return candidate.trim();
22
+ }
23
+ }
24
+ return undefined;
25
+ }
26
+ export async function convertProviderResponseIfNeeded(options, deps) {
27
+ if (options.processMode === 'passthrough') {
28
+ return options.response;
29
+ }
30
+ const entry = (options.entryEndpoint || '').toLowerCase();
31
+ const needsAnthropicConversion = entry.includes('/v1/messages');
32
+ const needsResponsesConversion = entry.includes('/v1/responses');
33
+ const needsChatConversion = entry.includes('/v1/chat/completions');
34
+ if (!needsAnthropicConversion && !needsResponsesConversion && !needsChatConversion) {
35
+ return options.response;
36
+ }
37
+ const body = options.response.body;
38
+ if (!body || typeof body !== 'object') {
39
+ return options.response;
40
+ }
41
+ try {
42
+ const providerProtocol = mapProviderProtocol(options.providerType);
43
+ const metadataBag = asRecord(options.pipelineMetadata);
44
+ const aliasMap = extractAnthropicToolAliasMap(metadataBag);
45
+ const originalModelId = extractClientModelId(metadataBag ?? {}, options.originalRequest);
46
+ const baseContext = {
47
+ ...(metadataBag ?? {})
48
+ };
49
+ if (typeof metadataBag?.routeName === 'string') {
50
+ baseContext.routeId = metadataBag.routeName;
51
+ }
52
+ baseContext.requestId = options.requestId;
53
+ baseContext.entryEndpoint = options.entryEndpoint || entry;
54
+ baseContext.providerProtocol = providerProtocol;
55
+ baseContext.originalModelId = originalModelId;
56
+ applyClientConnectionStateToContext(metadataBag, baseContext);
57
+ const adapterContext = baseContext;
58
+ if (aliasMap) {
59
+ adapterContext.anthropicToolNameMap = aliasMap;
60
+ }
61
+ const stageRecorder = await bridgeCreateSnapshotRecorder(adapterContext, typeof adapterContext.entryEndpoint === 'string'
62
+ ? adapterContext.entryEndpoint
63
+ : entry);
64
+ const providerInvoker = async (invokeOptions) => {
65
+ if (invokeOptions.routeHint) {
66
+ const carrier = invokeOptions.payload;
67
+ const existingMeta = carrier.metadata && typeof carrier.metadata === 'object'
68
+ ? carrier.metadata
69
+ : {};
70
+ carrier.metadata = {
71
+ ...existingMeta,
72
+ routeHint: existingMeta.routeHint ?? invokeOptions.routeHint
73
+ };
74
+ }
75
+ const nestedInput = {
76
+ entryEndpoint: options.entryEndpoint || entry,
77
+ method: 'POST',
78
+ requestId: options.requestId,
79
+ headers: {},
80
+ query: {},
81
+ body: invokeOptions.payload,
82
+ metadata: {
83
+ ...(metadataBag ?? {}),
84
+ direction: 'request',
85
+ stage: 'provider.invoke'
86
+ }
87
+ };
88
+ const nestedResult = await deps.executeNested(nestedInput);
89
+ const nestedBody = nestedResult.body && typeof nestedResult.body === 'object'
90
+ ? nestedResult.body
91
+ : nestedResult;
92
+ return { providerResponse: nestedBody };
93
+ };
94
+ const reenterPipeline = async (reenterOpts) => {
95
+ const nestedEntry = reenterOpts.entryEndpoint || options.entryEndpoint || entry;
96
+ const nestedExtra = asRecord(reenterOpts.metadata) ?? {};
97
+ const nestedEntryLower = nestedEntry.toLowerCase();
98
+ const nestedMetadata = {
99
+ ...(metadataBag ?? {}),
100
+ ...nestedExtra,
101
+ entryEndpoint: nestedEntry,
102
+ direction: 'request',
103
+ stage: 'inbound'
104
+ };
105
+ if (nestedEntryLower.includes('/v1/chat/completions')) {
106
+ nestedMetadata.providerProtocol = 'openai-chat';
107
+ }
108
+ else if (nestedEntryLower.includes('/v1/responses')) {
109
+ nestedMetadata.providerProtocol = 'openai-responses';
110
+ }
111
+ else if (nestedEntryLower.includes('/v1/messages')) {
112
+ nestedMetadata.providerProtocol = 'anthropic-messages';
113
+ }
114
+ const nestedInput = {
115
+ entryEndpoint: nestedEntry,
116
+ method: 'POST',
117
+ requestId: reenterOpts.requestId,
118
+ headers: {},
119
+ query: {},
120
+ body: reenterOpts.body,
121
+ metadata: nestedMetadata
122
+ };
123
+ const nestedResult = await deps.executeNested(nestedInput);
124
+ const nestedBody = nestedResult.body && typeof nestedResult.body === 'object'
125
+ ? nestedResult.body
126
+ : undefined;
127
+ return { body: nestedBody };
128
+ };
129
+ const converted = await bridgeConvertProviderResponse({
130
+ providerProtocol,
131
+ providerResponse: body,
132
+ context: adapterContext,
133
+ entryEndpoint: options.entryEndpoint || entry,
134
+ wantsStream: options.wantsStream,
135
+ providerInvoker,
136
+ stageRecorder,
137
+ reenterPipeline
138
+ });
139
+ if (converted.__sse_responses) {
140
+ return {
141
+ ...options.response,
142
+ body: { __sse_responses: converted.__sse_responses }
143
+ };
144
+ }
145
+ return {
146
+ ...options.response,
147
+ body: converted.body ?? body
148
+ };
149
+ }
150
+ catch (error) {
151
+ const err = error;
152
+ const message = err instanceof Error ? err.message : String(err ?? 'Unknown error');
153
+ const providerProtocol = mapProviderProtocol(options.providerType);
154
+ const isSseConvertFailure = typeof message === 'string' &&
155
+ message.toLowerCase().includes('failed to convert sse payload');
156
+ if (providerProtocol === 'gemini-chat' && isSseConvertFailure) {
157
+ console.error('[RequestExecutor] Fatal SSE decode error for Gemini provider, bubbling as HTTP error', error);
158
+ throw error;
159
+ }
160
+ console.error('[RequestExecutor] Failed to convert provider response via llmswitch-core', error);
161
+ throw error;
162
+ }
163
+ }
164
+ //# sourceMappingURL=executor-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor-response.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/executor-response.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export declare class RouteCodexHttpServer {
37
37
  private errorHandlingShim;
38
38
  private routeErrorHub;
39
39
  private readonly coloredLogger;
40
+ private managerDaemon;
40
41
  constructor(config: ServerConfigV2);
41
42
  private resolveVirtualRouterInput;
42
43
  private getModuleDependencies;
@@ -15,7 +15,6 @@ import { attachProviderRuntimeMetadata } from '../../../providers/core/runtime/p
15
15
  import { extractAnthropicToolAliasMap } from './anthropic-tool-alias.js';
16
16
  import { AuthFileResolver } from '../../../config/auth-file-resolver.js';
17
17
  import { buildProviderProfiles } from '../../../providers/profile/provider-profile-loader.js';
18
- import { emitProviderError } from '../../../providers/core/utils/provider-error-reporter.js';
19
18
  import { isStageLoggingEnabled, logPipelineStage } from '../../utils/stage-logger.js';
20
19
  import { registerDefaultMiddleware } from './middleware.js';
21
20
  import { registerHttpRoutes, registerOAuthPortalRoute } from './routes.js';
@@ -28,6 +27,11 @@ import { writeClientSnapshot } from '../../../providers/core/utils/snapshot-writ
28
27
  import { createServerColoredLogger } from './colored-logger.js';
29
28
  import { formatValueForConsole } from '../../../utils/logger.js';
30
29
  import { QuietErrorHandlingCenter } from '../../../error-handling/quiet-error-handling-center.js';
30
+ import { hasVirtualRouterSeriesCooldown } from './executor-provider.js';
31
+ import { ManagerDaemon } from '../../../manager/index.js';
32
+ import { HealthManagerModule } from '../../../manager/modules/health/index.js';
33
+ import { RoutingStateManagerModule } from '../../../manager/modules/routing/index.js';
34
+ import { TokenManagerModule } from '../../../manager/modules/token/index.js';
31
35
  /**
32
36
  * RouteCodex Server V2
33
37
  *
@@ -56,6 +60,7 @@ export class RouteCodexHttpServer {
56
60
  errorHandlingShim = null;
57
61
  routeErrorHub = null;
58
62
  coloredLogger = createServerColoredLogger();
63
+ managerDaemon = null;
59
64
  constructor(config) {
60
65
  this.config = config;
61
66
  this.app = express();
@@ -307,6 +312,26 @@ export class RouteCodexHttpServer {
307
312
  // 初始化错误处理
308
313
  await this.errorHandling.initialize();
309
314
  await this.initializeRouteErrorHub();
315
+ // 初始化 ManagerDaemon 骨架(当前模块为占位实现,不改变行为)
316
+ if (!this.managerDaemon) {
317
+ const serverId = `${this.config.server.host}:${this.config.server.port}`;
318
+ const daemon = new ManagerDaemon({ serverId });
319
+ daemon.registerModule(new TokenManagerModule());
320
+ daemon.registerModule(new RoutingStateManagerModule());
321
+ daemon.registerModule(new HealthManagerModule());
322
+ // Quota manager(当前仅用于 antigravity/gemini-cli 等需要配额信息的 Provider)
323
+ try {
324
+ const mod = (await import('../../../manager/modules/quota/index.js'));
325
+ if (typeof mod.QuotaManagerModule === 'function') {
326
+ daemon.registerModule(new mod.QuotaManagerModule());
327
+ }
328
+ }
329
+ catch {
330
+ // 可选模块,缺失时忽略
331
+ }
332
+ await daemon.start();
333
+ this.managerDaemon = daemon;
334
+ }
310
335
  // registerDefaultMiddleware and registerOAuthPortalRoute already called in constructor
311
336
  // Register remaining HTTP routes
312
337
  registerHttpRoutes({
@@ -314,7 +339,20 @@ export class RouteCodexHttpServer {
314
339
  config: this.config,
315
340
  buildHandlerContext: () => this.buildHandlerContext(),
316
341
  getPipelineReady: () => this.isPipelineReady(),
317
- handleError: (error, context) => this.handleError(error, context)
342
+ handleError: (error, context) => this.handleError(error, context),
343
+ getHealthSnapshot: () => {
344
+ const healthModule = this.managerDaemon?.getModule('health');
345
+ return healthModule?.getCurrentSnapshot() ?? null;
346
+ },
347
+ getRoutingState: (sessionId) => {
348
+ const routingModule = this.managerDaemon?.getModule('routing');
349
+ const store = routingModule?.getRoutingStateStore();
350
+ if (!store) {
351
+ return null;
352
+ }
353
+ const key = sessionId && sessionId.trim() ? `session:${sessionId.trim()}` : '';
354
+ return key ? store.loadSync(key) : null;
355
+ }
318
356
  });
319
357
  this._isInitialized = true;
320
358
  console.log('[RouteCodexHttpServer] Initialization completed successfully');
@@ -355,6 +393,15 @@ export class RouteCodexHttpServer {
355
393
  await this.disposeProviders();
356
394
  }
357
395
  catch { /* ignore */ }
396
+ try {
397
+ if (this.managerDaemon) {
398
+ await this.managerDaemon.stop();
399
+ this.managerDaemon = null;
400
+ }
401
+ }
402
+ catch {
403
+ // ignore manager shutdown failures
404
+ }
358
405
  await this.errorHandling.destroy();
359
406
  console.log('[RouteCodexHttpServer] Server stopped');
360
407
  resolve();
@@ -433,8 +480,21 @@ export class RouteCodexHttpServer {
433
480
  const bootstrapArtifacts = await this.bootstrapVirtualRouter(routerInput);
434
481
  this.currentRouterArtifacts = bootstrapArtifacts;
435
482
  const hubCtor = await this.ensureHubPipelineCtor();
483
+ const hubConfig = {
484
+ virtualRouter: bootstrapArtifacts.config
485
+ };
486
+ const healthModule = this.managerDaemon?.getModule('health');
487
+ const healthStore = healthModule?.getHealthStore();
488
+ if (healthStore) {
489
+ hubConfig.healthStore = healthStore;
490
+ }
491
+ const routingModule = this.managerDaemon?.getModule('routing');
492
+ const routingStateStore = routingModule?.getRoutingStateStore();
493
+ if (routingStateStore) {
494
+ hubConfig.routingStateStore = routingStateStore;
495
+ }
436
496
  if (!this.hubPipeline) {
437
- this.hubPipeline = new hubCtor({ virtualRouter: bootstrapArtifacts.config });
497
+ this.hubPipeline = new hubCtor(hubConfig);
438
498
  }
439
499
  else {
440
500
  this.hubPipeline.updateVirtualRouterConfig(bootstrapArtifacts.config);
@@ -512,6 +572,7 @@ export class RouteCodexHttpServer {
512
572
  const auth = runtime.auth || { type: 'apikey' };
513
573
  const authRecord = auth;
514
574
  const authType = this.normalizeAuthType(auth.type);
575
+ const rawType = typeof auth.rawType === 'string' ? auth.rawType.trim().toLowerCase() : '';
515
576
  const pickString = (...candidates) => {
516
577
  for (const candidate of candidates) {
517
578
  if (typeof candidate === 'string') {
@@ -543,6 +604,9 @@ export class RouteCodexHttpServer {
543
604
  return undefined;
544
605
  };
545
606
  if (authType === 'apikey') {
607
+ if (rawType === 'iflow-cookie') {
608
+ return { ...auth, type: 'apikey', rawType: auth.rawType ?? 'iflow-cookie' };
609
+ }
546
610
  const value = await this.resolveApiKeyValue(runtime, auth);
547
611
  return { ...auth, type: 'apikey', value };
548
612
  }
@@ -630,8 +694,9 @@ export class RouteCodexHttpServer {
630
694
  const pipelineLabel = 'hub';
631
695
  let iterationMetadata = initialMetadata;
632
696
  let followupTriggered = false;
633
- const maxAttemptsRaw = process.env.ROUTECODEX_PROVIDER_RETRY_MAX || process.env.RCC_PROVIDER_RETRY_MAX;
634
- const maxAttempts = Math.max(1, Number.isFinite(Number(maxAttemptsRaw)) ? Number(maxAttemptsRaw) || 3 : 3);
697
+ // Provider 级别不再在单个 HTTP 请求内执行重复尝试,
698
+ // 429/配额/熔断逻辑统一交由 llmswitch-core VirtualRouter 处理。
699
+ const maxAttempts = 1;
635
700
  let attempt = 0;
636
701
  const originalBodySnapshot = this.cloneRequestPayload(input.body);
637
702
  const excludedProviderKeys = new Set();
@@ -782,53 +847,6 @@ export class RouteCodexHttpServer {
782
847
  model: providerModel,
783
848
  providerLabel
784
849
  });
785
- const runtimeMetadata = {
786
- requestId: input.requestId,
787
- providerKey: target.providerKey,
788
- providerId: handle.providerId,
789
- providerType: handle.providerType,
790
- providerProtocol,
791
- routeName: pipelineResult.routingDecision?.routeName,
792
- pipelineId: target.providerKey,
793
- runtimeKey,
794
- target
795
- };
796
- runtimeMetadata.providerFamily = handle.providerFamily;
797
- emitProviderError({
798
- error,
799
- stage: 'provider.send',
800
- runtime: runtimeMetadata,
801
- dependencies: this.getModuleDependencies()
802
- });
803
- const err = error;
804
- const statusCode = typeof err?.status === 'number'
805
- ? err.status
806
- : typeof err?.statusCode === 'number'
807
- ? err.statusCode
808
- : typeof err?.response?.status === 'number'
809
- ? err.response.status
810
- : undefined;
811
- const retryable = err?.retryable === true;
812
- // 对可恢复的 429 错误在同一 HTTP 请求内执行透明重试:
813
- // - 依赖 providerErrorCenter 已更新 VirtualRouter 的健康状态(短冷静期);
814
- // - 将当前 providerKey 记录到本次请求的排除列表中,下一轮选路时显式跳过;
815
- // - 再次调用 HubPipeline 时,让 VirtualRouter 在最新健康状态 + 排除集下选择其它可用 key;
816
- // - 若超过最大重试次数或错误不可恢复,则将错误抛出,由上层 HTTP 处理。
817
- if (retryable && statusCode === 429 && attempt < maxAttempts) {
818
- this.logStage('provider.send.retry', input.requestId, {
819
- providerKey: target.providerKey,
820
- attempt,
821
- status: statusCode
822
- });
823
- // 本次请求内,将当前 providerKey 标记为已尝试,下一轮路由会自动跳过。
824
- if (typeof target.providerKey === 'string' && target.providerKey.trim()) {
825
- excludedProviderKeys.add(target.providerKey.trim());
826
- }
827
- // 下一轮沿用当前 pipeline metadata(包含路由决策等),让 VirtualRouter
828
- // 在最新健康状态下重新选择 provider。
829
- iterationMetadata = { ...mergedMetadata };
830
- continue;
831
- }
832
850
  throw error;
833
851
  }
834
852
  }
@@ -880,7 +898,7 @@ export class RouteCodexHttpServer {
880
898
  : inboundOriginator;
881
899
  const routeHint = this.extractRouteHint(input) ?? userMeta.routeHint;
882
900
  const processMode = userMeta.processMode || 'chat';
883
- return {
901
+ const metadata = {
884
902
  ...userMeta,
885
903
  entryEndpoint: input.entryEndpoint,
886
904
  processMode,
@@ -891,6 +909,23 @@ export class RouteCodexHttpServer {
891
909
  ...(resolvedUserAgent ? { userAgent: resolvedUserAgent } : {}),
892
910
  ...(resolvedOriginator ? { clientOriginator: resolvedOriginator } : {})
893
911
  };
912
+ // 在 Host 入口统一解析会话标识,后续 HubPipeline / servertool 等模块仅依赖
913
+ // sessionId / conversationId 字段,不再重复解析 clientHeaders。
914
+ try {
915
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
916
+ const { extractSessionIdentifiersFromMetadata } = require('../../../../sharedmodule/llmswitch-core/dist/conversion/hub/pipeline/session-identifiers.js');
917
+ const identifiers = extractSessionIdentifiersFromMetadata(metadata);
918
+ if (identifiers.sessionId) {
919
+ metadata.sessionId = identifiers.sessionId;
920
+ }
921
+ if (identifiers.conversationId) {
922
+ metadata.conversationId = identifiers.conversationId;
923
+ }
924
+ }
925
+ catch {
926
+ // best-effort:解析失败时不影响主流程
927
+ }
928
+ return metadata;
894
929
  }
895
930
  extractHeaderValue(headers, name) {
896
931
  if (!headers) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/index.ts"],"names":[],"mappings":"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"}